---
title: "Store session cost record"
method: POST
path: "/api/session-costs"
tags: ["Session Data"]
---

# Store session cost record

`POST /api/session-costs`

## Request body

- object
  - `sessionId` string, required
  - `agentId` string, required
  - `totalCostUsd` number, required
  - `taskId` string
  - `inputTokens` integer
  - `outputTokens` integer
  - `cacheReadTokens` integer
  - `cacheWriteTokens` integer, nullable
  - `cacheWrite5mTokens` integer, nullable
  - `cacheWrite1hTokens` integer, nullable
  - `reasoningOutputTokens` integer
  - `thinkingTokens` integer
  - `durationMs` integer
  - `numTurns` integer, nullable
  - `model` string
  - `models` object[]
    - `model` string, required
    - `inputTokens` integer, required
    - `outputTokens` integer, required
    - `cacheReadTokens` integer, required
    - `cacheWriteTokens` integer, required
    - `webSearchRequests` integer, nullable
    - `harnessCostUsd` number, nullable
  - `isError` boolean
  - `provider` 'claude' | 'claude-managed' | 'codex' | 'pi' | 'opencode' | 'devin' | 'gemini'
  - `createdAt` integer

## Response `201`

Cost record stored

- object
  - `success` true, required
  - `cost` SessionCost, required
    - `id` string, uuid, required
    - `sessionId` string, required
    - `taskId` string, uuid
    - `agentId` string, required
    - `totalCostUsd` number, required
    - `inputTokens` integer
    - `outputTokens` integer
    - `cacheReadTokens` integer
    - `cacheWriteTokens` integer
    - `reasoningOutputTokens` integer
    - `thinkingTokens` integer
    - `durationMs` integer, required
    - `numTurns` integer, nullable, required
    - `model` string, required
    - `isError` boolean
    - `costSource` 'harness' | 'pricing-table' | 'unpriced'
    - `harnessCostUsd` number, nullable
    - `cacheWrite5mTokens` integer, nullable
    - `cacheWrite1hTokens` integer, nullable
    - `modelBreakdown` SessionCostModelBreakdown[], nullable
      - `model` string, required
      - `inputTokens` integer, required
      - `outputTokens` integer, required
      - `cacheReadTokens` integer, required
      - `cacheWriteTokens` integer, required
      - `webSearchRequests` integer, nullable
      - `costUsd` number, nullable
      - `harnessCostUsd` number, nullable
    - `createdAt` string, date-time, required

## Other responses

- `400` — Validation error

---

[API](https://skmtc.net/desplega-ai/apis/agent-swarm-api.md) · [All operations](https://skmtc.net/desplega-ai/apis/agent-swarm-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/desplega-ai/agent-swarm-api/versions/db1079e034dc/schema)
