create

View as MarkdownOpen in Claude

Create a new SWML script resource.

Request

namestringRequired
Display name of the SWML Script
contentsstringRequired
The contents of the SWML script.
status_callback_urlstringOptionalformat: "uri"
URL to send status callbacks to

Response

idstringRequiredformat: "uuid"
Unique ID of the SWML Script.
project_idstringRequiredformat: "uuid"
Unique ID of the Project.
display_namestringRequired
Display name of the SWML Script Fabric Resource
typeenumRequired
Type of the Fabric Resource
Allowed values:
created_atdatetimeRequired
Date and time when the resource was created.
updated_atdatetimeRequired
Date and time when the resource was updated.
swml_scriptobjectRequired
SWML Script data.

Response Example

Response
1{
2 "id": "993ed018-9e79-4e50-b97b-984bd5534095",
3 "project_id": "1313fe58-5e14-4c11-bbe7-6fdfa11fe780",
4 "display_name": "Welcome Script",
5 "type": "swml_script",
6 "created_at": "2024-05-06T12:20:00Z",
7 "updated_at": "2024-05-06T12:20:00Z",
8 "swml_script": {
9 "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
10 "contents": "{ \"version\": \"1.0.0\", \"sections\": { \"main\": [{ \"play\": { \"url\": \"https://cdn.signalwire.com/swml/audio.mp3\" }}]}};",
11 "request_url": "https://example.com/swml_script",
12 "display_name": "Booking Assistant",
13 "status_callback_url": "https://website.com/status",
14 "status_callback_method": "POST"
15 }
16}

Example

1import { RestClient } from "@signalwire/sdk";
2
3const client = new RestClient({
4 project: "your-project-id",
5 token: "your-api-token",
6 host: "your-space.signalwire.com",
7});
8
9const result = await client.fabric.swmlScripts.create({
10 name: "my-item",
11});
12console.log(`Created: ${result.id}`);