---
title: "Deploy Workflow Revision"
method: POST
path: "/workflows/revisions/deploy"
tags: ["Workflows"]
---

# Deploy Workflow Revision

`POST /workflows/revisions/deploy`

## Request body

- WorkflowRevisionDeployRequest
  - `workflow_ref` Reference
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
  - `workflow_variant_ref` Reference
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
  - `workflow_revision_ref` Reference
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
  - `environment_ref` Reference
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
  - `environment_variant_ref` Reference
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
  - `environment_revision_ref` Reference
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
  - `key` string, nullable — Reference key to set on the environment revision. Defaults to `<workflow_slug>.revision` when omitted.
  - `message` string, nullable — Commit message recorded on the resulting environment revision.

## Response `200`

Successful Response

- WorkflowRevisionResponse
  - `count` integer — `1` when a revision is returned, `0` when none matched.
  - `workflow_revision` WorkflowRevisionOutput
    - `workflow_variant_slug` string, nullable
    - `variant_slug` string, nullable
    - `workflow_slug` string, nullable
    - `artifact_slug` string, nullable
    - `workflow_variant_id` string, uuid, nullable
    - `variant_id` string, uuid, nullable
    - `workflow_id` string, uuid, nullable
    - `artifact_id` string, uuid, nullable
    - `author` string, uuid, nullable
    - `date` string, date-time, nullable
    - `message` string, nullable
    - `flags` WorkflowRevisionFlags
      - `is_application` boolean
      - `is_evaluator` boolean
      - `is_snippet` boolean
      - `is_managed` boolean
      - `is_custom` boolean
      - `is_llm` boolean
      - `is_hook` boolean
      - `is_code` boolean
      - `is_match` boolean
      - `is_feedback` boolean
      - `is_agent` boolean
      - `is_skill` boolean
      - `is_chat` boolean
      - `has_url` boolean
      - `has_script` boolean
      - `has_handler` boolean
      - `is_static` boolean
    - `tags` object, nullable
    - `meta` object, nullable
    - `name` string, nullable
    - `description` string, nullable
    - `created_at` string, date-time, nullable
    - `updated_at` string, date-time, nullable
    - `deleted_at` string, date-time, nullable
    - `created_by_id` string, uuid, nullable
    - `updated_by_id` string, uuid, nullable
    - `deleted_by_id` string, uuid, nullable
    - `version` string, nullable
    - `slug` string, nullable
    - `id` string, uuid, nullable
    - `data` WorkflowRevisionDataOutput
      - `uri` string, nullable
      - `url` string, nullable
      - `headers` object, nullable
      - `runtime` 'python' | 'typescript' | 'javascript', nullable
      - `script` string, nullable
      - `schemas` JsonSchemasOutput
        - `parameters` object, nullable
        - `inputs` object, nullable
        - `outputs` object, nullable
      - `parameters` object, nullable
  - `status` 'committed' | 'no_change', nullable — Commit outcome. `no_change` means the change produced the stored configuration, so no revision was created and `workflow_revision` is the current head. Absent on paths that do not run the checked commit; a reader must treat absent as `committed`.
  - `warnings` CommitWarning[], nullable — Structured advisories about the commit; never an error.
    - `code` string, required
    - `message` string, required
    - `target` unknown[], nullable
      - unknown
    - `operation_index` integer, nullable
  - `resolution_info` ResolutionInfo
    - `references_used` object[], required
    - `depth_reached` integer, required
    - `embeds_resolved` integer, required
    - `errors` string[]
  - `retrieval_info` RetrievalInfo — References actually used to retrieve a revision. For direct retrievals, `references` carries the artifact / variant / revision that was fetched. For environment-backed retrievals, it additionally carries the environment + environment_variant + environment_revision used to look the target up, and `selector` is {the key: path} map inside the environment's references map that selected the target.
    - `references` object
    - `selector` object, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/agenta-ai/apis/agenta-api.md) · [All operations](https://skmtc.net/agenta-ai/apis/agenta-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/agenta-ai/agenta-api/versions/ea6421d829f1/schema)
