:::endpoint GET /v1/me/sessions

What belongs on a security screen: which devices can read this account's mail
right now, and when each of them last did anything.

Newest activity first. Only usable tokens are listed; a device that was signed
out disappears rather than showing as inactive.

## Request

```bash
curl https://api.proppertrading.com/v1/me/sessions \
  -H "Authorization: Bearer ptat_9f2c1a44_3b8e7d2f5c9a1b4e6d8f0a2c4e6b8d1f"
```

## Response

```json
{
    "data": [
        {
            "id": "9f2c1a44",
            "object": "session",
            "name": "Jamie iPhone",
            "app": "mail",
            "platform": "ios",
            "device_name": "Jamie iPhone",
            "os_version": "26.0",
            "app_version": "1.0.0",
            "current": true,
            "two_factor": true,
            "last_seen_at": "2026-08-19T15:00:33+00:00",
            "created_at": "2026-08-19T15:00:31+00:00",
            "expires_at": null
        }
    ],
    "meta": {
        "request_id": "req_01kz4bkr1aj1gv63d8fv3133ey",
        "has_more": false,
        "next_cursor": null
    }
}
```

| Field          | Description                                                       |
| -------------- | ----------------------------------------------------------------- |
| `id`           | Use this to [sign that device out](/docs/api/apps/revoke-session) |
| `current`      | The device making this call. Warn before signing this one out     |
| `two_factor`   | Whether two-factor was answered when this device signed in        |
| `last_seen_at` | Written at most once a minute, so it lags by up to that           |

:::note The device fields are self-reported
They were sent by whichever client signed in, and nothing verifies them. Read
them as a label, not as evidence.
:::

## Errors

| Status | Code                 | Meaning                                   |
| ------ | -------------------- | ----------------------------------------- |
| 401    | `invalid_token`      | Not a token, or the secret does not match |
| 403    | `insufficient_scope` | This device does not hold `me:read`       |