Skip to content
Norbelys
Esc
↑↓navigate↵open⌘Jpreview

List the workspace's sending domains, newest first by default.

GET/v1/sending_domains
Authorization
AuthorizationBearer token · headerrequired

An API key (nb_live_…, nb_test_…), a workspace token (nbs_…) or a CLI token (nbc_…).

Query parameters
limitinteger<int64>

Domains per page, 1 to 100 (default 20).

cursorstring

The next_cursor of the previous page.

orderListOrder

desc (default) or asc.

Allowed:descasc
includeListInclude

total_count adds an exact count up to 10,000.

Allowed:total_count
statusSendingDomainStatus

Only domains in this status.

Allowed:pending_verificationverifyingverifiedpending_certificateactivesuspendeddeleting
Responses
200

A page of sending domains.

dataobject[]required

At most limit rows, 100 at most.

max items 100
Show properties
Array of object
checked_atTimestamp | null
Show properties
One of:
Timestamp
string<date-time>
null
null
created_atTimestamprequired
hostnamestringrequired

The hostname, lowercase.

idId_SendingDomainrequired
matches ^dom_[0-9a-f]{32}$
last_errorLastError | null
Show properties
One of:
LastError
atTimestamprequired

When the job's row last changed: the moment of the error for a job that ended, and at or after it while the job is still waiting or running (the row keeps no separate time for its error).

codestringrequired

A short machine-readable code (error, lease_expired, unknown_kind, cancelled, …).

detailstringrequired

A human-readable explanation.

null
null
recordsDnsRecord[]required

The records to publish: the ownership TXT record, the tracking CNAME when the hostname serves tracking links, and the managed MTA's DKIM key once it signs for the domain.

max items 3
Show properties
Array of DnsRecord
namestringrequired

The record's name.

purposeDnsRecordPurposerequired

What a DNS record proves or serves: the domain's ownership, its tracking hostname, or the managed MTA's DKIM key.

Allowed:ownershiptrackingdkim
statusDnsRecordStatusrequired

What the last check of a DNS record observed: the record as expected, its absence, or no check yet.

Allowed:verifiedmissingunchecked
typeDnsRecordTyperequired

The type of a DNS record to publish.

Allowed:TXTCNAME
valuestringrequired

The record's value.

statusSendingDomainStatusrequired

A sending domain's lifecycle (sending_domains.status): pending_verification until its ownership record is found (verifying while a check runs), then verified; with tracking, pending_certificate until its tracking host serves, then active; suspended when its proven ownership record is gone; deleting while it is removed.

Allowed:pending_verificationverifyingverifiedpending_certificateactivesuspendeddeleting
tracking_enabledbooleanrequired

Whether the hostname serves tracking links.

updated_atTimestamprequired
verified_atTimestamp | null
Show properties
One of:
Timestamp
string<date-time>
null
null
versioninteger<int64>required

The domain's version, also the response's ETag: updated_at in microseconds since the Unix epoch. An update sent with it in If-Match applies only to this version. Each DNS check moves it too.

metaMetarequired

The page metadata.

Show properties
has_morebooleanrequired
next_cursorstring | null
total_countinteger<int64> | null

With ?include=total_count: exact up to 10,000.

total_count_cappedboolean | null

With ?include=total_count: true when the count stopped at 10,000.

400

The cursor is not valid for this request.

codeProblemCoderequired

The closed registry of problem codes: programs branch on a problem's code, never on its text. A code may be added, never repurposed.

Allowed:invalid_requestunauthorizedforbiddensession_requirednot_foundarchivedmethod_not_allowedconflictinvalid_stateidempotency_in_progressprecondition_failedpayload_too_largeunsupported_media_typevalidation_failedidempotency_mismatchsuppressedcaptcha_failedinsufficient_scoperate_limitedquota_exceededinternal_errorservice_unavailabletimeout
detailstringrequired

What went wrong, for a person; never an internal cause.

errorsFieldError[]

With validation_failed only: every invalid field.

Show properties
Array of FieldError
codestringrequired

What is wrong (required, range, length, format, invalid, …).

detailstringrequired

A safe, human-readable explanation.

pointerstringrequired

RFC 6901 pointer into the body, or ?name for a query parameter.

instancestringrequired

The request's path.

request_idstringrequired

The request's id, also in X-Request-Id: what support needs to find the request.

retry_afterinteger<int64> | null

With 429 and 503: the seconds to wait, as in Retry-After.

min 0
statusinteger<int32>required

The HTTP status.

min 0
titlestringrequired

Fixed per code.

typestringrequired

https://docs.norbelys.com/errors/<code>, a page that explains the code.

401

No valid credential.

codeProblemCoderequired

The closed registry of problem codes: programs branch on a problem's code, never on its text. A code may be added, never repurposed.

