---
title: "Register cloud account"
method: POST
path: "/tenants/{tenant_id}/cloud_accounts"
tags: ["Cloud Accounts"]
---

# Register cloud account

`POST /tenants/{tenant_id}/cloud_accounts`

Registers an external cloud provider account (AWS or GCP) for BYOC deployments, VPC peering, and PrivateLink. Stores credentials and network metadata under the tenant.

## Path parameters

- `tenant_id` integer, required

## Request body

- CreateCloudAccount
  - `account_id` string, required
  - `cloud` string, required
  - `name` string, required
  - `region` string, nullable
  - `remarks` string, nullable
  - `settings` CloudAccountSettings
    - `aws` AwsCloudAccountSettings
      - `external_id` string, nullable
      - `identity_arn` string, nullable
      - `vpc_cidr` string, nullable
      - `vpc_id` string, nullable
    - `gcp` GcpCloudAccountSettings
      - `vpc_cidr` string, nullable
      - `vpc_network` string, nullable

## Response `201`

Cloud account created

## Other responses

- `400` — Invalid provider or settings
- `403` — Insufficient permissions
- `409` — Name already used in this tenant

---

[API](https://skmtc.net/laserdata/apis/laserdata-cloud-core-api.md) · [All operations](https://skmtc.net/laserdata/apis/laserdata-cloud-core-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/laserdata/laserdata-cloud-core-api/revisions/db81a447bba9/schema)
