Cloud Accounts
Register and manage cloud provider accounts for BYOC deployments and network integrations.
Set variables to auto-fill all examples and run requests in-browser.
Cloud accounts store your external cloud provider credentials (AWS IAM roles, VPC IDs, GCP network info) in one place. BYOC deployments, VPC peering, and PrivateLink features pull from saved cloud accounts. All endpoints use the main API at https://api.laserdata.cloud.
Required permissions: settings:read to list/get, settings:manage to create/update/delete.
Create a Cloud Account
POST/tenants/{tenant_id}/cloud_accountsRegister a new cloud account. Supports AWS and GCP.
curl -X POST https://api.laserdata.cloud/tenants/{tenant_id}/cloud_accounts \
-H "ld-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"cloud": "aws",
"name": "production-aws",
"account_id": "123456789012",
"region": "us-west-1",
"settings": {
"aws": {
"identity_arn": "arn:aws:iam::123456789012:role/LaserDataRole",
"external_id": "unique-external-id",
"vpc_id": "vpc-0abc123def456",
"vpc_cidr": "10.0.0.0/16"
}
},
"remarks": "Main production AWS account"
}'| Field | Required | Description |
|---|---|---|
cloud | Yes | Cloud provider: aws or gcp |
name | Yes | Unique name (1-100 chars) |
account_id | Yes | Cloud provider account ID (e.g. AWS 12-digit account number) |
region | No | Default region for this account |
settings | No | Cloud-specific credentials (see below) |
remarks | No | Notes (max 500 chars) |
AWS settings:
| Field | Required | Description |
|---|---|---|
identity_arn | Yes | IAM role ARN that LaserData assumes for provisioning |
external_id | Yes | External ID for secure cross-account role assumption |
vpc_id | Yes | VPC ID where infrastructure will be provisioned |
vpc_cidr | No | CIDR block of the VPC (used for network planning) |
GCP settings:
| Field | Required | Description |
|---|---|---|
vpc_network | No | VPC network name for infrastructure provisioning |
vpc_cidr | No | CIDR block of the VPC |
Returns 201 Created.
List Cloud Accounts
GET/tenants/{tenant_id}/cloud_accountsList all registered cloud accounts for the tenant.
curl "https://api.laserdata.cloud/tenants/{tenant_id}/cloud_accounts?page=1&results=10" \
-H "ld-api-key: YOUR_API_KEY"{
"total_pages": 1,
"total_results": 1,
"page": 1,
"items": [
{
"id": 1,
"cloud": "aws",
"name": "production-aws",
"account_id": "123456789012",
"region": "us-west-1",
"validated_at": null,
"status": "active",
"created_at": "2026-06-01T10:00:00Z",
"updated_at": "2026-06-01T10:00:00Z"
}
]
}Account statuses: active, inactive, locked, deleted
| Query Parameter | Description |
|---|---|
name | Filter by name (contains match) |
cloud | Filter by provider: aws, gcp |
region | Filter by region (contains match) |
Get Cloud Account
GET/tenants/{tenant_id}/cloud_accounts/{cloud_account_id}Retrieve a specific cloud account. The detailed response includes settings and remarks omitted from the list.
curl https://api.laserdata.cloud/tenants/{tenant_id}/cloud_accounts/{cloud_account_id} \
-H "ld-api-key: YOUR_API_KEY"{
"id": 1,
"cloud": "aws",
"name": "production-aws",
"account_id": "123456789012",
"region": "us-west-1",
"status": "active",
"settings": {
"aws": {
"identity_arn": "arn:aws:iam::123456789012:role/LaserDataRole",
"external_id": "unique-external-id",
"vpc_id": "vpc-0abc123def456",
"vpc_cidr": "10.0.0.0/16"
}
},
"remarks": "Main production AWS account",
"created_at": "2026-06-01T10:00:00Z",
"updated_at": "2026-06-01T10:00:00Z"
}Update Cloud Account
PUT/tenants/{tenant_id}/cloud_accounts/{cloud_account_id}Update any cloud account field. All fields are optional; include only what you want to change. Set an optional field to null to clear it.
curl -X PUT https://api.laserdata.cloud/tenants/{tenant_id}/cloud_accounts/{cloud_account_id} \
-H "ld-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "production-aws-updated",
"region": "us-west-2",
"status": "active"
}'| Field | Description |
|---|---|
name | New name (must be unique within the tenant) |
account_id | Updated cloud account ID |
region | Updated region, or null to clear |
settings | Updated credentials, or null to clear |
remarks | Updated notes, or null to clear |
status | Account status: active, inactive, locked, deleted |
Returns 204 No Content.
Delete Cloud Account
DELETE/tenants/{tenant_id}/cloud_accounts/{cloud_account_id}Permanently delete a cloud account. Existing BYOC deployments using this account continue running but cannot be reprovisioned.
curl -X DELETE https://api.laserdata.cloud/tenants/{tenant_id}/cloud_accounts/{cloud_account_id} \
-H "ld-api-key: YOUR_API_KEY"Returns 204 No Content.