Skip to content
Browse the docs

GET /account

This account: lifecycle status, the reason it is in that state, and when it was created.

Sandboxed accounts may only send to their own verified domains.

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/account \
  -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: '/account',
});

Python

import json, os, urllib.request

url = 'https://api.agentisend.com/account'
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: accounts. Generated from openapi.json; the anchor get-account is the id the console's error fix links point at.

Parameters

This operation takes no parameters.

Responses

  • 200 — Success
  • 401 — No usable credential was sent. Codes: agent_signup_code_rejected, missing_api_key, session_required, mfa_required, appsumo_signature_invalid.
  • 403 — The credential may not do this, or the account or key is stopped. Codes: sending_domain_blocked, young_domain_held, domain_sending_disabled, inbound_sender_refused, domain_not_verified, onboarding_recipient_not_a_member, onboarding_sender_unavailable, account_suspended, account_sandboxed, agent_unconfirmed, recipient_ramp, human_action_required, csrf_origin_rejected, charge_not_this_account, invalid_api_key, restricted_api_key, insufficient_role, invite_email_mismatch, domain_scope_violation, dedicated_ip_assigned_by_us, approval_required, staff_review_required, trust_paused, kill_switch_active.
  • 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
agent_signupobject | nullyes
approval_reasonstring | nullyes
created_atstringyes
idstringyes
is_review_accountbooleanyes
namestringyes
onboardingobjectyes
onboarding.checklist_dismissed_atstring | nullyes
onboarding.companystringyes
onboarding.completed_atstring | nullyes
onboarding.connect_agent_moment_duebooleanyes
onboarding.contact_namestring | nullyes
onboarding.expected_volume"under_30k" | "30k_100k" | "100k_1m" | "over_1m" | nullyes
onboarding.use_casesarray<"transactional" | "product_lifecycle" | "ai_agents">yes
onboarding.websitestring | nullyes
onboarding.website_domainstring | nullyes
onboarding_senderobject | nullyes
postal_addressstring | nullyes
status"sandboxed" | "approved" | "suspended"yes

Response example

200
{
  "agent_signup": {
    "agent_name": "example",
    "confirmed": false
  },
  "approval_reason": "example",
  "created_at": "2026-09-04T09:14:00.000Z",
  "id": "9c8f8f0e-3d1a-4d3f-9a1e-2b7c1a0f5e42",
  "is_review_account": false,
  "name": "example",
  "onboarding": {
    "checklist_dismissed_at": "2026-09-04T09:14:00.000Z",
    "company": "example",
    "completed_at": "2026-09-04T09:14:00.000Z",
    "connect_agent_moment_due": false,
    "contact_name": "example",
    "expected_volume": "under_30k",
    "use_cases": [],
    "website": "example",
    "website_domain": "example"
  },
  "onboarding_sender": {
    "delivered_from": "example",
    "from": "example"
  },
  "postal_address": "example",
  "status": "sandboxed"
}

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.
  • invalid_api_key (403, invalid_api_key) — API key is invalid or revoked. Fix: Create a new key with POST /api-keys; deleted keys cannot be restored.
  • mfa_required (401) — This session has not completed two-factor authentication. Fix: Finish signing in at https://console.agentisend.com/verify with a code from your authenticator app, or one of your recovery codes. Manage the second factor in the console under Settings, Security.
  • missing_api_key (401, missing_api_key) — Missing API key in authorization header. Fix: Create an API key at https://console.agentisend.com/api-keys and send "Authorization: Bearer as_...". MCP clients can connect with OAuth instead of a key.
  • 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.
  • restricted_api_key (403, restricted_api_key) — This API key is restricted to sending only. Fix: Use a full_access key (POST /api-keys with permission=full_access) for management endpoints.