---
title: "Retrieve workflow"
method: GET
path: "/api/v1/workflows/{name}"
tags: ["Workflows"]
---

# Retrieve workflow

`GET /api/v1/workflows/{name}`

Returns a single workflow definition and its dense settings snapshot.

## Path parameters

- `name` string, required

## Response `200`

Workflow details

- WorkflowDetailResponse — Workflow definition and dense settings snapshot.
  - `name` string, required
  - `slug` string, required
  - `description` string, required
  - `filename` string, required
  - `settings` WorkflowSettings, required — The persisted dense `WorkflowSettings` snapshot used for a specific run. This matches the resolved run settings recorded at launch time.
    - `project` ProjectNamespace, required
      - `name` string, nullable, required
      - `description` string, nullable, required
      - `metadata` StringMap, required
    - `workflow` WorkflowNamespace, required
      - `name` string, nullable, required
      - `description` string, nullable, required
      - `graph` string, required
      - `metadata` StringMap, required
    - `environments` object, required
    - `run` RunNamespace, required
      - `goal` union, required
        - RunGoalInline
          - `type` 'inline', required
          - `value` string, required — Resolved config string that may contain env interpolation tokens.
        - RunGoalFile
          - `type` 'file', required
          - `value` string, required — Resolved config string that may contain env interpolation tokens.
      - `working_dir` string, required — Resolved config string that may contain env interpolation tokens.
      - `metadata` StringMap, required
      - `inputs` object, required
      - `model` RunModelSettings, required
        - `provider` string, nullable, required
        - `name` string, nullable, required
        - `fallbacks` ModelRef[], required
      - `git` RunGitSettings, required
        - `author` GitAuthorSettings, required
          - `name` string, nullable, required
          - `email` string, nullable, required
      - `prepare` RunPrepareSettings, required
        - `commands` string[], required
        - `timeout_ms` integer, required
      - `execution` RunExecutionSettings, required
        - `mode` 'normal' | 'dry_run', required
        - `approval` 'prompt' | 'auto', required
      - `checkpoint` RunCheckpointSettings, required
        - `exclude_globs` string[], required
        - `skip_git_hooks` boolean, required — When true, Fabro-managed run-branch checkpoint commits bypass local Git commit hooks. Does not affect Fabro `[[run.hooks]]` or metadata-branch snapshots. Defaults to false.
      - `clone` RunCloneSettings, required
        - `enabled` boolean, required
      - `run_branch` RunBranchSettings, required
        - `enabled` boolean, required
        - `push` boolean, required
      - `meta_branch` RunMetaBranchSettings, required
        - `enabled` boolean, required
        - `push` boolean, required
      - `environment` RunEnvironmentSettings, required
        - `id` string, required
        - `provider` 'local' | 'docker' | 'daytona', required — Desired environment provider.
        - `image` EnvironmentImageSettings, required
          - `docker` string, nullable, required
          - `dockerfile` union, required
            - DockerfileSourceInline
              - …
            - DockerfileSourcePath
              - …
        - `resources` EnvironmentResourcesSettings, required
          - `cpu` integer, nullable, required
          - `memory` string, nullable, required
          - `disk` string, nullable, required
        - `network` EnvironmentNetworkSettings, required
          - `mode` 'allow_all' | 'block' | 'cidr_allow_list', required
          - `allow` string[], required
        - `lifecycle` EnvironmentLifecycleSettings, required
          - `preserve` boolean, required
          - `stop_on_terminal` boolean, required
          - `auto_stop` string, nullable, required
        - `labels` StringMap, required
        - `volumes` EnvironmentVolumeSettings[], required
          - `id` string, required
          - `mount_path` string, required
          - `subpath` string, nullable, required
        - `env` object, required
      - `notifications` object, required
      - `interviews` RunInterviewsSettings, required
        - `provider` string, nullable, required
        - `slack` InterviewProviderSettings, required
          - `channel` string, nullable, required
      - `agent` RunAgentSettings, required
        - `permissions` 'read-only' | 'read-write' | 'full', required
        - `mcps` object, required
      - `hooks` HookDefinition[], required
        - `name` string, nullable, required
        - `event` 'run_start' | 'run_complete' | 'run_failed' | 'stage_start' | 'stage_complete' | 'stage_failed' | 'stage_retrying' | 'edge_selected' | 'parallel_start' | 'parallel_complete' | 'sandbox_ready' | 'sandbox_cleanup' | 'checkpoint_saved' | 'pre_tool_use' | 'post_tool_use' | 'post_tool_use_failure', required
        - `command` string, nullable, required
        - `type` 'command' | 'http' | 'prompt' | 'agent' | 'null', nullable
        - `url` string, nullable
        - `headers` StringMap
        - `allowed_env_vars` string[]
        - `tls` 'verify' | 'no_verify' | 'off'
        - `prompt` string, nullable
        - `model` string, nullable
        - `max_tool_rounds` integer, nullable
        - `matcher` string, nullable, required
        - `blocking` boolean, nullable, required
        - `timeout_ms` integer, nullable, required
        - `sandbox` boolean, nullable, required
      - `scm` RunScmSettings, required
        - `provider` string, nullable, required
        - `owner` string, nullable, required
        - `repository` string, nullable, required
        - `github` ScmGitHubSettings, required
      - `pull_request` PullRequestSettings, required
        - `enabled` boolean, required
        - `draft` boolean, required
        - `auto_merge` boolean, required
        - `merge_strategy` 'merge' | 'squash' | 'rebase', required — GitHub merge method for a pull request.
      - `artifacts` ArtifactsSettings, required
        - `include` string[], required
      - `integrations` RunIntegrationsSettings, required
        - `github` RunIntegrationsGithubSettings, required
          - `permissions` object, required
  - `graph` string, required

## Other responses

- `404` — Workflow not found
- `501` — Workflow cataloging is not implemented in real mode

## Changes

- **2026-05-27** `d49fb1e27a21` — 2 breaking, 2 info
  - removed the required property `settings/environments/additionalProperties/image/ref` from the response with the `200` status
  - removed the required property `settings/run/environment/image/ref` from the response with the `200` status
  - added the required property `settings/environments/additionalProperties/image/docker` to the response with the `200` status
  - added the required property `settings/run/environment/image/docker` to the response with the `200` status
- **2026-05-23** `41937812f640` — 1 breaking, 2 info
  - removed the required property `settings/run/sandbox` from the response with the `200` status
  - added the required property `settings/environments` to the response with the `200` status
  - added the required property `settings/run/environment` to the response with the `200` status
- **2026-05-22** `9ffd26376217` — 1 info
  - added the required property `settings/run/checkpoint/skip_git_hooks` to the response with the `200` status

[Change history](https://skmtc.dev/fabro-sh/apis/fabro-run-api/changes/api/v1/workflows/:name/get.md)

---

[API](https://skmtc.dev/fabro-sh/apis/fabro-run-api.md) · [All operations](https://skmtc.dev/fabro-sh/apis/fabro-run-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fabro-sh/fabro-run-api/revisions/57aaacdfd18e/schema)
