Skip to content
Browse the docs

GET /tools/deliverability-test/{token}

SPF, DKIM and DMARC results for one deliverability-test address.

No API key. Returns the Authentication-Results header on the message that arrived, alignment with the From domain, and the bounce class. No score, and the message body is not returned. After the address expires, the stored message is gone.

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/tools/deliverability-test/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: '/tools/deliverability-test/invite-token-example',
});

Python

import json, os, urllib.request

url = 'https://api.agentisend.com/tools/deliverability-test/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: meta. Generated from openapi.json; the anchor get-tools-deliverability-test-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, appsumo_license_not_confirmed, appsumo_ticket_invalid, 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, appsumo_lookup_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
addressstringyes
alignmentobjectyes
alignment.dkim"aligned" | "not_aligned" | "unknown"yes
alignment.spf"aligned" | "not_aligned" | "unknown"yes
authentication_resultsstring | nullyes
bounceobject | nullyes
dkimobject | nullyes
dmarcobject | nullyes
expires_atstringyes
spfobject | nullyes
status"waiting" | "received" | "expired" | "refused"yes

Response example

200
{
  "address": "example",
  "alignment": {
    "dkim": "aligned",
    "spf": "aligned"
  },
  "authentication_results": "example",
  "bounce": {
    "class": "hard",
    "meaning": "example"
  },
  "dkim": {
    "domain": "example",
    "result": "example"
  },
  "dmarc": {
    "result": "example"
  },
  "expires_at": "example",
  "spf": {
    "domain": "example",
    "result": "example"
  },
  "status": "waiting"
}

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.