> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://developer.icepanel.io/api-reference/flows/update/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developer.icepanel.io/_mcp/server. # Update PATCH https://api.icepanel.io/v1/landscapes/{landscapeId}/versions/{versionId}/flows/{flowId} Content-Type: application/json Reference: https://developer.icepanel.io/api-reference/flows/update ## Authentication - `X-API-Key` header (required) — API key authentication - `Authorization` header (bearer token, required) — Bearer token authentication ## Request ### Path parameters - `landscapeId` (string, required) - `versionId` (string, required) - `flowId` (string, required) ### Body (application/json) This endpoint expects a FlowPartial. - `commit` (double, optional) - `index` (double, optional) - `labels` (map from string to string, optional) - `name` (string, optional) - `pinned` (boolean, optional) - `pinnedAt` (datetime, optional) - `pinnedIndex` (double, optional) - `showAllSteps` (boolean, optional) - `showConnectionNames` (boolean, optional) - `steps` (FlowPartialSteps, optional) ## Response ### 200 OK - `flow` (Flow, required) ## Errors ### 400 Bad Request Error Bad Request - `message` (string, required) - `code` (string, optional) - `errors` (list of string, optional) ### 401 Unauthorized Error Unauthorized - `message` (string, required) - `code` (string, optional) - `errors` (list of string, optional) ### 403 Forbidden Error Forbidden - `message` (string, required) - `code` (string, optional) - `errors` (list of string, optional) ### 404 Not Found Error Not Found - `message` (string, required) - `code` (string, optional) - `errors` (list of string, optional) ### 409 Conflict Error Conflict - `message` (string, required) - `code` (string, optional) - `errors` (list of string, optional) ### 422 Unprocessable Entity Error Unprocessable Entity - `message` (string, required) - `code` (string, optional) - `errors` (list of string, optional) ### 429 Too Many Requests Error Resource Exhausted - `message` (string, required) - `code` (string, optional) - `errors` (list of string, optional) ### 500 Internal Server Error Internal Server - `message` (string, required) - `code` (string, optional) - `errors` (list of string, optional) ### 503 Service Unavailable Error Service Unavailable - `message` (string, required) - `code` (string, optional) - `errors` (list of string, optional) ## Types ### FlowPartialSteps - `$add` (map from string to FlowStep, optional) - `$remove` (list of string, optional) - `$replace` (map from string to FlowStep, optional) - `$update` (map from string to FlowStepPartial, optional) ### Flow - `commit` (double, required) - `index` (double, required) - `labels` (map from string to string, required) - `name` (string, required) - `pinned` (boolean, required) - `showAllSteps` (boolean, required) - `showConnectionNames` (boolean, required) - `steps` (map from string to FlowStep, required) - `diagramId` (string, required) - `handleId` (string, required) - `createdAt` (datetime, required) - `createdBy` (enum, required) - Allowed values: `user`, `api-key`, `notification-key`, `service` - `createdById` (string, required) - `id` (string, required) - `landscapeId` (string, required) - `updatedAt` (datetime, required) - `updatedBy` (enum, required) - Allowed values: `user`, `api-key`, `notification-key`, `service` - `updatedById` (string, required) - `version` (double, required) - `versionId` (string, required) - `pinnedAt` (datetime, optional) - `pinnedIndex` (double, optional) - `deletedAt` (datetime, optional) - `deletedBy` (enum, optional) - Allowed values: `user`, `api-key`, `notification-key`, `service` - `deletedById` (string, optional) - `latestEntityId` (string, optional) - `viewedAt` (datetime, optional) - `viewedBy` (enum, optional) - Allowed values: `user`, `api-key`, `notification-key`, `service` - `viewedById` (string, optional) ### FlowStep - `description` (string, required) — Descriptive name for the flow step - `flowId` (string, required, nullable) - `id` (string, required) - `index` (double, required) - `originId` (string, required, nullable) - `parentId` (string, required, nullable) - `paths` (map from string to FlowStepPath, required, nullable) - `targetId` (string, required, nullable) - `type` (enum, required, nullable) — Type of flow step - deprecated values: reply - Allowed values: `alternate-path`, `subflow`, `outgoing`, `parallel-path`, `reply`, `self-action`, `introduction`, `information`, `conclusion` - `viaId` (string, required, nullable) - `detailedDescription` (string, optional) — Long description for the flow step ### FlowStepPartial - `description` (string, optional) — Descriptive name for the flow step - `detailedDescription` (string, optional) — Long description for the flow step - `flowId` (string, optional, nullable) - `id` (string, optional) - `index` (double, optional) - `originId` (string, optional, nullable) - `parentId` (string, optional, nullable) - `paths` (map from string to FlowStepPath, optional, nullable) - `targetId` (string, optional, nullable) - `type` (enum, optional, nullable) — Type of flow step - deprecated values: reply - Allowed values: `alternate-path`, `subflow`, `outgoing`, `parallel-path`, `reply`, `self-action`, `introduction`, `information`, `conclusion` - `viaId` (string, optional, nullable) ### FlowStepPath - `id` (string, required) - `index` (double, required) - `name` (string, required) ## Examples **Request** ```json {} ``` **Response** ```json { "flow": { "commit": 1.1, "index": 1.1, "labels": {}, "name": "string", "pinned": true, "showAllSteps": true, "showConnectionNames": true, "steps": {}, "diagramId": "string", "handleId": "string", "createdAt": "2024-01-15T09:30:00Z", "createdBy": "user", "createdById": "string", "id": "string", "landscapeId": "string", "updatedAt": "2024-01-15T09:30:00Z", "updatedBy": "user", "updatedById": "string", "version": 1.1, "versionId": "string", "pinnedAt": "2024-01-15T09:30:00Z", "pinnedIndex": 1.1, "deletedAt": "2024-01-15T09:30:00Z", "deletedBy": "user", "deletedById": "string", "latestEntityId": "string", "viewedAt": "2024-01-15T09:30:00Z", "viewedBy": "user", "viewedById": "string" } } ``` **SDK Code** ```python import requests url = "https://api.icepanel.io/v1/landscapes/landscapeId/versions/versionId/flows/flowId" payload = {} headers = { "X-API-Key": "", "Content-Type": "application/json" } response = requests.patch(url, json=payload, headers=headers) print(response.json()) ``` ```go package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api.icepanel.io/v1/landscapes/landscapeId/versions/versionId/flows/flowId" payload := strings.NewReader("{}") req, _ := http.NewRequest("PATCH", url, payload) req.Header.Add("X-API-Key", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```csharp using RestSharp; var client = new RestClient("https://api.icepanel.io/v1/landscapes/landscapeId/versions/versionId/flows/flowId"); var request = new RestRequest(Method.PATCH); request.AddHeader("X-API-Key", ""); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ```