Preview — pending review

This reference is generated from the platform API contract and is still under review. Operations, fields, and descriptions can change before publication.

API reference

Reference for the REST API operations of each product, generated from the platform API contract.

Compute 47 operations

OperationEndpoint
The active Category → Series → Flavor tree for one regionGET /catalog
List the active add-ons with their sellable periodsGET /catalog/addons
List the active software licenses with their sellable periodsGET /catalog/licenses
List the compute flavor (size) catalog in the active scopeGET /scopes/{scopeId}/compute/flavors
Live per-flavor placement availability in a region, for the size pickerGET /scopes/{scopeId}/compute/flavors/availability
List and query machine images in the active scopeGET /scopes/{scopeId}/compute/images
Create a machine image from an instance, snapshot, or import URLPOST /scopes/{scopeId}/compute/images
Get the machine image detail read modelGET /scopes/{scopeId}/compute/images/{imageId}
Delete a machine imageDELETE /scopes/{scopeId}/compute/images/{imageId}
Revoke a cross-account share of a machine imagePOST /scopes/{scopeId}/compute/images/{imageId}/actions/revoke
Replace the tag set of a machine imagePUT /scopes/{scopeId}/compute/images/{imageId}/tags
List and query compute instances in the active scopeGET /scopes/{scopeId}/compute/instances
Create (provision) a new compute instancePOST /scopes/{scopeId}/compute/instances
Get one compute instance (detail read model)GET /scopes/{scopeId}/compute/instances/{instanceId}
Update mutable instance configurationPATCH /scopes/{scopeId}/compute/instances/{instanceId}
Delete a compute instanceDELETE /scopes/{scopeId}/compute/instances/{instanceId}
List an instance's add-on/license attachmentsGET /scopes/{scopeId}/compute/instances/{instanceId}/catalog-items
Attach a data disk to the instancePOST /scopes/{scopeId}/compute/instances/{instanceId}/actions/attach
Detach a data disk from the instancePOST /scopes/{scopeId}/compute/instances/{instanceId}/actions/detach
Get connection descriptors for the instancePOST /scopes/{scopeId}/compute/instances/{instanceId}/actions/connect
Export the instance configuration as a deployment templatePOST /scopes/{scopeId}/compute/instances/{instanceId}/exports
Start a stopped instancePOST /scopes/{scopeId}/compute/instances/{instanceId}/actions/start
Stop a running instancePOST /scopes/{scopeId}/compute/instances/{instanceId}/actions/stop
Restart (reboot) a running instancePOST /scopes/{scopeId}/compute/instances/{instanceId}/actions/restart
Pause a running instancePOST /scopes/{scopeId}/compute/instances/{instanceId}/actions/pause
Resume a paused or suspended instancePOST /scopes/{scopeId}/compute/instances/{instanceId}/actions/resume
Resize the instance to a different flavorPOST /scopes/{scopeId}/compute/instances/{instanceId}/actions/resize
Attach a network interface (NIC) to the instancePOST /scopes/{scopeId}/compute/instances/{instanceId}/actions/attach-interface
Detach a network interface (NIC) from the instancePOST /scopes/{scopeId}/compute/instances/{instanceId}/actions/detach-interface
Bind a security group to the instancePOST /scopes/{scopeId}/compute/instances/{instanceId}/actions/attach-security-group
Unbind a security group from the instancePOST /scopes/{scopeId}/compute/instances/{instanceId}/actions/detach-security-group
Replace the instance's tag setPUT /scopes/{scopeId}/compute/instances/{instanceId}/tags
Read VM metric time series for one instance (Monitoring tab)GET /scopes/{scopeId}/compute/instances/{instanceId}/metrics
Establish (or re-establish) the web console connection for an instancePOST /scopes/{scopeId}/compute/instances/{instanceId}/console/actions/connect
Create an interactive console session for an instance (console route load)POST /scopes/{scopeId}/compute/instances/{instanceId}/console/actions/connect-console
Download the instance serial console log as a plain-text fileGET /scopes/{scopeId}/compute/instances/{instanceId}/console/logs/export
List and query SSH key pairs in the active scopeGET /scopes/{scopeId}/compute/key-pairs
Create (generate) or import an SSH key pair in the active scopePOST /scopes/{scopeId}/compute/key-pairs
Retrieve a key pair detail read modelGET /scopes/{scopeId}/compute/key-pairs/{keyPairId}
Delete a key pair from the active scopeDELETE /scopes/{scopeId}/compute/key-pairs/{keyPairId}
Export key pair material as a downloadable PEM artifactPOST /scopes/{scopeId}/compute/key-pairs/{keyPairId}/exports
Download the OpenSSH public key file of a key pairGET /scopes/{scopeId}/compute/key-pairs/{keyPairId}/public-key
List and query VM snapshots in the active scopeGET /scopes/{scopeId}/compute/snapshots
Create a crash-consistent snapshot of an instance or volumePOST /scopes/{scopeId}/compute/snapshots
Retrieve a VM snapshot with its detail panelsGET /scopes/{scopeId}/compute/snapshots/{snapshotId}
Delete a VM snapshotDELETE /scopes/{scopeId}/compute/snapshots/{snapshotId}
Replace the tag set of a VM snapshotPUT /scopes/{scopeId}/compute/snapshots/{snapshotId}/tags

Storage 59 operations

