Skip to main content
Prerequisites:
  • This feature is available with the Paradime Bolt plan.
  • Your API keys must have either Bolt Schedules Admin or Bolt Schedules Metadata Viewer capabilities.
These examples authenticate with an account API key (api_secret="prdm_cmp_..." plus workspace_uid), which requires paradime-io 6.0.0 or later. Legacy workspace API keys (api_key + api_secret) are still supported. See Getting Started.
The Bolt module allows you to easily manage and control Bolt schedules and runs within your workspace. It provides tools to create, configure, and monitor schedules, automate tasks, and access detailed logs and reports.
Schedules are identified by slug. Every Bolt method that targets a schedule accepts a slug= keyword argument — the identifier returned by create_schedule (and shown in the Bolt UI).

List Bolt schedules

Get a list of Bolt schedules. The list is paginated. The total count of schedules is also returned.
int
default:"0"
The offset value for pagination.
int
default:"100"
The limit value for pagination.
bool
default:"False"
Flag to indicate whether to return inactive schedules instead of active schedules.
Optional[bool]
default:"None"
Filter by paused (suspended) state. Leave as None to return all schedules, pass True for only paused schedules, or False for only active (non-paused) schedules.
BoltSchedules
An object containing the list of Bolt schedules and the total count of schedules.

Get latest runs for a schedule

str
required
The schedule slug returned by create_schedule. Preferred over schedule_name.
str
Deprecated alias for slug. Still accepted for backwards compatibility — emits a DeprecationWarning. Exactly one of slug or schedule_name must be provided.
int
default:"0"
The offset value for pagination. Must be >= 0.
int
default:"50"
The limit value for pagination. Must be between 1 and 1000.
BoltScheduleRuns
An object containing the list of Bolt runs with details like ID, status, actor, timestamps, and git information.

Create a Bolt schedule

Create a new Bolt schedule and get back its slug. The slug is the identifier you pass as slug= to every other Bolt method (trigger_run, get_schedule, delete_schedule, etc.).
str
required
Human-readable schedule name shown in the Bolt UI.
str
required
Cron expression (e.g. "0 1 * * *") or the literal "OFF" for manual-only runs.
str
required
Name of the environment to run in (e.g. "production").
List[str]
required
Commands the schedule should run, in order (e.g. ["dbt run", "dbt test"]).
Optional[str]
Git branch the run should check out. Defaults to the environment’s branch.
Optional[str]
Free-text description shown in the UI.
Optional[str]
IANA timezone for the cron expression (e.g. "UTC", "Europe/London").
Optional[str]
Email of the workspace member who should own the schedule.
Optional[bool]
Create the schedule already suspended. Defaults to active.
Optional[int]
Soft SLA window in seconds; runs exceeding this are surfaced as overdue.
Optional[bool]
If True, run on every merge to git_branch.
Optional[BoltNotificationsInput | dict]
Slack / Teams / email notification routing.
Optional[BoltIntegrationsInput | dict]
PagerDuty / Datadog / incident.io / New Relic incident triggers fired on failures.
Optional[BoltSelfHealingConfigInput | dict]
Paradime self-healing agent (auto-retry + Slack updates).
Optional[BoltDeferredScheduleConfigInput | dict]
Turbo CI config — defer state from another schedule’s last successful run.
Optional[BoltDeferredScheduleConfigInput | dict]
Slim-CI-style deferred schedule config.
Optional[BoltScheduleTriggerInput | dict]
Run this schedule when a parent schedule (possibly in another workspace) finishes.
Optional[List[BoltEnvironmentVariableInput | dict]]
Environment-variable overrides for this schedule.
str
The slug assigned by the backend. Pass this value as slug= to every other Bolt method.
There is a short consistency window (~10s) between schedule creation and the trigger path accepting the new slug. Callers that immediately invoke trigger_run on a brand-new slug may need to retry for a few seconds.

Create a minimal schedule

Create a schedule with notifications, env vars, and self-healing

Create a schedule using raw dicts (escape hatch)

Every nested input also accepts a plain dict that matches the GraphQL shape. Useful when you want to set a field that isn’t yet modelled as a typed input.

Delete a Bolt schedule

Delete a Bolt schedule by slug. Schedules defined in YAML cannot be deleted via the API — remove them from the repository instead.
str
required
The schedule slug returned by create_schedule (also shown in the Bolt UI).
None
This method returns nothing.

Get a Bolt schedule

Retrieves information about a specific schedule.
str
required
The schedule slug returned by create_schedule. Preferred over schedule_name.
str
Deprecated alias for slug. Still accepted for backwards compatibility, emits a DeprecationWarning. Exactly one of slug or schedule_name must be provided.
BoltScheduleInfo
An object containing information about the schedule (commands, cron expression, owner, source, latest run ID, and suspended state).

Suspend or resume a Bolt schedule

Suspends or resumes a schedule created via the UI or API.
This only works for schedules created via the UI or API, not via YAML.
bool
required
True to suspend (pause) the schedule, False to resume it.
str
required
The schedule slug returned by create_schedule. Preferred over schedule_name.
str
Deprecated alias for slug. Still accepted for backwards compatibility, emits a DeprecationWarning. Exactly one of slug or schedule_name must be provided.
None
This method returns nothing.

List all schedule names

List schedule names across all workspaces in the company. Unlike list_schedules (scoped to the API key’s workspace), this returns schedules in every workspace, so schedule_trigger references that point at another workspace can be validated.
List[Tuple[str, str]]
A list of (workspace_name, schedule_name) tuples.

Create schedule slugs

Mint slugs for a list of display names via the backend.
List[str]
required
Human-readable schedule names to mint slugs for.
List[str]
List of minted slugs in the same order as the input display names.

