---
title: "Update graph version"
method: PUT
path: "/api/graphs/{graph_id}"
tags: ["v1", "graphs"]
---

# Update graph version

`PUT /api/graphs/{graph_id}`

## Path parameters

- `graph_id` string, required

## Request body

- Graph — Creatable graph model used in API create/update endpoints.
  - `id` string
  - `version` integer
  - `is_active` boolean
  - `name` string, required
  - `description` string, required
  - `instructions` string, nullable
  - `recommended_schedule_cron` string, nullable
  - `forked_from_id` string, nullable
  - `forked_from_version` integer, nullable
  - `nodes` Node[]
    - `id` string
    - `block_id` string, required
    - `input_default` object
    - `metadata` object
    - `input_links` Link[]
      - `id` string
      - `source_id` string, required
      - `sink_id` string, required
      - `source_name` string, required
      - `sink_name` string, required
      - `is_static` boolean
    - `output_links` Link[]
      - `id` string
      - `source_id` string, required
      - `sink_id` string, required
      - `source_name` string, required
      - `sink_name` string, required
      - `is_static` boolean
  - `links` Link[]
    - `id` string
    - `source_id` string, required
    - `sink_id` string, required
    - `source_name` string, required
    - `sink_name` string, required
    - `is_static` boolean
  - `sub_graphs` BaseGraphInput[]
    - `id` string
    - `version` integer
    - `is_active` boolean
    - `name` string, required
    - `description` string, required
    - `instructions` string, nullable
    - `recommended_schedule_cron` string, nullable
    - `forked_from_id` string, nullable
    - `forked_from_version` integer, nullable
    - `nodes` Node[]
      - `id` string
      - `block_id` string, required
      - `input_default` object
      - `metadata` object
      - `input_links` Link[]
        - `id` string
        - `source_id` string, required
        - `sink_id` string, required
        - `source_name` string, required
        - `sink_name` string, required
        - `is_static` boolean
      - `output_links` Link[]
        - `id` string
        - `source_id` string, required
        - `sink_id` string, required
        - `source_name` string, required
        - `sink_name` string, required
        - `is_static` boolean
    - `links` Link[]
      - `id` string
      - `source_id` string, required
      - `sink_id` string, required
      - `source_name` string, required
      - `sink_name` string, required
      - `is_static` boolean

## Response `200`

Successful Response

- UpdateGraphResponse — Response for creating/activating a new graph version. Carries the new graph version plus any webhook presets that were left pinned to their old version because the new version's trigger block is incompatible and needs to be reconfigured.
  - `graph` GraphModel, required — Full graph model representing an existing graph from the database. This is the primary model for working with persisted graphs. Includes all graph data (nodes, links, sub_graphs) plus user ownership and timestamps. Provides computed fields (input_schema, output_schema, etc.) used during set-up (frontend) and execution (backend). Inherits from: - `Graph`: provides structure (nodes, links, sub_graphs) and computed schemas - `GraphMeta`: provides user_id, created_at for database records
    - `id` string
    - `version` integer
    - `is_active` boolean
    - `name` string, required
    - `description` string, required
    - `instructions` string, nullable
    - `recommended_schedule_cron` string, nullable
    - `forked_from_id` string, nullable
    - `forked_from_version` integer, nullable
    - `user_id` string, required
    - `created_at` string, date-time, required
    - `organization_id` string, nullable
    - `team_id` string, nullable
    - `nodes` NodeModel[]
      - `id` string
      - `block_id` string, required
      - `input_default` object
      - `metadata` object
      - `input_links` Link[]
        - `id` string
        - `source_id` string, required
        - `sink_id` string, required
        - `source_name` string, required
        - `sink_name` string, required
        - `is_static` boolean
      - `output_links` Link[]
        - `id` string
        - `source_id` string, required
        - `sink_id` string, required
        - `source_name` string, required
        - `sink_name` string, required
        - `is_static` boolean
      - `graph_id` string, required
      - `graph_version` integer, required
      - `webhook_id` string, nullable
    - `links` Link[]
      - `id` string
      - `source_id` string, required
      - `sink_id` string, required
      - `source_name` string, required
      - `sink_name` string, required
      - `is_static` boolean
    - `sub_graphs` BaseGraphOutput[]
      - `id` string
      - `version` integer
      - `is_active` boolean
      - `name` string, required
      - `description` string, required
      - `instructions` string, nullable
      - `recommended_schedule_cron` string, nullable
      - `forked_from_id` string, nullable
      - `forked_from_version` integer, nullable
      - `nodes` Node[]
        - `id` string
        - `block_id` string, required
        - `input_default` object
        - `metadata` object
        - `input_links` Link[]
          - `id` string
          - `source_id` string, required
          - `sink_id` string, required
          - `source_name` string, required
          - `sink_name` string, required
          - `is_static` boolean
        - `output_links` Link[]
          - `id` string
          - `source_id` string, required
          - `sink_id` string, required
          - `source_name` string, required
          - `sink_name` string, required
          - `is_static` boolean
      - `links` Link[]
        - `id` string
        - `source_id` string, required
        - `sink_id` string, required
        - `source_name` string, required
        - `sink_name` string, required
        - `is_static` boolean
      - `input_schema` object, required
      - `output_schema` object, required
      - `has_external_trigger` boolean, required
      - `has_human_in_the_loop` boolean, required
      - `has_sensitive_action` boolean, required
      - `trigger_setup_info` GraphTriggerInfo, required
        - `provider` string, required — Provider name for integrations. Can be any string value, including custom provider names.
        - `config_schema` object, required — Input schema for the trigger block
        - `credentials_input_name` string, nullable, required
    - `input_schema` object, required
    - `output_schema` object, required
    - `has_external_trigger` boolean, required
    - `has_human_in_the_loop` boolean, required
    - `has_sensitive_action` boolean, required
    - `trigger_setup_info` GraphTriggerInfo, required
      - `provider` string, required — Provider name for integrations. Can be any string value, including custom provider names.
      - `config_schema` object, required — Input schema for the trigger block
      - `credentials_input_name` string, nullable, required
    - `credentials_input_schema` object, required
  - `skipped_webhook_presets` SkippedWebhookPreset[]
    - `id` string, required
    - `name` string, required
    - `pinned_version` integer, required

## Other responses

- `401` — Authentication required
- `422` — Validation Error

---

[API](https://skmtc.net/significant-gravitas/apis/autogpt-agent-server.md) · [All operations](https://skmtc.net/significant-gravitas/apis/autogpt-agent-server/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/significant-gravitas/autogpt-agent-server/versions/382041c7ecb2/schema)