OperationEndpoint
List backup plans in the active scopeGET /scopes/{scopeId}/storage/backup-plans
Create a backup plan, optionally assigning volumes to itPOST /scopes/{scopeId}/storage/backup-plans
Get a backup plan with its assignments and recent runsGET /scopes/{scopeId}/storage/backup-plans/{planId}
Update a backup plan's policyPATCH /scopes/{scopeId}/storage/backup-plans/{planId}
Delete a backup planDELETE /scopes/{scopeId}/storage/backup-plans/{planId}
Pause a backup planPOST /scopes/{scopeId}/storage/backup-plans/{planId}/actions/pause
Resume a paused backup planPOST /scopes/{scopeId}/storage/backup-plans/{planId}/actions/resume
Run a backup plan nowPOST /scopes/{scopeId}/storage/backup-plans/{planId}/actions/run
List the volumes assigned to a backup planGET /scopes/{scopeId}/storage/backup-plans/{planId}/assignments
Assign volumes to a backup planPOST /scopes/{scopeId}/storage/backup-plans/{planId}/assignments
Remove volumes from a backup planPOST /scopes/{scopeId}/storage/backup-plans/{planId}/actions/unassign-volumes
List a backup plan's runsGET /scopes/{scopeId}/storage/backup-plans/{planId}/runs
Get one run of a backup planGET /scopes/{scopeId}/storage/backup-plans/{planId}/runs/{runId}
List one run's per-volume resultsGET /scopes/{scopeId}/storage/backup-plans/{planId}/runs/{runId}/volume-results
Retry only the volumes that did not succeed in a runPOST /scopes/{scopeId}/storage/backup-plans/{planId}/runs/{runId}/actions/retry-failed
List one volume's recovery points under a backup planGET /scopes/{scopeId}/storage/backup-plans/{planId}/volumes/{volumeId}/restore-points
Restore one volume from one recovery pointPOST /scopes/{scopeId}/storage/backup-plans/{planId}/volumes/{volumeId}/restore-points/{restorePointId}/actions/restore
Temp-URL key rotation advice for the project's object storageGET /scopes/{scopeId}/storage/temp-url-key
Rotate the project's Swift Temp-URL keyPOST /scopes/{scopeId}/storage/temp-url-key/actions/rotate
List and query object storage bucketsGET /scopes/{scopeId}/storage/buckets
Create an object storage bucketPOST /scopes/{scopeId}/storage/buckets
Retrieve the bucket detail read modelGET /scopes/{scopeId}/storage/buckets/{bucketId}
Delete a bucketDELETE /scopes/{scopeId}/storage/buckets/{bucketId}
Download an object from the bucketPOST /scopes/{scopeId}/storage/buckets/{bucketId}/exports
Delete one object from the bucketDELETE /scopes/{scopeId}/storage/buckets/{bucketId}/objects
Delete several objects from the bucketPOST /scopes/{scopeId}/storage/buckets/{bucketId}/objects/actions/delete
Refresh the bucket object listing and countersPOST /scopes/{scopeId}/storage/buckets/{bucketId}/actions/refresh
Initiate an object upload into the bucketPOST /scopes/{scopeId}/storage/buckets/{bucketId}/uploads
Update the bucket visibility and public-access guardrails (policy statements are refused)PATCH /scopes/{scopeId}/storage/buckets/{bucketId}/policies
Add a CORS rule to the bucket (lifecycle and replication are refused)POST /scopes/{scopeId}/storage/buckets/{bucketId}/configuration-rules
Remove a CORS, lifecycle or replication rule from the bucketDELETE /scopes/{scopeId}/storage/buckets/{bucketId}/configuration-rules/{configurationRuleId}
List and query NFS/SMB file shares in the active scopeGET /scopes/{scopeId}/storage/file-shares
Create a managed NFS or SMB file sharePOST /scopes/{scopeId}/storage/file-shares
Get one file share with all detail panelsGET /scopes/{scopeId}/storage/file-shares/{fileShareId}
Delete a file shareDELETE /scopes/{scopeId}/storage/file-shares/{fileShareId}
Resize a file share's provisioned capacityPOST /scopes/{scopeId}/storage/file-shares/{fileShareId}/actions/resize
Add an access (security) rule to a file sharePOST /scopes/{scopeId}/storage/file-shares/{fileShareId}/security-rules
List and query block-volume snapshots in the active scopeGET /scopes/{scopeId}/storage/snapshots
Create a point-in-time snapshot of a block volumePOST /scopes/{scopeId}/storage/snapshots
Get one block-volume snapshot with all detail panelsGET /scopes/{scopeId}/storage/snapshots/{snapshotId}
Delete a block-volume snapshotDELETE /scopes/{scopeId}/storage/snapshots/{snapshotId}
Restore a block-volume snapshot into a new volumePOST /scopes/{scopeId}/storage/snapshots/{snapshotId}/actions/restore
List block volumes in the active scopeGET /scopes/{scopeId}/storage/volumes
Create a block volumePOST /scopes/{scopeId}/storage/volumes
Retrieve a block volume detail read modelGET /scopes/{scopeId}/storage/volumes/{volumeId}
Rename a block volume (mutable metadata)PATCH /scopes/{scopeId}/storage/volumes/{volumeId}
Delete a block volumeDELETE /scopes/{scopeId}/storage/volumes/{volumeId}
Replace the volume's tag setPUT /scopes/{scopeId}/storage/volumes/{volumeId}/tags
Attach a volume to an instancePOST /scopes/{scopeId}/storage/volumes/{volumeId}/actions/attach
Detach a volume from its instancePOST /scopes/{scopeId}/storage/volumes/{volumeId}/actions/detach
Clone a volumePOST /scopes/{scopeId}/storage/volumes/{volumeId}/actions/clone
Resize a volumePOST /scopes/{scopeId}/storage/volumes/{volumeId}/actions/resize
Create a snapshot of a volumePOST /scopes/{scopeId}/storage/volumes/{volumeId}/snapshots
Offer a volume to another project in the same tenantPOST /scopes/{scopeId}/storage/volumes/{volumeId}/actions/transfer
List the volume transfer offers this project has openGET /scopes/{scopeId}/storage/volume-transfers
Read one open transfer offerGET /scopes/{scopeId}/storage/volume-transfers/{transferId}
Withdraw a transfer offerDELETE /scopes/{scopeId}/storage/volume-transfers/{transferId}
Accept a volume transfer offer into this projectPOST /scopes/{scopeId}/storage/volume-transfers/actions/accept
Change a volume's category (tier)POST /scopes/{scopeId}/storage/volumes/{volumeId}/actions/retype

