v1
sweeps

Promote Sweep V1

post/v1/sweeps/{public_id}/promote

Request

  • Base URL: https://thrustlab.com
  • URL: https://thrustlab.com/v1/sweeps/{public_id}/promote
  • Auth: HTTP bearer

Path parameters

public_idstring required

Headers

Idempotency-Keystring required

Unique key (max 255 chars) making this POST safe to retry. Required on all v1 write requests; replays return the cached response.

Request body

airspeed_m_snumber required
ambient_temp_cnumber
battery_charge_pctnumber
battery_component_idstring nullable
battery_esc_wire_resistance_mohmnumber
cooling_source'static' | 'airspeed' | 'prop_slipstream' | 'forced_air' nullable

Cooling source for the battery convection coefficient — static (natural only) | airspeed (free-stream v_inf) | prop_slipstream (prop induced velocity) | forced_air (fixed velocity). Supersedes the fixed cooling-regime h-table; omit it to resolve the value from the deprecated flight_regime..

density_kg_m3number required
flight_durationnumber nullable

Flight time (seconds) for the time-bounded steady-state thermal solve. 0 ≤ x ≤ 86400 (24 h). null disables time-bounding (infinite-hover baseline)..

flight_regime'static_bench' | 'prop_wash_mild' | 'prop_wash_strong' | 'forced_air'

DEPRECATED — use cooling_source instead. Still accepted: when cooling_source is omitted, this value is mapped to the equivalent battery cooling source (prop_wash_mild and prop_wash_strong → prop_slipstream, forced_air → forced_air, static_bench → static). cooling_source wins whenever both are supplied.

forced_air_velocity_m_snumber nullable

Fixed cooling velocity (m/s) for cooling_source='forced_air' (fan/duct). Ignored for the other cooling sources; defaults to 10 m/s when omitted..

inflow_mode'ground' | 'components'
launch_intent'run' | 'queue' | 'draft'

What to do with the sweep once it is stored. run (the default) reserves the credits and hands it to a worker immediately. queue reserves the credits but parks the sweep — it stays queued with dispatched_at null until you dispatch it with POST /v1/simulations/run-queued (every parked run) or POST /v1/simulations/run-selected (named ids; a sweep id is accepted there). draft stores it with no credit reservation and no dispatch; promote it later with POST /v1/sweeps/{id}/promote. Dynamic runs have no parked state — they always dispatch.

namestring nullable
project_idstring nullable

Project to file this sweep in (raw UUID or proj_<ksuid>). Omit to use the account's default project, which is created if absent.

propeller_model'fast' | 'full'

Propeller model for every rotor and every point of this sweep. 'full' runs from measured blade geometry; 'fast' runs from the printed label and accepts a propeller_label per rotor.

vertical_speed_m_snumber

Response

Successful Response

analysis_typestring required
battery_component_idstring required
cancel_requested_atstring nullable

When a cancel was requested for a RUNNING sweep. The status stays running until the worker honours it at its next point, keeping the points already solved. Null when no cancel was requested; a QUEUED sweep cancels immediately instead and never sets this.

completed_atstring nullable

When the sweep reached a terminal state — completed, failed or canceled. Null until then.

completed_pointsinteger required
created_atstring nullable

When the sweep was submitted.

credits_costinteger required
dispatched_atstring nullable

When the sweep was handed to the worker queue. Null while it is parked and has never been dispatched. NOT the start of execution: launch_intent=run dispatches at submit, so this can equal created_at while the sweep waits for a slot.

errorobject nullable required
idstring required
input_snapshotobject nullable
is_starredboolean required
namestring nullable required
object'sweep' required
plot_config_jsonobject[] nullable required
progressnumber nullable required
project_idstring required
propeller_modelstring
snapshot_versioninteger
solver_enginestring
started_atstring nullable

When a worker claimed the sweep and solving began. Null until then. started_at - dispatched_at is the wait for a slot; completed_at - started_at is the solve itself.

status'draft' | 'queued' | 'running' | 'completed' | 'failed' | 'canceled' required
summaryobject nullable required
sweep_configobject nullable required
total_pointsinteger required

Changes

No recorded changes to this operation across all 1 revision of this API.