Skip to content
simailDocsv0

API reference

Identity & organization

GET /v0/auth/me tells an agent which key it holds and what it may do; GET /v0/organizations returns its organization, plan and limits.

docs.simail.ai/api/identity

GET/v0/auth/me

Any valid key, including a restricted key from agent sign-up before it is claimed.

curl -s https://api.simail.ai/v0/auth/me -H "Authorization: Bearer $SIMAIL_API_KEY"

200 OK:

{
"scope_type": "inbox",
"scope_id": "shop-helper@simail.email",
"organization_id": "org_01JZX3S5V7W9X1Y3Z5A7B9C1D3",
"pod_id": "pod_01JZX3S5V7W9X1Y3Z5A7B9C1D4",
"inbox_id": "shop-helper@simail.email",
"api_key_id": "key_01JZX3S5V7W9X1Y3Z5A7B9C1D5",
"permissions": ["inbox_read", "message_read", "draft_write", "message_send", "message_update", "list_read", "list_tighten", "event_read", "usage_read", "approval_read"],
"claimed": true
}
FieldNotes
scope_typeorg, pod or inbox
scope_idthe organization ID, pod ID or inbox ID the key is bound to
pod_id, inbox_idpresent for pod- and inbox-scoped keys
api_key_idthe key’s ID (never the secret)
permissionswhat the key may do; see permissions
claimedfalse for a restricted key from agent sign-up that a human has not claimed yet

Errors: 401 unauthorized.

GET/v0/organizations

Any valid key. Returns the key’s own organization.

{
"count": 1,
"organizations": [
{
"organization_id": "org_01JZX3S5V7W9X1Y3Z5A7B9C1D3",
"name": "Shop",
"plan": "beta",
"inbox_count": 3,
"inbox_limit": 10,
"suspended_at": null,
"suspended_reason": null,
"created_at": "2026-10-18T16:40:00Z"
}
]
}

suspended_at and suspended_reason are set while sending is paused for the organization (for example message.bounced or message.complained after the circuit breaker tripped). Receiving and reading keep working; sends return 403 account_suspended.

Errors: 401 unauthorized, 403 claim_required.