> ## Documentation Index
> Fetch the complete documentation index at: https://reach-owl.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# GET /api/v1/user — Fetch Current User

> Returns the authenticated user profile including team_id and teams array. Use the top-level team_id as the default for campaign and contact requests.

Use this endpoint to fetch the currently authenticated user profile. The response includes a top-level `team_id` that you should use as the default team when creating campaigns, contacts, and other team-scoped resources.

## Endpoint

```text theme={null}
GET https://reachowl.com/api/api/v1/user
```

## Headers

<ParamField header="Authorization" type="string" required>
  Bearer token obtained from `POST /api/v1/authenticate`.
</ParamField>

## Example Request

```bash theme={null}
curl -X GET "https://reachowl.com/api/api/v1/user" \
  -H "Authorization: Bearer <your_token>" \
  -H "Accept: application/json"
```

## Response

```json theme={null}
{
  "id": 42,
  "email": "user@example.com",
  "team_id": 7,
  "teams": [
    {
      "id": 7,
      "name": "Acme Outreach"
    }
  ]
}
```

## Response Fields

<ResponseField name="id" type="integer">
  The unique identifier for the user.
</ResponseField>

<ResponseField name="email" type="string">
  The user's registered email address.
</ResponseField>

<ResponseField name="team_id" type="integer">
  The top-level default team ID. Use this value as the default `team_id` in campaign and contact requests.
</ResponseField>

<ResponseField name="teams" type="array">
  An array of teams the user belongs to. Each object typically contains `id` and `name`.
</ResponseField>

## Errors

| Status | Meaning                          |
| ------ | -------------------------------- |
| `401`  | Missing or invalid Bearer token. |
| `404`  | User not found (rare).           |
