generated: '2026-07-15' method: generated source: openapi/portworx-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: 131 by_action_class: acting: 82 connected: 49 by_consequence: write: 72 safety-critical: 9 read: 49 physical: 1 human_in_the_loop_required: 9 operations: - path: /v1/alerts method: post operationId: OpenStorageAlerts_Delete 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/alerts/filters method: post operationId: OpenStorageAlerts_EnumerateWithFilters 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/bucket method: post operationId: OpenStorageBucket_Create 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/bucket/access/{bucket_id} method: post operationId: OpenStorageBucket_GrantAccess 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/bucket/revoke/{bucket_id} method: post operationId: OpenStorageBucket_RevokeAccess x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /v1/bucket/{bucket_id} method: delete operationId: OpenStorageBucket_Delete 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/cloudbackups method: post operationId: OpenStorageCloudBackup_Create 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/cloudbackups/backup/{backup_id} method: delete operationId: OpenStorageCloudBackup_Delete 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/cloudbackups/catalog method: post operationId: OpenStorageCloudBackup_Catalog 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/cloudbackups/deleteall method: post operationId: OpenStorageCloudBackup_DeleteAll 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/cloudbackups/enumerate/filters method: post operationId: OpenStorageCloudBackup_EnumerateWithFilters 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/cloudbackups/group method: post operationId: OpenStorageCloudBackup_GroupCreate 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/cloudbackups/history/{src_volume_id} method: get operationId: OpenStorageCloudBackup_History x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/cloudbackups/restore method: post operationId: OpenStorageCloudBackup_Restore 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/cloudbackups/schedules method: get operationId: OpenStorageCloudBackup_SchedEnumerate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/cloudbackups/schedules method: post operationId: OpenStorageCloudBackup_SchedCreate 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/cloudbackups/schedules method: put operationId: OpenStorageCloudBackup_SchedUpdate 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/cloudbackups/schedules/{backup_schedule_id} method: delete operationId: OpenStorageCloudBackup_SchedDelete 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/cloudbackups/size method: get operationId: OpenStorageCloudBackup_Size x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/cloudbackups/statechange method: post operationId: OpenStorageCloudBackup_StateChange x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /v1/cloudbackups/status method: post operationId: OpenStorageCloudBackup_Status 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/clusterdomains method: get operationId: OpenStorageClusterDomains_Enumerate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clusterdomains/activate/{cluster_domain_name} method: post operationId: OpenStorageClusterDomains_Activate 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/clusterdomains/deactivate/{cluster_domain_name} method: post operationId: OpenStorageClusterDomains_Deactivate 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/clusterdomains/inspect/{cluster_domain_name} method: get operationId: OpenStorageClusterDomains_Inspect x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clusterpairs method: get operationId: OpenStorageClusterPair_Enumerate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clusterpairs method: post operationId: OpenStorageClusterPair_Create 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/clusterpairs/inspect/{id} method: get operationId: OpenStorageClusterPair_Inspect x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clusterpairs/token method: get operationId: OpenStorageClusterPair_GetToken x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/clusterpairs/token method: post operationId: OpenStorageClusterPair_ResetToken x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /v1/clusterpairs/{cluster_id} method: delete operationId: OpenStorageClusterPair_Delete 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/clusters/inspectcurrent method: get operationId: OpenStorageCluster_InspectCurrent x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/credentials method: get operationId: OpenStorageCredentials_Enumerate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/credentials method: post operationId: OpenStorageCredentials_Create 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/credentials/inspect/{credential_id} method: get operationId: OpenStorageCredentials_Inspect x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/credentials/references/{credential_id} method: delete operationId: OpenStorageCredentials_DeleteReferences 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/credentials/validate/{credential_id} method: get operationId: OpenStorageCredentials_Validate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/credentials/{credential_id} method: delete operationId: OpenStorageCredentials_Delete 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/credentials/{credential_id} method: put operationId: OpenStorageCredentials_Update 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/diags method: post operationId: OpenStorageDiags_Collect 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/filesystem-check/delete-snapshots method: post operationId: OpenStorageFilesystemCheck_DeleteSnapshots 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/filesystem-check/list-snapshots method: get operationId: OpenStorageFilesystemCheck_ListSnapshots x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/filesystem-check/list-volumes method: get operationId: OpenStorageFilesystemCheck_ListVolumes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/filesystem-check/start method: post operationId: OpenStorageFilesystemCheck_Start 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/filesystem-check/status method: get operationId: OpenStorageFilesystemCheck_Status x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/filesystem-check/stop method: post operationId: OpenStorageFilesystemCheck_Stop x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /v1/filesystem-defrag/schedule method: post operationId: OpenStorageFilesystemDefrag_CreateSchedule 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/filesystem-defrag/schedules method: delete operationId: OpenStorageFilesystemDefrag_CleanUpSchedules x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /v1/filesystem-defrag/status method: get operationId: OpenStorageFilesystemDefrag_EnumerateNodeStatus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/filesystem-defrag/status/{node_id} method: get operationId: OpenStorageFilesystemDefrag_GetNodeStatus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/filesystem-trim/auto-fstrim-pop method: post operationId: OpenStorageFilesystemTrim_AutoFSTrimPop 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/filesystem-trim/auto-fstrim-push method: post operationId: OpenStorageFilesystemTrim_AutoFSTrimPush 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/filesystem-trim/auto-fstrim-status method: get operationId: OpenStorageFilesystemTrim_AutoFSTrimStatus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/filesystem-trim/auto-fstrim-usage method: get operationId: OpenStorageFilesystemTrim_AutoFSTrimUsage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/filesystem-trim/start method: post operationId: OpenStorageFilesystemTrim_Start 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/filesystem-trim/status method: get operationId: OpenStorageFilesystemTrim_Status x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/filesystem-trim/stop method: post operationId: OpenStorageFilesystemTrim_Stop x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /v1/identities/capabilities method: get operationId: OpenStorageIdentity_Capabilities x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/identities/version method: get operationId: OpenStorageIdentity_Version x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/jobs method: get operationId: OpenStorageJob_Enumerate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/jobs/{id} method: get operationId: OpenStorageJob_GetStatus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/jobs/{id} method: put operationId: OpenStorageJob_Update 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/mountattach/attach method: post operationId: OpenStorageMountAttach_Attach 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/mountattach/detach method: post operationId: OpenStorageMountAttach_Detach 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/mountattach/mount method: post operationId: OpenStorageMountAttach_Mount 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/mountattach/unmount method: post operationId: OpenStorageMountAttach_Unmount 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/nodes method: get operationId: OpenStorageNode_Enumerate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/nodes/attachments/disable/{node_id} method: put operationId: OpenStorageNode_CordonAttachments x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /v1/nodes/attachments/drain/{node_id} method: put operationId: OpenStorageNode_DrainAttachments 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/nodes/attachments/enable/{node_id} method: put operationId: OpenStorageNode_UncordonAttachments 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/nodes/bytesused method: post operationId: OpenStorageNode_VolumeBytesUsedByNode 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/nodes/filters method: get operationId: OpenStorageNode_EnumerateWithFilters x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/nodes/inspect/{node_id} method: get operationId: OpenStorageNode_Inspect x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/nodes/inspectcurrent method: get operationId: OpenStorageNode_InspectCurrent x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/nodes/usage/{node_id} method: get operationId: OpenStorageNode_RelaxedReclaimPurge x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/objectstores method: post operationId: OpenStorageObjectstore_Create 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/objectstores/inspect/{objectstore_id} method: get operationId: OpenStorageObjectstore_Inspect x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/objectstores/{objectstore_id} method: delete operationId: OpenStorageObjectstore_Delete 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/objectstores/{objectstore_id} method: put operationId: OpenStorageObjectstore_Update x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /v1/roles method: get operationId: OpenStorageRole_Enumerate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/roles method: post operationId: OpenStorageRole_Create 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/roles method: put operationId: OpenStorageRole_Update 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/roles/inspect/{name} method: get operationId: OpenStorageRole_Inspect x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/roles/{name} method: delete operationId: OpenStorageRole_Delete 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/schedulepolicies method: get operationId: OpenStorageSchedulePolicy_Enumerate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/schedulepolicies method: post operationId: OpenStorageSchedulePolicy_Create 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/schedulepolicies method: put operationId: OpenStorageSchedulePolicy_Update 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/schedulepolicies/inspect/{name} method: get operationId: OpenStorageSchedulePolicy_Inspect x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/schedulepolicies/{name} method: delete operationId: OpenStorageSchedulePolicy_Delete 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/schedules/{type} method: get operationId: OpenStorageSchedule_Enumerate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/schedules/{type}/{id} method: delete operationId: OpenStorageSchedule_Delete 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/schedules/{type}/{id} method: get operationId: OpenStorageSchedule_Inspect x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/storagepolicies method: get operationId: OpenStoragePolicy_Enumerate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/storagepolicies method: post operationId: OpenStoragePolicy_Create 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/storagepolicies method: put operationId: OpenStoragePolicy_Update 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/storagepolicies/default method: get operationId: OpenStoragePolicy_DefaultInspect x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/storagepolicies/default/{name} method: post operationId: OpenStoragePolicy_SetDefault 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/storagepolicies/inspect/{name} method: get operationId: OpenStoragePolicy_Inspect x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/storagepolicies/release method: post operationId: OpenStoragePolicy_Release 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/storagepolicies/{name} method: delete operationId: OpenStoragePolicy_Delete 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/storagepools/rebalance method: put operationId: OpenStoragePool_Rebalance 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/storagepools/rebalance/job method: get operationId: OpenStoragePool_EnumerateRebalanceJobs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/storagepools/rebalance/job/{id} method: get operationId: OpenStoragePool_GetRebalanceJobStatus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/storagepools/rebalance/job/{id} method: put operationId: OpenStoragePool_UpdateRebalanceJobState 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/storagepools/rebalance/schedule method: delete operationId: OpenStoragePool_DeleteRebalanceSchedule 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/storagepools/rebalance/schedule method: get operationId: OpenStoragePool_GetRebalanceSchedule x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/storagepools/rebalance/schedule method: post operationId: OpenStoragePool_CreateRebalanceSchedule 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/storagepools/resize/{uuid} method: put operationId: OpenStoragePool_Resize 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/verify-checksum/start method: post operationId: OpenStorageVerifyChecksum_Start 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/verify-checksum/status method: get operationId: OpenStorageVerifyChecksum_Status x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/verify-checksum/stop method: post operationId: OpenStorageVerifyChecksum_Stop x-agentic-access: action-class: acting consequence: safety-critical subject: required audience: null token: max-ttl: 120 exchange: true purpose-required: true proof-of-possession: true escalation: human-in-the-loop: required audit: required - path: /v1/volume/catalog method: post operationId: OpenStorageVolume_VolumeCatalog 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/volumemigrate method: get operationId: OpenStorageMigrate_Status x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/volumemigrate method: post operationId: OpenStorageMigrate_Start 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/volumemigrate/cancel method: post operationId: OpenStorageMigrate_Cancel 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/volumes method: get operationId: OpenStorageVolume_Enumerate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/volumes method: post operationId: OpenStorageVolume_Create 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/volumes/clone method: post operationId: OpenStorageVolume_Clone 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/volumes/filters method: post operationId: OpenStorageVolume_EnumerateWithFilters 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/volumes/inspect/{volume_id} method: get operationId: OpenStorageVolume_Inspect x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/volumes/inspectwithfilters method: post operationId: OpenStorageVolume_InspectWithFilters 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/volumes/snapshot/schedules/{volume_id} method: post operationId: OpenStorageVolume_SnapshotScheduleUpdate x-agentic-access: action-class: acting consequence: physical subject: required audience: null token: max-ttl: 300 exchange: true purpose-required: true escalation: human-in-the-loop: conditional triggers: - abnormal - high-value audit: required - path: /v1/volumes/snapshots method: get operationId: OpenStorageVolume_SnapshotEnumerate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/volumes/snapshots method: post operationId: OpenStorageVolume_SnapshotCreate 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/volumes/snapshots/filters/{volume_id} method: post operationId: OpenStorageVolume_SnapshotEnumerateWithFilters 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/volumes/snapshots/restore method: post operationId: OpenStorageVolume_SnapshotRestore 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/volumes/stats/{volume_id} method: get operationId: OpenStorageVolume_Stats x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/volumes/usage/{volume_id} method: get operationId: OpenStorageVolume_CapacityUsage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /v1/volumes/{volume_id} method: delete operationId: OpenStorageVolume_Delete 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/volumes/{volume_id} method: put operationId: OpenStorageVolume_Update 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/watch method: post operationId: OpenStorageWatch_Watch 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