Merges the fields you send over the latest version and validates the whole flow again. If the latest version is published, the change is saved as a new draft at the next version number. Top-level arrays such as nodes and tools are replaced whole, so send the complete list.
Request#
Path parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
conversation_flow_id |
string | Yes | The flow. |
Body#
Any field of Create conversation flow, all optional.
Example request#
curl -X PATCH "https://api.tried.com.au/update-conversation-flow/conversation_flow_2c3d4e5f6a7b8c9d0e1f2a3b" \
-H "Authorization: Bearer $TRIED_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"global_prompt": "You are the receptionist for Bright Dental in Sydney. Keep replies short.",
"flex_mode": true
}'const res = await fetch("https://api.tried.com.au/update-conversation-flow/conversation_flow_2c3d4e5f6a7b8c9d0e1f2a3b", {
method: "PATCH",
headers: {
Authorization: `Bearer ${process.env.TRIED_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"global_prompt": "You are the receptionist for Bright Dental in Sydney. Keep replies short.",
"flex_mode": true
}),
});
const data = await res.json();import os, requests
res = requests.patch(
"https://api.tried.com.au/update-conversation-flow/conversation_flow_2c3d4e5f6a7b8c9d0e1f2a3b",
headers={"Authorization": f"Bearer {os.environ['TRIED_API_KEY']}"},
json={
"global_prompt": "You are the receptionist for Bright Dental in Sydney. Keep replies short.",
"flex_mode": True,
},
)
data = res.json()Response#
200 OK with the updated flow.
Errors#
| Status | When |
|---|---|
400 |
Validation failed, duplicate node IDs, start_node_id is not a node, the prompt is over the limit, or a knowledge base ID does not exist. |
401 |
Missing or invalid API key. |
403 |
The key's IP allowlist or scopes reject the request. This route needs the agents scope. |
404 |
The flow does not exist. |
429 |
Rate limit exceeded. See Rate limits. |
See Errors for the body format.