> ## 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.run.completed

> Payload reference for the bolt.run.completed webhook event, delivered when a Paradime Bolt schedule run finishes—succeeded, failed, or canceled.

The `bolt.run.completed` event is triggered when a Bolt run finishes. This includes runs that have **succeeded** or **failed** (check the top-level `status` field).

The payload carries everything you need to inspect the run: the per-command results, the git context, and the full schedule configuration. It also lets you fetch additional metadata for each command through a pre-populated GraphQL query in these fields:

* **`api_query`** — a ready-to-run query that returns the raw console logs (stdout/stderr), return code, and resources for a command.
* **`resource_query`** — a ready-to-run query that returns a temporary download URL for a generated resource, for example `run_results.json` or `manifest.json`.

Send either query as a `POST` to the payload's `api_url` with your API credentials. See the [GraphQL API](/developers/graphql-api/authentication) for authentication.

## Example payload

```json theme={"system"}
{
  "id": 1234,
  "api_url": "https://api.paradime.io/api/v1/abc/graphql",
  "commands": [
    {
      "id": 92363,
      "api_query": "query BoltCommand {\n    boltCommand(commandId: 92363) {\n        command\n        startDttm\n        endDttm\n        stdout\n        stderr\n        returnCode\n        scheduleRunId\n        resources {\n            id\n            path\n        }\n    }\n}",
      "command": "git clone ...",
      "end_dttm": "2023-06-06 11:00:14.648628",
      "return_code": 0,
      "start_dttm": "2023-06-06 11:00:12.621312",
      "status": "succeeded",
      "json_resources": []
    },
    {
      "id": 92375,
      "api_query": "query BoltCommand {\n    boltCommand(commandId: 92375) {\n        command\n        startDttm\n        endDttm\n        stdout\n        stderr\n        returnCode\n        scheduleRunId\n        resources {\n            id\n            path\n        }\n    }\n}",
      "command": "dbt run",
      "end_dttm": "2023-06-06 11:00:44.677818",
      "return_code": 0,
      "start_dttm": "2023-06-06 11:00:23.246926",
      "status": "succeeded",
      "json_resources": [
        {
          "id": 7525717,
          "path": "target/manifest.json",
          "resource_query": "query BoltResourceUrl {\n    boltResourceUrl(resourceId: 7525717) {\n        ok\n        url\n    }\n}"
        }
      ]
    }
  ],
  "end_dttm": "2023-06-06 11:00:47.780816",
  "environment": {
    "actor": "Scheduler",
    "branch": "dbt-run",
    "commit_hash": "cbe09ae8b090f165e366501d0ccc164ab4019ca2",
    "email": null
  },
  "error_string": null,
  "run_url": "https://app.paradime.io/bolt/run_id/1234",
  "schedule_url": "https://app.paradime.io/bolt/4a1e7bf2-7756-3d08-aac9-a390f60d8616?workspaceUid=foo",
  "schedule": {
    "name": "Hourly Run",
    "slug": "hourly-run",
    "schedule": "@hourly",
    "environment": "production",
    "commands": ["dbt run"],
    "git_branch": "dbt-run",
    "owner_email": "fabio@paradime.io",
    "description": null,
    "notifications": null,
    "sla_minutes": null,
    "turbo_ci": null,
    "deferred_schedule": null,
    "hightouch": null,
    "env_overrides": null
  },
  "schedule_name": "Hourly Run",
  "slug": "hourly-run",
  "start_dttm": "2023-06-06 11:00:12.296501",
  "status": "failed",
  "uuid": "b922fa9b-ca80-3dbd-8136-7b8be966088d",
  "workspace": {
    "name": "dbt",
    "uid": "foo"
  }
}
```

## Fields

