Skip to main content
POST
Call domain.connect

Authorizations

Authorization
string
header
required

An API key minted at Settings › API & MCP. Send it as Authorization: Bearer <key>. A key carries its holder's own permissions, resolved on every call — revoking a membership closes the key's reach immediately. Keep it in an environment variable (GOOSY_API_KEY), never in a committed file.

Headers

x-request-id
string

Your own id for this request, echoed back and recorded on the audit trail. 1–128 characters from A–Z a–z 0–9 . _ : -, starting with a letter or digit; anything else is replaced by a generated id.

Maximum string length: 128

Body

application/json
hostname
string
required

The domain the customer already owns, e.g. example.com or offers.example.com. Pass what they said — a pasted URL, a trailing dot or mixed case are all normalized. A name under the platform's own address is refused.

Minimum string length: 1
site_id
string<uuid>

Optional. The site it shows or forwards to, as the site_id page.list returns. Left out for site or alias_of, the site open on screen is used. Leave it out for email_sending or link_tracking unless the domain should also show a site.

Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
use
enum<string>

Optional. What the domain is for: site (it shows a site), alias_of (it forwards to the site's main address, path kept), email_sending (the workspace sends email from it) or link_tracking (branded tracked links; a subdomain such as links.example.com). Leave it out to show the site named or open on screen, or, with no site, to add the domain to the workspace with no use yet.

Available options:
site,
alias_of,
email_sending,
link_tracking
workspace
string

Which workspace to run in — its slug. Omit to use your default. With more than one reachable workspace and no default, the call is refused and the choices are listed.

Minimum string length: 1

Response

The call was admitted and dispatched. ok says whether the tool succeeded — a refusal the tool itself produced is still a 200, exactly as it is a successful JSON-RPC result over MCP.

The tool ran and answered.

ok
boolean
required
domain_id
string<uuid>
required
Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
hostname
string
required
site_id
string<uuid> | null
required
Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
use
enum<string> | null
required
Available options:
site,
alias_of,
email_sending,
link_tracking
activation_status
string | null
required
dcv_status
string | null
required
overall
string | null
required
use_state
string | null
required
records
object[]
required
copy_card
string[]
required
workspace
string
required

The slug of the workspace this call ran in.

working_in
object
required

Which workspace this call ran in, and how that was decided. Present on every workspace-scoped result.