Skip to content
Browse the docs

GET /domains/setup/{token}

The DNS sheet for one setup link, with each record’s current status.

No sign-in. The same address limit as other public reads applies.

Request

The same call in curl, Node and Python. A path id in the sample is a placeholder.

curl

curl -sS -X GET https://api.agentisend.com/domains/setup/invite-token-example \
  -H "Authorization: Bearer $AGENTISEND_API_KEY"

Node

import { AgentiSend } from 'agentisend';

const client = new AgentiSend(process.env.AGENTISEND_API_KEY);
const result = await client.request({
  method: 'GET',
  path: '/domains/setup/invite-token-example',
});

Python

import json, os, urllib.request

url = 'https://api.agentisend.com/domains/setup/invite-token-example'
headers = {'Authorization': 'Bearer ' + os.environ['AGENTISEND_API_KEY']}
request = urllib.request.Request(url, headers=headers, method='GET')
print(urllib.request.urlopen(request).read().decode())

Tag: domains. Generated from openapi.json; the anchor get-domains-setup-token is the id the console's error fix links point at.

Parameters

  • token path · string · required

Responses

  • 200 — Success
  • 400 — The request is malformed or a field failed validation. Codes: validation_error, invalid_idempotency_key, invalid_cursor, plan_not_purchasable, stripe_signature_invalid, support_upload_rejected, sign_in_check_required.
  • 404 — Nothing with this id exists on the account. Codes: billing_customer_missing, not_found, session_expired, support_ticket_not_found.
  • 429 — A rate, quota or ramp ceiling was reached. Codes: onboarding_daily_cap_reached, trust_throttled, invite_limit_reached, rate_ceiling_exceeded, daily_quota_exceeded, monthly_quota_exceeded, rate_limit_exceeded, support_rate_limited.
  • 500 — Something failed on our side. Codes: internal_server_error.

Response headers

  • ratelimit-limit — Messages this API key may spend in one 60-second window.
  • ratelimit-remaining — Messages left in the current window.
  • ratelimit-reset — Seconds until the current window resets and the budget refills.

200 body

FieldTypeRequiredNotes
commandsobjectyes
commands.cloudflarearray<object>yes
commands.gcloudarray<string>yes
commands.route53objectyes
deep_linkstring | nullyes
detectedbooleanyes
domainstringyes
nameserversarray<string>yes
providerobject | nullyes
provider_hintsobjectyes
provider_hints.cloudflarestringyes
provider_hints.godaddystringyes
provider_hints.namecheapstringyes
provider_hints.route53stringyes
recordsarray<object>yes
records[].action"add" | "edit" | "none" | "check"yes
records[].currentstring | nullyes
records[].hoststringyes
records[].namestringyes
records[].name_relativestringyes
records[].notestring | nullyes
records[].priorityinteger | nullyes
records[].recordstringyes
records[].requiredbooleanyes
records[].statusstringyes
records[].ttlintegeryes
records[].typestringyes
records[].valuestringyes
records[].value_bindstringyes
records[].value_stringsarray<string>yes
verificationobjectyes
verification.status"pending" | "verified" | "failed" | "partially_verified" | "partially_failed"yes
zonestringyes
zone_filestringyes

Response example

200
{
  "commands": {
    "cloudflare": [],
    "gcloud": [],
    "route53": {}
  },
  "deep_link": "example",
  "detected": false,
  "domain": "example",
  "nameservers": [],
  "provider": {
    "dnsConsoleUrl": "example",
    "id": "example",
    "name": "example"
  },
  "provider_hints": {
    "cloudflare": "example",
    "godaddy": "example",
    "namecheap": "example",
    "route53": "example"
  },
  "records": [],
  "verification": {
    "status": "pending"
  },
  "zone": "example",
  "zone_file": "example"
}

Errors

The codes this operation can answer with, and what to do about each. Every one arrives with its code, message, fix and docs_url.

  • internal_server_error (500, internal_server_error) — Unexpected error. Fix: Retry ONCE after a short pause, with the same Idempotency-Key so the retry cannot double-send. If it fails again, stop retrying and report the x-request-id from the response — that id is what identifies this exact failure in support.
  • not_found (404, not_found) — Endpoint or resource does not exist. Fix: List that resource on this account and use an id from the list. For a domain, GET /domains accepts the id or the domain name. A path that is not a route is a typo in the URL.
  • rate_limit_exceeded (429, rate_ceiling_exceeded, rate_limit_exceeded) — Too many requests. Fix: Back off and retry honoring the Retry-After header.
  • validation_error (400, domain_not_verified, invalid_parameter, validation_error) — Error in one or more fields. Fix: Correct the fields listed in the error details and retry the request.