Networking 89 operations

OperationEndpoint
List the external networks the scope may allocate floating IPs from (or attach to)GET /scopes/{scopeId}/network/floating-ip-pools
List floating IPs in the active scopeGET /scopes/{scopeId}/network/floating-ips
Allocate a new floating IPPOST /scopes/{scopeId}/network/floating-ips
Retrieve floating IP detailGET /scopes/{scopeId}/network/floating-ips/{floatingIpId}
Associate the floating IP with a target resourcePOST /scopes/{scopeId}/network/floating-ips/{floatingIpId}/actions/associate
Disassociate the floating IP from its current targetPOST /scopes/{scopeId}/network/floating-ips/{floatingIpId}/actions/disassociate
Release the floating IP back to its poolPOST /scopes/{scopeId}/network/floating-ips/{floatingIpId}/actions/release
List network interfaces (ports) in the active scopeGET /scopes/{scopeId}/network/network-interfaces
Create a network interface (port)POST /scopes/{scopeId}/network/network-interfaces
Get network interface detailGET /scopes/{scopeId}/network/network-interfaces/{networkInterfaceId}
Update network interface configurationPATCH /scopes/{scopeId}/network/network-interfaces/{networkInterfaceId}
Delete a network interface (port)DELETE /scopes/{scopeId}/network/network-interfaces/{networkInterfaceId}
Allocate a new floating IP for the portPOST /scopes/{scopeId}/network/network-interfaces/{networkInterfaceId}/actions/allocate
Attach an association to the port (security group or floating IP)POST /scopes/{scopeId}/network/network-interfaces/{networkInterfaceId}/actions/attach
Remove an association from the portPOST /scopes/{scopeId}/network/network-interfaces/{networkInterfaceId}/actions/detach
List load balancersGET /scopes/{scopeId}/network/load-balancers
Create load balancerPOST /scopes/{scopeId}/network/load-balancers
Get load balancer detailGET /scopes/{scopeId}/network/load-balancers/{loadBalancerId}
Update load balancer settingsPATCH /scopes/{scopeId}/network/load-balancers/{loadBalancerId}
Delete load balancerDELETE /scopes/{scopeId}/network/load-balancers/{loadBalancerId}
Remove backend memberDELETE /scopes/{scopeId}/network/load-balancers/{loadBalancerId}/backend-members/{backendMemberId}
Add listenerPOST /scopes/{scopeId}/network/load-balancers/{loadBalancerId}/listeners
Update listenerPATCH /scopes/{scopeId}/network/load-balancers/{loadBalancerId}/listeners/{listenerId}
Delete listenerDELETE /scopes/{scopeId}/network/load-balancers/{loadBalancerId}/listeners/{listenerId}
Add backend poolPOST /scopes/{scopeId}/network/load-balancers/{loadBalancerId}/pools
Update backend poolPATCH /scopes/{scopeId}/network/load-balancers/{loadBalancerId}/pools/{poolId}
Delete backend poolDELETE /scopes/{scopeId}/network/load-balancers/{loadBalancerId}/pools/{poolId}
Attach health monitor to a backend poolPOST /scopes/{scopeId}/network/load-balancers/{loadBalancerId}/pools/{poolId}/monitor
Update a pool's health monitorPATCH /scopes/{scopeId}/network/load-balancers/{loadBalancerId}/pools/{poolId}/monitor
Delete a pool's health monitorDELETE /scopes/{scopeId}/network/load-balancers/{loadBalancerId}/pools/{poolId}/monitor
Add target to poolPOST /scopes/{scopeId}/network/load-balancers/{loadBalancerId}/targets
List virtual networks in the active scopeGET /scopes/{scopeId}/network/networks
Create a virtual networkPOST /scopes/{scopeId}/network/networks
Get virtual network detailGET /scopes/{scopeId}/network/networks/{networkId}
Update virtual network configurationPATCH /scopes/{scopeId}/network/networks/{networkId}
Delete a virtual networkDELETE /scopes/{scopeId}/network/networks/{networkId}
Add a subnet to a virtual networkPOST /scopes/{scopeId}/network/networks/{networkId}/subnets
Update a subnetPATCH /scopes/{scopeId}/network/networks/{networkId}/subnets/{subnetId}
Delete a subnetDELETE /scopes/{scopeId}/network/networks/{networkId}/subnets/{subnetId}
List routersGET /scopes/{scopeId}/network/routers
Create routerPOST /scopes/{scopeId}/network/routers
Get router detailGET /scopes/{scopeId}/network/routers/{routerId}
Update routerPATCH /scopes/{scopeId}/network/routers/{routerId}
Delete routerDELETE /scopes/{scopeId}/network/routers/{routerId}
Refresh router statePOST /scopes/{scopeId}/network/routers/{routerId}/actions/refresh
Set external gatewayPOST /scopes/{scopeId}/network/routers/{routerId}/gateways/{gatewayId}/actions/set-gateway
Clear external gatewayPOST /scopes/{scopeId}/network/routers/{routerId}/gateways/actions/clear-gateway
Set external gateway (server-picked external network)POST /scopes/{scopeId}/network/routers/{routerId}/gateways/actions/set-gateway
Attach router interfacePOST /scopes/{scopeId}/network/routers/{routerId}/network-interfaces
Detach router interfaceDELETE /scopes/{scopeId}/network/routers/{routerId}/network-interfaces/{networkInterfaceId}
Add static routePOST /scopes/{scopeId}/network/routers/{routerId}/routes
Remove static routeDELETE /scopes/{scopeId}/network/routers/{routerId}/routes/{routeId}
List security groupsGET /scopes/{scopeId}/network/security-groups
Create a security groupPOST /scopes/{scopeId}/network/security-groups
Get security group detailGET /scopes/{scopeId}/network/security-groups/{securityGroupId}
Update a security groupPATCH /scopes/{scopeId}/network/security-groups/{securityGroupId}
Delete a security groupDELETE /scopes/{scopeId}/network/security-groups/{securityGroupId}
Add a security rule to a groupPOST /scopes/{scopeId}/network/security-groups/{securityGroupId}/security-rules
Edit (replace) a security rulePUT /scopes/{scopeId}/network/security-groups/{securityGroupId}/security-rules/{securityRuleId}
Delete a security rule from a groupDELETE /scopes/{scopeId}/network/security-groups/{securityGroupId}/security-rules/{securityRuleId}
List IKE (Phase 1) policies in the active scopeGET /scopes/{scopeId}/network/vpn/ike-policies
Create a reusable IKE (Phase 1) policyPOST /scopes/{scopeId}/network/vpn/ike-policies
Get one IKE (Phase 1) policyGET /scopes/{scopeId}/network/vpn/ike-policies/{vpnIkePolicyId}
Update an IKE (Phase 1) policyPATCH /scopes/{scopeId}/network/vpn/ike-policies/{vpnIkePolicyId}
Delete an IKE (Phase 1) policyDELETE /scopes/{scopeId}/network/vpn/ike-policies/{vpnIkePolicyId}
List IPsec (Phase 2) policies in the active scopeGET /scopes/{scopeId}/network/vpn/ipsec-policies
Create a reusable IPsec (Phase 2) policyPOST /scopes/{scopeId}/network/vpn/ipsec-policies
Get one IPsec (Phase 2) policyGET /scopes/{scopeId}/network/vpn/ipsec-policies/{vpnIpsecPolicyId}
Update an IPsec (Phase 2) policyPATCH /scopes/{scopeId}/network/vpn/ipsec-policies/{vpnIpsecPolicyId}
Delete an IPsec (Phase 2) policyDELETE /scopes/{scopeId}/network/vpn/ipsec-policies/{vpnIpsecPolicyId}
List VPN services in the active scopeGET /scopes/{scopeId}/network/vpn/services
Create a VPN service on a routerPOST /scopes/{scopeId}/network/vpn/services
Get one VPN serviceGET /scopes/{scopeId}/network/vpn/services/{vpnServiceId}
Update a VPN servicePATCH /scopes/{scopeId}/network/vpn/services/{vpnServiceId}
Delete a VPN serviceDELETE /scopes/{scopeId}/network/vpn/services/{vpnServiceId}
List VPN endpoint groups in the active scopeGET /scopes/{scopeId}/network/vpn/endpoint-groups
Create a VPN endpoint group (exactly one endpoint)POST /scopes/{scopeId}/network/vpn/endpoint-groups
Get one VPN endpoint groupGET /scopes/{scopeId}/network/vpn/endpoint-groups/{vpnEndpointGroupId}
Rename a VPN endpoint groupPATCH /scopes/{scopeId}/network/vpn/endpoint-groups/{vpnEndpointGroupId}
Delete a VPN endpoint groupDELETE /scopes/{scopeId}/network/vpn/endpoint-groups/{vpnEndpointGroupId}
List IPsec site connections in the active scopeGET /scopes/{scopeId}/network/vpn/site-connections
Create an IPsec site connection from existing objectsPOST /scopes/{scopeId}/network/vpn/site-connections
Get IPsec site connection detailGET /scopes/{scopeId}/network/vpn/site-connections/{vpnSiteConnectionId}
Update an IPsec site connectionPATCH /scopes/{scopeId}/network/vpn/site-connections/{vpnSiteConnectionId}
Delete an IPsec site connectionDELETE /scopes/{scopeId}/network/vpn/site-connections/{vpnSiteConnectionId}
Administratively disable an IPsec site connectionPOST /scopes/{scopeId}/network/vpn/site-connections/{vpnSiteConnectionId}/actions/disable
Re-enable a disabled IPsec site connectionPOST /scopes/{scopeId}/network/vpn/site-connections/{vpnSiteConnectionId}/actions/enable
Renegotiate an IPsec site connection's security associationsPOST /scopes/{scopeId}/network/vpn/site-connections/{vpnSiteConnectionId}/actions/restart
Re-read an IPsec site connection from the providerPOST /scopes/{scopeId}/network/vpn/site-connections/{vpnSiteConnectionId}/actions/refresh

