---
title: "Get run usage"
method: GET
path: "/api/v1/runs/{id}/usage"
tags: ["Runs"]
---

# Get run usage

`GET /api/v1/runs/{id}/usage`

Get token, credit, duration, and execution usage for a run.

## Path parameters

- `id` string, required — Run id

## Response `200`

Run usage

- RunUsageResponse
  - `usage` RunUsage, required
    - `tokens` object, required
      - `input` number, nullable, required
      - `output` number, nullable, required
      - `cacheRead` number, nullable, required
      - `cacheWrite` number, nullable, required
    - `creditsCharged` number, nullable, required
    - `durationMs` number, nullable, required
    - `llmCallCount` number — LLM call count (workflow runs only).
    - `ocrPagesProcessed` number — OCR pages processed (workflow runs only).
    - `agentTurns` number, nullable — Agent conversation turns (agent runs only).

## Other responses

- `400` — Validation error. Request shape did not match the spec.
- `401` — Missing or invalid API key
- `403` — API key lacks required scope
- `404` — Resource not found
- `413` — Payload too large. Upload exceeded the per-request size cap.
- `429` — Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.dev/eigenpal/apis/eigenpal-api.md) · [All operations](https://skmtc.dev/eigenpal/apis/eigenpal-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/eigenpal/eigenpal-api/revisions/dddcddf1975c/schema)
