# Web Cloud › Internet › Access › Modem › Network API

> Part of the OVHcloud developer hub. Index of every page and section: https://developers.eu.ovhcloud.com/llms.txt
> The Web Cloud product's sections: https://developers.eu.ovhcloud.com/reference/web-cloud/llms.txt
> Everything in one file: https://developers.eu.ovhcloud.com/llms-full.txt

> 13 operations of the OVHcloud API. Calls carry `authorization: Bearer $OVH_TOKEN`; the EU host is shown, Canada and the United States answer on api.ca.ovhcloud.com and api.us.ovhcloud.com.

Page: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/access/modem/network/

OpenAPI v1: https://api.eu.ovhcloud.com/1.0/__schemas/developer-hub-navigation/web-cloud/internet/access/modem/network.json?format=openapi3
OpenAPI v2: https://api.eu.ovhcloud.com/v2/__schemas/developer-hub-navigation/web-cloud/internet/access/modem/network.json?format=openapi3

## Operations

- `GET /xdsl/{serviceName}/modem/lan` — List the LANs of the modem
- `GET /xdsl/{serviceName}/modem/lan/{lanName}` — Get a LAN of the modem
- `PUT /xdsl/{serviceName}/modem/lan/{lanName}` — Update a LAN of the modem
- `GET /xdsl/{serviceName}/modem/lan/{lanName}/dhcp` — List the DHCP servers of a LAN
- `GET /xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}` — Get a DHCP server of a LAN
- `PUT /xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}` — Update a DHCP server of a LAN
- `GET /xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses` — List the DHCP static leases
- `POST /xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses` — Create a DHCP static lease
- `GET /xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses/{MACAddress}` — Get a DHCP static lease
- `PUT /xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses/{MACAddress}` — Update a DHCP static lease
- `DELETE /xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses/{MACAddress}` — Delete a DHCP static lease
- `GET /xdsl/{serviceName}/modem/connectedDevices` — List the devices connected to the modem
- `GET /xdsl/{serviceName}/modem/connectedDevices/{macAddress}` — Get a device connected to the modem

## List the LANs of the modem

`GET /1.0/xdsl/{serviceName}/modem/lan`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/access/modem/network/#get-xdsl-servicename-modem-lan

**Status:** Stable production version  
**IAM actions:** `xdsl:apiovh:modem/lan/get`

Returns the names of the LANs configured on the modem of the access.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | Service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/xdsl/{serviceName}/modem/lan" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/xdsl/{serviceName}/modem/lan")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/xdsl/{serviceName}/modem/lan");

