Skip to main content

update_flight

Preview
This feature is in preview and is subject to change.

Update a Flight. Any subset of name, source_code, requirements_txt, schedule_cron, config, md_token_name, or md_secret_names may be provided.

Updates to source_code, requirements_txt, config, md_secret_names, or md_token_name produce a new FlightVersion. Updates to name or schedule_cron are metadata-only.

You are responsible for the code you run and the packages it installs. Flights does not scan customer code or dependencies. Avoid untrusted packages, pin dependency versions, and treat dependency installs as a supply-chain risk.

Description

update_flight is a PATCH operation: omitted fields are left unchanged. To clear the schedule, pass schedule_cron as an empty string; omitting it leaves the schedule unchanged.

config and md_secret_names are full replacements — to change one entry, send the full map or list with the change applied.

The SQL equivalent is MD_UPDATE_FLIGHT.

Input parameters

ParameterTypeRequiredDescription
idstring (UUID)YesThe Flight UUID.
namestringNoUpdated Flight name. Metadata-only.
schedule_cronstringNoUpdated 5-field cron expression (UTC). Pass "" to clear the schedule. Metadata-only.
source_codestringNoUpdated Python entrypoint source. Bumps the version.
requirements_txtstringNoUpdated requirements.txt contents. Bumps the version.
configobjectNoReplacement config map (full replace). Bumps the version.
md_token_namestringNoUpdated MotherDuck access token label. Bumps the version.
md_secret_namesstring[]NoReplacement list of secret names (full replace). Bumps the version.

Output schema

{
"success": boolean,
"flight": {
"id": string,
"name": string,
"schedule_cron": string|null,
"current_version": number
},
"error": string
}

Example usage

Rename only:

{ "id": "80000000-...", "name": "analytics_hourly_sync" }

Update source (bumps version):

{
"id": "80000000-...",
"source_code": "def main():\n print('v2')\n\nif __name__ == \"__main__\":\n main()\n"
}

Clear the schedule:

{ "id": "80000000-...", "schedule_cron": "" }