---
title: "Admin Costs By Feature"
method: GET
path: "/admin/ai-costs/by-feature"
tags: ["admin"]
---

# Admin Costs By Feature

`GET /admin/ai-costs/by-feature`

## Request

- Base URL: `https://api.threadchain.pro` (the document declares no server; this is the origin it was published from)
- URL: `https://api.threadchain.pro/admin/ai-costs/by-feature`
- Auth: OAuth 2
  - Password
  - Token URL: `auth/token`

AI spend grouped by ai_service (per-feature call-site label).

Omit ``job_id`` for a platform-wide rollup. Pass ``job_id`` for one
tech pack's pricing-sheet line items (3D front, POM arrows, artwork, …).

## Query parameters

- `job_id` string, uuid, nullable

## Response `200`

Successful Response

- AdminFeatureCostListResponse
  - `features` AdminFeatureCostRow[], required
    - `ai_service` string, required
    - `display_name` string, required
    - `calls` integer, required
    - `total_cost_usd` string, nullable, required
    - `avg_cost_usd` string, nullable, required
    - `images_generated` integer, required
    - `characters_translated` integer, required
    - `first_call_at` string, nullable, required
    - `last_call_at` string, nullable, required
  - `total_cost_usd` string, nullable, required
  - `total_calls` integer, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/threadchain/apis/threadchain-backend.md) - [All operations](https://skmtc.dev/threadchain/apis/threadchain-backend/llms.txt) - [OpenAPI document](https://skmtc.dev/threadchain/apis/threadchain-backend/revisions/8ee288a7e6bd?raw)
