> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes.

# SignalWireRestTransportError

> Error raised when a REST request never reaches a response.

[rest-error]: /docs/server-sdks/reference/python/rest/rest-error

[request-options]: /docs/server-sdks/reference/python/rest/request-options

Raised when a REST request fails before the server responds: connection
refused, DNS failure, connection reset, TLS error, or a
[`RequestOptions`][request-options] timeout. Subclass of
[`SignalWireRestError`][rest-error], so one `except SignalWireRestError` clause
handles both HTTP errors and transport failures.

```python {1}
from signalwire.rest import SignalWireRestTransportError
```

## Properties

Inherits every property of `SignalWireRestError` with these values:

**`status_code`** `None`

Always `None`; no response was produced.

---

**`body`** `str`

The underlying transport error message.

---

**`url`** `str`

The full URL that was requested, including the query string.

---

**`method`** `str`

The HTTP method used.

---

**`headers`** `None`

Always `None`.

---

**`request_id`** `None`

Always `None`.

---

## Example

```python {9-14}
from signalwire.rest import RestClient, SignalWireRestError, SignalWireRestTransportError

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

try:
    client.phone_numbers.list()
except SignalWireRestTransportError as e:
    print(f"Could not reach SignalWire: {e.body}")
except SignalWireRestError as e:
    print(f"HTTP {e.status_code}: {e.body}")
```