Skip to main content

Create a Domain Application

POST 

/domain_applications

To create a new domain application, you send a POST request to the domain application resource.

Permissions

The API token must include the following scopes: Voice.

Request

Body

required

    oneOf

    call_handlerstringrequired

    Specifies that this domain application uses a Relay topic handler

    Possible values: [relay_topic]

    call_relay_topicstringrequired

    A string representing the Relay topic to forward incoming calls to.

    Example: office
    call_relay_topic_status_callback_urlstring

    A string representing a URL to send status change messages to.

    Example: https://myapplication/handle_relay_callbacks
    namestringrequired

    A string representing the friendly name for this domain application.

    Example: Test App
    identifierstringrequired

    A string representing the identifier portion of the domain application. Must be unique across your project. Must be letters, numbers, and dash only.

    Example: test-id
    ip_auth_enabledboolean

    Whether the domain application will enforce IP authentication for incoming requests.

    Example: true
    ip_authstring[]

    A list containing whitelisted IP addresses and IP blocks used if ip_auth_enabled is true.

    Example: ["8.8.8.8","4.4.4.4"]
    encryptionstring

    A string representing whether connections to this domain application require encryption or if encryption is optional. Encryption will always be used if possible. Valid values are optional and required.

    Example: required
    codecsstring[]

    A list of codecs this domain application will support. Currently supported values are OPUS, G722, PCMU, PCMA, VP8, and H264. At least one value must be supplied.

    Example: ["PCMU","PCMA"]
    ciphersstring[]

    A list of encryption ciphers this domain application will support. Currently supported values are AEAD_AES_256_GCM_8, AES_256_CM_HMAC_SHA1_80, AES_CM_128_HMAC_SHA1_80, AES_256_CM_HMAC_SHA1_32, and AES_CM_128_HMAC_SHA1_32. At least one value must be supplied.

    Example: ["AEAD_AES_256_GCM_8"]

Responses

CREATED

Schema

    iduuidrequired

    The unique identifier of the domain application on SignalWire. This can be used to update or delete the application programmatically.

    typestring

    A string representation of the type of object this record is.

    Example: domain_application
    domainstring

    A string representation of the subdomain for this application.

    Example: your-space-test_id
    namestringrequired

    A string representing the friendly name for this domain application.

    Example: Test App
    identifierstringrequired

    A string representing the identifier portion of the domain application. Must be unique across your project. Must be letters, numbers, and dash only.

    Example: test-id
    ip_auth_enabledboolean

    Whether the domain application will enforce IP authentication for incoming requests.

    Example: true
    ip_authstring[]

    A list containing whitelisted IP addresses and IP blocks used if ip_auth_enabled is true.

    Example: ["8.8.8.8","4.4.4.4"]
    call_handlerstringrequired

    A string representing how this domain application handles calls. Valid values are relay_context, relay_topic, relay_application, laml_webhooks, laml_application, video_room, relay_script, dialogflow, ai_agent, and call_flow.

    Example: relay_application
    call_request_urlstring

    A string representing the LaML URL to access when a call is received. This is only used (and required) when call_handler is set to laml_webhooks.

    Example: null
    call_request_methodstring

    A string representing the HTTP method to use with call_request_url. Valid values are GET and POST. This is only used (and required) when call_handler is set to laml_webhooks.

    Example: POST
    call_fallback_urlstring

    A string representing the LaML URL to access when the call to call_request_url fails. This is only used (and required) when call_handler is set to laml_webhooks.

    Example: null
    call_fallback_methodstring

    A string representing the HTTP method to use with call_fallback_url. Valid values are GET and POST. This is only used (and required) when call_handler is set to laml_webhooks.

    Example: POST
    call_status_callback_urlstring

    A string representing a URL to send status change messages to. This is only used (and required) when call_handler is set to laml_webhooks.

    Example: null
    call_status_callback_methodstring

    A string representing the HTTP method to use with call_status_callback_url. Valid values are GET and POST. This is only used (and required) when call_handler is set to laml_webhooks.

    Example: POST
    call_relay_topicstring

    A string representing the Relay topic to forward incoming calls to. This is only used (and required) when call_handler is set to relay_topic. Alias of call_relay_application. If both are sent, call_relay_application takes precedence.

    Example: office
    call_relay_topic_status_callback_urlstring

    A string representing a URL to send status change messages to. This is only used (and required) when call_handler is set to relay_topic.

    Example: https://myapplication/handle_relay_callbacks
    call_relay_contextstringdeprecated

    A string representing the Relay context to forward incoming calls to. This is only used (and required) when call_handler is set to relay_context. Alias of call_relay_application. If both are sent, call_relay_application takes precedence.

    Example: office
    call_relay_context_status_callback_urlstringdeprecated

    A string representing a URL to send status change messages to. This is only used (and required) when call_handler is set to relay_context.

    Example: https://myapplication/handle_relay_callbacks
    call_relay_applicationstring

    A string representing the Relay Application to forward incoming calls to. This is only used (and required) when call_handler is set to relay_application. Alias of call_relay_context. If both are sent, call_relay_application takes precedence.

    Example: null
    call_relay_script_urlstring

    A string representing the URL of the Relay script to execute when a call is received. This is only used (and required) when call_handler is set to relay_script.

    Example: null
    call_laml_application_idstring

    A string representing the ID of the LaML application to forward incoming calls to. This is only used (and required) when call_handler is set to laml_application.

    Example: null
    call_video_room_iduuid

    A string representing the ID of the Video Room to forward incoming calls to. This is only used (and required) when call_handler is set to video_room.

    Example: fe4093d9-58c2-4931-b4b9-5679f82652c6
    call_dialogflow_agent_iduuid

    A string representing the ID of the Dialogflow Agent to forward incoming calls to. This is only used (and required) when call_handler is set to dialogflow.

    Example: fe4093d9-58c2-4931-b4b9-5679f82652c6
    call_ai_agent_iduuid

    A string representing the ID of the AI Agent to forward incoming calls to. This is only used (and required) when call_handler is set to ai_agent.

    Example: fe4093d9-58c2-4931-b4b9-5679f82652c6
    call_flow_iduuid

    A string representing the ID of the Call Flow to forward incoming calls to. This is only used (and required) when call_handler is set to call_flow.

    Example: fe4093d9-58c2-4931-b4b9-5679f82652c6
    call_flow_versionstring

    A string representing the version of your Call Flow you'd like to use. Valid options are working_copy or current_deployed. This is only used when call_handler is set to call_flow.

    Example: working_copy
    encryptionstring

    A string representing whether connections to this domain application require encryption or if encryption is optional. Encryption will always be used if possible. Valid values are optional and required.

    Example: required
    codecsstring[]

    A list of codecs this domain application will support. Currently supported values are: OPUS, G722, PCMU, PCMA, VP8, and H264. At least one value must be supplied.

    Example: ["PCMU","PCMA"]
    ciphersstring[]

    A list of encryption ciphers this domain application will support. Currently supported values are: AEAD_AES_256_GCM_8, AES_256_CM_HMAC_SHA1_80, AES_CM_128_HMAC_SHA1_80, AES_256_CM_HMAC_SHA1_32, and AES_CM_128_HMAC_SHA1_32. At least one value must be supplied.

    Example: ["AEAD_AES_256_GCM_8"]