Promote Sweep V1
Request
- Base URL: https://thrustlab.com
- URL: https://thrustlab.com/v1/sweeps/{public_id}/promote
- Auth: HTTP bearer
Path parameters
Headers
Unique key (max 255 chars) making this POST safe to retry. Required on all v1 write requests; replays return the cached response.
Request body
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..
Flight time (seconds) for the time-bounded steady-state thermal solve. 0 ≤ x ≤ 86400 (24 h). null disables time-bounding (infinite-hover baseline)..
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.
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..
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.
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 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.
Response
Successful Response
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.
When the sweep reached a terminal state — completed, failed or canceled. Null until then.
When the sweep was submitted.
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.
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.
Changes
No recorded changes to this operation across all 1 revision of this API.