Create SWML Script

View as MarkdownOpen in Claude
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](/docs/apis/rest/swml-webhook/create-swml-webhook) when your server must generate different SWML for each request, or [Create cXML Script](/docs/apis/rest/cxml-scripts/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](/docs/platform/your-signalwire-api-space).

Authentication

AuthorizationBasic
SignalWire Basic Authentication using Project ID and API Token. The client sends HTTP requests with the Authorization header containing the word Basic followed by a space and a base64-encoded string of project_id:token. The project ID will be used as the username and the API token as the password. Example: ``` Authorization: Basic base64(project_id:token) ```

Request

This endpoint expects an object.
Create Calling ScriptobjectRequired
Request body to create a SWML Script that handles inbound or outbound calls.
OR
Create Messaging ScriptobjectRequired
Request body to create a SWML Script that handles inbound SMS or MMS messages.

Response

The request has succeeded.
idstringformat: "uuid"
Unique ID of the SWML Script.
project_idstringformat: "uuid"
Unique ID of the Project.
display_namestring
Display name of the SWML Script Fabric Resource
typeenum
Type of the Fabric Resource
created_atdatetime
Date and time when the resource was created.
updated_atdatetime
Date and time when the resource was updated.
swml_scriptobject
SWML Script data.

Errors

401
Unauthorized Error
404
Not Found Error
422
Unprocessable Entity Error
500
Internal Server Error