update

View as MarkdownOpen in Claude

Replace a call flow resource. Uses PUT for full replacement.

Path parameters

idstringRequiredformat: "uuid"
Unique ID of a Call Flow.

Request

document_versionintegerRequired
The current revision of the call flow. Must equal the call flow's existing `document_version + 1`.
flow_dataobjectRequired
Call Flow Builder state, stored as an opaque JSON object.
relaymlobjectRequired
The calling SWML document this Call Flow should execute. Uses [calling SWML methods](/docs/swml/reference/calling).
titlestringOptional
The name of the Call Flow

Response

idstringRequiredformat: "uuid"
Unique ID of the Call Flow.
project_idstringRequiredformat: "uuid"
Unique ID of the Project.
display_namestringRequired
Display name of the Call Flow Fabric Resource
typeenumRequired
Type of the Fabric Resource
created_atdatetimeRequired
Date and time when the resource was created.
updated_atdatetimeRequired
Date and time when the resource was updated.
call_flowobjectRequired
Call Flow data.

Response Example

Response
{
"id": "993ed018-9e79-4e50-b97b-984bd5534095",
"project_id": "1313fe58-5e14-4c11-bbe7-6fdfa11fe780",
"display_name": "Welcome Call Flow",
"type": "call_flow",
"created_at": "2024-05-06T12:20:00Z",
"updated_at": "2024-05-06T12:25:00Z",
"call_flow": {
"id": "993ed018-9e79-4e50-b97b-984bd5534095",
"title": "Welcome Call Flow",
"flow_data": {},
"relayml": {
"sections": {
"main": [
{
"play": {
"url": "https://cdn.signalwire.com/swml/audio.mp3"
}
}
]
},
"version": "1.0.0"
},
"document_version": 1
}
}

Example

import { RestClient } from "@signalwire/sdk";
const client = new RestClient({
project: "your-project-id",
token: "your-api-token",
host: "your-space.signalwire.com"
});
const updated = await client.fabric.callFlows.update("flow-id", {
title: "Updated IVR Flow",
});
console.log(`Updated: ${updated.display_name}`);