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.
curl https://api.sendfleet.net/v1/me \ -H "X-API-Key: YOUR_API_KEY"
Response
{
"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"]
}| Field | Type | Description |
|---|---|---|
| name | string | Account display name, or an empty string if none was set. |
| string | Account email address, used for sign-in and verification. | |
| is_verified | boolean | Whether the account email address has been verified. Sending is blocked until this is true. |
| current_plan | string | The 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_month | integer | BYOC 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_month | integer | Shared 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_month | integer | Shared SES deliveries successfully accepted by recipient mail servers this calendar month. Feeds your delivery rate. |
| shared_bounced_current_month | integer | Shared SES bounces recorded this calendar month. Feeds your bounce rate. |
| shared_complained_current_month | integer | Shared SES spam complaints recorded this calendar month. Feeds your complaint rate. |
| shared_rejected_current_month | integer | Shared SES messages rejected before delivery was attempted this calendar month. |
| byoc_configured | boolean | Whether the account has a validated and enabled BYOC configuration. |
| verified_byoc_domains | string[] | Verified BYOC sending domains. |
| verified_shared_domains | string[] | 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.
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.