Skip to content

Documentation

Get an own domain

GET/v1/domains/{domain}Domains

One domain by id or hostname. A pending domain is checked again on read, so polling this route shows it turn active.

Parameters

ParameterTypeRequiredDescription
domainstring, in the pathrequiredThe domain's id or its hostname.

Example request

curl -s "https://snip.link/v1/domains/go.example.com" \
  -H "Authorization: Bearer $SNIP_KEY"

Example response

{
  "domain": {
    "id": "dom_3c1f0a9e2b7d4c55",
    "hostname": "go.example.com",
    "status": "active",
    "detail": null,
    "cname_target": "customers.snip.link",
    "root_url": "https://example.com",
    "links": 42,
    "created_at": "2026-10-20T12:00:00.000Z"
  }
}

Response fields

FieldTypeDescription
domainDomain
domain.idstringStable id. Every domain route accepts it, or the hostname.
domain.hostnamestringThe domain links live on, without a scheme.
domain.statuspending | active | failedpending until the CNAME points at us and the certificate is issued, active once links on it answer, failed when verification gave up.
domain.detailstring, nullWhat a pending domain is waiting for, or why it failed. Null once active.
domain.cname_targetstringThe DNS record to add at your DNS provider: a CNAME from the hostname to this target (customers.snip.link).
domain.root_urlstring, nullWhere the bare domain (https://go.example.com/) sends visitors. Null answers 404.
domain.linksintegerLinks on this domain.
domain.created_atstring

Errors

StatusMeaning
401The API key is missing, malformed or revoked.
404No domain by that id or hostname in this account.
429Either the key exceeded its requests-per-second limit (honor Retry-After), or a daily or plan quota is used up (details.reason).

Back to the guide