SWML Scripts

Create SWML Script

Creates a resource that stores a calling or messaging SWML document in SignalWire. Use it for versioned instructions that can run without fetching content from your server; choose Create SWML webhook when your server must generate different SWML for each request, or Create cXML Script for cXML applications.

Permissions

The API token used to authenticate must have the following scope(s) enabled to make a successful request: Voice, Messaging, Fax, or Video.

Learn more about API scopes.

post/api/fabric/resources/swml_scripts

Request body

OR

Example request

{
  "name": "Welcome Script",
  "script_type": "calling",
  "contents": {
    "version": "1.0.0",
    "sections": {
      "main": [
        {
          "play": {
            "url": "https://cdn.signalwire.com/swml/audio.mp3"
          }
        }
      ]
    }
  },
  "status_callback_url": "https://example.com/status"
}

Response

The request has succeeded.

idstring uuid required

Universal Unique Identifier.

project_idstring uuid required

Universal Unique Identifier.

display_namestring required

Display name of the SWML Script Fabric Resource

type'swml_script' required

Type of the Fabric Resource

created_atstring date-time required

Date and time when the resource was created.

updated_atstring date-time required

Date and time when the resource was updated.

Example response

{
  "display_name": "Welcome Script",
  "type": "swml_script",
  "created_at": "2024-05-06T12:20:00Z",
  "updated_at": "2024-05-06T12:20:00Z",
  "swml_script": {
    "display_name": "Booking Assistant",
    "script_type": "calling",
    "request_url": "https://example.com/swml_script",
    "contents": {
      "version": "1.0.0",
      "sections": {
        "main": [
          {
            "play": {
              "url": "https://cdn.signalwire.com/swml/audio.mp3"
            }
          }
        ]
      }
    },
    "status_callback_url": "https://website.com/status",
    "status_callback_method": "POST"
  }
}

Changes