# List org domains

`GET https://api.instacloud.com/orgs/{orgId}/domains`

**Token scope:** `account` · `org` — read-only tokens allowed.

Every domain the org bought through InstaCloud, including detached ones whose project or service is gone

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `orgId` | path | `string` | yes |  |

## Response 200

Default Response

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `items` | `object[]` | yes |  |
| `items.domainName` | `string` | yes |  |
| `items.status` | `"registered" \| "attaching" \| "active" \| "attach_failed" \| "detached"` | yes | detached: every service its hostnames named is gone — attach it again |
| `items.hostnames` | `object[]` | yes |  |
| `items.hostnames.hostname` | `string` | yes |  |
| `items.hostnames.state` | `"pending" \| "attached" \| "active" \| "failed"` | yes |  |
| `items.hostnames.reason` | `string` | no |  |
| `items.hostnames.service` | `string \| null` | yes | the compute service this hostname serves; each hostname of a domain can serve a different one |
| `items.registeredAt` | `string \| null` | yes |  |
| `items.expiresAt` | `string \| null` | yes |  |
| `items.autorenew` | `boolean` | yes |  |
| `items.privacy` | `boolean` | yes |  |
| `items.locked` | `boolean` | yes | the registrar transfer lock: while it is on, no other registrar can pull the domain away. Turn it off to move the domain out. What the last write reported, or what registration asked for — nothing reads it back |
| `items.nameservers` | `string[]` | yes | what the registrar holds. Empty means never written — only a nameserver write fills it in |
| `items.delegated` | `boolean` | yes | the zone is answered by nameservers InstaCloud cannot write to (custody `foreign`), so nothing published resolves and an attach is refused. A MANAGED delegation reads false: the platform still publishes there |
| `items.custody` | `"registrar" \| "managed" \| "foreign"` | yes | who answers the domain's zone: the registrar's own nameservers, a managed InstaCloud zone (delegated, still platform-published), or somewhere the platform cannot write |
| `items.transferLockExpiresAt` | `string \| null` | yes | ICANN 60-day lock after registration: no transfer out before this, whatever `locked` says |
| `items.orderId` | `string \| null` | yes |  |

## Response 503

Default Response

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `error` | `string` | yes |  |