Allowed:invalid_requestunauthorizedforbiddensession_requirednot_foundarchivedmethod_not_allowedconflictinvalid_stateidempotency_in_progressprecondition_failedpayload_too_largeunsupported_media_typevalidation_failedidempotency_mismatchsuppressedcaptcha_failedinsufficient_scoperate_limitedquota_exceededinternal_errorservice_unavailabletimeout
detailstringrequired

What went wrong, for a person; never an internal cause.

errorsFieldError[]

With validation_failed only: every invalid field.

Show properties
Array of FieldError
codestringrequired

What is wrong (required, range, length, format, invalid, …).

detailstringrequired

A safe, human-readable explanation.

pointerstringrequired

RFC 6901 pointer into the body, or ?name for a query parameter.

instancestringrequired

The request's path.

request_idstringrequired

The request's id, also in X-Request-Id: what support needs to find the request.

retry_afterinteger<int64> | null

With 429 and 503: the seconds to wait, as in Retry-After.

min 0
statusinteger<int32>required

The HTTP status.

min 0
titlestringrequired

Fixed per code.

typestringrequired

https://docs.norbelys.com/errors/<code>, a page that explains the code.

403

The credential lacks connections:read.

codeProblemCoderequired

The closed registry of problem codes: programs branch on a problem's code, never on its text. A code may be added, never repurposed.

Allowed:invalid_requestunauthorizedforbiddensession_requirednot_foundarchivedmethod_not_allowedconflictinvalid_stateidempotency_in_progressprecondition_failedpayload_too_largeunsupported_media_typevalidation_failedidempotency_mismatchsuppressedcaptcha_failedinsufficient_scoperate_limitedquota_exceededinternal_errorservice_unavailabletimeout
detailstringrequired

What went wrong, for a person; never an internal cause.

errorsFieldError[]

With validation_failed only: every invalid field.

Show properties
Array of FieldError
codestringrequired

What is wrong (required, range, length, format, invalid, …).

detailstringrequired

A safe, human-readable explanation.

pointerstringrequired

RFC 6901 pointer into the body, or ?name for a query parameter.

instancestringrequired

The request's path.

request_idstringrequired

The request's id, also in X-Request-Id: what support needs to find the request.

retry_afterinteger<int64> | null

With 429 and 503: the seconds to wait, as in Retry-After.

min 0
statusinteger<int32>required

The HTTP status.

min 0
titlestringrequired

Fixed per code.

typestringrequired

https://docs.norbelys.com/errors/<code>, a page that explains the code.

422

A parameter is invalid.

codeProblemCoderequired

The closed registry of problem codes: programs branch on a problem's code, never on its text. A code may be added, never repurposed.

Allowed:invalid_requestunauthorizedforbiddensession_requirednot_foundarchivedmethod_not_allowedconflictinvalid_stateidempotency_in_progressprecondition_failedpayload_too_largeunsupported_media_typevalidation_failedidempotency_mismatchsuppressedcaptcha_failedinsufficient_scoperate_limitedquota_exceededinternal_errorservice_unavailabletimeout
detailstringrequired

What went wrong, for a person; never an internal cause.

errorsFieldError[]

With validation_failed only: every invalid field.

Show properties
Array of FieldError
codestringrequired

What is wrong (required, range, length, format, invalid, …).

detailstringrequired

A safe, human-readable explanation.

pointerstringrequired

RFC 6901 pointer into the body, or ?name for a query parameter.

instancestringrequired

The request's path.

request_idstringrequired

The request's id, also in X-Request-Id: what support needs to find the request.

retry_afterinteger<int64> | null

With 429 and 503: the seconds to wait, as in Retry-After.

min 0
statusinteger<int32>required

The HTTP status.

min 0
titlestringrequired

Fixed per code.

typestringrequired

https://docs.norbelys.com/errors/<code>, a page that explains the code.

Try it
Server
Authorization
Parameters
Request
curl -X GET 'https://api.norbelys.com/v1/sending_domains' \
  -H 'Authorization: Bearer YOUR_TOKEN'
Response
{
  "data": [
    {
      "checked_at": "2019-08-24T14:15:22Z",
      "created_at": "2019-08-24T14:15:22Z",
      "hostname": "string",
      "id": "dom_0190f8a2b4c87a10b6d2e4f6a8c0e2f4",
      "last_error": {
        "at": "2019-08-24T14:15:22Z",
        "code": "string",
        "detail": "string"
      },
      "records": [
        {
          "name": "string",
          "purpose": "ownership",
          "status": "verified",
          "type": "TXT",
          "value": "string"
        }
      ],
      "status": "pending_verification",
      "tracking_enabled": true,
      "updated_at": "2019-08-24T14:15:22Z",
      "verified_at": "2019-08-24T14:15:22Z",
      "version": 0
    }
  ],
  "meta": {
    "has_more": true,
    "next_cursor": "string",
    "total_count": 0,
    "total_count_capped": true
  }
}