---
title: "Activity Lenses"
method: POST
path: "/v1/teams/{team_id}/activity/lenses"
tags: ["activity log"]
---

# Activity Lenses

`POST /v1/teams/{team_id}/activity/lenses`

## 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}/activity/lenses`
- Auth: none declared

The ways Stormy chooses to group its Activity — or the one he asked for.

## Path parameters

- `team_id` string, uuid, required

## Headers

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

## Request body

- LensesRequest
  - `items` LensItem[], required
    - `key` string, required
    - `label` string
    - `kind` 'call' | 'job' | 'note'
    - `desk` string
    - `at` string
    - `live` boolean
    - `run_id` string, nullable
  - `asked` string, nullable
  - `prefetch` boolean

## Response `200`

Successful Response

- Lenses
  - `lenses` Lens[]
    - `id` string, required
    - `title` string, required
    - `tab` string
    - `icon` string, required
    - `groups` LensGroup[], required
      - `title` string, required
      - `icon` string, required
      - `keys` string[]
      - `groups` LensGroup[]
      - `rest` boolean
    - `asked` string, nullable
  - `ready` boolean
  - `ms` integer
  - `cached` boolean

## Other responses

- `422`: Validation Error

## Changes

> 68 revisions in range; 1 not diffed.

- **2026-10-05** `64dcb155acd1`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/stormy/apis/stormy-control-plane/changes/v1/teams/:team_id/activity/lenses/post.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/a40e83844eaa?raw)
