---
title: "Find Said Route"
method: GET
path: "/v1/teams/{team_id}/said"
tags: ["operator"]
---

# Find Said Route

`GET /v1/teams/{team_id}/said`

FIND THE RUN FROM THE SENTENCE — the one way into the net.

Everything else an operator can open — `trace`, `phone events`, the
session JSONL, `sentry issues --query run_id:...` — needs an id first, and
what a person arrives with is a sentence the product said to them. See
`runtime/said.py` for why the stores and not the logs.

## Path parameters

- `team_id` string, uuid, required

## Query parameters

- `q` string, required — the sentence a person read
- `hours` integer
- `limit` integer

## Headers

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

## Response `200`

Successful Response

- object

## Other responses

- `422` — Validation Error

## Changes

> 32 revisions in range; 1 not diffed.

- **2026-09-16** `cdd163f61900` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/stormy/apis/stormy-control-plane/changes/v1/teams/:team_id/said/get.md)

---

[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/b09e3c4ee2af?raw)
