---
title: "Get simulation run cost"
method: GET
path: "/v1/simulation/plan/job/{jobId}/cost"
tags: ["Simulation Run Plan Job"]
---

# Get simulation run cost

`GET /v1/simulation/plan/job/{jobId}/cost`

## Request

- Base URL: `https://api.roark.ai`
- URL: `https://api.roark.ai/v1/simulation/plan/job/{jobId}/cost`
- Auth: HTTP bearer

The billable spend for one simulation run (run plan job), split by cost type, with the spend of each simulated call in it. Safe to call while the run is in progress: totals reflect the costs recorded so far. Amounts are billable spend only, in exact micro-dollars (`*UsdMicros`) and dollars (`*Usd`, for display). Requires an API key with the `billing:read` permission.

## Path parameters

- `jobId` string, uuid, required

## Response `200`

The run’s cost

- object
  - `data` SimulationRunCost, required
    - `jobId` string, uuid, required
    - `currency` 'usd', required
    - `totalUsdMicros` integer, required: Total billable spend for the run, in micro-dollars.
    - `totalUsd` number, required
    - `breakdown` CostBreakdownItem[], required: Spend by cost type. Sums to totalUsdMicros.
      - `source` 'SIM_PLATFORM_FEE' | 'SIM_TTS' | 'SIM_STT' | 'SIM_LLM' | 'SIM_TELEPHONY' | 'METRIC' | 'TRANSCRIPTION' | 'INTERNAL_LLM' | 'INTERNAL_STT' | 'PHONE_NUMBER', required: The cost source, e.g. SIM_PLATFORM_FEE, SIM_LLM, METRIC.
      - `surface` 'SIMULATION' | 'POST_CALL', required: SIMULATION or POST_CALL.
      - `amountUsdMicros` integer, required: Billable spend for this type, in micro-dollars.
      - `amountUsd` number, required: The same figure in US dollars.
      - `quantity` number, required: Units billed (see the line items for the unit).
    - `calls` SimulationRunCallCost[], required: Spend per simulated call in the run.
      - `conversationId` string, uuid, nullable, required: The call (voice runs) or chat (chat runs) the spend is attributed to. Null for costs incurred before the conversation existed; use simulationJobId to join those.
      - `simulationJobId` string, uuid, nullable, required
      - `amountUsdMicros` integer, required
      - `amountUsd` number, required
      - `breakdown` CostBreakdownItem[], required
        - `source` 'SIM_PLATFORM_FEE' | 'SIM_TTS' | 'SIM_STT' | 'SIM_LLM' | 'SIM_TELEPHONY' | 'METRIC' | 'TRANSCRIPTION' | 'INTERNAL_LLM' | 'INTERNAL_STT' | 'PHONE_NUMBER', required: The cost source, e.g. SIM_PLATFORM_FEE, SIM_LLM, METRIC.
        - `surface` 'SIMULATION' | 'POST_CALL', required: SIMULATION or POST_CALL.
        - `amountUsdMicros` integer, required: Billable spend for this type, in micro-dollars.
        - `amountUsd` number, required: The same figure in US dollars.
        - `quantity` number, required: Units billed (see the line items for the unit).

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Simulation run not found
- `429`: Too Many Requests
- `500`: Internal Server Error

## Changes

> 187 revisions in range; 1 not diffed.

- **2026-10-26** `0fb1c3b1940a`: 2 warning
  - added the new `PHONE_NUMBER` enum value to the `data/breakdown/items/source` response property for the response status `200`
  - added the new `PHONE_NUMBER` enum value to the `data/calls/items/breakdown/items/source` response property for the response status `200`
- **2026-10-21** `ec9895d783a1`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/roarkhq/apis/roark-analytics-api/changes/v1/simulation/plan/job/:jobId/cost/get.md)

---

[API](https://skmtc.dev/roarkhq/apis/roark-analytics-api.md) - [All operations](https://skmtc.dev/roarkhq/apis/roark-analytics-api/llms.txt) - [OpenAPI document](https://skmtc.dev/roarkhq/apis/roark-analytics-api/revisions/1a91a5c90e44?raw)
