Docs
Landing pages

A site's custom domains

GEThttps://api.norreach.app/v1/sites/{id}/domains

The site's own domains, with the DNS records to set and where each one has got to.

pages:readOperation id: list_site_domains
GET/sites/{id}/domains
curl -X GET "https://api.norreach.app/v1/sites/{id}/domains" \
  -H "Authorization: Bearer $NORREACH_API_KEY"
A site's custom domains
{
  "object": "list",
  "data": [
    {
      "id": "9d0e1f2a-3b4c-4d5e-8f6a-7b8c9d0e1f2a",
      "object": "domain",
      "hostname": "go.acme.example",
      "status": "pending",
      "is_primary": false,
      "redirect_to": null,
      "records": [
        {
          "type": "CNAME",
          "name": "go",
          "value": "sites.norreach.page"
        }
      ],
      "last_error": null,
      "last_checked_at": null
    }
  ],
  "has_more": false,
  "next_cursor": null
}

Authorizations

Authorizationstringheaderrequired

Bearer authentication: send Authorization: Bearer <key>, with an API key or an OAuth access token. The key needs the scope pages:read. API keys and scopes

Path parameters

idstring (uuid)pathrequired

An id (UUID).

Response

200application/json— A site's custom domains

object"list"required
dataobject[]required
Show child attributes
data[].idstring (uuid)required

An id (UUID).

data[].object"domain"required
data[].hostnamestringrequired
data[].statusstringrequired

Where setting it up has got to (e.g. pending, active, misconfigured).

data[].is_primarybooleanrequired
data[].redirect_tostring | nullrequired
data[].recordsanyrequired

The DNS records to set at your domain's provider.

data[].last_errorstring | nullrequired
data[].last_checked_atstring | nullrequired
has_morebooleanrequired
next_cursornullrequired

Errors

Errors are application/problem+json with a stable code.

StatusCodeMeaning
400bad_requestThe request couldn't be read.
400unknown_fieldThe request has a field this operation doesn't know.
401unauthorizedA valid API key is required.
403insufficient_scopeThis API key doesn't have the scope this operation needs.
403feature_not_enabledThe API isn't switched on for this workspace.
404not_foundThat doesn't exist.
429rate_limitedToo many requests. Slow down and try again.
500server_errorSomething went wrong on our side.
503unavailableThe API isn't available right now. Try again shortly.