Identity & Access Management 84 operations

OperationEndpoint
List and query Access Analyzer findingsGET /scopes/{scopeId}/iam/access-findings
Get an Access Analyzer findingGET /scopes/{scopeId}/iam/access-findings/{accessFindingId}
Archive an access finding as intended accessPOST /scopes/{scopeId}/iam/access-findings/{accessFindingId}/actions/archive
Mark an access finding as resolvedPOST /scopes/{scopeId}/iam/access-findings/{accessFindingId}/actions/resolve
List and query IAM activity (audit) eventsGET /scopes/{scopeId}/iam/activities
List and query API tokensGET /scopes/{scopeId}/iam/api-tokens
Create an API token (secret revealed once)POST /scopes/{scopeId}/iam/api-tokens
Get an API token's detail and usage read modelGET /scopes/{scopeId}/iam/api-tokens/{apiTokenId}
Delete an API tokenDELETE /scopes/{scopeId}/iam/api-tokens/{apiTokenId}
Revoke an API token immediatelyPOST /scopes/{scopeId}/iam/api-tokens/{apiTokenId}/actions/revoke
Rotate an API token's secret (new secret revealed once)POST /scopes/{scopeId}/iam/api-tokens/{apiTokenId}/actions/rotate
Read the tenant's sign-in policy (enforce 2FA)GET /scopes/{scopeId}/iam/auth-policy
Set the tenant's sign-in policy (enforce 2FA)PUT /scopes/{scopeId}/iam/auth-policy
Read the organisation's direct OpenStack API access switchGET /scopes/{scopeId}/iam/openstack-api-access
Switch direct OpenStack API access on or off for the organisationPUT /scopes/{scopeId}/iam/openstack-api-access
List OpenStack API credentials in the projectGET /scopes/{scopeId}/iam/openstack-credentials
Create an OpenStack API credential (secret revealed once)POST /scopes/{scopeId}/iam/openstack-credentials
Get one OpenStack API credential (no secret)GET /scopes/{scopeId}/iam/openstack-credentials/{credentialId}
Revoke an OpenStack API credentialDELETE /scopes/{scopeId}/iam/openstack-credentials/{credentialId}
Rotate an OpenStack API credential (new secret revealed once)POST /scopes/{scopeId}/iam/openstack-credentials/{credentialId}/actions/rotate
Read the IAM vocabularies the console renders (permission resources + policy services)GET /scopes/{scopeId}/iam/catalog
List the subscription's quota limit and its per-project native quota allocationGET /scopes/{scopeId}/iam/quota-allocations
Set the path project's native quota allocation for one quota idPUT /scopes/{scopeId}/iam/quota-allocations/{quotaId}
List the organisation's requests for OS images the catalog does not offerGET /scopes/{scopeId}/iam/image-requests
Request an OS image the catalog does not offerPOST /scopes/{scopeId}/iam/image-requests
Preview the live resources a project's cascade delete would destroyGET /scopes/{scopeId}/iam/projects/{projectId}/live-resources
List the tenant's quota-increase requestsGET /scopes/{scopeId}/iam/quota-requests
File a quota-increase requestPOST /scopes/{scopeId}/iam/quota-requests
List roles in the active scopeGET /scopes/{scopeId}/iam/roles
Create a custom rolePOST /scopes/{scopeId}/iam/roles
Get role detailGET /scopes/{scopeId}/iam/roles/{roleId}
Edit a custom rolePATCH /scopes/{scopeId}/iam/roles/{roleId}
Delete a custom roleDELETE /scopes/{scopeId}/iam/roles/{roleId}
Clone a role into a new custom rolePOST /scopes/{scopeId}/iam/roles/{roleId}/actions/clone
List the principals holding a role in the active scopeGET /scopes/{scopeId}/iam/roles/{roleId}/assignments
Assign the role to a principal at a scopePOST /scopes/{scopeId}/iam/roles/{roleId}/assignments
List and query service accounts in the active scopeGET /scopes/{scopeId}/iam/service-accounts
Create a service account (optionally minting an initial key)POST /scopes/{scopeId}/iam/service-accounts
Get service account detail with keys, bindings and auth activityGET /scopes/{scopeId}/iam/service-accounts/{serviceAccountId}
Delete a service accountDELETE /scopes/{scopeId}/iam/service-accounts/{serviceAccountId}
Disable a service account (stop token issuance)POST /scopes/{scopeId}/iam/service-accounts/{serviceAccountId}/actions/disable
Enable a previously disabled service accountPOST /scopes/{scopeId}/iam/service-accounts/{serviceAccountId}/actions/enable
Replace the tag set on a service accountPUT /scopes/{scopeId}/iam/service-accounts/{serviceAccountId}/tags
Create a long-lived key and reveal its credential oncePOST /scopes/{scopeId}/iam/service-accounts/{serviceAccountId}/keys
Revoke a key immediatelyPOST /scopes/{scopeId}/iam/service-accounts/{serviceAccountId}/keys/{keyId}/actions/revoke
List a service account's role bindingsGET /scopes/{scopeId}/iam/service-accounts/{serviceAccountId}/bindings
Grant a role binding to a service accountPOST /scopes/{scopeId}/iam/service-accounts/{serviceAccountId}/bindings
Revoke a role binding from a service accountDELETE /scopes/{scopeId}/iam/service-accounts/{serviceAccountId}/bindings/{bindingId}
List SSO configurations for the tenantGET /scopes/{scopeId}/iam/sso
Save the SSO configurationPATCH /scopes/{scopeId}/iam/sso
Re-sync federation metadata from the IdPPOST /scopes/{scopeId}/iam/sso/actions/refresh
Test the SSO connection to the IdPPOST /scopes/{scopeId}/iam/sso/actions/test
The billing countries a subscription of this tenant may be set toGET /tenants/{tenantId}/billing-countries
List every member of the tenant with an access summaryGET /tenants/{tenantId}/iam/users
Invite a member into the tenant with an access matrixPOST /tenants/{tenantId}/iam/users
A member's access matrixGET /tenants/{tenantId}/iam/users/{userId}/access
Grant the member one access rowPOST /tenants/{tenantId}/iam/users/{userId}/access
Replace the member's editable access rowsPUT /tenants/{tenantId}/iam/users/{userId}/access
Remove one access rowDELETE /tenants/{tenantId}/iam/users/{userId}/access/{assignmentId}
Dry run -- OpenStack credentials an access change would revokePOST /tenants/{tenantId}/iam/users/{userId}/access/actions/preview-openstack-credential-impact
The tenant tree the caller may grant access onGET /tenants/{tenantId}/iam/access-targets
Open a new subscription (with its default project) under the tenantPOST /tenants/{tenantId}/subscriptions
Rename a subscription and/or change its billing countryPATCH /tenants/{tenantId}/subscriptions/{subscriptionId}
Delete a subscription and every project beneath itDELETE /tenants/{tenantId}/subscriptions/{subscriptionId}
Whether the caller may open projects under the subscriptionGET /tenants/{tenantId}/subscriptions/{subscriptionId}/project-creation
The principals holding the project-creator grant on the subscriptionGET /tenants/{tenantId}/subscriptions/{subscriptionId}/project-creators
Name a principal a project creator on the subscriptionPUT /tenants/{tenantId}/subscriptions/{subscriptionId}/project-creators/{principalId}
Revoke a principal's project-creator grant on the subscriptionDELETE /tenants/{tenantId}/subscriptions/{subscriptionId}/project-creators/{principalId}
Open a new project under the subscriptionPOST /tenants/{tenantId}/subscriptions/{subscriptionId}/projects
Rename a projectPATCH /tenants/{tenantId}/subscriptions/{subscriptionId}/projects/{projectId}
Delete a projectDELETE /tenants/{tenantId}/subscriptions/{subscriptionId}/projects/{projectId}
Move a project to another subscription of the same tenantPOST /tenants/{tenantId}/subscriptions/{subscriptionId}/projects/{projectId}/actions/move
List and query IAM users in the active scopeGET /scopes/{scopeId}/iam/users
Retrieve an IAM user's full detail recordGET /scopes/{scopeId}/iam/users/{userId}
Edit an IAM user's profilePATCH /scopes/{scopeId}/iam/users/{userId}
Remove an IAM user from the organizationDELETE /scopes/{scopeId}/iam/users/{userId}
List an IAM user's live sessionsGET /scopes/{scopeId}/iam/users/{userId}/sessions
Disable an IAM userPOST /scopes/{scopeId}/iam/users/{userId}/actions/disable
Re-enable a disabled IAM userPOST /scopes/{scopeId}/iam/users/{userId}/actions/enable
Revoke a user's credential, session, or all sessionsPOST /scopes/{scopeId}/iam/users/{userId}/actions/revoke
Send or resend an invitation to a userPOST /scopes/{scopeId}/iam/users/{userId}/invites
Send a password-reset link to a userPOST /scopes/{scopeId}/iam/users/{userId}/passwords/actions/reset
Dry run — OpenStack credentials a grant change would revokePOST /scopes/{scopeId}/iam/users/{userId}/actions/preview-openstack-credential-impact
Add a governance tag to a userPOST /scopes/{scopeId}/iam/users/{userId}/tags

