---
title: "Changes to Validate and manually replace a workflow revision's compiled graph"
method: PUT
path: "/v1/workflows/revisions/{revision_id}/graph"
---

# Changes to Validate and manually replace a workflow revision's compiled graph

`PUT /v1/workflows/revisions/{revision_id}/graph`

> Every recorded change to this endpoint, newest first.

## Timeline

Changed in 1 of 3 revisions.

- **2026-08-12** `5a5597ebb2d6` — 4 breaking, 12 warning, 25 info

## Changes

- **2026-08-12** `5a5597ebb2d6` — 4 breaking, 12 warning, 25 info
  - the response property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/tools/items/tool/active_revision/anyOf[subschema #1: ToolRevisionResponse]/transfer_target/anyOf[subschema #1: TransferTargetView]/destination` became optional for the status `200`
  - the response property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/tools/items/tool/active_revision/anyOf[subschema #1: ToolRevisionResponse]/transfer_target/anyOf[subschema #1: TransferTargetView]/destination` became optional for the status `422`
  - response property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/tools/items/tool/active_revision/anyOf[subschema #1: ToolRevisionResponse]/transfer_target/anyOf[subschema #1: TransferTargetView]/destination` list-of-types was widened by adding types `null` to media type `application/json` of response `200`
  - response property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/tools/items/tool/active_revision/anyOf[subschema #1: ToolRevisionResponse]/transfer_target/anyOf[subschema #1: TransferTargetView]/destination` list-of-types was widened by adding types `null` to media type `application/json` of response `422`
  - removed the optional property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/system_prompt` from the response with the `200` status
  - removed the optional property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/system_prompt` from the response with the `422` status
  - removed the optional property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/tools/items/tool_revision_id` from the response with the `200` status
  - removed the optional property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/tools/items/tool_revision_id` from the response with the `422` status
  - added the new `max` enum value to the `revision/anyOf[subschema #1: WorkflowRevisionResponse]/analyzer_model_settings/anyOf[subschema #1: ModelChainEntry]/config/reasoning_effort/anyOf[subschema #1]/` response property for the response status `200`
  - added the new `max` enum value to the `revision/anyOf[subschema #1: WorkflowRevisionResponse]/analyzer_model_settings/anyOf[subschema #1: ModelChainEntry]/config/reasoning_effort/anyOf[subschema #1]/` response property for the response status `422`
  - added the new `max` enum value to the `revision/anyOf[subschema #1: WorkflowRevisionResponse]/router_model_settings/anyOf[subschema #1: ModelChainEntry]/config/reasoning_effort/anyOf[subschema #1]/` response property for the response status `200`
  - added the new `max` enum value to the `revision/anyOf[subschema #1: WorkflowRevisionResponse]/router_model_settings/anyOf[subschema #1: ModelChainEntry]/config/reasoning_effort/anyOf[subschema #1]/` response property for the response status `422`
  - added the new `minimal` enum value to the `revision/anyOf[subschema #1: WorkflowRevisionResponse]/analyzer_model_settings/anyOf[subschema #1: ModelChainEntry]/config/reasoning_effort/anyOf[subschema #1]/` response property for the response status `200`
  - added the new `minimal` enum value to the `revision/anyOf[subschema #1: WorkflowRevisionResponse]/analyzer_model_settings/anyOf[subschema #1: ModelChainEntry]/config/reasoning_effort/anyOf[subschema #1]/` response property for the response status `422`
  - added the new `minimal` enum value to the `revision/anyOf[subschema #1: WorkflowRevisionResponse]/router_model_settings/anyOf[subschema #1: ModelChainEntry]/config/reasoning_effort/anyOf[subschema #1]/` response property for the response status `200`
  - added the new `minimal` enum value to the `revision/anyOf[subschema #1: WorkflowRevisionResponse]/router_model_settings/anyOf[subschema #1: ModelChainEntry]/config/reasoning_effort/anyOf[subschema #1]/` response property for the response status `422`
  - added the new optional `header` request parameter `x-feather-client`
  - added the new optional request property `base_version`
  - added the non-success response with the status `409`
  - added the optional property `blocking_error_count` to the response with the `200` status
  - added the optional property `blocking_error_count` to the response with the `422` status
  - added the optional property `graph_version` to the response with the `200` status
  - added the optional property `graph_version` to the response with the `422` status
  - added the optional property `retry_after` to the response with the `400` status
  - added the optional property `retry_after` to the response with the `401` status
  - added the optional property `retry_after` to the response with the `404` status
  - added the optional property `retryable` to the response with the `400` status
  - added the optional property `retryable` to the response with the `401` status
  - added the optional property `retryable` to the response with the `404` status
  - added the optional property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/executable_graph` to the response with the `200` status
  - added the optional property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/executable_graph` to the response with the `422` status
  - added the optional property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/graph_version` to the response with the `200` status
  - added the optional property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/graph_version` to the response with the `422` status
  - added the optional property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/tools/items/tool/active_revision/anyOf[subschema #1: ToolRevisionResponse]/compatibility` to the response with the `200` status
  - added the optional property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/tools/items/tool/active_revision/anyOf[subschema #1: ToolRevisionResponse]/compatibility` to the response with the `422` status
  - added the optional property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/tools/items/tool/active_revision/anyOf[subschema #1: ToolRevisionResponse]/transfer_target/anyOf[subschema #1: TransferTargetView]/destination_source` to the response with the `200` status
  - added the optional property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/tools/items/tool/active_revision/anyOf[subschema #1: ToolRevisionResponse]/transfer_target/anyOf[subschema #1: TransferTargetView]/destination_source` to the response with the `422` status
  - added the optional property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/warnings` to the response with the `200` status
  - added the optional property `revision/anyOf[subschema #1: WorkflowRevisionResponse]/warnings` to the response with the `422` status
  - added the optional property `validation/blocking_error_count` to the response with the `200` status
  - …1 more

---

[Operation](https://skmtc.dev/oneloop-hq/apis/feather-api/docs/v1/workflows/revisions/:revision_id/graph/put.md) · [API](https://skmtc.dev/oneloop-hq/apis/feather-api.md) · [Page](https://skmtc.dev/oneloop-hq/apis/feather-api/changes/v1/workflows/revisions/:revision_id/graph/put)
