---
title: "Get Simulation V1"
method: GET
path: "/v1/simulations/{public_id}"
tags: ["v1", "simulations"]
---

# Get Simulation V1

`GET /v1/simulations/{public_id}`

## Request

- Base URL: `https://thrustlab.com`
- URL: `https://thrustlab.com/v1/simulations/{public_id}`
- Auth: HTTP bearer

## Path parameters

- `public_id` string, required

## Response `200`

Successful Response

- SimulationResource
  - `analysis_type` string, required
  - `battery_component_id` string, required
  - `battery_topology` object, nullable
  - `completed_at` string, nullable: When the run reached a terminal state — completed, failed or canceled. Null until then.
  - `created_at` string, nullable: When the run was submitted.
  - `credits_cost` integer, required
  - `dispatched_at` string, nullable: When the run was handed to the worker queue. Null while it is parked and has never been dispatched. NOT the start of execution: a run submitted with launch_intent=run is dispatched at submit, so this can equal created_at while the run waits for a slot.
  - `display_labels` object, nullable
  - `error` object, nullable, required
  - `id` string, required
  - `input_snapshot` object, nullable
  - `inputs` SimulationInputs, required
    - `airspeed_m_s` number, required
    - `battery_charge_pct` number, required
    - `density_kg_m3` number, required
    - `solver` string, required
  - `is_starred` boolean, required
  - `name` string, nullable, required
  - `object` 'simulation', required
  - `plot_config_json` object[], nullable, required
  - `progress` number, nullable, required
  - `project_id` string, required
  - `project_name` string, nullable
  - `propeller_model` string
  - `result` object, nullable, required
  - `rotor_groups` RotorGroupResource[], required
    - `coax_position_m` number
    - `coax_stack_id` integer
    - `count` integer, required
    - `esc_motor_wire_resistance_mohm` number, required
    - `esc_pwm_frequency_khz` number
    - `esc_resistance_mohm` number, required
    - `esc_sync_rectification` boolean
    - `esc_timing` string
    - `esc_type` string, required
    - `label` string, required
    - `motor_component_id` string, nullable, required
    - `propeller_component_id` string, nullable
    - `propeller_label` object, nullable: The printed size a Fast-model rotor ran from: diameter_m, pitch_m, num_blades, family, chord_ratio, camber_pct, and optionally weight_g and max_rpm. Null on a Full-model rotor.
    - `rotation_sense` integer
    - `throttle_pct` number, required
  - `snapshot_version` integer
  - `solver_engine` string
  - `started_at` string, nullable: When a worker claimed the run and the solve began. Null until then. started_at - dispatched_at is the time spent waiting for a slot; completed_at - started_at is the solve itself.
  - `status` 'draft' | 'queued' | 'running' | 'completed' | 'failed' | 'canceled', required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/thrustlab/apis/thrustlab-api.md) · [All operations](https://skmtc.dev/thrustlab/apis/thrustlab-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thrustlab/apis/thrustlab-api/revisions/c19717e52529?raw)