Observability 17 operations

OperationEndpoint
List alert rules in the active projectGET /scopes/{scopeId}/observability/alert-rules
Create an alert rulePOST /scopes/{scopeId}/observability/alert-rules
Get an alert ruleGET /scopes/{scopeId}/observability/alert-rules/{alertRuleId}
Update an alert rulePATCH /scopes/{scopeId}/observability/alert-rules/{alertRuleId}
Delete an alert ruleDELETE /scopes/{scopeId}/observability/alert-rules/{alertRuleId}
List an alert rule's state changesGET /scopes/{scopeId}/observability/alert-rules/{alertRuleId}/events
List the notification channels of the project's budget alertsGET /scopes/{scopeId}/observability/budget-notification-channels
Rotate the signing secret of a budget's webhook channelPOST /scopes/{scopeId}/observability/budget-notification-channels/{notificationChannelId}/actions/rotate-secret
Re-send the verification link of a budget's email channelPOST /scopes/{scopeId}/observability/budget-notification-channels/{notificationChannelId}/actions/resend-verification
List the alert rules derived from the project's budgetsGET /scopes/{scopeId}/observability/budget-alert-rules
List notification channels in the active projectGET /scopes/{scopeId}/observability/notification-channels
Create a notification channelPOST /scopes/{scopeId}/observability/notification-channels
Get a notification channelGET /scopes/{scopeId}/observability/notification-channels/{notificationChannelId}
Delete a notification channelDELETE /scopes/{scopeId}/observability/notification-channels/{notificationChannelId}
Rotate a webhook channel's signing secretPOST /scopes/{scopeId}/observability/notification-channels/{notificationChannelId}/actions/rotate-secret
Send a test notification through a channelPOST /scopes/{scopeId}/observability/notification-channels/{notificationChannelId}/actions/test
Resend the verification link of an email channelPOST /scopes/{scopeId}/observability/notification-channels/{notificationChannelId}/actions/resend-verification

