> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paradime.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Bolt API

> Trigger, monitor, and manage Bolt runs programmatically from Airflow, Dagster, or any external system using the Bolt API, Python SDK, CLI, or webhooks.

Use the Bolt API to run, monitor, and manage Bolt schedules from outside Paradime. This lets you fold dbt™ runs into a pipeline orchestrated by tools such as Airflow, Dagster, Prefect, or Azure Data Factory (ADF), or trigger them from any system that can call an API.

## Ways to call the API

You can interact with the Bolt API using any of these:

* [GraphQL](/developers/graphql-api/api-reference/bolt-api)
* [cURL](/developers/graphql-api/api-reference/bolt-api)
* [Python SDK](/developers/python-sdk/modules/bolt)
* [CLI](/developers/paradime-cli/bolt-cli)
* [Webhooks](/developers/webhooks/index)

## Requirements

Bolt API calls authenticate with a Paradime [API key](/developers/api-keys) that has the **Bolt schedules admin** capability. Paradime supports two key types:

* **Account API keys** (recommended) — a Bearer token that can access multiple workspaces.
* **Workspace API keys** (legacy) — an `API Key` and `API Secret` scoped to a single workspace.

See [API keys](/developers/api-keys) to generate one, and [Authentication](/developers/graphql-api/authentication) for how to pass credentials and the API endpoint.

## Trigger a schedule from an external system

To drive a schedule entirely from the API (for example, from Airflow, Dagster, or Prefect), give it the **Off** trigger so it only runs when you call it. The schedule can be built either way:

* **In the UI** — create or edit the schedule and select the [Off trigger type](/products/bolt/creating-schedules/trigger-types#off).
* **As code** — set `schedule: "OFF"` in the schedule's YAML.

```yaml title="paradime_schedules.yml (as-code option)" lineNumbers theme={"system"}
schedules:
  - name: operations_run
    slug: operations-run-b3c4d5
    schedule: "OFF"
    environment: production
    commands:
      - dbt seed
      - dbt run -m +fact_orders
    owner_email: "fabio@paradime.io"
```

Then call the Bolt API from your orchestrator to trigger the run and poll its status.

## What you can do

Beyond triggering, the Bolt API can check run status, [retry](/products/bolt/managing-schedules/retrying-a-run) a failed run, cancel a running one, and suspend a schedule. For the full endpoint list, see the [Bolt GraphQL API reference](/developers/graphql-api/api-reference/bolt-api), [Python SDK](/developers/python-sdk/modules/bolt), and [CLI](/developers/paradime-cli/bolt-cli).


## Related topics

- [Bolt API](/developers/graphql-api/api-reference/bolt-api.md)
- [Discovery API](/developers/graphql-api/api-reference/discovery-api.md)
- [API Reference](/developers/graphql-api/api-reference/index.md)
- [Bolt API and schedule trigger errors](/get-help/error-list/bolt-api-and-schedule-trigger-errors.md)
- [GraphQL API](/developers/graphql-api/index.md)
