---
title: "Presence"
method: GET
path: "/v1/teams/{team_id}/presence"
tags: ["agent runtime"]
---

# Presence

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

Which conversation surfaces are working right now — the rail's green light.

ONE READ FOR THE WHOLE RAIL. A chat stream tells the mounted conversation
that its desk is typing; it can never tell the six OTHER rows in the sidebar
anything, because nothing is listening there. So presence is answered where
it is actually known — the runs table — and the browser asks one question
about every place at once instead of opening six streams to find out.

IT REPORTS WORK, NEVER AVAILABILITY. "Online" is true of a server every
second of every day, which makes it furniture; `LIVE_RUN_STATES` is the desk
mid-task, which is news. A run parked on a human is not in that set on
purpose — see the store.

## Path parameters

- `team_id` string, uuid, required

## 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/52151384d62a?raw)
