# Who am I

The token in use, its scopes, which client is calling, and how many agents it can reach.

|  |  |
| --- | --- |
| REST | `GET /api/v1/me` |
| MCP tool | `get_account` |
| Classification | **Read** (changes nothing) |
| Scope | Any valid token |
| Minimum role on the agent | any member |
| Confirmation | Not needed |
| Retry safety | Safe to retry with the same input |
| Success status | 200 |

## What it does

The token in use, its scopes, which client is calling, and how many agents it can reach. Call this first.

## Side effects

None. It only reads.

## Inputs

No inputs.

## Example

REST:

```bash
curl "https://covo.lanaai.io/api/v1/me" \
  -H "Authorization: Bearer $COVO_TOKEN"
```

MCP (POST /mcp):

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_account",
    "arguments": {}
  }
}
```

## Response

Returns an object with `token`, `client`, `agents`, `restricted_to_agents` and `scopes`. This is a real response, shortened to two items per list.

200 response:

```json
{
  "token": {
    "id": "9203ec5c-173c-46e8-aa45-1a643266fdab",
    "name": "Docs examples",
    "scopes": [
      "agents:read",
      "agents:write"
    ]
  },
  "client": {
    "name": "docs-examples",
    "interface": "rest"
  },
  "agents": 1,
  "restricted_to_agents": false,
  "scopes": {
    "agents:read": "See agents, their configuration, versions, drafts, deployment and diagnostics.",
    "agents:write": "Change configuration, add knowledge, create drafts and versions.",
    "agents:delete": "Remove links, offers, knowledge and Places as part of a change. Needs confirmation.",
    "agents:test": "Run test conversations. Test replies count toward the AI reply allowance.",
    "agents:publish": "Publish, unpublish and restore earlier versions of a live agent. Needs confirmation.",
    "conversations:read": "Read conversations visitors had with an agent. These contain personal data."
  }
}
```

Over MCP the same object comes back as the tool result, in `structuredContent` and as JSON text.

## Errors

| Status | Code | Meaning |
| --- | --- | --- |
| 401 | `unauthorized` | No token, or it is unknown, revoked or expired. OAuth apps refresh or reconnect. |
| 403 | `account_suspended` | The account that owns the token is paused. |
| 400 | `bad_request` | An input is invalid; `field` names it. |
| 429 | `rate_limited` | Wait `Retry-After` seconds. |