print_r($result);
?>
```

## Get a LAN of the modem

`GET /1.0/xdsl/{serviceName}/modem/lan/{lanName}`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/access/modem/network/#get-xdsl-servicename-modem-lan-lanname

**Status:** Stable production version  
**IAM actions:** `xdsl:apiovh:modem/lan/get`

Returns the IP address, subnet mask and addressing type of a LAN of the modem.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `lanName` | path | string | yes | Lan name |
| `serviceName` | path | string | yes | Service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | xdsl.LAN | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `IPAddress` | ip |  | IP address (e.g., 192.0.2.0) |
| `addressingType` | xdsl.xdslModemConfig.AddressingTypeEnum |  | How the modem gets its LAN IP Address — one of `DHCP`, `Static` |
| `lanName` | string | read-only | Name of the LAN |
| `subnetMask` | ip |  | IP address (e.g., 192.0.2.0) |
| `taskId` | integer | read-only | ID of the ongoing todo (NULL if none) |

```json
{
  "IPAddress": "192.0.2.0",
  "addressingType": "DHCP",
  "lanName": "string",
  "subnetMask": "192.0.2.0",
  "taskId": 0
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/xdsl/{serviceName}/modem/lan/{lanName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/xdsl/{serviceName}/modem/lan/{lanName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/xdsl/{serviceName}/modem/lan/{lanName}");

print_r($result);
?>
```

## Update a LAN of the modem

`PUT /1.0/xdsl/{serviceName}/modem/lan/{lanName}`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/access/modem/network/#put-xdsl-servicename-modem-lan-lanname

**Status:** Stable production version  
**IAM actions:** `xdsl:apiovh:modem/lan/edit`

Changes the IP address, subnet mask and addressing type of a LAN of the modem.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `lanName` | path | string | yes | Lan name |
| `serviceName` | path | string | yes | Service name |

### Request body (required)

Type: `xdsl.LAN`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `IPAddress` | ip |  | IP address (e.g., 192.0.2.0) |
| `addressingType` | xdsl.xdslModemConfig.AddressingTypeEnum |  | How the modem gets its LAN IP Address — one of `DHCP`, `Static` |
| `lanName` | string | read-only | Name of the LAN |
| `subnetMask` | ip |  | IP address (e.g., 192.0.2.0) |
| `taskId` | integer | read-only | ID of the ongoing todo (NULL if none) |

```json
{
  "IPAddress": "192.0.2.0",
  "addressingType": "DHCP",
  "subnetMask": "192.0.2.0"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | — | successful operation |

### Example

```bash
curl -X PUT \
  "https://api.eu.ovhcloud.com/1.0/xdsl/{serviceName}/modem/lan/{lanName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: xdsl.LAN
result = client.put("/xdsl/{serviceName}/modem/lan/{lanName}",
	IPAddress = None, # IP address (e.g., 192.0.2.0) (type: ip)
	addressingType = None, # How the modem gets its LAN IP Address (type: xdsl.xdslModemConfig.AddressingTypeEnum)
	subnetMask = None, # IP address (e.g., 192.0.2.0) (type: ip)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: xdsl.LAN
$result = $ovh->put("/xdsl/{serviceName}/modem/lan/{lanName}", array(
	IPAddress => null, // IP address (e.g., 192.0.2.0) (type: ip)
	addressingType => null, // How the modem gets its LAN IP Address (type: xdsl.xdslModemConfig.AddressingTypeEnum)
	subnetMask => null, // IP address (e.g., 192.0.2.0) (type: ip)
));

print_r($result);
?>
```

## List the DHCP servers of a LAN

`GET /1.0/xdsl/{serviceName}/modem/lan/{lanName}/dhcp`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/access/modem/network/#get-xdsl-servicename-modem-lan-lanname-dhcp

**Status:** Stable production version  
**IAM actions:** `xdsl:apiovh:modem/lan/dhcp/get`

Returns the names of the DHCP servers configured on a LAN of the modem.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `lanName` | path | string | yes | Lan name |
| `serviceName` | path | string | yes | Service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/xdsl/{serviceName}/modem/lan/{lanName}/dhcp" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/xdsl/{serviceName}/modem/lan/{lanName}/dhcp")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/xdsl/{serviceName}/modem/lan/{lanName}/dhcp");

print_r($result);
?>
```

## Get a DHCP server of a LAN

`GET /1.0/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/access/modem/network/#get-xdsl-servicename-modem-lan-lanname-dhcp-dhcpname

**Status:** Stable production version  
**IAM actions:** `xdsl:apiovh:modem/lan/dhcp/get`

Returns the state, address range, subnet mask, gateway, DNS servers, domain name and lease time of a DHCP server of the modem.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `dhcpName` | path | string | yes | Dhcp name |
| `lanName` | path | string | yes | Lan name |
| `serviceName` | path | string | yes | Service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | xdsl.DHCP | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `defaultGateway` | ip |  | IP address (e.g., 192.0.2.0) |
| `dhcpName` | string | read-only | Name of the DHCP |
| `domainName` | string |  | Domain name provided to the clients |
| `endAddress` | ip |  | IP address (e.g., 192.0.2.0) |
| `leaseTime` | integer |  | Lease time in seconds of client assigned address (-1 means infinite) |
| `primaryDNS` | ip |  | IP address (e.g., 192.0.2.0) |
| `secondaryDNS` | ip |  | Secondary DNS servers to be given to the clients |
| `serverEnabled` | boolean |  | State of the DHCP server of the modem |
| `startAddress` | ip |  | IP address (e.g., 192.0.2.0) |
| `subnetMask` | ip |  | IP address (e.g., 192.0.2.0) |
| `taskId` | integer | read-only | ID of the ongoing todo (NULL if none) |

```json
{
  "defaultGateway": "192.0.2.0",
  "dhcpName": "string",
  "domainName": "string",
  "endAddress": "192.0.2.0",
  "leaseTime": 0,
  "primaryDNS": "192.0.2.0",
  "secondaryDNS": "192.0.2.0",
  "serverEnabled": true,
  "startAddress": "192.0.2.0",
  "subnetMask": "192.0.2.0",
  "taskId": 0
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}");

print_r($result);
?>
```

## Update a DHCP server of a LAN

`PUT /1.0/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/access/modem/network/#put-xdsl-servicename-modem-lan-lanname-dhcp-dhcpname

**Status:** Stable production version  
**IAM actions:** `xdsl:apiovh:modem/lan/dhcp/edit`

Changes the state, address range, subnet mask, gateway, DNS servers, domain name or lease time of a DHCP server of the modem.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `dhcpName` | path | string | yes | Dhcp name |
| `lanName` | path | string | yes | Lan name |
| `serviceName` | path | string | yes | Service name |

### Request body (required)

Type: `xdsl.DHCP`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `defaultGateway` | ip |  | IP address (e.g., 192.0.2.0) |
| `dhcpName` | string | read-only | Name of the DHCP |
| `domainName` | string |  | Domain name provided to the clients |
| `endAddress` | ip |  | IP address (e.g., 192.0.2.0) |
| `leaseTime` | integer |  | Lease time in seconds of client assigned address (-1 means infinite) |
| `primaryDNS` | ip |  | IP address (e.g., 192.0.2.0) |
| `secondaryDNS` | ip |  | Secondary DNS servers to be given to the clients |
| `serverEnabled` | boolean |  | State of the DHCP server of the modem |
| `startAddress` | ip |  | IP address (e.g., 192.0.2.0) |
| `subnetMask` | ip |  | IP address (e.g., 192.0.2.0) |
| `taskId` | integer | read-only | ID of the ongoing todo (NULL if none) |

```json
{
  "defaultGateway": "192.0.2.0",
  "domainName": "string",
  "endAddress": "192.0.2.0",
  "leaseTime": 0,
  "primaryDNS": "192.0.2.0",
  "secondaryDNS": "192.0.2.0",
  "serverEnabled": true,
  "startAddress": "192.0.2.0",
  "subnetMask": "192.0.2.0"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | — | successful operation |

### Example

```bash
curl -X PUT \
  "https://api.eu.ovhcloud.com/1.0/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: xdsl.DHCP
result = client.put("/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}",
	defaultGateway = None, # IP address (e.g., 192.0.2.0) (type: ip)
	domainName = None, # Domain name provided to the clients (type: string)
	endAddress = None, # IP address (e.g., 192.0.2.0) (type: ip)
	leaseTime = None, # Lease time in seconds of client assigned address (-1 means infinite) (type: integer)
	primaryDNS = None, # IP address (e.g., 192.0.2.0) (type: ip)
	secondaryDNS = None, # Secondary DNS servers to be given to the clients (type: ip, nullable)
	serverEnabled = None, # State of the DHCP server of the modem (type: boolean)
	startAddress = None, # IP address (e.g., 192.0.2.0) (type: ip)
	subnetMask = None, # IP address (e.g., 192.0.2.0) (type: ip)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: xdsl.DHCP
$result = $ovh->put("/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}", array(
	defaultGateway => null, // IP address (e.g., 192.0.2.0) (type: ip)
	domainName => null, // Domain name provided to the clients (type: string)
	endAddress => null, // IP address (e.g., 192.0.2.0) (type: ip)
	leaseTime => null, // Lease time in seconds of client assigned address (-1 means infinite) (type: integer)
	primaryDNS => null, // IP address (e.g., 192.0.2.0) (type: ip)
	secondaryDNS => null, // Secondary DNS servers to be given to the clients (type: ip, nullable)
	serverEnabled => null, // State of the DHCP server of the modem (type: boolean)
	startAddress => null, // IP address (e.g., 192.0.2.0) (type: ip)
	subnetMask => null, // IP address (e.g., 192.0.2.0) (type: ip)
));

print_r($result);
?>
```

## List the DHCP static leases

`GET /1.0/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/access/modem/network/#getDHCPStaticAddresses

**Status:** Stable production version  
**IAM actions:** `xdsl:apiovh:modem/lan/dhcp/DHCPStaticAddresses/get`

Returns the MAC addresses of the devices with a static lease on a DHCP server of the modem.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `dhcpName` | path | string | yes | Dhcp name |
| `lanName` | path | string | yes | Lan name |
| `serviceName` | path | string | yes | Service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses");

print_r($result);
?>
```

## Create a DHCP static lease

`POST /1.0/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/access/modem/network/#addDHCPStaticAddress

**Status:** Stable production version  
**IAM actions:** `xdsl:apiovh:modem/lan/dhcp/DHCPStaticAddresses/create`

Reserves an IP address for a device MAC address on a DHCP server of the modem. Returns the created lease.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `dhcpName` | path | string | yes | Dhcp name |
| `lanName` | path | string | yes | Lan name |
| `serviceName` | path | string | yes | Service name |

### Request body (required)

Type: `xdsl.modem.lan.dhcp.DHCPStaticAddresses.post`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `IPAddress` | ip | yes | IP address (e.g., 192.0.2.0) |
| `MACAddress` | string | yes | The MAC address of the device |
| `name` | string |  | Name of the DHCP static lease |

```json
{
  "IPAddress": "192.0.2.0",
  "MACAddress": "string",
  "name": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | xdsl.DHCPStaticAddress | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `IPAddress` | ip |  | IP address (e.g., 192.0.2.0) |
| `MACAddress` | string | read-only | The MAC address of the device |
| `name` | string |  | Name of the DHCP Static lease |
| `taskId` | integer | read-only | ID of the ongoing todo (NULL if none) |

```json
{
  "IPAddress": "192.0.2.0",
  "MACAddress": "string",
  "name": "string",
  "taskId": 0
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: xdsl.modem.lan.dhcp.DHCPStaticAddresses.post
result = client.post("/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses",
	IPAddress = None, # IP address (e.g., 192.0.2.0) (type: ip)
	MACAddress = None, # The MAC address of the device (type: string)
	name = None, # Name of the DHCP static lease (type: string)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: xdsl.modem.lan.dhcp.DHCPStaticAddresses.post
$result = $ovh->post("/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses", array(
	IPAddress => null, // IP address (e.g., 192.0.2.0) (type: ip)
	MACAddress => null, // The MAC address of the device (type: string)
	name => null, // Name of the DHCP static lease (type: string)
));

print_r($result);
?>
```

## Get a DHCP static lease

`GET /1.0/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses/{MACAddress}`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/access/modem/network/#getDHCPStaticAddress

**Status:** Stable production version  
**IAM actions:** `xdsl:apiovh:modem/lan/dhcp/DHCPStaticAddresses/get`

Returns the name, MAC address and reserved IP address of a static lease.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `MACAddress` | path | string | yes | macaddress |
| `dhcpName` | path | string | yes | Dhcp name |
| `lanName` | path | string | yes | Lan name |
| `serviceName` | path | string | yes | Service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | xdsl.DHCPStaticAddress | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `IPAddress` | ip |  | IP address (e.g., 192.0.2.0) |
| `MACAddress` | string | read-only | The MAC address of the device |
| `name` | string |  | Name of the DHCP Static lease |
| `taskId` | integer | read-only | ID of the ongoing todo (NULL if none) |

```json
{
  "IPAddress": "192.0.2.0",
  "MACAddress": "string",
  "name": "string",
  "taskId": 0
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses/{MACAddress}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses/{MACAddress}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses/{MACAddress}");

print_r($result);
?>
```

## Update a DHCP static lease

`PUT /1.0/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses/{MACAddress}`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/access/modem/network/#updateDHCPStaticAddress

**Status:** Stable production version  
**IAM actions:** `xdsl:apiovh:modem/lan/dhcp/DHCPStaticAddresses/edit`

Changes the name or the reserved IP address of a static lease.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `MACAddress` | path | string | yes | macaddress |
| `dhcpName` | path | string | yes | Dhcp name |
| `lanName` | path | string | yes | Lan name |
| `serviceName` | path | string | yes | Service name |

### Request body (required)

Type: `xdsl.DHCPStaticAddress`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `IPAddress` | ip |  | IP address (e.g., 192.0.2.0) |
| `MACAddress` | string | read-only | The MAC address of the device |
| `name` | string |  | Name of the DHCP Static lease |
| `taskId` | integer | read-only | ID of the ongoing todo (NULL if none) |

```json
{
  "IPAddress": "192.0.2.0",
  "name": "string"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | — | successful operation |

### Example

```bash
curl -X PUT \
  "https://api.eu.ovhcloud.com/1.0/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses/{MACAddress}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN" \
  -H "content-type: application/json" \
  -d '{ }'
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

# Request body type: xdsl.DHCPStaticAddress
result = client.put("/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses/{MACAddress}",
	IPAddress = None, # IP address (e.g., 192.0.2.0) (type: ip)
	name = None, # Name of the DHCP Static lease (type: string, nullable)
)

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

// Request body type: xdsl.DHCPStaticAddress
$result = $ovh->put("/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses/{MACAddress}", array(
	IPAddress => null, // IP address (e.g., 192.0.2.0) (type: ip)
	name => null, // Name of the DHCP Static lease (type: string, nullable)
));

print_r($result);
?>
```

## Delete a DHCP static lease

`DELETE /1.0/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses/{MACAddress}`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/access/modem/network/#removeDHCPStaticAddress

**Status:** Stable production version  
**IAM actions:** `xdsl:apiovh:modem/lan/dhcp/DHCPStaticAddresses/delete`

Removes the static lease from the DHCP server of the modem. Returns the task that performs the change.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `MACAddress` | path | string | yes | macaddress |
| `dhcpName` | path | string | yes | Dhcp name |
| `lanName` | path | string | yes | Lan name |
| `serviceName` | path | string | yes | Service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | xdsl.Task | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `doneDate` | string (date-time) | read-only | Date when the action was completed |
| `function` | string | read-only |  |
| `id` | integer | read-only |  |
| `isArchived` | boolean | read-only |  |
| `status` | xdsl.TaskStatusEnum | read-only | Status of a task. — one of `cancelled`, `doing`, `done`, `error`, `problem`, `todo` |
| `todoDate` | string (date-time) | read-only | Date when the action will start |
| `updateDate` | string (date-time) | read-only |  |

```json
{
  "doneDate": "2024-01-01T12:00:00Z",
  "function": "string",
  "id": 0,
  "isArchived": true,
  "status": "cancelled",
  "todoDate": "2024-01-01T12:00:00Z",
  "updateDate": "2024-01-01T12:00:00Z"
}
```

### Example

```bash
curl -X DELETE \
  "https://api.eu.ovhcloud.com/1.0/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses/{MACAddress}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.delete("/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses/{MACAddress}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->delete("/xdsl/{serviceName}/modem/lan/{lanName}/dhcp/{dhcpName}/DHCPStaticAddresses/{MACAddress}");

print_r($result);
?>
```

## List the devices connected to the modem

`GET /1.0/xdsl/{serviceName}/modem/connectedDevices`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/access/modem/network/#get-xdsl-servicename-modem-connecteddevices

**Status:** Stable production version  
**IAM actions:** `xdsl:apiovh:modem/connectedDevices/get`

Returns the MAC addresses of the devices connected to the modem of the access.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | Service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string[] | successful operation |

```json
[
  "string"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/xdsl/{serviceName}/modem/connectedDevices" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/xdsl/{serviceName}/modem/connectedDevices")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/xdsl/{serviceName}/modem/connectedDevices");

print_r($result);
?>
```

## Get a device connected to the modem

`GET /1.0/xdsl/{serviceName}/modem/connectedDevices/{macAddress}`

Link: https://developers.eu.ovhcloud.com/reference/web-cloud/internet/access/modem/network/#get-xdsl-servicename-modem-connecteddevices-macaddress

**Status:** Stable production version  
**IAM actions:** `xdsl:apiovh:modem/connectedDevices/get`

Returns the host name, IP address, interface, DHCP lease time and state of a device connected to the modem.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `macAddress` | path | string | yes | Mac address |
| `serviceName` | path | string | yes | Service name |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | xdsl.connectedDevice | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `active` | boolean | read-only | The state of this device on the modem |
| `addressSource` | xdsl.xdslModemConfig.ConnectedDeviceAddressSourceEnum | read-only | How did the device got its IP address — one of `DHCP`, `Static`, `Unknown` |
| `hostName` | string | read-only | Host name given by the device to the modem |
| `informationDate` | string (date-time) | read-only | The date time of the last update of thoses information |
| `interfaceType` | string | read-only | On which interface is connected the device |
| `ipAddress` | ip | read-only | The IP address of the device |
| `leaseTimeRemaining` | integer | read-only | The remaining time in seconds of the DHCP lease of this device (-1 means infinite) |
| `macAddress` | string | read-only | MAC address of the device |

```json
{
  "active": true,
  "addressSource": "DHCP",
  "hostName": "string",
  "informationDate": "2024-01-01T12:00:00Z",
  "interfaceType": "string",
  "ipAddress": "192.0.2.0",
  "leaseTimeRemaining": 0,
  "macAddress": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/xdsl/{serviceName}/modem/connectedDevices/{macAddress}" \
  -H "accept: application/json" \
  -H "authorization: Bearer $OVH_TOKEN"
```

```python
'''
First, install the latest release of Python wrapper: $ pip install ovh
'''
import json
import ovh

# Instantiate an OVH Client.
# You can generate new credentials with full access to your account on
# the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
client = ovh.Client(
	endpoint='ovh-eu',               # Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
	application_key='xxxxxxxxxx',    # Application Key
	application_secret='xxxxxxxxxx', # Application Secret
	consumer_key='xxxxxxxxxx',       # Consumer Key
)

result = client.get("/xdsl/{serviceName}/modem/connectedDevices/{macAddress}")

# Pretty print
print(json.dumps(result, indent=4))
```

```php
<?php
/**
 * First, download the latest release of PHP wrapper on github
 * And include this script into the folder with extracted files
 */
require __DIR__ . '/vendor/autoload.php';
use \Ovh\Api;

/**
 * Instantiate an OVH Client.
 * You can generate new credentials with full access to your account on
 * the token creation page (https://api.ovh.com/createToken/index.cgi?GET=/*&PUT=/*&POST=/*&DELETE=/*)
 */
$ovh = new Api('xxxxxxxxxx',  // Application Key
               'xxxxxxxxxx',  // Application Secret
               'ovh-eu',      // Endpoint of API OVH (List of available endpoints: https://github.com/ovh/python-ovh#2-configure-your-application)
               'xxxxxxxxxx'); // Consumer Key

$result = $ovh->get("/xdsl/{serviceName}/modem/connectedDevices/{macAddress}");

print_r($result);
?>
```
