API Reference

Current Account

Return the authenticated account's identity, verification status, current plan, BYOC configuration status, verified sending domains, and current calendar-month usage.

Endpoint: GEThttps://api.sendfleet.net/v1/me

Authentication

Use the same X-API-Key header as POST /v1/send. The response is scoped to the account the key belongs to, and never includes secrets of any kind.

Request
curl https://api.sendfleet.net/v1/me \
  -H "X-API-Key: YOUR_API_KEY"

Response

200 OK
{
  "name": "Your Name",
  "email": "you@example.com",
  "is_verified": true,
  "current_plan": "growth",
  "byoc_usage_current_month": 3,
  "shared_usage_current_month": 742,
  "shared_delivered_current_month": 730,
  "shared_bounced_current_month": 4,
  "shared_complained_current_month": 0,
  "shared_rejected_current_month": 1,
  "byoc_configured": false,
  "verified_byoc_domains": [],
  "verified_shared_domains": ["mail.example.com"]
}
Response fields
FieldTypeDescription
namestringAccount display name, or an empty string if none was set.
emailstringAccount email address, used for sign-in and verification.
is_verifiedbooleanWhether the account email address has been verified. Sending is blocked until this is true.
current_planstringThe plan whose allowance applies right now: starter (free), byoc, managed_starter, growth, or pro. An inactive, cancelled or past-due subscription reports starter, because that is what you are metered against — read this field, not your billing history, when you want to know your limit.
byoc_usage_current_monthintegerBYOC sends in the current calendar month (UTC). On Free BYOC this is the plan's one counter and includes Shared smoke-test sends; it is the number checked against the 3,000. On BYOC it is the number checked against the monthly cap you set (default 100,000, up to 1,000,000).
shared_usage_current_monthintegerShared SES sends in the current calendar month (UTC). On a Managed plan this is exactly the number checked against your plan limit. On Free BYOC it only breaks out how many of your sends were Shared smoke tests.
shared_delivered_current_monthintegerShared SES deliveries successfully accepted by recipient mail servers this calendar month. Feeds your delivery rate.
shared_bounced_current_monthintegerShared SES bounces recorded this calendar month. Feeds your bounce rate.
shared_complained_current_monthintegerShared SES spam complaints recorded this calendar month. Feeds your complaint rate.
shared_rejected_current_monthintegerShared SES messages rejected before delivery was attempted this calendar month.
byoc_configuredbooleanWhether the account has a validated and enabled BYOC configuration.
verified_byoc_domainsstring[]Verified BYOC sending domains.
verified_shared_domainsstring[]Verified Shared SES sending domains.

Checking account configuration and usage

Use this endpoint to check account verification, sending domains and remaining monthly allowance. It returns a snapshot, not permission or a quota reservation for a future send. A send also depends on your key's domain scope, domain readiness and account sending status. Always handle the response from POST /v1/send.

Python: account and usage check
import requests

LIMITS = {
    "starter": 3_000,
    "byoc": 100_000,  # your BYOC monthly cap: default 100,000, up to 1,000,000
    "managed_starter": 5_000,
    "growth": 25_000,
    "pro": 100_000,
}

response = requests.get(
    "https://api.sendfleet.net/v1/me",
    headers={"X-API-Key": "YOUR_API_KEY"},
    timeout=10,
)
response.raise_for_status()
account = response.json()

if not account["is_verified"]:
    raise RuntimeError("Account email is not verified yet.")

if "mail.example.com" not in account["verified_shared_domains"]:
    raise RuntimeError("Sending domain is not verified.")

plan = account["current_plan"]
limit = LIMITS[plan]
# The BYOC plans are metered on the BYOC counter; on Free BYOC ("starter") it
# also includes Shared smoke tests. Managed plans are metered on the Shared one.
used_field = (
    "byoc_usage_current_month"
    if plan in ("starter", "byoc")
    else "shared_usage_current_month"
)
remaining = limit - account[used_field]
print(f"{max(0, remaining):,} sends left this month")

Errors

A missing, invalid, revoked, or expired key is rejected with 403 Forbidden — carrying no error field — before any account data is returned. See Error Codes for authentication behaviour and retry guidance.