run

View as MarkdownOpen in Claude

Start the HTTP server to serve the SWML document.

Returns immediately when SWAIG_CLI_MODE=true is set, so the CLI testing tool can load the service without opening a port.

Parameters

host
string

Hostname to bind to. Defaults to the host passed to the constructor, or "0.0.0.0".

port
number

Port number to listen on. Defaults to the port passed to the constructor, which itself falls back to the PORT environment variable or 3000.

opts
object

Optional SSL/TLS overrides. Each field falls back to the matching value on the service instance.

opts.sslCert
string

Path to the SSL certificate file. When both sslCert and sslKey are resolved and sslEnabled is true, the server runs over HTTPS.

opts.sslKey
string

Path to the SSL private key file.

opts.sslEnabled
boolean

Override whether SSL/HTTPS is enabled for this run.

opts.domain
string

Domain name associated with the SSL certificate.

Returns

Promise<void>

Example

1import { SWMLService } from '@signalwire/sdk';
2
3const service = new SWMLService({ name: 'my-ivr', route: '/ivr' });
4service.addVerb('answer', {});
5service.addVerb('play', { url: 'https://example.com/greeting.mp3' });
6service.addVerb('hangup', {});
7
8await service.run('0.0.0.0', 8080);