---
title: "Update a blueprint"
method: PUT
path: "/api/blueprints/{id}"
tags: ["Blueprints"]
---

# Update a blueprint

`PUT /api/blueprints/{id}`

Updates blueprint metadata or draft visual state. API keys need the `blueprints:write` scope. Active blueprints can reject edits; stop the blueprint first if the product requires a safer edit flow.

## Request body

- UpdateBlueprint
  - `name` string
  - `visual` unknown

## Response `200`

Updated blueprint.

- Blueprint
  - `id` string, uuid, required
  - `name` string, required
  - `status` 'draft' | 'running' | 'error' | 'stopped', required
  - `deploymentId` string, nullable
  - `visual` unknown
  - `nodeStates` unknown
  - `error` string, nullable
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `401` — Missing, invalid, revoked, or expired credentials.
- `403` — Credential is valid but cannot perform this action.
- `404` — Resource was not found or does not belong to the authenticated account.

---

[API](https://skmtc.net/carboncopyinc/apis/blueprints-api.md) · [All operations](https://skmtc.net/carboncopyinc/apis/blueprints-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/carboncopyinc/blueprints-api/revisions/821dba6e3373/schema)
