---
title: "List token savings the egress proxy already applied"
method: GET
path: "/v2/token-savings"
tags: ["Events"]
---

# List token savings the egress proxy already applied

`GET /v2/token-savings`

## Request

- Base URL: `https://api.runta.com`
- URL: `https://api.runta.com/v2/token-savings`
- Auth: HTTP bearer

## Query parameters

- `runtime_id` string
- `page_token` string
- `page_size` integer

## Response `200`

Response envelope.

- TokenSavingsListResponse
  - `data` TokenSavingsList, required
    - `events` TokenSavingEvent[], required
      - `id` string, required
      - `event_id` string, required
      - `runtime_id` string, required
      - `observed_at_unix_millis` integer, required
      - `provider` string, nullable, required
      - `transport` string, nullable, required
      - `endpoint` string, nullable, required
      - `model` string, nullable, required
      - `wire_bytes_before` integer, required
      - `wire_bytes_after` integer, required
      - `saved_wire_bytes` integer, required
      - `estimated_tokens_before` integer, required
      - `estimated_tokens_after` integer, required
      - `saved_estimated_tokens` integer, required
      - `elapsed_micros` integer, required
      - `methods` TokenSavingMethod[], required
        - `method` 'json_array' | 'git_diff' | 'search_results' | 'log', required
        - `blocks` integer, required
        - `input_units` integer, required
        - `output_units` integer, required
      - `parse_error` string, nullable, required
      - `analyzer_version` integer, required
    - `summary` TokenSavingsSummary, required: Totals over everything the filter selects, not merely the page returned.
      - `applied_events` integer, required
      - `saved_wire_bytes` integer, required
      - `saved_estimated_tokens` integer, required
      - `malformed_events` integer, required
    - `next_page_token` string, nullable, required

## Other responses

- `401`: Missing, malformed, or rejected bearer token
- `403`: The bearer token is not allowed to perform this action
- `404`: The requested resource was not found
- `409`: The request conflicts with current resource state
- `422`: Validation or application error
- `429`: Rate limit exceeded
- `501`: Operation is not implemented
- `503`: Upstream service is unavailable
- `504`: Upstream request timed out
- `default`: Error response

## Changes

- **2026-11-05** `fb5a0ecd3fc2`: 20 warning
  - added the new `FEATURE_TEMPORARILY_DISABLED` enum value to the `error/code` response property for the response status `401`
  - added the new `FEATURE_TEMPORARILY_DISABLED` enum value to the `error/code` response property for the response status `403`
  - added the new `FEATURE_TEMPORARILY_DISABLED` enum value to the `error/code` response property for the response status `404`
  - added the new `FEATURE_TEMPORARILY_DISABLED` enum value to the `error/code` response property for the response status `409`
  - …16 more

[Operation history](https://skmtc.dev/runta/apis/runta-public-rest-api/changes/v2/token-savings/get.md)

---

[API](https://skmtc.dev/runta/apis/runta-public-rest-api.md) - [All operations](https://skmtc.dev/runta/apis/runta-public-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/runta/apis/runta-public-rest-api/revisions/fb5a0ecd3fc2?raw)
