generated: '2026-07-15' method: generated source: openapi/crusoe-energy-openapi.json 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: 153 by_action_class: connected: 87 acting: 66 by_consequence: read: 87 write: 66 human_in_the_loop_required: 0 operations: - path: /capacities method: get operationId: listSliceCapacities x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /compute/images method: get operationId: listImages x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /compute/images/{image_id} method: get operationId: getImage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /featureflags method: get operationId: getFeatureFlags x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /locations method: get operationId: listLocations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organizations/entities method: get operationId: getOrganizations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organizations/entities method: put operationId: updateOrganization 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: /organizations/projects method: get operationId: listProjects x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organizations/projects method: put operationId: updateProject 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: /organizations/projects method: post operationId: createProject 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: /organizations/projects/{project_id} method: get operationId: getProject x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organizations/projects/{project_id} method: delete operationId: deleteProject 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: /organizations/{organization_id}/audit-logs method: get operationId: getAuditLogs x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organizations/{organization_id}/billing/costs method: get operationId: getBillingCosts x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organizations/{organization_id}/billing/export method: get operationId: getBillingExport x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organizations/{organization_id}/billing/options method: get operationId: getBillingOptions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organizations/{organization_id}/quotas method: get operationId: listOrgQuotas x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organizations/{organization_id}/reservations method: get operationId: getReservations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organizations/{organization_id}/reservations/gpu-tracking/latest method: get operationId: getLatestGPUTracking x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organizations/{organization_id}/reservations/{reservation_id} method: get operationId: getReservation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organizations/{organization_id}/usage method: get operationId: getUsage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organizations/{organization_id}/usage/export method: get operationId: getUsageExport x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /organizations/{organization_id}/usage/options method: get operationId: getUsageOptions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/compute/custom-images method: get operationId: listCustomImages x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/compute/custom-images method: post operationId: customImagePost 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: /projects/{project_id}/compute/custom-images/operations method: get operationId: listCustomImagesOperations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/compute/custom-images/operations/{operation_id} method: get operationId: getCustomImagesOperation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/compute/custom-images/{image_id} method: get operationId: getCustomImage x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/compute/custom-images/{image_id} method: delete operationId: customImageDelete 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: /projects/{project_id}/compute/custom-images/{image_id} method: patch operationId: customImagePatch 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: /projects/{project_id}/compute/custom-images/{image_id}/edit-tags method: patch operationId: customImageEditTags 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: /projects/{project_id}/compute/instance-groups method: get operationId: listInstanceGroups x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/compute/instance-groups method: post operationId: createInstanceGroup 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: /projects/{project_id}/compute/instance-groups/{instance_group_id} method: get operationId: getInstanceGroup x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/compute/instance-groups/{instance_group_id} method: delete operationId: deleteInstanceGroup 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: /projects/{project_id}/compute/instance-groups/{instance_group_id} method: patch operationId: patchInstanceGroup 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: /projects/{project_id}/compute/instance-templates method: get operationId: listInstanceTemplates x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/compute/instance-templates method: post operationId: createInstanceTemplate 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: /projects/{project_id}/compute/instance-templates/{instance_template_id} method: get operationId: getInstanceTemplate x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/compute/instance-templates/{instance_template_id} method: delete operationId: deleteInstanceTemplate 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: /projects/{project_id}/compute/vms/bulk-instances method: post operationId: bulkCreateInstance 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: /projects/{project_id}/compute/vms/instances method: get operationId: listInstances x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/compute/vms/instances method: post operationId: createInstance 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: /projects/{project_id}/compute/vms/instances/operations method: get operationId: listComputeVMsInstancesOperations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/compute/vms/instances/operations/{operation_id} method: get operationId: getComputeVMsInstancesOperation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/compute/vms/instances/{vm_id} method: get operationId: getInstance x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/compute/vms/instances/{vm_id} method: delete operationId: deleteInstance 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: /projects/{project_id}/compute/vms/instances/{vm_id} method: patch operationId: updateInstance 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: /projects/{project_id}/compute/vms/instances/{vm_id}/attach-disks method: post operationId: updateInstanceAttachDisks 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: /projects/{project_id}/compute/vms/instances/{vm_id}/detach-disks method: post operationId: updateInstanceDetachDisks 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: /projects/{project_id}/compute/vms/types method: get operationId: getVMTypes x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/kubernetes/autocluster-operations/{operation_id} method: get operationId: getAutoClusterOperation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/kubernetes/clusters method: get operationId: listClusters x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/kubernetes/clusters method: post operationId: createCluster 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: /projects/{project_id}/kubernetes/clusters/operations method: get operationId: listKubernetesClustersOperations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/kubernetes/clusters/operations/{operation_id} method: get operationId: getKubernetesClustersOperation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/kubernetes/clusters/{cluster_id} method: get operationId: getCluster x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/kubernetes/clusters/{cluster_id} method: delete operationId: deleteCluster 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: /projects/{project_id}/kubernetes/clusters/{cluster_id} method: patch operationId: updateCluster 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: /projects/{project_id}/kubernetes/clusters/{cluster_id}/autoclusters/config method: get operationId: getAutoClustersConfig x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/kubernetes/clusters/{cluster_id}/autoclusters/config method: patch operationId: updateAutoClustersConfig 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: /projects/{project_id}/kubernetes/clusters/{cluster_id}/autoclusters/vms/{vm_id}/remediate method: post operationId: remediateVM 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: /projects/{project_id}/kubernetes/clusters/{cluster_id}/get-credentials method: post operationId: getClusterCredentials 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: /projects/{project_id}/kubernetes/nodepools method: get operationId: listNodePools x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/kubernetes/nodepools method: post operationId: createNodePool 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: /projects/{project_id}/kubernetes/nodepools/operations method: get operationId: listKubernetesNodePoolsOperations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/kubernetes/nodepools/operations/{operation_id} method: get operationId: getKubernetesNodePoolsOperation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/kubernetes/nodepools/{node_pool_id} method: get operationId: getNodePool x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/kubernetes/nodepools/{node_pool_id} method: delete operationId: deleteNodePool 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: /projects/{project_id}/kubernetes/nodepools/{node_pool_id} method: patch operationId: updateNodePool 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: /projects/{project_id}/kubernetes/nodepools/{node_pool_id}/cancel-rotate method: post operationId: cancelNodePoolRotate 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: /projects/{project_id}/kubernetes/nodepools/{node_pool_id}/rotate method: get operationId: getNodePoolRotateStatus x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/kubernetes/nodepools/{node_pool_id}/rotate method: post operationId: rotateNodePool 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: /projects/{project_id}/kubernetes/versions method: get operationId: listKubernetesVersions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/ib-networks method: get operationId: listIBNetworks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/ib-networks/{ib_network_id} method: get operationId: getIBNetwork x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/ib-partitions method: get operationId: listIBPartitions x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/ib-partitions method: post operationId: createIBPartition 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: /projects/{project_id}/networking/ib-partitions/{ib_partition_id} method: get operationId: getIBPartition x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/ib-partitions/{ib_partition_id} method: delete operationId: deleteIBPartition 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: /projects/{project_id}/networking/internal-load-balancers method: get operationId: listLoadBalancers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/internal-load-balancers method: post operationId: createLoadBalancer 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: /projects/{project_id}/networking/internal-load-balancers/operations method: get operationId: listNetworkingLoadBalancersOperations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/internal-load-balancers/operations/{operation_id} method: get operationId: getNetworkingLoadBalancersOperation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/internal-load-balancers/{load_balancer_id} method: get operationId: getLoadBalancer x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/internal-load-balancers/{load_balancer_id} method: delete operationId: deleteLoadBalancer 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: /projects/{project_id}/networking/internal-load-balancers/{load_balancer_id} method: patch operationId: patchLoadBalancer 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: /projects/{project_id}/networking/load-balancers method: get operationId: listExternalLoadBalancers x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/load-balancers method: post operationId: createExternalLoadBalancer 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: /projects/{project_id}/networking/load-balancers/operations method: get operationId: listExternalLoadBalancerOperations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/load-balancers/operations/{operation_id} method: get operationId: getExternalLoadBalancerOperation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/load-balancers/{load_balancer_id} method: get operationId: getExternalLoadBalancer x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/load-balancers/{load_balancer_id} method: delete operationId: deleteExternalLoadBalancer 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: /projects/{project_id}/networking/load-balancers/{load_balancer_id} method: patch operationId: updateExternalLoadBalancer 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: /projects/{project_id}/networking/vpc-firewall-rules method: get operationId: listVPCFirewallRules x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/vpc-firewall-rules method: post operationId: createVPCFirewallRule 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: /projects/{project_id}/networking/vpc-firewall-rules/operations method: get operationId: listNetworkingVPCFirewallRulesOperations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/vpc-firewall-rules/operations/{operation_id} method: get operationId: getNetworkingVPCFirewallRulesOperation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/vpc-firewall-rules/{vpc_firewall_rule_id} method: get operationId: getVPCFirewallRule x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/vpc-firewall-rules/{vpc_firewall_rule_id} method: delete operationId: deleteVPCFirewallRule 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: /projects/{project_id}/networking/vpc-firewall-rules/{vpc_firewall_rule_id} method: patch operationId: patchVPCFirewallRule 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: /projects/{project_id}/networking/vpc-networks method: get operationId: listVPCNetworks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/vpc-networks method: post operationId: createVPCNetwork 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: /projects/{project_id}/networking/vpc-networks/operations method: get operationId: listNetworkingVPCNetworksOperations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/vpc-networks/operations/{operation_id} method: get operationId: getNetworkingVPCNetworksOperation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/vpc-networks/{vpc_network_id} method: get operationId: getVPCNetwork x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/vpc-networks/{vpc_network_id} method: delete operationId: deleteVPCNetwork 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: /projects/{project_id}/networking/vpc-networks/{vpc_network_id} method: patch operationId: patchVPCNetwork 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: /projects/{project_id}/networking/vpc-subnets method: get operationId: listVPCSubnets x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/vpc-subnets method: post operationId: createVPCSubnet 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: /projects/{project_id}/networking/vpc-subnets/operations method: get operationId: listNetworkingVPCSubnetsOperations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/vpc-subnets/operations/{operation_id} method: get operationId: getNetworkingVPCSubnetsOperation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/vpc-subnets/{vpc_subnet_id} method: get operationId: getVPCSubnet x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/networking/vpc-subnets/{vpc_subnet_id} method: delete operationId: deleteVPCSubnet 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: /projects/{project_id}/networking/vpc-subnets/{vpc_subnet_id} method: patch operationId: patchVPCSubnet 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: /projects/{project_id}/quotas method: get operationId: listProjectQuotas x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/slurm/clusters method: get operationId: listSlurmClusters x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/slurm/clusters method: post operationId: createSlurmCluster 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: /projects/{project_id}/slurm/clusters/{cluster_id} method: get operationId: getSlurmCluster x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/slurm/clusters/{cluster_id} method: delete operationId: deleteSlurmCluster 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: /projects/{project_id}/slurm/nodepools method: get operationId: listSlurmNodePools x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/slurm/nodepools method: post operationId: createSlurmNodePool 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: /projects/{project_id}/slurm/nodepools/{node_pool_id} method: get operationId: getSlurmNodePool x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/slurm/nodepools/{node_pool_id} method: delete operationId: deleteSlurmNodePool 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: /projects/{project_id}/slurm/nodepools/{node_pool_id} method: patch operationId: updateSlurmNodePool 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: /projects/{project_id}/storage/disks method: get operationId: listDisks x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/storage/disks method: post operationId: createDisk 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: /projects/{project_id}/storage/disks/operations method: get operationId: listStorageDisksOperations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/storage/disks/operations/{operation_id} method: get operationId: getStorageDisksOperation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/storage/disks/{disk_id} method: get operationId: getDisk x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/storage/disks/{disk_id} method: delete operationId: deleteDisk 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: /projects/{project_id}/storage/disks/{disk_id} method: patch operationId: resizeDisk 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: /projects/{project_id}/storage/snapshots method: get operationId: listDiskSnapshots x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/storage/snapshots method: post operationId: createDiskSnapshot 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: /projects/{project_id}/storage/snapshots/operations method: get operationId: listStorageSnapshotsOperations x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/storage/snapshots/operations/{operation_id} method: get operationId: getStorageSnapshotsOperation x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/storage/snapshots/{snapshot_id} method: get operationId: getDiskSnapshot x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /projects/{project_id}/storage/snapshots/{snapshot_id} method: delete operationId: deleteDiskSnapshot 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: /projects/{project_id}/storage/snapshots/{snapshot_id} method: patch operationId: renameDiskSnapshot 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: /users/identities method: get operationId: getUserIdentity x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/identities method: put operationId: updateUserIdentity 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: /users/inference-api-key method: get operationId: getInferenceAPIKeys x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/inference-api-key method: post operationId: createInferenceAPIKey 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: /users/inference-api-key method: delete operationId: deleteInferenceAPIKey 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: /users/ssh-keys method: get operationId: getSSHKeys x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/ssh-keys method: post operationId: createSSHKey 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: /users/ssh-keys method: delete operationId: deleteSSHKey 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: /users/tokens method: get operationId: getTokens x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /users/tokens method: post operationId: createToken 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: /users/tokens method: delete operationId: deleteToken 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: /iam/role-bindings method: get operationId: listRoleBindings x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /iam/roles method: get operationId: listRoles x-agentic-access: action-class: connected consequence: read subject: optional token: max-ttl: 3600 audit: none - path: /iam/users/{user_id}/role-bindings method: post operationId: applyRoleBindings 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