Billing & FinOps 53 operations

OperationEndpoint
List billing summary read models for the active scopeGET /scopes/{scopeId}/billing/summary
List budgets in the active scopeGET /scopes/{scopeId}/billing/budgets
Create a budget with thresholds and an alert channelPOST /scopes/{scopeId}/billing/budgets
Replace a budget definitionPUT /scopes/{scopeId}/billing/budgets/{budgetId}
Delete a budget definitionDELETE /scopes/{scopeId}/billing/budgets/{budgetId}
List the spend-threshold campaigns the active scope takes part in, with progressGET /scopes/{scopeId}/billing/campaigns
List and query commitments in the active scopeGET /scopes/{scopeId}/billing/commitments
Create (configure) a new commitment purchasePOST /scopes/{scopeId}/billing/commitments
List the compute family classes a commitment can cover in this scopeGET /scopes/{scopeId}/billing/commitments/eligible-services
Preview (dry-run) a commitment purchase without creating itPOST /scopes/{scopeId}/billing/commitments/preview
Retrieve a commitment detail read modelGET /scopes/{scopeId}/billing/commitments/{commitmentId}
Purchase a configured or recommended commitmentPOST /scopes/{scopeId}/billing/commitments/{commitmentId}/actions/purchase
Renew a commitment (queue a successor term)POST /scopes/{scopeId}/billing/commitments/{commitmentId}/actions/renew
List the subscription's billing contracts (read-only history)GET /scopes/{scopeId}/billing/contracts
List cost report datasets for Cost ExplorerGET /scopes/{scopeId}/billing/cost-reports
Export a cost report as CSV (legacy compat)POST /scopes/{scopeId}/billing/cost-reports/{costReportId}/exports
Download the cost report as a CSV exportGET /scopes/{scopeId}/billing/cost-reports/{costReportId}/exports/download
List and query credit grants in the active scopeGET /scopes/{scopeId}/billing/credits
List credit consumption events in the active scopeGET /scopes/{scopeId}/billing/credits/events
Export the credit consumption history as CSV (legacy compat)POST /scopes/{scopeId}/billing/credits/{creditId}/actions/exports
Download the credit grant's consumption history as CSVGET /scopes/{scopeId}/billing/credits/{creditId}/exports/download
Redeem a coupon code into an active credit grantPOST /scopes/{scopeId}/billing/credits/actions/redeem
List the subscription's add-on / licence entitlementsGET /scopes/{scopeId}/billing/entitlements
Buy a subscription-scoped add-on / licence entitlementPOST /scopes/{scopeId}/billing/entitlements
Read one entitlementGET /scopes/{scopeId}/billing/entitlements/{entitlementId}
Stop an entitlement renewing (no refund)POST /scopes/{scopeId}/billing/entitlements/{entitlementId}/actions/cancel
Assign one seat of an entitlement to a resourcePOST /scopes/{scopeId}/billing/entitlements/{entitlementId}/actions/assign
Release one seat of an entitlement back to the poolPOST /scopes/{scopeId}/billing/entitlements/{entitlementId}/actions/release
Move one seat of an entitlement between two resources, atomicallyPOST /scopes/{scopeId}/billing/entitlements/{entitlementId}/actions/transfer
List and query invoices in the active scopeGET /scopes/{scopeId}/billing/invoices
Retrieve the invoice detail read modelGET /scopes/{scopeId}/billing/invoices/{invoiceId}
Download the invoice document (PDF)GET /scopes/{scopeId}/billing/invoices/{invoiceId}/download
Export invoice data as CSV (legacy compat)POST /scopes/{scopeId}/billing/invoices/{invoiceId}/exports
Download the invoice's line items as CSVGET /scopes/{scopeId}/billing/invoices/{invoiceId}/exports/download
Pay an open invoicePOST /scopes/{scopeId}/billing/invoices/{invoiceId}/actions/pay
Get the bank-transfer payment instructions for the active scopeGET /scopes/{scopeId}/billing/payment-instructions
List payment methods on file in the active scopeGET /scopes/{scopeId}/billing/payment-methods
Remove a payment card from the scopeDELETE /scopes/{scopeId}/billing/payment-methods/{paymentMethodId}
List and query resource quotas in the active scopeGET /scopes/{scopeId}/billing/quotas
List billable resource subscriptions with search, filter, sort and paginationGET /scopes/{scopeId}/billing/subscriptions
Retrieve the account-level billing subscription detail read modelGET /scopes/{scopeId}/billing/subscriptions/{billingSubscriptionId}
Download an invoice PDF from the subscription's Invoices tabGET /scopes/{scopeId}/billing/subscriptions/{billingSubscriptionId}/download
Pause the billing subscription (halt new provisioning)POST /scopes/{scopeId}/billing/subscriptions/{billingSubscriptionId}/actions/pause
Resume a paused billing subscriptionPOST /scopes/{scopeId}/billing/subscriptions/{billingSubscriptionId}/actions/resume
List and query the transaction ledgerGET /scopes/{scopeId}/billing/transactions
Get one transaction with its receipt and timeline contextGET /scopes/{scopeId}/billing/transactions/{transactionId}
Cancel a pending wire transferPOST /scopes/{scopeId}/billing/transactions/{transactionId}/actions/cancel
Declare a bank transfer against an outstanding ledger entryPOST /scopes/{scopeId}/billing/transactions/{transactionId}/actions/pay
Retry a failed payment (retired — always CONFLICT)POST /scopes/{scopeId}/billing/transactions/{transactionId}/actions/retry
Export a transaction ledger entry as CSV (legacy compat)POST /scopes/{scopeId}/billing/transactions/{transactionId}/exports
Download the transaction ledger entry as CSVGET /scopes/{scopeId}/billing/transactions/{transactionId}/exports/download
Download the transaction receipt PDFGET /scopes/{scopeId}/billing/transactions/{transactionId}/receipts/download
Upload a wire-transfer receipt for manual approvalPOST /scopes/{scopeId}/billing/transactions/{transactionId}/receipts/uploads

