# Identity & organization

Source: https://docs.simail.ai/api/identity/

> 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.

## Who am I

`GET /v0/auth/me`

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

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

`200 OK`:

```json
{
  "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
}
```

| Field | Notes |
|---|---|
| `scope_type` | `org`, `pod` or `inbox` |
| `scope_id` | the organization ID, pod ID or inbox ID the key is bound to |
| `pod_id`, `inbox_id` | present for pod- and inbox-scoped keys |
| `api_key_id` | the key's ID (never the secret) |
| `permissions` | what the key may do; see [permissions](/authentication/#permissions) |
| `claimed` | `false` for a restricted key from agent sign-up that a human has not claimed yet |

Errors: `401 unauthorized`.

## Organization

`GET /v0/organizations`

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

```json
{
  "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](/limits/#circuit-breakers)
tripped). Receiving and reading keep working; sends return `403 account_suspended`.

Errors: `401 unauthorized`, `403 claim_required`.
