> ## Documentation Index
> Fetch the complete documentation index at: https://docs.get-exo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Identity

> Introspect the credential you are holding.

## What this family does

`GET /v1/me` is the first call to make with a new key. It returns the organization, the user, the scopes the key carries, the subject a request acts as when no selector is sent, and the plan.

It works before any content has been ingested, which makes it the right health check for a credential and the right first step in a quickstart.

## Routes

| Method | Path                                   | Scope   | What it does |
| ------ | -------------------------------------- | ------- | ------------ |
| `GET`  | [`/v1/me`](/api-reference/meta/get-me) | any key | Get Me       |

## The shape of a call

Check a key.

<CodeGroup>
  ```bash cURL theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  curl https://api.get-exo.com/v1/me \
    -H "X-Exo-API-Key: $EXO_KEY"
  ```

  ```python Python theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  import httpx

  response = httpx.get(
      "https://api.get-exo.com/v1/me",
      headers={"X-Exo-API-Key": EXO_KEY},
  )
  me = response.json()
  ```

  ```typescript TypeScript theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
  const response = await fetch("https://api.get-exo.com/v1/me", {
    headers: { "X-Exo-API-Key": process.env.EXO_KEY! },
  });
  const me = await response.json();
  ```
</CodeGroup>

The response:

```json theme={"theme":{"light":"github-light-default","dark":"github-dark-default"}}
{
  "org": { "id": "0d5b7c92-3a41-4e88-9b02-6f7c1d4a5e30", "displayName": "Acme", "slug": "acme" },
  "user": { "id": "4a1e88f0-9c2d-4f31-b7a0-5e6c1d820b93" },
  "scopes": ["read", "write"],
  "subjectDefault": "4a1e88f0-9c2d-4f31-b7a0-5e6c1d820b93",
  "plan": "default"
}
```

## Traps

**`subjectDefault` is not a selector you can send.** It is the key owner's internal user id. Internal ids are an isolation detail and are never accepted as `X-Exo-Subject`.

**Scopes here are what the key holds, not what a route needs.** A route declares the finest scope it requires, and the satisfaction lattice admits umbrella keys. See [Scopes](/scopes).

## Related

<Columns cols={2}>
  <Card title="API reference" icon="book-open" href="/api-reference/overview">
    Base URL, authentication, and the conventions every route shares.
  </Card>

  <Card title="Errors" icon="circle-alert" href="/platform/errors">
    The problem envelope and the full code catalogue.
  </Card>
</Columns>
