Cloud Control cloud-connections API: list and create accounts, verify (validate) health, disconnect, run an on-demand sync, and read keyset-paginated synced inventory.
Connect and read cloud accounts. Reads are open to any member; mutations require manage_cloud_accounts (SRE · Cloud Admin, Org Admin, or platform admin). Cross-org ids return 404.
GET/api/cloud/accountsSession or Bearer
List your org's cloud accounts with status, health detail and per-type sync runs. Never includes the encrypted connection payload.
Network reachability / path analysis (NET). Given a source and destination IP, returns whether traffic is reachable and the ordered per-layer hop list (security-group egress → NACL egress → route → gateway → NACL ingress → security-group ingress + the stateless return path), naming the blocking layer.
Parameters
Name
In
Required
Description
sourceIp
body
yes
Source IPv4 address.
destIp
body
yes
Destination IPv4 address.
protocol
body
no
tcp | udp | icmp | all (default tcp).
port
body
no
0–65535 (default 443).
sourceComponentId
body
no
A resource nativeId to disambiguate the source.
destComponentId
body
no
A resource nativeId to disambiguate the destination.
sourceIp/destIp is not a valid IPv4, bad protocol, or port out of range.
401
Not signed in.
200
A never-connected org (no topology) returns { empty: true }.
POST/api/terraform/workspacesmutate_infra
Create a Terraform workspace from a blueprint against a healthy cloud account. The criticality sets the approval policy: 'production' (default) requires a second approver; 'standard' lets the plan author self-approve.
Parameters
Name
In
Required
Description
blueprintId
body
yes
A blueprint id from GET /api/terraform/blueprints.
cloudAccountId
body
yes
A healthy cloud account in your org, matching the blueprint's provider.
name
body
yes
Lowercase letters, digits, hyphens (2–41 chars).
region
body
no
Deploy region (defaults from the blueprint).
criticality
body
no
'production' (default — critical, approver ≠ author) or 'standard' (non-production — the plan author may self-approve). Any other value → 400.
Approve a planned run. The policy must pass. On a 'production' workspace the approver must differ from the plan's author (separation of duties, 403 on self-approve); on a 'standard' workspace the plan author may approve their own run.
Role lacks mutate_infra; policy failed; or (production workspace) the approver is the plan's author.
404
No such workspace/run in your org (cross-org / unknown).
POST/api/terraform/importmutate_infra
Import (adopt) any discovered resource into Terraform — including IAM (roles, policies, users, groups) and, via a generic fallback, any other service: generates real HCL + a Terraform import block (with the correct AWS import id per type — IAM roles/users/groups by name, a managed policy by ARN), records the adopt, marks the resource managed, and best-effort commits the HCL to your connected repo. See the Import existing resources guide for limitations (the apply is the mock runner this round).
Parameters
Name
In
Required
Description
nativeId
body
yes
The discovered resource's native id (from GET /api/cloud/resources, managed:false).
Assign / MOVE a synced resource INTO this workspace (folder). A workspace is a folder of resources; this reassigns membership and recompiles the target AND the resource's previous folder from all their members, returning both recompiled diffs + any address conflicts.
Parameters
Name
In
Required
Description
id
path
yes
Target workspace (folder) id in your org.
nativeId
body
yes
The resource's native id (from GET /api/cloud/resources).
Remove a resource from this folder (unmanage it) and recompile the folder — the removed member shows as a delete in the diff. Native ids containing slashes (GCP/S3) can be passed via a ?nativeId= query, which wins over the path segment.
Parameters
Name
In
Required
Description
id
path
yes
The folder (workspace) id the resource currently belongs to.
nativeId
path
yes
The member resource's native id (or pass ?nativeId= for slash-y ids).
Recompile the folder module from its member resources and return the diff + any conflicts, WITHOUT changing membership — the drift/recompile check. { commit: true } regenerates + commits (new state version + best-effort repo write) when there are no conflicts.
Parameters
Name
In
Required
Description
id
path
yes
Workspace (folder) id in your org.
commit
body
no
true to commit the recompile (default false = preview only).