---
title: "Who this connection is and what it can reach"
method: GET
path: "/whoami"
tags: ["Account & Billing"]
---

# Who this connection is and what it can reach

`GET /whoami`

Confirms the connection works and reports exactly what it can do: the account, the shops in scope, and the granted scopes.

`shops` is the shops this KEY can reach, which is not always what the account owns — a connector authorized for two shops reports two. Read `scopes` before attempting a write: a key without `read_write` gets a 403 from every write endpoint.

Cheap and side-effect free, so it is the right first call to verify a connection rather than a real query that might fail for its own reasons.

## Response `200`

Successful Response

- WhoamiResponse
  - `customer_id` integer, required — The account this key belongs to.
  - `shops` WhoamiShop[], required — Every shop this key can reach right now. Narrowed by the shop grant chosen at connect time, so it answers what this connection can see rather than what the account owns.
    - `shop_id` integer, required
    - `shop_name` string, nullable
  - `shop_count` integer, required
  - `scopes` string[], required — `read` always; `read_write` when the key may create and send.
  - `can_write` boolean, required — Convenience mirror of `read_write` in `scopes`.

---

[API](https://skmtc.dev/reacherapp/apis/reacher-data-api.md) · [All operations](https://skmtc.dev/reacherapp/apis/reacher-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/reacherapp/reacher-data-api/revisions/5eefff009b5b/schema)
