---
title: "List a team’s egress ledger (declared hosts and API ops)"
method: GET
path: "/api/v1/teams/{teamId}/egress"
tags: ["Teams"]
---

# List a team’s egress ledger (declared hosts and API ops)

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

## Request

- Base URL: `https://charm.ing`
- URL: `https://charm.ing/api/v1/teams/{teamId}/egress`
- 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. `outbound-host` destinations are declared config with no call counts; `api-op` destinations are grouped `api_proxy_result` events with real counts.

## Path parameters

- `teamId` string, required

## Query parameters

- `limit` integer
- `appId` string
- `sort` 'lastSeen:desc' | 'lastSeen:asc' | 'destination:asc' | 'destination:desc'
- `failedOnly` boolean
- `range` 7 | 30 | 90
- `format` 'csv'

## Response `200`

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

- TeamEgressResponse
  - `ok` true, required
  - `destinations` TeamEgressDestination[], required
    - `destination` string, required: The declared host origin, or the `requestedOp` string.
    - `kind` 'outbound-host' | 'api-op', required
    - `calls` integer, nullable, required: Null for `outbound-host` — config, not traffic.
    - `lastSeenMs` integer, nullable, required: Null for `outbound-host`.
    - `failedCalls` integer, nullable, required: Count of calls with a 4xx/5xx status or a non-null errorKind. Null for `outbound-host`.
    - `callers` TeamEgressCaller[], required
      - `appId` string, uuid, required
      - `appDisplayName` string, required
  - `hasMore` boolean, required: True when the team has more destinations than this page returned.
  - `scanTruncated` boolean, required: True when the underlying event scan hit its row cap before grouping — every `api-op` destination’s `calls`/`failedCalls` in this response is a lower bound, not the true count.

## Other responses

- `400`: Invalid `limit`, `range`, `failedOnly`, or `sort`.
- `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)
