# GET `/v1/me`

Return the profile of the user the token authenticates, plus a summary of
their 42min account (organization).

| | |
|---|---|
| **Method** | `GET` |
| **URL** | `https://api.42min.us/v1/me` |
| **Scope** | `user:read` |
| **Auth** | Required |

## Headers

```
Authorization: Bearer <token>
```

## Query parameters

None.

## Response

```json
{
  "data": {
    "user": {
      "id": "01HXXX…",
      "username": "ada",
      "email": "ada@example.com",
      "name": "Ada Lovelace",
      "first_name": "Ada",
      "last_name": "Lovelace",
      "timezone": "Europe/London",
      "locale": "en",
      "avatar_url": "https://…"
    },
    "organization": {
      "id": "01HYYY…",
      "name": "Acme",
      "plan": "Pro"
    }
  },
  "meta": { "request_id": "req_…" }
}
```

Field notes:

- `username` is the user's slug (`https://42min.us/<username>`).
- `name` is `first_name + " " + last_name`, trimmed. `null` if both are empty.
- `organization.plan` is the name of the active plan, or `null` if no plan
  record is attached.

## curl

```bash
curl -H "Authorization: Bearer $TOKEN" https://api.42min.us/v1/me
```

## Common errors

- `403 insufficient_scope` — token doesn't carry `user:read`.
- `404 not_found` — the user behind the token has been deleted (rare —
  revocation usually invalidates the token first).
