---
title: "Prepare one-click DNS setup"
method: GET
path: "/v1/spaces/{spaceId}/domains/{domainId}/domain-connect"
tags: ["Domains"]
---

# Prepare one-click DNS setup

`GET /v1/spaces/{spaceId}/domains/{domainId}/domain-connect`

## Request

- Base URL: `https://api.spacefast.com`
- URL: `https://api.spacefast.com/v1/spaces/{spaceId}/domains/{domainId}/domain-connect`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://api.spacefast.com/v1/auth/oauth2/authorize`, token URL `https://api.spacefast.com/v1/auth/oauth2/token`; client credentials, token URL `https://api.spacefast.com/v1/auth/oauth2/token`, scopes: `domains:read`)

Discover the hostname's DNS provider through Domain Connect, confirm it carries the Spacefast template, and return a signed approval URL. The records still need approval at the provider and count only once observed.

## Path parameters

- `spaceId` string, required
- `domainId` string, required

## Response `200`

Response for status 200

- object
  - `$schema` string, uri: Canonical JSON Schema URL for this response body. The server also sends it in the `Link: rel="describedby"` response header.
  - `data` union, required
    - object
      - `status` 'available', required
      - `checkedAt` string, date-time, required
      - `provider` object, required
        - `id` string, required: DNS provider identifier returned by Domain Connect discovery.
        - `name` string, required: DNS provider name returned by Domain Connect discovery.
        - `displayName` string
        - `controlPanelUrl` string, uri
      - `template` object, required
        - `providerId` string, required
        - `serviceId` string, required
        - `version` integer, nullable, required
      - `applyUrl` string, uri, required: Signed DNS-provider approval URL.
    - object
      - `status` 'unsupported', required
      - `reason` 'domain_not_bound' | 'configuration_unsupported' | 'discovery_not_advertised' | 'discovery_ambiguous' | 'settings_not_found' | 'settings_invalid' | 'sync_flow_unsupported' | 'template_unsupported' | 'provider_unavailable' | 'signing_unavailable', required
      - `checkedAt` string, date-time, required
      - `provider` object
        - `id` string, required: DNS provider identifier returned by Domain Connect discovery.
        - `name` string, required: DNS provider name returned by Domain Connect discovery.
        - `displayName` string
        - `controlPanelUrl` string, uri
    - object
      - `status` 'unavailable', required
      - `reason` 'domain_not_bound' | 'configuration_unsupported' | 'discovery_not_advertised' | 'discovery_ambiguous' | 'settings_not_found' | 'settings_invalid' | 'sync_flow_unsupported' | 'template_unsupported' | 'provider_unavailable' | 'signing_unavailable', required
      - `checkedAt` string, date-time, required
      - `provider` object
        - `id` string, required: DNS provider identifier returned by Domain Connect discovery.
        - `name` string, required: DNS provider name returned by Domain Connect discovery.
        - `displayName` string
        - `controlPanelUrl` string, uri

## Other responses

- `default`: Problem details (RFC 9457). Any 4xx/5xx response is one `application/problem+json` document.

---

[API](https://skmtc.dev/spacefast/apis/spacefast-api.md) · [All operations](https://skmtc.dev/spacefast/apis/spacefast-api/llms.txt) · [OpenAPI document](https://skmtc.dev/spacefast/apis/spacefast-api/revisions/bd165bc7c983?raw)