Triggering a Bolt run

Triggers a run for a given schedule slug.
str
required
The schedule slug to trigger the run for. Preferred over schedule_name.
str
Deprecated alias for slug. Still accepted for backwards compatibility — emits a DeprecationWarning. Exactly one of slug or schedule_name must be provided.
Optional[List[str]]
The list of commands to execute in the run. This will override the commands defined in the schedule. Defaults to None.
Optional[str]
The branch or commit hash to run the commands on. Defaults to None.
Optional[int]
The pull request number to associate with the run. Defaults to None.
Optional[str]
A freeform reason/label describing why or from where the run was triggered (e.g. the application that made the call). Stored with the run for context and auditing. Defaults to None.
int
The ID of the triggered run.

Trigger a run with default commands and branch

Trigger a run with a custom git branch and PR Number

Trigger a run with custom commands

Trigger a run with a custom git branch

Trigger a run with a reason

Retrying a Bolt run

Retry the latest failed run of a schedule by slug Retries the latest failed run of a Bolt schedule by slug, without needing to know its run ID. Resumes from the failed command of the most recent run of the given schedule. The first failed dbt command is substituted with dbt retry when supported. Infrastructure commands (git clone, dbt deps) are skipped. A new Bolt run is created; the original run is unchanged.
str
required
The schedule slug whose latest failed run to retry. Preferred over schedule_name.
str
Deprecated alias for slug. Still accepted for backwards compatibility — emits a DeprecationWarning. Exactly one of slug or schedule_name must be provided.
int
The ID of the newly created retry run.

Retry only failed commands by Run ID

Retries a failed Bolt run by re-running only the failed commands. The first failed dbt command is substituted with dbt retry when supported, so only the failed models are re-executed. Infrastructure commands (git clone, dbt deps) are skipped. A new Bolt run is created; the original run is unchanged.
int
required
The ID of the failed run to retry.
int
The ID of the newly created retry run.

Retry all commands by Run ID

Retries a Bolt run by re-running every original command verbatim, regardless of which ones succeeded or failed. Infrastructure commands (git clone, dbt deps) are excluded. A new Bolt run is created; the original run is unchanged.
int
required
The ID of the run to retry.
int
The ID of the newly created retry run.

Streaming logs from a Bolt command

Tail the stdout and stderr of a Bolt command while it is still running, instead of waiting for the run to finish and reading the final logs. Two methods are available:
  • stream_command_logs(command_id) — a generator that yields lines as they arrive and stops automatically when the command finishes. Use this for live tailing.
  • get_command_logs(command_id, cursor) — a single batch fetch using an opaque cursor. Use this when you need finer control over polling cadence or want to interleave log polling with other work.
Both methods return BoltLogLine objects with a stream field (BoltLogStream.STDOUT or BoltLogStream.STDERR) and a line field (the raw log line).
To get a command_id, list the commands for a run with paradime.bolt.list_run_commands(run_id).

Stream logs until the command finishes

stream_command_logs polls until the command exits and yields each line as it arrives.
int
required
The ID of the Bolt command to stream logs from.
float
default:"2.0"
Seconds to wait between empty polls.
Iterator[BoltLogLine]
Each log line in arrival order within a poll batch. Stdout lines for the batch precede stderr lines (approximate interleaving — true cross-stream ordering is not recorded).

One-shot polling with a cursor

get_command_logs returns a single batch with an opaque cursor and a finished flag. Pass the cursor back into the next call to fetch only new lines.
int
required
The ID of the Bolt command.
str
default:"0:0"
Opaque cursor returned by the previous call. Use the default "0:0" on the first call to fetch from the beginning.
BoltCommandLogs
An object with lines (List[BoltLogLine]), cursor (str — pass to the next call), and finished (bool — flips to True once the command exits).

Cancelling a Bolt run

Cancels a Bolt run.
int
required
The ID of the run to cancel.
None
This method returns nothing.

Get the status of a run

Retrieves the status of a run based on the provided run ID.
int
required
The ID of the run.
Optional[BoltRunState]
The state of the run.

List commands for a run

Retrieves the list of command level details for a given run, sorted by command ID.
int
required
The ID of the run.
List[BoltCommand]
The list of Bolt commands for the run, sorted by command ID.

List artifacts for a command

Retrieves the artifacts associated with a given command.
To get a command_id, list the commands for a run with paradime.bolt.list_run_commands(run_id).
int
required
The ID of the command.
List[BoltCommandArtifact]
A list of BoltCommandArtifact objects representing the artifacts, each with an id and a path.

Get an artifact URL

Retrieves the URL of an artifact based on its ID.
int
required
The ID of the artifact.
str
The URL of the artifact.

Getting Bolt run artifacts

Get latest run manifest.json Retrieves the latest manifest JSON for a given schedule.
str
required
The schedule slug. Preferred over schedule_name.
str
Deprecated alias for slug. Still accepted for backwards compatibility — emits a DeprecationWarning. Exactly one of slug or schedule_name must be provided.
Optional[int]
The index of the command in the schedule. Defaults to None.
int
default:"50"
The maximum number of latest runs to search through.
dict
The content of the latest manifest JSON.
Get latest run artifacts URL Retrieves the URL of the latest artifact for a given schedule.
str
required
The schedule slug. Preferred over schedule_name.
str
Deprecated alias for slug. Still accepted for backwards compatibility — emits a DeprecationWarning. Exactly one of slug or schedule_name must be provided.
str
required
The path of the artifact.
Optional[int]
The index of the command in the schedule. Defaults to searching through all commands from the last command to the first.
int
default:"50"
The maximum number of latest runs to search through.
str
The URL of the latest artifact.