---
title: "Get a team’s exposure summary"
method: GET
path: "/api/v1/teams/{teamId}/exposure"
tags: ["Teams"]
---

# Get a team’s exposure summary

`GET /api/v1/teams/{teamId}/exposure`

## Request

- Base URL: `https://charm.ing`
- URL: `https://charm.ing/api/v1/teams/{teamId}/exposure`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `__Secure-better-auth.session_token`

User-gated (`chrm_user_*` or session); the caller must be an owner/admin of the team. Tallies the same `deriveAppVisibility` counters the team app inventory shows, plus an `externalShares` attention count.

## Path parameters

- `teamId` string, required

## Query parameters

- `format` 'csv'

## Response `200`

The team’s exposure summary, as JSON or (with `format=csv`) as `text/csv`.

- TeamExposureResponse
  - `ok` true, required
  - `exposure` object, required: Counts every team app exactly once, by the widest audience `deriveAppVisibility` assigns it, plus the count of shares whose grantee classifies external.
    - `public` integer, required
    - `signed-in` integer, required
    - `template` integer, required
    - `shared` integer, required
    - `private` integer, required
    - `externalShares` integer, required

## Other responses

- `400`: Invalid `limit`.
- `401`: Sign-in required.
- `403`: The caller is not an owner/admin of this team.

---

[API](https://skmtc.dev/charm/apis/charming-api.md) · [All operations](https://skmtc.dev/charm/apis/charming-api/llms.txt) · [OpenAPI document](https://skmtc.dev/charm/apis/charming-api/revisions/a9d06c419b3a?raw)
