# List a Space's domains

Returns every hostname the Space serves on: the hostnames Spacefast manages for it, then the custom domains assigned to it, with `primary` marking the one behind `liveUrl`. The full set comes back in one response. Assignment and primary selection happen on `PATCH /v1/domains/{domainId}`.

## GET `/v1/spaces/{spaceId}/domains`

### Authorization

`Authorization` Bearer token · header required

`Authorization: Bearer <key>` with the Space key (`sfc_` prefix) of an unclaimed Space. The same key is the fragment of the claim URL and the token in the Space's `/_/__/<key>` sign-in URL.

or

`Authorization` Bearer token · header required

`Authorization: Bearer <token>` with an API key (`sfa_` prefix), an OAuth access token, a session token, or a Space machine credential (`sfm_` prefix).

### Path parameters

`spaceId` string required

### Responses

#### 200 Response for status 200

`$schema` string <uri>

Canonical JSON Schema URL for this response body. The server also sends it in the `Link: rel="describedby"` response header.

`data` object[] required

- Array of `object`
  - **One of:**
    - `id` string required
      - Managed hostname row ID (`phn_` prefix).
    - `source` string required
      - A hostname Spacefast issued and manages; it cannot be edited or unassigned.
    - `managed` boolean required
    - `deletable` boolean required
    - `assignable` boolean required
    - `primary` boolean required
      - Whether the Space still serves its primary URL on this hostname. False once a custom domain takes over, and false on every row of the managed hostname list.
    - `name` string required
      - Full hostname Spacefast serves the Space on.
    - `unicodeName` string
    - `kind` string required
    - `publicName` string required
      - Leftmost label of `name`, chosen per Space.
    - `verification` object required
      - **Show properties Hide properties**
        - `status` string required
        - `requiredRecords` object[]
          - Records the caller still has to create to prove control and route traffic. Absent once the hostname serves, and while the domain serves no Space.
          - Array of `object`
            - `type` string required
              - Allowed: `A`, `AAAA`, `CNAME`, `TXT`, `ALIAS`
            - `name` string required
              - Record name, relative to the zone.
            - `value` string required
              - Exact value to set on the record.
            - `ttl` integer
              - min -9007199254740991 · max 9007199254740991
            - `purpose` string required
              - Why the record is needed: `verification` proves ownership, `routing` sends traffic to the Space, `ssl` allows certificate issuance.
              - Allowed: `verification`, `routing`, `ssl`
            - `lastCheckedAt` string <date-time> | any
              - ISO 8601 timestamp of the last DNS check. Null before the first one.
          - `lastVerifiedAt` string <date-time> | any
          - `diagnostics` object[]
            - Stable-coded observations about verification, delegation, and registration state. Absent when there are none.
            - Array of `object`
              - `code` string required
              - `severity` string required
                - Allowed: `info`, `warning`, `error`
              - `message` string required
              - `path` string | any
              - `provider` string | any
              - `details` object | any
              - `fix` string | any
              - `retryable` boolean | any

### Example Response

```json
{
  "$schema": "http://example.com",
  "data": [
    {
      "id": "string",
      "source": "managed_view_fast",
      "managed": true,
      "deletable": false,
      "assignable": false,
      "primary": true,
      "name": "string",
      "unicodeName": "string",
      "kind": "hostname",
      "publicName": "string",
      "verification": {
        "status": "not_required",
        "requiredRecords": [
          {
            "type": "A",
            "name": "string",
            "value": "string",
            "ttl": -9007199254740991,
            "purpose": "verification"
          }
        ],
        "lastCheckedAt": "2019-08-24T14:15:22Z",
        "lastVerifiedAt": "2019-08-24T14:15:22Z",
        "diagnostics": [
          {
            "code": "string",
            "severity": "info",
            "message": "string",
            "path": "string",
            "provider": "infra",
            "details": {
              "property1": null,
              "property2": null
            },
            "fix": "string",
            "retryable": true
          }
        ]
      },
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  ]
}
```

#### Error Response Structure

```json
{
  "$schema": "http://example.com",
  "type": "string",
  "title": "string",
  "status": -9007199254740991,
  "detail": "string",
  "code": "string",
  "pointer": "string",
  "details": {
    "property1": null,
    "property2": null
  },
  "suggestions": [
    "string"
  ],
  "next": [
    "string"
  ],
  "requestId": "string"
}
```