| Field           | Type                         | Description                                                                                          |
| --------------- | ---------------------------- | ---------------------------------------------------------------------------------------------------- |
| `id`            | integer                      | The Bolt run ID.                                                                                     |
| `api_url`       | string                       | The GraphQL API endpoint for your workspace. Send the per-command `api_query`/`resource_query` here. |
| `commands`      | array of [Command](#command) | The commands executed in the run, each with results and generated resources.                         |
| `end_dttm`      | string                       | When the run finished (UTC).                                                                         |
| `environment`   | [Environment](#environment)  | The git context the run executed against.                                                            |
| `error_string`  | string \| null               | The error message if the run failed, otherwise `null`.                                               |
| `run_url`       | string                       | Link to the run in the Paradime app.                                                                 |
| `schedule_url`  | string                       | Link to the schedule in the Paradime app.                                                            |
| `schedule`      | [Schedule](#schedule)        | The Bolt schedule configuration.                                                                     |
| `schedule_name` | string                       | The schedule's display name.                                                                         |
| `slug`          | string                       | The schedule's slug.                                                                                 |
| `start_dttm`    | string                       | When the run started (UTC).                                                                          |
| `status`        | string                       | The final run status, for example `succeeded` or `failed`.                                           |
| `uuid`          | string                       | The run's UUID.                                                                                      |
| `workspace`     | [Workspace](#workspace)      | The workspace the run belongs to.                                                                    |

### Command

| Field            | Type                                         | Description                                                                           |
| ---------------- | -------------------------------------------- | ------------------------------------------------------------------------------------- |
| `id`             | integer                                      | The command ID.                                                                       |
| `api_query`      | string                                       | A ready-to-run GraphQL query for this command's raw logs, return code, and resources. |
| `command`        | string                                       | The command that was run.                                                             |
| `end_dttm`       | string                                       | When the command finished (UTC).                                                      |
| `return_code`    | integer                                      | The command's exit code (`0` on success).                                             |
| `start_dttm`     | string                                       | When the command started (UTC).                                                       |
| `status`         | string                                       | The command status, for example `succeeded`.                                          |
| `json_resources` | array of [CommandResource](#commandresource) | Artifacts generated by the command, for example `manifest.json`.                      |

### CommandResource

| Field            | Type    | Description                                                                          |
| ---------------- | ------- | ------------------------------------------------------------------------------------ |
| `id`             | integer | The resource ID.                                                                     |
| `path`           | string  | The artifact path, for example `target/manifest.json`.                               |
| `resource_query` | string  | A ready-to-run GraphQL query that returns a temporary download URL for the resource. |

### Environment

| Field         | Type           | Description                                                             |
| ------------- | -------------- | ----------------------------------------------------------------------- |
| `actor`       | string         | Who or what triggered the run, for example `Scheduler`. Always present. |
| `branch`      | string         | The git branch.                                                         |
| `commit_hash` | string         | The git commit the run executed against.                                |
| `email`       | string \| null | The email of the user who triggered the run, if applicable.             |

### Schedule

| Field               | Type                    | Description                                                         |
| ------------------- | ----------------------- | ------------------------------------------------------------------- |
| `name`              | string                  | The schedule display name.                                          |
| `slug`              | string                  | The schedule slug.                                                  |
| `schedule`          | string                  | The cron expression or interval, for example `@hourly`.             |
| `environment`       | string                  | The Bolt environment, for example `production`.                     |
| `commands`          | array of string         | The schedule's commands.                                            |
| `git_branch`        | string                  | The git branch the schedule runs on.                                |
| `owner_email`       | string                  | The schedule owner's email.                                         |
| `description`       | string \| null          | The schedule description.                                           |
| `notifications`     | object \| null          | Configured email, Slack, and Microsoft Teams notification channels. |
| `sla_minutes`       | integer \| null         | The schedule SLA in minutes.                                        |
| `turbo_ci`          | object \| null          | Turbo CI (deferred) configuration.                                  |
| `deferred_schedule` | object \| null          | Deferred schedule configuration.                                    |
| `hightouch`         | object \| null          | Hightouch sync configuration.                                       |
| `env_overrides`     | array of object \| null | Environment variable overrides (`key`/`value` pairs).               |

### Workspace

| Field  | Type   | Description         |
| ------ | ------ | ------------------- |
| `name` | string | The workspace name. |
| `uid`  | string | The workspace UID.  |


## Related topics

- [bolt.run.started](/developers/webhooks/bolt-run-started.md)
- [Getting Started](/developers/webhooks/getting-started.md)
- [Analyzing Individual Run Details](/products/bolt/managing-schedules/analyzing-run-details/index.md)
- [Webhooks](/developers/webhooks/index.md)
- [Schedules Dashboard](/products/radar/dbt-monitoring/schedules-dashboard.md)