Activity & Audit 2 operations

OperationEndpoint
List Activity Events over a real time range, with server-computed totals and histogramGET /scopes/{scopeId}/activity/activity-events
Download the scope's 2-year audit trail as CSV or JSONGET /scopes/{scopeId}/activity/audit-export

Key & Certificate Management 4 operations

OperationEndpoint
List and query TLS certificates in the active scopeGET /scopes/{scopeId}/keys/certificates
Create (generate or import) a certificatePOST /scopes/{scopeId}/keys/certificates
Retrieve certificate detailGET /scopes/{scopeId}/keys/certificates/{certificateId}
Delete a certificateDELETE /scopes/{scopeId}/keys/certificates/{certificateId}

Assistant 17 operations

OperationEndpoint
Start a console AI assistant conversationPOST /scopes/{scopeId}/assistant/conversations
Send a message to the console AI assistantPOST /scopes/{scopeId}/assistant/conversations/{conversationId}/messages
Confirm an assistant proposal (create the proposed instance)POST /scopes/{scopeId}/assistant/proposals/{proposalId}/actions/confirm
Cancel an assistant proposalPOST /scopes/{scopeId}/assistant/proposals/{proposalId}/actions/cancel
List the resource kinds the caller can read (Cloud Shell)GET /scopes/{scopeId}/assistant/resource-kinds
List instances through the read-only resource layerGET /scopes/{scopeId}/assistant/resources/instance
Show one instance through the read-only resource layerGET /scopes/{scopeId}/assistant/resources/instance/{resourceId}
List volumes through the read-only resource layerGET /scopes/{scopeId}/assistant/resources/volume
Show one volume through the read-only resource layerGET /scopes/{scopeId}/assistant/resources/volume/{resourceId}
List networks through the read-only resource layerGET /scopes/{scopeId}/assistant/resources/network
Show one network through the read-only resource layerGET /scopes/{scopeId}/assistant/resources/network/{resourceId}
List security groups through the read-only resource layerGET /scopes/{scopeId}/assistant/resources/sg
Show one sg through the read-only resource layerGET /scopes/{scopeId}/assistant/resources/sg/{resourceId}
List floating IPs through the read-only resource layerGET /scopes/{scopeId}/assistant/resources/fip
Show one fip through the read-only resource layerGET /scopes/{scopeId}/assistant/resources/fip/{resourceId}
Ask the documentation assistant (public, no session)POST /public/docs-assistant/ask
The project's console AI assistant token usage and availabilityGET /scopes/{scopeId}/assistant/usage

Account Settings 2 operations

OperationEndpoint
Read the tenant's billing identityGET /scopes/{scopeId}/settings/company
Update the tenant's billing identityPATCH /scopes/{scopeId}/settings/company

Console 9 operations

OperationEndpoint
List the signed-in user's in-app notificationsGET /notifications
Mark one notification read or unreadPATCH /notifications/{notificationId}
Mark all notifications readPOST /notifications/read-all
List the activated regionsGET /regions
Which product modules are available in a regionGET /regions/{region}/capabilities
The published images of a region (the image picker source)GET /regions/{region}/images
Which block-storage tiers a region offers, and what each costsGET /regions/{region}/volume-types
Which load-balancer sizes a region offersGET /regions/{region}/load-balancer-sizes
The published, priced products of a region (the pricing preview)GET /regions/{region}/products

Platform 5 operations