> For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

# set_cxml_application

> Route inbound calls to an existing cXML application by ID.

[update]: /docs/server-sdks/reference/python/rest/phone-numbers/update

Route inbound calls on this phone number to an existing cXML (LAML) application by
its ID. The server auto-creates a `cxml_application` Fabric resource referencing the
application.

This is a typed wrapper over [`update`][update] that sets `call_handler` to
`laml_application` and populates `call_laml_application_id` for you.

## **Parameters**

<ParamField path="resource_id" type="str" required={true} toc={true}>
  ID of the phone number to bind.
</ParamField>

<ParamField path="application_id" type="str" required={true} toc={true}>
  ID of the cXML application to route calls to.
</ParamField>

<ParamField path="**extra" type="Any" toc={true}>
  Additional fields forwarded to `update`.
</ParamField>

## **Returns**

`dict` -- The updated phone number resource.

## **Example**

```python {9}
from signalwire.rest import RestClient

client = RestClient(
    project="your-project-id",
    token="your-api-token",
    host="your-space.signalwire.com",
)

client.phone_numbers.set_cxml_application(
    "phone-number-id",
    "cxml-application-id",
)
```