---
title: "Phone Reach"
method: GET
path: "/v1/teams/{team_id}/phone/reach"
tags: ["operator"]
---

# Phone Reach

`GET /v1/teams/{team_id}/phone/reach`

## Request

- Base URL: `https://api.stormy.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.stormy.ai/v1/teams/{team_id}/phone/reach`
- Auth: none declared

ONE person → every way to reach them, most relevant first.

`whois` answers a number; `directory` answers the whole team. Neither
answers the question a run actually asks before it dials or writes: given
this person, which value do I use. Say who with any of the three keys a
surface already holds — a tree ref, a number, or a contact id — and the
other two come back derived, so the answer does not depend on which door
was used.

Both spines are returned: what the desk WROTE in the tree and what the
system OBSERVED in Postgres, deduped by value and each naming its sources.
Read-only; a person with one unverified number is a result, not an error.

## Path parameters

- `team_id` string, uuid, required

## Query parameters

- `ref` string
- `number` string
- `contact_id` string, uuid, nullable

## Headers

- `authorization` string, nullable
- `x-darwin-token` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/stormy/apis/stormy-control-plane.md) · [All operations](https://skmtc.dev/stormy/apis/stormy-control-plane/llms.txt) · [OpenAPI document](https://skmtc.dev/stormy/apis/stormy-control-plane/revisions/4d811ab18158?raw)
