# Bare Metal Cloud › VPS API

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

> 88 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/bare-metal-cloud/vps/

OpenAPI v1: https://api.eu.ovhcloud.com/1.0/__schemas/developer-hub-navigation/bare-metal-cloud/vps.json?format=openapi3
OpenAPI v2: https://api.eu.ovhcloud.com/v2/__schemas/developer-hub-navigation/bare-metal-cloud/vps.json?format=openapi3

## Operations

- `GET /vps` — List available services
- `GET /vps/{serviceName}` — Get this object properties
- `PUT /vps/{serviceName}` — Alter this object properties
- `POST /vps/{serviceName}/abortSnapshot` — Abort ongoing snapshot or autobackup
- `GET /vps/{serviceName}/activeOptions` — Return all active options for the virtual server
- `GET /vps/{serviceName}/automatedBackup` — Get this object properties
- `GET /vps/{serviceName}/automatedBackup/attachedBackup` — Backup attached to your VPS
- `POST /vps/{serviceName}/automatedBackup/detachBackup` — Create a VPS.Task that will umount a restored backup on your VPS
- `POST /vps/{serviceName}/automatedBackup/reschedule` — Change the scheduled time of your daily backup
- `POST /vps/{serviceName}/automatedBackup/restore` — Creates a VPS.Task that will restore the given restorePoint
- `GET /vps/{serviceName}/automatedBackup/restorePoints` — Get available Restore Points
- `GET /vps/{serviceName}/availableUpgrade` — Return all models the virtual server can be upgraded to
- `GET /vps/{serviceName}/backupftp` — Get this object properties
- `GET /vps/{serviceName}/backupftp/access` — List of IP blocks (and protocols to allow on these blocks) authorized on your backup FTP
- `POST /vps/{serviceName}/backupftp/access` — Create a backup FTP ACL
- `GET /vps/{serviceName}/backupftp/access/{ipBlock}` — Get a backup FTP ACL
- `PUT /vps/{serviceName}/backupftp/access/{ipBlock}` — Update a backup FTP ACL
- `DELETE /vps/{serviceName}/backupftp/access/{ipBlock}` — Delete a backup FTP ACL
- `GET /vps/{serviceName}/backupftp/authorizableBlocks` — Get all IP blocks that can be used in the ACL
- `POST /vps/{serviceName}/backupftp/password` — Change your Backup FTP password
- `POST /vps/{serviceName}/changeContact` — Change service contacts
- `POST /vps/{serviceName}/confirmTermination` — Confirm service termination
- `POST /vps/{serviceName}/createSnapshot` — Create a snapshot of the Virtual Server if the snapshot option is enabled and if there is no existing snapshot
- `GET /vps/{serviceName}/datacenter` — Get this object properties
- `GET /vps/{serviceName}/disks` — Disks associated to this virtual server
- `GET /vps/{serviceName}/disks/{id}` — Get this object properties
- `PUT /vps/{serviceName}/disks/{id}` — Alter this object properties
- `GET /vps/{serviceName}/disks/{id}/monitoring` — Return many statistics about the disk for a given period
- `GET /vps/{serviceName}/disks/{id}/use` — Return many statistics about the disk at that time
- `GET /vps/{serviceName}/distribution` — Get this object properties
- `GET /vps/{serviceName}/distribution/software` — List available softwares for this template Id
- `GET /vps/{serviceName}/distribution/software/{softwareId}` — Get this object properties
- `POST /vps/{serviceName}/getConsoleUrl` — Return the VPS console URL
- `GET /vps/{serviceName}/images/available` — Images available for this virtual server
- `GET /vps/{serviceName}/images/available/{id}` — Get this object properties
- `GET /vps/{serviceName}/images/current` — Get this object properties
- `GET /vps/{serviceName}/ipCountryAvailable` — Get the countries you can select for your IPs geolocation
- `GET /vps/{serviceName}/ips` — Ips associated to this virtual server
- `GET /vps/{serviceName}/ips/{ipAddress}` — Get this object properties
- `PUT /vps/{serviceName}/ips/{ipAddress}` — Alter this object properties
- `DELETE /vps/{serviceName}/ips/{ipAddress}` — Release a given Ip (Additional Ip)
- `GET /vps/{serviceName}/metricsToken` — Return metrics token to query prometheus cluster
- `GET /vps/{serviceName}/migration2016` — Get information on a possible migration of a VPS 2016 to VPS 2020
- `POST /vps/{serviceName}/migration2016` — Schedule the migration of a VPS 2016 to VPS 2020
- `GET /vps/{serviceName}/migration2018` — Get information on a possible migration of a VPS 2016/2018 to VPS 2020
- `POST /vps/{serviceName}/migration2018` — Schedule the migration of a VPS 2016/2018 to VPS 2020
- `GET /vps/{serviceName}/models` — Return all models for the range of the virtual server
- `GET /vps/{serviceName}/monitoring` — Return many statistics about the virtual machine for a given period
- `POST /vps/{serviceName}/openConsoleAccess` — Return the necessary informations to open a VNC connection to your VPS
- `GET /vps/{serviceName}/option` — List of VPS options
- `GET /vps/{serviceName}/option/{option}` — Get this object properties
- `DELETE /vps/{serviceName}/option/{option}` — Release an option attached to this VPS (deprecated)
- `POST /vps/{serviceName}/reboot` — Request a reboot of the machine
- `POST /vps/{serviceName}/rebuild` — Reinstall the virtual server
- `POST /vps/{serviceName}/reinstall` — Reinstall the virtual server
- `GET /vps/{serviceName}/secondaryDnsDomains` — List of secondary dns domain name
- `POST /vps/{serviceName}/secondaryDnsDomains` — Add a domain on secondary DNS
- `GET /vps/{serviceName}/secondaryDnsDomains/{domain}` — Get details about a secondary DNS domain
- `PUT /vps/{serviceName}/secondaryDnsDomains/{domain}` — Update IP address targeted by a domain on secondary DNS
- `DELETE /vps/{serviceName}/secondaryDnsDomains/{domain}` — Remove domain on a secondary DNS
- `GET /vps/{serviceName}/secondaryDnsDomains/{domain}/dnsServer` — DNS server informations
- `GET /vps/{serviceName}/secondaryDnsNameServerAvailable` — Secondary nameServer available for your Server
- `GET /vps/{serviceName}/serviceInfos` — Get service information
- `PUT /vps/{serviceName}/serviceInfos` — Update service information
- `POST /vps/{serviceName}/setPassword` — Start the process in order to set the root password of the virtual machine
- `GET /vps/{serviceName}/snapshot` — Get this object properties
- `PUT /vps/{serviceName}/snapshot` — Alter this object properties
- `DELETE /vps/{serviceName}/snapshot` — Creates a vps.Task that will delete the Snapshot
- `GET /vps/{serviceName}/snapshot/download` — Download the snapshot
- `POST /vps/{serviceName}/snapshot/revert` — Revert the Virtual Server to this snapshot
- `POST /vps/{serviceName}/start` — Request the machine to start
- `GET /vps/{serviceName}/statistics` — Return monitoring statistics about the virtual machine
- `GET /vps/{serviceName}/status` — Give the status of the services of the main IP
- `POST /vps/{serviceName}/stop` — Request the machine to stop
- `GET /vps/{serviceName}/tasks` — Tasks associated to this virtual server
- `GET /vps/{serviceName}/tasks/{id}` — Get this object properties
- `GET /vps/{serviceName}/templates` — Templates available for this virtual server
- `GET /vps/{serviceName}/templates/{id}` — Get this object properties
- `GET /vps/{serviceName}/templates/{id}/software` — List available softwares for this template Id
- `GET /vps/{serviceName}/templates/{id}/software/{softwareId}` — Get this object properties
- `POST /vps/{serviceName}/terminate` — Request service termination
- `GET /vps/{serviceName}/use` — Return many statistics about the virtual machine at that time
- `GET /vps/{serviceName}/veeam` — Get this object properties
- `GET /vps/{serviceName}/veeam/restorePoints` — Veeam restore points for the VPS
- `GET /vps/{serviceName}/veeam/restorePoints/{id}` — Get this object properties
- `POST /vps/{serviceName}/veeam/restorePoints/{id}/restore` — Creates a VPS.Task that will restore the given restorePoint
- `GET /vps/{serviceName}/veeam/restoredBackup` — Get this object properties
- `DELETE /vps/{serviceName}/veeam/restoredBackup` — Creates a VPS.Task that will unmount the backup

## List available services

`GET /1.0/vps`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `iamTags` | query | object |  | Filter resources on IAM tags |

### Responses

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

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

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps" \
  -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("/vps")

# 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("/vps");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.VPSWithIAM | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cluster` | string | read-only |  |
| `displayName` | string |  | Set the name displayed in ManagerV6 for your VPS (max 50 chars) |
| `iam` | iam.ResourceMetadata | read-only | IAM resource metadata |
| `iam.displayName` | string | read-only | Resource display name |
| `iam.id` | string (uuid) | read-only | Unique identifier of the resource |
| `iam.state` | iam.ResourceMetadata.StateEnum | read-only | Resource state — one of `EXPIRED`, `IN_CREATION`, `OK`, `SUSPENDED` |
| `iam.tags` | object | read-only | Resource tags. Tags that were internally computed are prefixed with ovh: |
| `iam.urn` | string | read-only | Unique resource name used in policies |
| `keymap` | vps.VpsKeymapEnum |  | Set KVM keyboard layout on VPS Cloud. Reboot your VPS after change — one of `fr`, `us` |
| `lockStatus` | vps.LockStatus | read-only | Lock status of the VPS |
| `lockStatus.locked` | boolean |  |  |
| `lockStatus.reason` | vps.LockReasonEnum |  | All reasons that a VPS can be locked — one of `abuse`, `none` |
| `memoryLimit` | integer | read-only |  |
| `model` | vps.Model | read-only | A structure describing characteristics of a VPS model |
| `model.availableOptions` | vps.VpsOptionEnum[] |  |  |
| `model.datacenter` | string[] |  |  |
| `model.disk` | integer |  |  |
| `model.diskLocationType` | vps.VpsDiskLocationTypeEnum |  | All location type a VPS primary disk can have — one of `distant`, `local` |
| `model.maximumAdditionnalIp` | integer |  |  |
| `model.memory` | integer |  |  |
| `model.name` | string |  |  |
| `model.offer` | string |  |  |
| `model.vcore` | integer |  |  |
| `model.version` | vps.VpsVersionEnum |  | All versions that VPS can have — one of `2013v1`, `2014v1`, `2015v1`, `2017v1`, `2017v2`, `2017v3`, `2018v1`, `2018v2`, `2019v1`, `2025v1`, `2027v1` |
| `monitoringIpBlocks` | ipBlock[] | read-only | Ip blocks for OVH monitoring servers |
| `name` | string | read-only |  |
| `netbootMode` | vps.VpsNetbootEnum |  | All values a VPS netboot mode can be in — one of `distant`, `local`, `rescue` |
| `offerType` | vps.VpsOfferEnum | read-only | All offers a VPS can have — one of `beta-classic`, `classic`, `cloud`, `cloudram`, `game-classic`, `lowlat`, `ssd` |
| `slaMonitoring` | boolean |  |  |
| `state` | vps.VpsStateEnum | read-only | All states a VPS can be in — one of `backuping`, `installing`, `maintenance`, `rebooting`, `rescued`, `running`, `stopped`, `stopping`, `upgrading` |
| `vcore` | integer | read-only |  |
| `zone` | string | read-only |  |
| `zoneType` | vps.ZoneTypeEnum | read-only | Zone type — one of `localzone`, `region` |

```json
{
  "cluster": "string",
  "displayName": "string",
  "iam": {
    "displayName": "string",
    "id": "00000000-0000-0000-0000-000000000000",
    "state": "EXPIRED",
    "tags": {
      "key": "string"
    },
    "urn": "string"
  },
  "keymap": "fr",
  "lockStatus": {
    "locked": true,
    "reason": "abuse"
  },
  "memoryLimit": 0,
  "model": {
    "availableOptions": [
      "additionalDisk"
    ],
    "datacenter": [
      "string"
    ],
    "disk": 0,
    "diskLocationType": "distant",
    "maximumAdditionnalIp": 0,
    "memory": 0,
    "name": "string",
    "offer": "string",
    "vcore": 0,
    "version": "2013v1"
  },
  "monitoringIpBlocks": [
    "192.0.2.0/24"
  ],
  "name": "string",
  "netbootMode": "distant",
  "offerType": "beta-classic",
  "slaMonitoring": true,
  "state": "backuping",
  "vcore": 0,
  "zone": "string",
  "zoneType": "localzone"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}" \
  -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("/vps/{serviceName}")

# 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("/vps/{serviceName}");

print_r($result);
?>
```

## Alter this object properties

`PUT /1.0/vps/{serviceName}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#put-vps-servicename

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:put`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `vps.VPS`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cluster` | string | read-only |  |
| `displayName` | string |  | Set the name displayed in ManagerV6 for your VPS (max 50 chars) |
| `keymap` | vps.VpsKeymapEnum |  | Set KVM keyboard layout on VPS Cloud. Reboot your VPS after change — one of `fr`, `us` |
| `lockStatus` | vps.LockStatus | read-only | A structure describing characteristics of a VPS lock status |
| `lockStatus.locked` | boolean |  |  |
| `lockStatus.reason` | vps.LockReasonEnum |  | All reasons that a VPS can be locked — one of `abuse`, `none` |
| `memoryLimit` | integer | read-only |  |
| `model` | vps.Model | read-only | A structure describing characteristics of a VPS model |
| `model.availableOptions` | vps.VpsOptionEnum[] |  |  |
| `model.datacenter` | string[] |  |  |
| `model.disk` | integer |  |  |
| `model.diskLocationType` | vps.VpsDiskLocationTypeEnum |  | All location type a VPS primary disk can have — one of `distant`, `local` |
| `model.maximumAdditionnalIp` | integer |  |  |
| `model.memory` | integer |  |  |
| `model.name` | string |  |  |
| `model.offer` | string |  |  |
| `model.vcore` | integer |  |  |
| `model.version` | vps.VpsVersionEnum |  | All versions that VPS can have — one of `2013v1`, `2014v1`, `2015v1`, `2017v1`, `2017v2`, `2017v3`, `2018v1`, `2018v2`, `2019v1`, `2025v1`, `2027v1` |
| `monitoringIpBlocks` | ipBlock[] | read-only | Ip blocks for OVH monitoring servers |
| `name` | string | read-only |  |
| `netbootMode` | vps.VpsNetbootEnum |  | Reboot your VPS 'Cloud' after change, VPS 'Classic/LowLat' will reboot automatically. Credentials for rescue mode will be sent by mail — one of `distant`, `local`, `rescue` |
| `offerType` | vps.VpsOfferEnum | read-only | All offers a VPS can have — one of `beta-classic`, `classic`, `cloud`, `cloudram`, `game-classic`, `lowlat`, `ssd` |
| `slaMonitoring` | boolean |  |  |
| `state` | vps.VpsStateEnum | read-only | All states a VPS can be in — one of `backuping`, `installing`, `maintenance`, `rebooting`, `rescued`, `running`, `stopped`, `stopping`, `upgrading` |
| `vcore` | integer | read-only |  |
| `zone` | string | read-only |  |
| `zoneType` | vps.ZoneTypeEnum | read-only | Zone type — one of `localzone`, `region` |

```json
{
  "displayName": "string",
  "keymap": "fr",
  "netbootMode": "distant",
  "slaMonitoring": true
}
```

### Responses

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

### Example

```bash
curl -X PUT \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}" \
  -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: vps.VPS
result = client.put("/vps/{serviceName}",
	displayName = None, # Set the name displayed in ManagerV6 for your VPS (max 50 chars) (type: string, nullable)
	keymap = None, # Set KVM keyboard layout on VPS Cloud. Reboot your VPS after change (type: vps.VpsKeymapEnum, nullable)
	netbootMode = None, # Reboot your VPS 'Cloud' after change, VPS 'Classic/LowLat' will reboot automatically. Credentials for rescue mode will be sent by mail (type: vps.VpsNetbootEnum)
	slaMonitoring = None, #  (type: boolean, 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: vps.VPS
$result = $ovh->put("/vps/{serviceName}", array(
	displayName => null, // Set the name displayed in ManagerV6 for your VPS (max 50 chars) (type: string, nullable)
	keymap => null, // Set KVM keyboard layout on VPS Cloud. Reboot your VPS after change (type: vps.VpsKeymapEnum, nullable)
	netbootMode => null, // Reboot your VPS 'Cloud' after change, VPS 'Classic/LowLat' will reboot automatically. Credentials for rescue mode will be sent by mail (type: vps.VpsNetbootEnum)
	slaMonitoring => null, //  (type: boolean, nullable)
));

print_r($result);
?>
```

## Abort ongoing snapshot or autobackup

`POST /1.0/vps/{serviceName}/abortSnapshot`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-abortsnapshot

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:abortSnapshot`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/abortSnapshot" \
  -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.post("/vps/{serviceName}/abortSnapshot")

# 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->post("/vps/{serviceName}/abortSnapshot");

print_r($result);
?>
```

## Return all active options for the virtual server

`GET /1.0/vps/{serviceName}/activeOptions`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-activeoptions

**Status:** Deprecated, will be removed  
**Deprecated** since 2013-10-23, removed on 2013-11-23; use `/vps/{serviceName}/option` instead.  
**IAM actions:** `vps:apiovh:activeOptions/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.VpsOptionEnum[] | successful operation |

```json
[
  "additionalDisk"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/activeOptions" \
  -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("/vps/{serviceName}/activeOptions")

# 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("/vps/{serviceName}/activeOptions");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}/automatedBackup`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-automatedbackup

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:automatedBackup/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.AutomatedBackup | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `rotation` | integer | read-only | Number of rotation of your automated backup |
| `schedule` | time | read-only | Scheduled time of your daily backup |
| `serviceResourceName` | string | read-only | Resource name of the service of your automated backup |
| `state` | vps.BackupStateEnum | read-only | Backup state — one of `disabled`, `enabled` |

```json
{
  "rotation": 0,
  "schedule": "15:04:05",
  "serviceResourceName": "string",
  "state": "disabled"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/automatedBackup" \
  -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("/vps/{serviceName}/automatedBackup")

# 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("/vps/{serviceName}/automatedBackup");

print_r($result);
?>
```

## Backup attached to your VPS

`GET /1.0/vps/{serviceName}/automatedBackup/attachedBackup`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-automatedbackup-attachedbackup

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:automatedBackup/attachedBackup/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.automatedBackup.Attached[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `access` | vps.automatedBackup.attached.Infos |  | A structure describing a backup's access informations |
| `access.additionalDisk` | string |  | Additional Disk details |
| `access.nfs` | string |  | NFS URL of the backup |
| `access.smb` | string |  | SMB URL of the backup |
| `restorePoint` | string (date-time) |  |  |

```json
[
  {
    "access": {
      "additionalDisk": "string",
      "nfs": "string",
      "smb": "string"
    },
    "restorePoint": "2024-01-01T12:00:00Z"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/automatedBackup/attachedBackup" \
  -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("/vps/{serviceName}/automatedBackup/attachedBackup")

# 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("/vps/{serviceName}/automatedBackup/attachedBackup");

print_r($result);
?>
```

## Create a VPS.Task that will umount a restored backup on your VPS

`POST /1.0/vps/{serviceName}/automatedBackup/detachBackup`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-automatedbackup-detachbackup

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:automatedBackup/detachBackup`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `restorePoint` | string (date-time) | yes | restorePoint fetched in /vps/{serviceName}/automatedBackup/attachedBackup |

```json
{
  "restorePoint": "2024-01-01T12:00:00Z"
}
```

### Responses

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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `id` | integer | read-only |  |
| `progress` | integer | read-only |  |
| `state` | vps.TaskStateEnum | read-only | All states a VPS task can be in — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | vps.TaskTypeEnum | read-only | All type a VPS task can be — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "id": 0,
  "progress": 0,
  "state": "blocked",
  "type": "addVeeamBackupJob"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/automatedBackup/detachBackup" \
  -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: datetime
result = client.post("/vps/{serviceName}/automatedBackup/detachBackup",
	restorePoint = None, # restorePoint fetched in /vps/{serviceName}/automatedBackup/attachedBackup (type: datetime)
)

# 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: datetime
$result = $ovh->post("/vps/{serviceName}/automatedBackup/detachBackup", array(
	restorePoint => null, // restorePoint fetched in /vps/{serviceName}/automatedBackup/attachedBackup (type: datetime)
));

print_r($result);
?>
```

## Change the scheduled time of your daily backup

`POST /1.0/vps/{serviceName}/automatedBackup/reschedule`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-automatedbackup-reschedule

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:automatedBackup/reschedule`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `schedule` | time | yes | New scheduled time of your daily backup |

```json
{
  "schedule": "15:04:05"
}
```

### Responses

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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `id` | integer | read-only |  |
| `progress` | integer | read-only |  |
| `state` | vps.TaskStateEnum | read-only | All states a VPS task can be in — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | vps.TaskTypeEnum | read-only | All type a VPS task can be — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "id": 0,
  "progress": 0,
  "state": "blocked",
  "type": "addVeeamBackupJob"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/automatedBackup/reschedule" \
  -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: time
result = client.post("/vps/{serviceName}/automatedBackup/reschedule",
	schedule = None, # New scheduled time of your daily backup (type: time)
)

# 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: time
$result = $ovh->post("/vps/{serviceName}/automatedBackup/reschedule", array(
	schedule => null, // New scheduled time of your daily backup (type: time)
));

print_r($result);
?>
```

## Creates a VPS.Task that will restore the given restorePoint

`POST /1.0/vps/{serviceName}/automatedBackup/restore`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-automatedbackup-restore

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:automatedBackup/restore`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `changePassword` | boolean |  | Only with restore full on VPS Cloud 2014 |
| `restorePoint` | string (date-time) | yes | Restore Point fetched in /automatedBackup/restorePoints |
| `type` | vps.RestoreTypeEnum | yes | file: Attach/export restored disk to your current VPS - full: Replace your current VPS by the given restorePoint — one of `file`, `full` |

```json
{
  "changePassword": true,
  "restorePoint": "2024-01-01T12:00:00Z",
  "type": "file"
}
```

### Responses

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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `id` | integer | read-only |  |
| `progress` | integer | read-only |  |
| `state` | vps.TaskStateEnum | read-only | All states a VPS task can be in — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | vps.TaskTypeEnum | read-only | All type a VPS task can be — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "id": 0,
  "progress": 0,
  "state": "blocked",
  "type": "addVeeamBackupJob"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/automatedBackup/restore" \
  -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: vps.RestoreTypeEnum
result = client.post("/vps/{serviceName}/automatedBackup/restore",
	changePassword = None, # Only with restore full on VPS Cloud 2014 (type: boolean, nullable)
	restorePoint = None, # Restore Point fetched in /automatedBackup/restorePoints (type: datetime)
	type = None, # file: Attach/export restored disk to your current VPS - full: Replace your current VPS by the given restorePoint (type: vps.RestoreTypeEnum)
)

# 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: vps.RestoreTypeEnum
$result = $ovh->post("/vps/{serviceName}/automatedBackup/restore", array(
	changePassword => null, // Only with restore full on VPS Cloud 2014 (type: boolean, nullable)
	restorePoint => null, // Restore Point fetched in /automatedBackup/restorePoints (type: datetime)
	type => null, // file: Attach/export restored disk to your current VPS - full: Replace your current VPS by the given restorePoint (type: vps.RestoreTypeEnum)
));

print_r($result);
?>
```

## Get available Restore Points

`GET /1.0/vps/{serviceName}/automatedBackup/restorePoints`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-automatedbackup-restorepoints

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:automatedBackup/restorePoints/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |
| `state` | query | vps.RestoreStateEnum | yes | The state of the restore point — one of `available`, `restored`, `restoring` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | string (date-time)[] | successful operation |

```json
[
  "2024-01-01T12:00:00Z"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/automatedBackup/restorePoints" \
  -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("/vps/{serviceName}/automatedBackup/restorePoints")

# 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("/vps/{serviceName}/automatedBackup/restorePoints");

print_r($result);
?>
```

## Return all models the virtual server can be upgraded to

`GET /1.0/vps/{serviceName}/availableUpgrade`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-availableupgrade

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:availableUpgrade/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.Model[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `availableOptions` | vps.VpsOptionEnum[] |  |  |
| `datacenter` | string[] |  |  |
| `disk` | integer |  |  |
| `diskLocationType` | vps.VpsDiskLocationTypeEnum |  | All location type a VPS primary disk can have — one of `distant`, `local` |
| `maximumAdditionnalIp` | integer |  |  |
| `memory` | integer |  |  |
| `name` | string |  |  |
| `offer` | string |  |  |
| `vcore` | integer |  |  |
| `version` | vps.VpsVersionEnum |  | All versions that VPS can have — one of `2013v1`, `2014v1`, `2015v1`, `2017v1`, `2017v2`, `2017v3`, `2018v1`, `2018v2`, `2019v1`, `2025v1`, `2027v1` |

```json
[
  {
    "availableOptions": [
      "additionalDisk"
    ],
    "datacenter": [
      "string"
    ],
    "disk": 0,
    "diskLocationType": "distant",
    "maximumAdditionnalIp": 0,
    "memory": 0,
    "name": "string",
    "offer": "string",
    "vcore": 0,
    "version": "2013v1"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/availableUpgrade" \
  -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("/vps/{serviceName}/availableUpgrade")

# 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("/vps/{serviceName}/availableUpgrade");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}/backupftp`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-backupftp

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:backupftp/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.BackupFtp | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `ftpBackupName` | string | read-only | The backup FTP server name |
| `quota` | complexType.UnitAndValue_long | read-only | The disk space available on your backup FTP |
| `quota.unit` | string |  |  |
| `quota.value` | integer |  |  |
| `readOnlyDate` | string (date-time) | read-only | If not-null, gives the date since when your account was set in read-only mode because the quota was exceeded |
| `type` | string | read-only | The backup FTP type |
| `usage` | complexType.UnitAndValue_long | read-only | The disk space currently used on your backup FTP |
| `usage.unit` | string |  |  |
| `usage.value` | integer |  |  |

```json
{
  "ftpBackupName": "string",
  "quota": {
    "unit": "string",
    "value": 0
  },
  "readOnlyDate": "2024-01-01T12:00:00Z",
  "type": "string",
  "usage": {
    "unit": "string",
    "value": 0
  }
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/backupftp" \
  -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("/vps/{serviceName}/backupftp")

# 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("/vps/{serviceName}/backupftp");

print_r($result);
?>
```

## List of IP blocks (and protocols to allow on these blocks) authorized on your backup FTP

`GET /1.0/vps/{serviceName}/backupftp/access`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-backupftp-access

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:backupftp/access/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

```json
[
  "192.0.2.0/24"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/backupftp/access" \
  -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("/vps/{serviceName}/backupftp/access")

# 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("/vps/{serviceName}/backupftp/access");

print_r($result);
?>
```

## Create a backup FTP ACL

`POST /1.0/vps/{serviceName}/backupftp/access`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-backupftp-access

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:backupftp/access/create`

Create a backup FTP ACL. Authorizes an IP block on the backup FTP space with the chosen protocols and returns a task. At least one of ftp, nfs and cifs must be enabled; ftp is false when omitted. authorizableBlocks lists the eligible blocks.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cifs` | boolean | yes | Whether to allow the CIFS (SMB) protocol for this ACL |
| `ftp` | boolean |  | Whether to allow the FTP protocol for this ACL |
| `ipBlock` | ipBlock | yes | The IP Block specific to this ACL. It musts belong to your server. |
| `nfs` | boolean | yes | Whether to allow the NFS protocol for this ACL |

```json
{
  "cifs": true,
  "ftp": true,
  "ipBlock": "192.0.2.0/24",
  "nfs": true
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | dedicated.server.Task | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `changeUuid` | string | read-only | UUID of the change linked to this task |
| `comment` | string | read-only | Details of this task |
| `doneDate` | string (date-time) | read-only | Completion date |
| `function` | dedicated.TaskFunctionEnum | read-only | Function name — one of `INFRA_002_VirtualNetworkInterface`, `INFRA_002_VirtualNetworkInterface_group`, `INFRA_002_VirtualNetworkInterface_ungroup`, `INFRA_ONE_NETWORK_ONEAPI_VirtualNetworkInterface_group`, `INFRA_ONE_NETWORK_ONEAPI_VirtualNetworkInterface_ungroup`, `INFRA_ONE_NETWORK_VirtualNetworkInterface_group`, `INFRA_ONE_NETWORK_VirtualNetworkInterface_ungroup`, `addVirtualMac`, `addWindowSplaFromExistingSerial`, `applyBackupFtpAcls`, `applyBackupFtpQuota`, `bypassAntiDDosGame`, … |
| `lastUpdate` | string (date-time) | read-only | last update |
| `needSchedule` | boolean | read-only | Whether this task need to be scheduled or not |
| `note` | string | read-only | Extra information about this task |
| `plannedInterventionId` | integer | read-only | ID of the planned intervention for this task |
| `startDate` | string (date-time) | read-only | Task Creation date |
| `status` | dedicated.TaskStatusEnum | read-only | Task status — one of `cancelled`, `customerError`, `doing`, `done`, `init`, `ovhError`, `todo` |
| `tags` | complexType.SafeKeyValueCanBeNull_string[] | read-only | Task result tags output |
| `tags[].key` | string |  |  |
| `tags[].value` | string |  |  |
| `taskId` | integer | read-only | the id of the task |
| `ticketReference` | string | read-only | Reference of the thread on the support tool |

```json
{
  "changeUuid": "string",
  "comment": "string",
  "doneDate": "2024-01-01T12:00:00Z",
  "function": "INFRA_002_VirtualNetworkInterface",
  "lastUpdate": "2024-01-01T12:00:00Z",
  "needSchedule": true,
  "note": "string",
  "plannedInterventionId": 0,
  "startDate": "2024-01-01T12:00:00Z",
  "status": "cancelled",
  "tags": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "taskId": 0,
  "ticketReference": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/backupftp/access" \
  -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
)

result = client.post("/vps/{serviceName}/backupftp/access",
	cifs = None, # Whether to allow the CIFS (SMB) protocol for this ACL (type: boolean)
	ftp = None, # Whether to allow the FTP protocol for this ACL (type: boolean, nullable)
	ipBlock = None, # The IP Block specific to this ACL. It musts belong to your server. (type: ipBlock)
	nfs = None, # Whether to allow the NFS protocol for this ACL (type: boolean)
)

# 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->post("/vps/{serviceName}/backupftp/access", array(
	cifs => null, // Whether to allow the CIFS (SMB) protocol for this ACL (type: boolean)
	ftp => null, // Whether to allow the FTP protocol for this ACL (type: boolean, nullable)
	ipBlock => null, // The IP Block specific to this ACL. It musts belong to your server. (type: ipBlock)
	nfs => null, // Whether to allow the NFS protocol for this ACL (type: boolean)
));

print_r($result);
?>
```

## Get a backup FTP ACL

`GET /1.0/vps/{serviceName}/backupftp/access/{ipBlock}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-backupftp-access-ipblock

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:backupftp/access/get`

Get a backup FTP ACL. Returns the protocols allowed for the IP block (FTP, NFS, CIFS), whether the rule is applied on the backup FTP space and its last update date.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ipBlock` | path | ipBlock | yes | The IP Block specific to this ACL |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | dedicated.server.BackupFtpAcl | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cifs` | boolean |  | Whether to allow the CIFS (SMB) protocol for this ACL |
| `ftp` | boolean |  | Whether to allow the FTP protocol for this ACL |
| `ipBlock` | ipBlock | read-only | The IP Block specific to this ACL |
| `isApplied` | boolean | read-only | Whether the rule has been applied on the Backup Ftp |
| `lastUpdate` | string (date-time) | read-only | Date of the last object modification |
| `nfs` | boolean |  | Whether to allow the NFS protocol for this ACL |

```json
{
  "cifs": true,
  "ftp": true,
  "ipBlock": "192.0.2.0/24",
  "isApplied": true,
  "lastUpdate": "2024-01-01T12:00:00Z",
  "nfs": true
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/backupftp/access/{ipBlock}" \
  -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("/vps/{serviceName}/backupftp/access/{ipBlock}")

# 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("/vps/{serviceName}/backupftp/access/{ipBlock}");

print_r($result);
?>
```

## Update a backup FTP ACL

`PUT /1.0/vps/{serviceName}/backupftp/access/{ipBlock}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#put-vps-servicename-backupftp-access-ipblock

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:backupftp/access/edit`

Update a backup FTP ACL. Updates the protocols allowed for the IP block: ftp, nfs and cifs. The change is applied asynchronously: isApplied stays false until it is in effect.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ipBlock` | path | ipBlock | yes | The IP Block specific to this ACL |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `dedicated.server.BackupFtpAcl`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cifs` | boolean |  | Whether to allow the CIFS (SMB) protocol for this ACL |
| `ftp` | boolean |  | Whether to allow the FTP protocol for this ACL |
| `ipBlock` | ipBlock | read-only | The IP Block specific to this ACL |
| `isApplied` | boolean | read-only | Whether the rule has been applied on the Backup Ftp |
| `lastUpdate` | string (date-time) | read-only | Date of the last object modification |
| `nfs` | boolean |  | Whether to allow the NFS protocol for this ACL |

```json
{
  "cifs": true,
  "ftp": true,
  "nfs": true
}
```

### Responses

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

### Example

```bash
curl -X PUT \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/backupftp/access/{ipBlock}" \
  -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: dedicated.server.BackupFtpAcl
result = client.put("/vps/{serviceName}/backupftp/access/{ipBlock}",
	cifs = None, # Whether to allow the CIFS (SMB) protocol for this ACL (type: boolean)
	ftp = None, # Whether to allow the FTP protocol for this ACL (type: boolean)
	nfs = None, # Whether to allow the NFS protocol for this ACL (type: boolean)
)

# 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: dedicated.server.BackupFtpAcl
$result = $ovh->put("/vps/{serviceName}/backupftp/access/{ipBlock}", array(
	cifs => null, // Whether to allow the CIFS (SMB) protocol for this ACL (type: boolean)
	ftp => null, // Whether to allow the FTP protocol for this ACL (type: boolean)
	nfs => null, // Whether to allow the NFS protocol for this ACL (type: boolean)
));

print_r($result);
?>
```

## Delete a backup FTP ACL

`DELETE /1.0/vps/{serviceName}/backupftp/access/{ipBlock}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#delete-vps-servicename-backupftp-access-ipblock

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:backupftp/access/delete`

Delete a backup FTP ACL. Revokes the access of the IP block to the backup FTP space and returns a task. The task carries the status of the revocation.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ipBlock` | path | ipBlock | yes | The IP Block specific to this ACL |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | dedicated.server.Task | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `changeUuid` | string | read-only | UUID of the change linked to this task |
| `comment` | string | read-only | Details of this task |
| `doneDate` | string (date-time) | read-only | Completion date |
| `function` | dedicated.TaskFunctionEnum | read-only | Function name — one of `INFRA_002_VirtualNetworkInterface`, `INFRA_002_VirtualNetworkInterface_group`, `INFRA_002_VirtualNetworkInterface_ungroup`, `INFRA_ONE_NETWORK_ONEAPI_VirtualNetworkInterface_group`, `INFRA_ONE_NETWORK_ONEAPI_VirtualNetworkInterface_ungroup`, `INFRA_ONE_NETWORK_VirtualNetworkInterface_group`, `INFRA_ONE_NETWORK_VirtualNetworkInterface_ungroup`, `addVirtualMac`, `addWindowSplaFromExistingSerial`, `applyBackupFtpAcls`, `applyBackupFtpQuota`, `bypassAntiDDosGame`, … |
| `lastUpdate` | string (date-time) | read-only | last update |
| `needSchedule` | boolean | read-only | Whether this task need to be scheduled or not |
| `note` | string | read-only | Extra information about this task |
| `plannedInterventionId` | integer | read-only | ID of the planned intervention for this task |
| `startDate` | string (date-time) | read-only | Task Creation date |
| `status` | dedicated.TaskStatusEnum | read-only | Task status — one of `cancelled`, `customerError`, `doing`, `done`, `init`, `ovhError`, `todo` |
| `tags` | complexType.SafeKeyValueCanBeNull_string[] | read-only | Task result tags output |
| `tags[].key` | string |  |  |
| `tags[].value` | string |  |  |
| `taskId` | integer | read-only | the id of the task |
| `ticketReference` | string | read-only | Reference of the thread on the support tool |

```json
{
  "changeUuid": "string",
  "comment": "string",
  "doneDate": "2024-01-01T12:00:00Z",
  "function": "INFRA_002_VirtualNetworkInterface",
  "lastUpdate": "2024-01-01T12:00:00Z",
  "needSchedule": true,
  "note": "string",
  "plannedInterventionId": 0,
  "startDate": "2024-01-01T12:00:00Z",
  "status": "cancelled",
  "tags": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "taskId": 0,
  "ticketReference": "string"
}
```

### Example

```bash
curl -X DELETE \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/backupftp/access/{ipBlock}" \
  -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("/vps/{serviceName}/backupftp/access/{ipBlock}")

# 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("/vps/{serviceName}/backupftp/access/{ipBlock}");

print_r($result);
?>
```

## Get all IP blocks that can be used in the ACL

`GET /1.0/vps/{serviceName}/backupftp/authorizableBlocks`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-backupftp-authorizableblocks

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:backupftp/authorizableBlocks/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

```json
[
  "192.0.2.0/24"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/backupftp/authorizableBlocks" \
  -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("/vps/{serviceName}/backupftp/authorizableBlocks")

# 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("/vps/{serviceName}/backupftp/authorizableBlocks");

print_r($result);
?>
```

## Change your Backup FTP password

`POST /1.0/vps/{serviceName}/backupftp/password`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-backupftp-password

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:backupftp/password/set`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | dedicated.server.Task | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `changeUuid` | string | read-only | UUID of the change linked to this task |
| `comment` | string | read-only | Details of this task |
| `doneDate` | string (date-time) | read-only | Completion date |
| `function` | dedicated.TaskFunctionEnum | read-only | Function name — one of `INFRA_002_VirtualNetworkInterface`, `INFRA_002_VirtualNetworkInterface_group`, `INFRA_002_VirtualNetworkInterface_ungroup`, `INFRA_ONE_NETWORK_ONEAPI_VirtualNetworkInterface_group`, `INFRA_ONE_NETWORK_ONEAPI_VirtualNetworkInterface_ungroup`, `INFRA_ONE_NETWORK_VirtualNetworkInterface_group`, `INFRA_ONE_NETWORK_VirtualNetworkInterface_ungroup`, `addVirtualMac`, `addWindowSplaFromExistingSerial`, `applyBackupFtpAcls`, `applyBackupFtpQuota`, `bypassAntiDDosGame`, … |
| `lastUpdate` | string (date-time) | read-only | last update |
| `needSchedule` | boolean | read-only | Whether this task need to be scheduled or not |
| `note` | string | read-only | Extra information about this task |
| `plannedInterventionId` | integer | read-only | ID of the planned intervention for this task |
| `startDate` | string (date-time) | read-only | Task Creation date |
| `status` | dedicated.TaskStatusEnum | read-only | Task status — one of `cancelled`, `customerError`, `doing`, `done`, `init`, `ovhError`, `todo` |
| `tags` | complexType.SafeKeyValueCanBeNull_string[] | read-only | Task result tags output |
| `tags[].key` | string |  |  |
| `tags[].value` | string |  |  |
| `taskId` | integer | read-only | the id of the task |
| `ticketReference` | string | read-only | Reference of the thread on the support tool |

```json
{
  "changeUuid": "string",
  "comment": "string",
  "doneDate": "2024-01-01T12:00:00Z",
  "function": "INFRA_002_VirtualNetworkInterface",
  "lastUpdate": "2024-01-01T12:00:00Z",
  "needSchedule": true,
  "note": "string",
  "plannedInterventionId": 0,
  "startDate": "2024-01-01T12:00:00Z",
  "status": "cancelled",
  "tags": [
    {
      "key": "string",
      "value": "string"
    }
  ],
  "taskId": 0,
  "ticketReference": "string"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/backupftp/password" \
  -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.post("/vps/{serviceName}/backupftp/password")

# 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->post("/vps/{serviceName}/backupftp/password");

print_r($result);
?>
```

## Change service contacts

`POST /1.0/vps/{serviceName}/changeContact`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-changecontact

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:changeContact/create`

Change service contacts. Starts a procedure to change the admin, tech or billing contact of the service.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `contactAdmin` | string |  | The contact to set as admin contact |
| `contactBilling` | string |  | The contact to set as billing contact |
| `contactTech` | string |  | The contact to set as tech contact |

```json
{
  "contactAdmin": "string",
  "contactBilling": "string",
  "contactTech": "string"
}
```

### Responses

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

```json
[
  0
]
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/changeContact" \
  -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: coreTypes.AccountId:string
result = client.post("/vps/{serviceName}/changeContact",
	contactAdmin = None, # The contact to set as admin contact (type: coreTypes.AccountId:string, nullable)
	contactBilling = None, # The contact to set as billing contact (type: coreTypes.AccountId:string, nullable)
	contactTech = None, # The contact to set as tech contact (type: coreTypes.AccountId: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: coreTypes.AccountId:string
$result = $ovh->post("/vps/{serviceName}/changeContact", array(
	contactAdmin => null, // The contact to set as admin contact (type: coreTypes.AccountId:string, nullable)
	contactBilling => null, // The contact to set as billing contact (type: coreTypes.AccountId:string, nullable)
	contactTech => null, // The contact to set as tech contact (type: coreTypes.AccountId:string, nullable)
));

print_r($result);
?>
```

## Confirm service termination

`POST /1.0/vps/{serviceName}/confirmTermination`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-confirmtermination

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:confirmTermination`

Confirm service termination. Terminates the service with the token sent by email to the admin contact. A reason, a future use and a comment can be given.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `commentary` | string |  | Commentary about your termination request |
| `futureUse` | service.TerminationFutureUseEnum |  | What next after your termination request — one of `NOT_REPLACING_SERVICE`, `OTHER`, `SUBSCRIBE_AN_OTHER_SERVICE`, `SUBSCRIBE_OTHER_KIND_OF_SERVICE_WITH_COMPETITOR`, `SUBSCRIBE_SIMILAR_SERVICE_WITH_COMPETITOR` |
| `reason` | service.TerminationReasonEnum |  | Reason of your termination request — one of `FEATURES_DONT_SUIT_ME`, `LACK_OF_PERFORMANCES`, `MIGRATED_TO_ANOTHER_OVH_PRODUCT`, `MIGRATED_TO_COMPETITOR`, `NOT_ENOUGH_RECOGNITION`, `NOT_NEEDED_ANYMORE`, `NOT_RELIABLE`, `NO_ANSWER`, `OTHER`, `PRODUCT_DIMENSION_DONT_SUIT_ME`, `PRODUCT_TOOLS_DONT_SUIT_ME`, `TOO_EXPENSIVE`, … |
| `token` | string | yes | The termination token sent by email to the admin contact |

```json
{
  "commentary": "string",
  "futureUse": "NOT_REPLACING_SERVICE",
  "reason": "FEATURES_DONT_SUIT_ME",
  "token": "string"
}
```

### Responses

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

```json
"string"
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/confirmTermination" \
  -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
)

result = client.post("/vps/{serviceName}/confirmTermination",
	commentary = None, # Commentary about your termination request (type: string, nullable)
	futureUse = None, # What next after your termination request (type: service.TerminationFutureUseEnum, nullable)
	reason = None, # Reason of your termination request (type: service.TerminationReasonEnum, nullable)
	token = None, # The termination token sent by email to the admin contact (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

$result = $ovh->post("/vps/{serviceName}/confirmTermination", array(
	commentary => null, // Commentary about your termination request (type: string, nullable)
	futureUse => null, // What next after your termination request (type: service.TerminationFutureUseEnum, nullable)
	reason => null, // Reason of your termination request (type: service.TerminationReasonEnum, nullable)
	token => null, // The termination token sent by email to the admin contact (type: string)
));

print_r($result);
?>
```

## Create a snapshot of the Virtual Server if the snapshot option is enabled and if there is no existing snapshot

`POST /1.0/vps/{serviceName}/createSnapshot`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-createsnapshot

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:snapshot/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `description` | string |  | A textual description for your snapshot |

```json
{
  "description": "string"
}
```

### Responses

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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `id` | integer | read-only |  |
| `progress` | integer | read-only |  |
| `state` | vps.TaskStateEnum | read-only | All states a VPS task can be in — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | vps.TaskTypeEnum | read-only | All type a VPS task can be — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "id": 0,
  "progress": 0,
  "state": "blocked",
  "type": "addVeeamBackupJob"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/createSnapshot" \
  -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: string
result = client.post("/vps/{serviceName}/createSnapshot",
	description = None, # A textual description for your snapshot (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: string
$result = $ovh->post("/vps/{serviceName}/createSnapshot", array(
	description => null, // A textual description for your snapshot (type: string, nullable)
));

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}/datacenter`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-datacenter

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:datacenter/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.Datacenter | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `country` | coreTypes.CountryEnum | read-only | Datacenter ISO country code — one of `ac`, `ad`, `ae`, `af`, `ag`, `ai`, `al`, `am`, `an`, `ao`, `aq`, `ar`, … |
| `longName` | string | read-only | Datacenter display name |
| `name` | string | read-only | Datacenter name |

```json
{
  "country": "ac",
  "longName": "string",
  "name": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/datacenter" \
  -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("/vps/{serviceName}/datacenter")

# 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("/vps/{serviceName}/datacenter");

print_r($result);
?>
```

## Disks associated to this virtual server

`GET /1.0/vps/{serviceName}/disks`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-disks

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:disks/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

```json
[
  0
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/disks" \
  -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("/vps/{serviceName}/disks")

# 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("/vps/{serviceName}/disks");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}/disks/{id}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-disks-id

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:disks/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | integer | yes | Id of the object |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.Disk | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `bandwidthLimit` | integer | read-only |  |
| `id` | integer | read-only |  |
| `lowFreeSpaceThreshold` | integer |  | The low disk free space threshold in MiB |
| `monitoring` | boolean |  | The monitoring state of this disk |
| `serviceName` | string | read-only | Service name |
| `size` | integer | read-only |  |
| `state` | vps.disk.StateEnum | read-only | Possible states the disk can be in — one of `connected`, `disconnected`, `pending` |
| `type` | vps.disk.TypeEnum | read-only | Possible type a disk can be in — one of `additional`, `primary` |

```json
{
  "bandwidthLimit": 0,
  "id": 0,
  "lowFreeSpaceThreshold": 0,
  "monitoring": true,
  "serviceName": "string",
  "size": 0,
  "state": "connected",
  "type": "additional"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/disks/{id}" \
  -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("/vps/{serviceName}/disks/{id}")

# 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("/vps/{serviceName}/disks/{id}");

print_r($result);
?>
```

## Alter this object properties

`PUT /1.0/vps/{serviceName}/disks/{id}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#put-vps-servicename-disks-id

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:disks/edit`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | integer | yes | Id of the object |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `vps.Disk`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `bandwidthLimit` | integer | read-only |  |
| `id` | integer | read-only |  |
| `lowFreeSpaceThreshold` | integer |  | The low disk free space threshold in MiB |
| `monitoring` | boolean |  | The monitoring state of this disk |
| `serviceName` | string | read-only | Service name |
| `size` | integer | read-only |  |
| `state` | vps.disk.StateEnum | read-only | Possible states the disk can be in — one of `connected`, `disconnected`, `pending` |
| `type` | vps.disk.TypeEnum | read-only | Possible type a disk can be in — one of `additional`, `primary` |

```json
{
  "lowFreeSpaceThreshold": 0,
  "monitoring": true
}
```

### Responses

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

### Example

```bash
curl -X PUT \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/disks/{id}" \
  -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: vps.Disk
result = client.put("/vps/{serviceName}/disks/{id}",
	lowFreeSpaceThreshold = None, # The low disk free space threshold in MiB (type: integer, nullable)
	monitoring = None, # The monitoring state of this disk (type: boolean, 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: vps.Disk
$result = $ovh->put("/vps/{serviceName}/disks/{id}", array(
	lowFreeSpaceThreshold => null, // The low disk free space threshold in MiB (type: integer, nullable)
	monitoring => null, // The monitoring state of this disk (type: boolean, nullable)
));

print_r($result);
?>
```

## Return many statistics about the disk for a given period

`GET /1.0/vps/{serviceName}/disks/{id}/monitoring`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-disks-id-monitoring

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:disks/monitoring/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | integer | yes | Id of the object |
| `period` | query | vps.VpsMonitoringPeriodEnum | yes | The period the statistics are fetched for — one of `lastday`, `lastmonth`, `lastweek`, `lastyear`, `today` |
| `serviceName` | path | string | yes | The internal name of your VPS offer |
| `type` | query | vps.disk.StatisticTypeEnum | yes | The type of statistic to be fetched — one of `max`, `used` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | complexType.UnitAndValues_vps.VpsTimestampValue | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `unit` | string |  |  |
| `values` | vps.VpsTimestampValue[] |  |  |
| `values[].timestamp` | integer |  |  |
| `values[].value` | number |  |  |

```json
{
  "unit": "string",
  "values": [
    {
      "timestamp": 0,
      "value": 0
    }
  ]
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/disks/{id}/monitoring" \
  -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("/vps/{serviceName}/disks/{id}/monitoring")

# 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("/vps/{serviceName}/disks/{id}/monitoring");

print_r($result);
?>
```

## Return many statistics about the disk at that time

`GET /1.0/vps/{serviceName}/disks/{id}/use`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-disks-id-use

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:disks/use/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | integer | yes | Id of the object |
| `serviceName` | path | string | yes | The internal name of your VPS offer |
| `type` | query | vps.disk.StatisticTypeEnum | yes | The type of statistic to be fetched — one of `max`, `used` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | complexType.UnitAndValue_double | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `unit` | string |  |  |
| `value` | number |  |  |

```json
{
  "unit": "string",
  "value": 0
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/disks/{id}/use" \
  -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("/vps/{serviceName}/disks/{id}/use")

# 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("/vps/{serviceName}/disks/{id}/use");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}/distribution`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-distribution

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:distribution/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.Template | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `availableLanguage` | string[] | read-only |  |
| `bitFormat` | vps.TemplateBitFormatEnum | read-only | Bitness of a VPS template — one of `32`, `64` |
| `distribution` | string | read-only |  |
| `id` | integer | read-only |  |
| `locale` | string | read-only |  |
| `name` | string | read-only |  |

```json
{
  "availableLanguage": [
    "string"
  ],
  "bitFormat": 32,
  "distribution": "string",
  "id": 0,
  "locale": "string",
  "name": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/distribution" \
  -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("/vps/{serviceName}/distribution")

# 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("/vps/{serviceName}/distribution");

print_r($result);
?>
```

## List available softwares for this template Id

`GET /1.0/vps/{serviceName}/distribution/software`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-distribution-software

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:distribution/software/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

```json
[
  0
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/distribution/software" \
  -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("/vps/{serviceName}/distribution/software")

# 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("/vps/{serviceName}/distribution/software");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}/distribution/software/{softwareId}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-distribution-software-softwareid

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:distribution/software/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |
| `softwareId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.Software | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | integer | read-only |  |
| `name` | string | read-only |  |
| `status` | vps.SoftwareStatusEnum | read-only | Available Status for a vps Software — one of `deprecated`, `stable`, `testing` |
| `type` | vps.SoftwareTypeEnum | read-only | Available Type for a vps Software — one of `database`, `environment`, `webserver` |

```json
{
  "id": 0,
  "name": "string",
  "status": "deprecated",
  "type": "database"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/distribution/software/{softwareId}" \
  -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("/vps/{serviceName}/distribution/software/{softwareId}")

# 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("/vps/{serviceName}/distribution/software/{softwareId}");

print_r($result);
?>
```

## Return the VPS console URL

`POST /1.0/vps/{serviceName}/getConsoleUrl`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-getconsoleurl

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:getConsoleUrl`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

```json
"string"
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/getConsoleUrl" \
  -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.post("/vps/{serviceName}/getConsoleUrl")

# 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->post("/vps/{serviceName}/getConsoleUrl");

print_r($result);
?>
```

## Images available for this virtual server

`GET /1.0/vps/{serviceName}/images/available`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-images-available

**Status:** Beta version  
**IAM actions:** `vps:apiovh:images/available/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

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

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/images/available" \
  -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("/vps/{serviceName}/images/available")

# 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("/vps/{serviceName}/images/available");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}/images/available/{id}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-images-available-id

**Status:** Beta version  
**IAM actions:** `vps:apiovh:images/available/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | string | yes | Id of the object |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.Image | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | read-only |  |
| `name` | string | read-only |  |

```json
{
  "id": "string",
  "name": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/images/available/{id}" \
  -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("/vps/{serviceName}/images/available/{id}")

# 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("/vps/{serviceName}/images/available/{id}");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}/images/current`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-images-current

**Status:** Beta version  
**IAM actions:** `vps:apiovh:images/current/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.Image | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | string | read-only |  |
| `name` | string | read-only |  |

```json
{
  "id": "string",
  "name": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/images/current" \
  -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("/vps/{serviceName}/images/current")

# 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("/vps/{serviceName}/images/current");

print_r($result);
?>
```

## Get the countries you can select for your IPs geolocation

`GET /1.0/vps/{serviceName}/ipCountryAvailable`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-ipcountryavailable

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:ipCountryAvailable/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.ip.GeolocationEnum[] | successful operation |

```json
[
  "at"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/ipCountryAvailable" \
  -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("/vps/{serviceName}/ipCountryAvailable")

# 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("/vps/{serviceName}/ipCountryAvailable");

print_r($result);
?>
```

## Ips associated to this virtual server

`GET /1.0/vps/{serviceName}/ips`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-ips

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:ips/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

```json
[
  "192.0.2.0"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/ips" \
  -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("/vps/{serviceName}/ips")

# 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("/vps/{serviceName}/ips");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}/ips/{ipAddress}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-ips-ipaddress

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:ips/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ipAddress` | path | ip | yes | The effective ip address of the Ip object |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.Ip | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `gateway` | ip | read-only | IP address (e.g., 192.0.2.0) |
| `geolocation` | vps.ip.GeolocationEnum | read-only | Geolocation of the IP Address — one of `at`, `au`, `be`, `ca`, `ch`, `cz`, `de`, `es`, `fi`, `fr`, `gb`, `ie`, … |
| `ipAddress` | ip | read-only | The effective ip address of the Ip object |
| `macAddress` | string | read-only |  |
| `reverse` | string |  |  |
| `type` | vps.ip.TypeEnum | read-only | Ip types on a VPS — one of `additional`, `primary` |
| `version` | coreTypes.IpVersionEnum | read-only | Ip versions — one of `v4`, `v6` |

```json
{
  "gateway": "192.0.2.0",
  "geolocation": "at",
  "ipAddress": "192.0.2.0",
  "macAddress": "string",
  "reverse": "string",
  "type": "additional",
  "version": "v4"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/ips/{ipAddress}" \
  -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("/vps/{serviceName}/ips/{ipAddress}")

# 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("/vps/{serviceName}/ips/{ipAddress}");

print_r($result);
?>
```

## Alter this object properties

`PUT /1.0/vps/{serviceName}/ips/{ipAddress}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#put-vps-servicename-ips-ipaddress

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:ips/edit`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ipAddress` | path | ip | yes | The effective ip address of the Ip object |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `vps.Ip`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `gateway` | ip | read-only | IP address (e.g., 192.0.2.0) |
| `geolocation` | vps.ip.GeolocationEnum | read-only | Geolocation of the IP Address — one of `at`, `au`, `be`, `ca`, `ch`, `cz`, `de`, `es`, `fi`, `fr`, `gb`, `ie`, … |
| `ipAddress` | ip | read-only | The effective ip address of the Ip object |
| `macAddress` | string | read-only |  |
| `reverse` | string |  |  |
| `type` | vps.ip.TypeEnum | read-only | Ip types on a VPS — one of `additional`, `primary` |
| `version` | coreTypes.IpVersionEnum | read-only | Ip versions — one of `v4`, `v6` |

```json
{
  "reverse": "string"
}
```

### Responses

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

### Example

```bash
curl -X PUT \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/ips/{ipAddress}" \
  -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: vps.Ip
result = client.put("/vps/{serviceName}/ips/{ipAddress}",
	reverse = None, #  (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: vps.Ip
$result = $ovh->put("/vps/{serviceName}/ips/{ipAddress}", array(
	reverse => null, //  (type: string, nullable)
));

print_r($result);
?>
```

## Release a given Ip (Additional Ip)

`DELETE /1.0/vps/{serviceName}/ips/{ipAddress}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#delete-vps-servicename-ips-ipaddress

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:ips/delete`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `ipAddress` | path | ip | yes | The effective ip address of the Ip object |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

### Example

```bash
curl -X DELETE \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/ips/{ipAddress}" \
  -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("/vps/{serviceName}/ips/{ipAddress}")

# 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("/vps/{serviceName}/ips/{ipAddress}");

print_r($result);
?>
```

## Return metrics token to query prometheus cluster

`GET /1.0/vps/{serviceName}/metricsToken`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-metricstoken

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:metricsToken/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.observability.MetricsToken | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `endpoint` | string |  |  |
| `token` | string (password) |  |  |

```json
{
  "endpoint": "string",
  "token": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/metricsToken" \
  -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("/vps/{serviceName}/metricsToken")

# 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("/vps/{serviceName}/metricsToken");

print_r($result);
?>
```

## Get information on a possible migration of a VPS 2016 to VPS 2020

`GET /1.0/vps/{serviceName}/migration2016`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-migration2016

**Status:** Deprecated, will be removed  
**Deprecated** since 2022-04-01, removed on 2022-05-01; use `/vps/{serviceName}/migration2018` instead.  
**IAM actions:** `vps:apiovh:migration2016/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.migration.VPS2016to2020 | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `currentPlan` | string |  | VPS current plan code |
| `datacenter` | vps.migration.DatacenterEnum |  | Datacenter of the migration — one of `BHS`, `DE`, `GRA`, `SBG`, `SGP`, `SYD`, `UK`, `WAW` |
| `date` | string (date-time) |  | Migration start date |
| `newPlan` | string |  | New VPS plan code after migration |
| `options` | vps.migration.OptionMapping2016[] |  | Mapping of VPS options from VPS 2016 to VPS 2020 |
| `options[].currentPlan` | string |  | VPS option current plan code |
| `options[].newPlan` | string |  | New VPS option plan code after migration |
| `options[].options` | vps.migration.OptionOptionMapping2016[] |  | Mapping of VPS options of option from VPS 2016 to VPS 2020 |
| `options[].options[].currentPlan` | string |  | VPS option current plan code |
| `options[].options[].newPlan` | string |  | New VPS option plan code after migration |
| `options[].options[].product` | string |  | VPS option product |
| `options[].product` | string |  | VPS option product |
| `product` | string |  | VPS product |
| `status` | vps.migration.StatusEnum |  | Status of the migration task — one of `available`, `notAvailable`, `ongoing`, `planned`, `toPlan` |

```json
{
  "currentPlan": "string",
  "datacenter": "BHS",
  "date": "2024-01-01T12:00:00Z",
  "newPlan": "string",
  "options": [
    {
      "currentPlan": "string",
      "newPlan": "string",
      "options": [
        {
          "currentPlan": "string",
          "newPlan": "string",
          "product": "string"
        }
      ],
      "product": "string"
    }
  ],
  "product": "string",
  "status": "available"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/migration2016" \
  -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("/vps/{serviceName}/migration2016")

# 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("/vps/{serviceName}/migration2016");

print_r($result);
?>
```

## Schedule the migration of a VPS 2016 to VPS 2020

`POST /1.0/vps/{serviceName}/migration2016`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-migration2016

**Status:** Deprecated, will be removed  
**Deprecated** since 2022-04-01, removed on 2022-05-01; use `/vps/{serviceName}/migration2018` instead.  
**IAM actions:** `vps:apiovh:migration2016/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `id` | integer | read-only |  |
| `progress` | integer | read-only |  |
| `state` | vps.TaskStateEnum | read-only | All states a VPS task can be in — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | vps.TaskTypeEnum | read-only | All type a VPS task can be — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "id": 0,
  "progress": 0,
  "state": "blocked",
  "type": "addVeeamBackupJob"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/migration2016" \
  -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.post("/vps/{serviceName}/migration2016")

# 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->post("/vps/{serviceName}/migration2016");

print_r($result);
?>
```

## Get information on a possible migration of a VPS 2016/2018 to VPS 2020

`GET /1.0/vps/{serviceName}/migration2018`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-migration2018

**Status:** Beta version  
**IAM actions:** `vps:apiovh:migration2018/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.migration.VPS2018to2020 | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `datacenter` | vps.migration.DatacenterEnum |  | Datacenter of the migration — one of `BHS`, `DE`, `GRA`, `SBG`, `SGP`, `SYD`, `UK`, `WAW` |
| `date` | string (date-time) |  | Migration start date |
| `plans` | vps.migration.VPS2018to2020Plan[] |  | List of available plans to migrate |
| `plans[].currentPlan` | string |  | VPS current plan code |
| `plans[].newPlan` | string |  | New VPS plan code after migration |
| `plans[].options` | vps.migration.OptionMapping2016[] |  | Mapping of VPS options from VPS 2016 to VPS 2020 |
| `plans[].options[].currentPlan` | string |  | VPS option current plan code |
| `plans[].options[].newPlan` | string |  | New VPS option plan code after migration |
| `plans[].options[].options` | vps.migration.OptionOptionMapping2016[] |  | Mapping of VPS options of option from VPS 2016 to VPS 2020 |
| `plans[].options[].product` | string |  | VPS option product |
| `plans[].product` | string |  | VPS product |
| `status` | vps.migration.StatusEnum |  | Status of the migration task — one of `available`, `notAvailable`, `ongoing`, `planned`, `toPlan` |

```json
{
  "datacenter": "BHS",
  "date": "2024-01-01T12:00:00Z",
  "plans": [
    {
      "currentPlan": "string",
      "newPlan": "string",
      "options": [
        {
          "currentPlan": "string",
          "newPlan": "string",
          "options": [
            {
              "currentPlan": null,
              "newPlan": null,
              "product": null
            }
          ],
          "product": "string"
        }
      ],
      "product": "string"
    }
  ],
  "status": "available"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/migration2018" \
  -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("/vps/{serviceName}/migration2018")

# 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("/vps/{serviceName}/migration2018");

print_r($result);
?>
```

## Schedule the migration of a VPS 2016/2018 to VPS 2020

`POST /1.0/vps/{serviceName}/migration2018`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-migration2018

**Status:** Beta version  
**IAM actions:** `vps:apiovh:migration2018/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `newPlan` | string | yes | Choosen plan for migration |

```json
{
  "newPlan": "string"
}
```

### Responses

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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `id` | integer | read-only |  |
| `progress` | integer | read-only |  |
| `state` | vps.TaskStateEnum | read-only | All states a VPS task can be in — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | vps.TaskTypeEnum | read-only | All type a VPS task can be — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "id": 0,
  "progress": 0,
  "state": "blocked",
  "type": "addVeeamBackupJob"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/migration2018" \
  -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: string
result = client.post("/vps/{serviceName}/migration2018",
	newPlan = None, # Choosen plan for migration (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: string
$result = $ovh->post("/vps/{serviceName}/migration2018", array(
	newPlan => null, // Choosen plan for migration (type: string)
));

print_r($result);
?>
```

## Return all models for the range of the virtual server

`GET /1.0/vps/{serviceName}/models`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-models

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:models/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.Model[] | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `availableOptions` | vps.VpsOptionEnum[] |  |  |
| `datacenter` | string[] |  |  |
| `disk` | integer |  |  |
| `diskLocationType` | vps.VpsDiskLocationTypeEnum |  | All location type a VPS primary disk can have — one of `distant`, `local` |
| `maximumAdditionnalIp` | integer |  |  |
| `memory` | integer |  |  |
| `name` | string |  |  |
| `offer` | string |  |  |
| `vcore` | integer |  |  |
| `version` | vps.VpsVersionEnum |  | All versions that VPS can have — one of `2013v1`, `2014v1`, `2015v1`, `2017v1`, `2017v2`, `2017v3`, `2018v1`, `2018v2`, `2019v1`, `2025v1`, `2027v1` |

```json
[
  {
    "availableOptions": [
      "additionalDisk"
    ],
    "datacenter": [
      "string"
    ],
    "disk": 0,
    "diskLocationType": "distant",
    "maximumAdditionnalIp": 0,
    "memory": 0,
    "name": "string",
    "offer": "string",
    "vcore": 0,
    "version": "2013v1"
  }
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/models" \
  -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("/vps/{serviceName}/models")

# 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("/vps/{serviceName}/models");

print_r($result);
?>
```

## Return many statistics about the virtual machine for a given period

`GET /1.0/vps/{serviceName}/monitoring`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-monitoring

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:monitoring/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `period` | query | vps.VpsMonitoringPeriodEnum | yes | The period the statistics are fetched for — one of `lastday`, `lastmonth`, `lastweek`, `lastyear`, `today` |
| `serviceName` | path | string | yes | The internal name of your VPS offer |
| `type` | query | vps.VpsStatisticTypeEnum | yes | The type of statistic to be fetched — one of `cpu:iowait`, `cpu:max`, `cpu:nice`, `cpu:sys`, `cpu:used`, `cpu:user`, `mem:max`, `mem:used`, `net:rx`, `net:tx` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | complexType.UnitAndValues_vps.VpsTimestampValue | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `unit` | string |  |  |
| `values` | vps.VpsTimestampValue[] |  |  |
| `values[].timestamp` | integer |  |  |
| `values[].value` | number |  |  |

```json
{
  "unit": "string",
  "values": [
    {
      "timestamp": 0,
      "value": 0
    }
  ]
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/monitoring" \
  -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("/vps/{serviceName}/monitoring")

# 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("/vps/{serviceName}/monitoring");

print_r($result);
?>
```

## Return the necessary informations to open a VNC connection to your VPS

`POST /1.0/vps/{serviceName}/openConsoleAccess`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-openconsoleaccess

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:openConsoleAccess`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `protocol` | vps.VncProtocolEnum |  | The console protocol you want — one of `VNC`, `VNCOverWebSocket` |

```json
{
  "protocol": "VNC"
}
```

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.Vnc | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `host` | string |  |  |
| `password` | string (password) |  |  |
| `port` | integer |  |  |

```json
{
  "host": "string",
  "password": "string",
  "port": 0
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/openConsoleAccess" \
  -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: vps.VncProtocolEnum
result = client.post("/vps/{serviceName}/openConsoleAccess",
	protocol = None, # The console protocol you want (type: vps.VncProtocolEnum, 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: vps.VncProtocolEnum
$result = $ovh->post("/vps/{serviceName}/openConsoleAccess", array(
	protocol => null, // The console protocol you want (type: vps.VncProtocolEnum, nullable)
));

print_r($result);
?>
```

## List of VPS options

`GET /1.0/vps/{serviceName}/option`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-option

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:option/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.VpsOptionEnum[] | successful operation |

```json
[
  "additionalDisk"
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/option" \
  -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("/vps/{serviceName}/option")

# 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("/vps/{serviceName}/option");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}/option/{option}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-option-option

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:option/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `option` | path | vps.VpsOptionEnum | yes | The option name — one of `additionalDisk`, `automatedBackup`, `cpanel`, `ftpbackup`, `plesk`, `snapshot`, `storage`, `veeam`, `windows` |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.Option | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `option` | vps.VpsOptionEnum | read-only | The option name — one of `additionalDisk`, `automatedBackup`, `cpanel`, `ftpbackup`, `plesk`, `snapshot`, `storage`, `veeam`, `windows` |
| `state` | vps.VpsOptionStateEnum | read-only | The state of the option — one of `released`, `subscribed` |

```json
{
  "option": "additionalDisk",
  "state": "released"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/option/{option}" \
  -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("/vps/{serviceName}/option/{option}")

# 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("/vps/{serviceName}/option/{option}");

print_r($result);
?>
```

## Release an option attached to this VPS (deprecated)

`DELETE /1.0/vps/{serviceName}/option/{option}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#deleteVpsOption

**Status:** Deprecated, will be removed  
**Deprecated** since 2023-12-22, removed on 2026-12-25.  
**IAM actions:** `vps:apiovh:option/delete`

Releases an option from the VPS. This call is deprecated.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `deleteNow` | query | boolean |  | Delete option now, don't wait for expiration |
| `option` | path | vps.VpsOptionEnum | yes | Option — one of `additionalDisk`, `automatedBackup`, `cpanel`, `ftpbackup`, `plesk`, `snapshot`, `storage`, `veeam`, `windows` |
| `serviceName` | path | string | yes | Service name |

### Responses

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

### Example

```bash
curl -X DELETE \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/option/{option}" \
  -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("/vps/{serviceName}/option/{option}")

# 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("/vps/{serviceName}/option/{option}");

print_r($result);
?>
```

## Request a reboot of the machine

`POST /1.0/vps/{serviceName}/reboot`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-reboot

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:reboot`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `id` | integer | read-only |  |
| `progress` | integer | read-only |  |
| `state` | vps.TaskStateEnum | read-only | All states a VPS task can be in — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | vps.TaskTypeEnum | read-only | All type a VPS task can be — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "id": 0,
  "progress": 0,
  "state": "blocked",
  "type": "addVeeamBackupJob"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/reboot" \
  -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.post("/vps/{serviceName}/reboot")

# 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->post("/vps/{serviceName}/reboot");

print_r($result);
?>
```

## Reinstall the virtual server

`POST /1.0/vps/{serviceName}/rebuild`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-rebuild

**Status:** Beta version  
**IAM actions:** `vps:apiovh:rebuild`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `doNotSendPassword` | boolean |  | If asked, the installation password will NOT be sent (only if sshKey defined) |
| `imageId` | string | yes | Id of the vps.Image fetched in /images list |
| `installRTM` | boolean |  | If asked, RTM will be installed on your VPS |
| `postInstallScript` | string |  | Bash script run once on first boot after reinstall |
| `publicSshKey` | string |  | Public SSH key to pre-install on your VPS |
| `sshKey` | string |  | SSH key name to pre-install on your VPS (name from /me/sshKey) |

```json
{
  "doNotSendPassword": true,
  "imageId": "string",
  "installRTM": true,
  "postInstallScript": "string",
  "publicSshKey": "string",
  "sshKey": "string"
}
```

### Responses

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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `id` | integer | read-only |  |
| `progress` | integer | read-only |  |
| `state` | vps.TaskStateEnum | read-only | All states a VPS task can be in — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | vps.TaskTypeEnum | read-only | All type a VPS task can be — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "id": 0,
  "progress": 0,
  "state": "blocked",
  "type": "addVeeamBackupJob"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/rebuild" \
  -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
)

result = client.post("/vps/{serviceName}/rebuild",
	doNotSendPassword = None, # If asked, the installation password will NOT be sent (only if sshKey defined) (type: boolean, nullable)
	imageId = None, # Id of the vps.Image fetched in /images list (type: string)
	installRTM = None, # If asked, RTM will be installed on your VPS (type: boolean, nullable)
	postInstallScript = None, # Bash script run once on first boot after reinstall (type: text, nullable)
	publicSshKey = None, # Public SSH key to pre-install on your VPS (type: text, nullable)
	sshKey = None, # SSH key name to pre-install on your VPS (name from /me/sshKey) (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

$result = $ovh->post("/vps/{serviceName}/rebuild", array(
	doNotSendPassword => null, // If asked, the installation password will NOT be sent (only if sshKey defined) (type: boolean, nullable)
	imageId => null, // Id of the vps.Image fetched in /images list (type: string)
	installRTM => null, // If asked, RTM will be installed on your VPS (type: boolean, nullable)
	postInstallScript => null, // Bash script run once on first boot after reinstall (type: text, nullable)
	publicSshKey => null, // Public SSH key to pre-install on your VPS (type: text, nullable)
	sshKey => null, // SSH key name to pre-install on your VPS (name from /me/sshKey) (type: string, nullable)
));

print_r($result);
?>
```

## Reinstall the virtual server

`POST /1.0/vps/{serviceName}/reinstall`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-reinstall

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:reinstall`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `doNotSendPassword` | boolean |  | If asked, the installation password will NOT be sent (only if sshKey defined) |
| `language` | string |  | Distribution language. default : en |
| `publicSshKey` | string |  | Public SSH key to pre-install on your VPS |
| `softwareId` | integer[] |  | Id of the vps.Software type fetched in /template/{id}/software |
| `sshKey` | string[] |  | SSH key names to pre-install on your VPS (name from /me/sshKey) |
| `templateId` | integer | yes | Id of the vps.Template fetched in /templates list |

```json
{
  "doNotSendPassword": true,
  "language": "string",
  "publicSshKey": "string",
  "softwareId": [
    0
  ],
  "sshKey": [
    "string"
  ],
  "templateId": 0
}
```

### Responses

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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `id` | integer | read-only |  |
| `progress` | integer | read-only |  |
| `state` | vps.TaskStateEnum | read-only | All states a VPS task can be in — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | vps.TaskTypeEnum | read-only | All type a VPS task can be — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "id": 0,
  "progress": 0,
  "state": "blocked",
  "type": "addVeeamBackupJob"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/reinstall" \
  -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
)

result = client.post("/vps/{serviceName}/reinstall",
	doNotSendPassword = None, # If asked, the installation password will NOT be sent (only if sshKey defined) (type: boolean, nullable)
	language = None, # Distribution language. default : en (type: string, nullable)
	publicSshKey = None, # Public SSH key to pre-install on your VPS (type: text, nullable)
	softwareId = None, # Id of the vps.Software type fetched in /template/{id}/software (type: long[], nullable)
	sshKey = None, # SSH key names to pre-install on your VPS (name from /me/sshKey) (type: string[], nullable)
	templateId = None, # Id of the vps.Template fetched in /templates list (type: long)
)

# 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->post("/vps/{serviceName}/reinstall", array(
	doNotSendPassword => null, // If asked, the installation password will NOT be sent (only if sshKey defined) (type: boolean, nullable)
	language => null, // Distribution language. default : en (type: string, nullable)
	publicSshKey => null, // Public SSH key to pre-install on your VPS (type: text, nullable)
	softwareId => null, // Id of the vps.Software type fetched in /template/{id}/software (type: long[], nullable)
	sshKey => null, // SSH key names to pre-install on your VPS (name from /me/sshKey) (type: string[], nullable)
	templateId => null, // Id of the vps.Template fetched in /templates list (type: long)
));

print_r($result);
?>
```

## List of secondary dns domain name

`GET /1.0/vps/{serviceName}/secondaryDnsDomains`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-secondarydnsdomains

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:secondaryDnsDomains/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

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

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/secondaryDnsDomains" \
  -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("/vps/{serviceName}/secondaryDnsDomains")

# 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("/vps/{serviceName}/secondaryDnsDomains");

print_r($result);
?>
```

## Add a domain on secondary DNS

`POST /1.0/vps/{serviceName}/secondaryDnsDomains`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-secondarydnsdomains

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:secondaryDnsDomains/create`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `domain` | string | yes | The domain to add |
| `ip` | ipv4 |  | IPv4 address (e.g., 192.0.2.0) |

```json
{
  "domain": "string",
  "ip": "192.0.2.0"
}
```

### Responses

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

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/secondaryDnsDomains" \
  -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
)

result = client.post("/vps/{serviceName}/secondaryDnsDomains",
	domain = None, # The domain to add (type: string)
	ip = None, #  (type: ipv4, 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

$result = $ovh->post("/vps/{serviceName}/secondaryDnsDomains", array(
	domain => null, // The domain to add (type: string)
	ip => null, //  (type: ipv4, nullable)
));

print_r($result);
?>
```

## Get details about a secondary DNS domain

`GET /1.0/vps/{serviceName}/secondaryDnsDomains/{domain}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-secondarydnsdomains-domain

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:secondaryDnsDomains/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domain` | path | string | yes | Domain on slave server |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.secondaryDnsDomain.SecondaryDNS | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `creationDate` | string (date-time) | read-only |  |
| `dns` | string | read-only | Secondary DNS server |
| `domain` | string | read-only | Domain on slave server |
| `ipMaster` | ipv4 |  | Master IPv4 address |

```json
{
  "creationDate": "2024-01-01T12:00:00Z",
  "dns": "string",
  "domain": "string",
  "ipMaster": "192.0.2.0"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/secondaryDnsDomains/{domain}" \
  -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("/vps/{serviceName}/secondaryDnsDomains/{domain}")

# 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("/vps/{serviceName}/secondaryDnsDomains/{domain}");

print_r($result);
?>
```

## Update IP address targeted by a domain on secondary DNS

`PUT /1.0/vps/{serviceName}/secondaryDnsDomains/{domain}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#put-vps-servicename-secondarydnsdomains-domain

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:secondaryDnsDomains/edit`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domain` | path | string | yes | Domain on slave server |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `vps.secondaryDnsDomain.SecondaryDNS`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `creationDate` | string (date-time) | read-only |  |
| `dns` | string | read-only | Secondary DNS server |
| `domain` | string | read-only | Domain on slave server |
| `ipMaster` | ipv4 |  | Master IPv4 address |

```json
{
  "ipMaster": "192.0.2.0"
}
```

### Responses

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

### Example

```bash
curl -X PUT \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/secondaryDnsDomains/{domain}" \
  -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: vps.secondaryDnsDomain.SecondaryDNS
result = client.put("/vps/{serviceName}/secondaryDnsDomains/{domain}",
	ipMaster = None, # Master IPv4 address (type: ipv4)
)

# 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: vps.secondaryDnsDomain.SecondaryDNS
$result = $ovh->put("/vps/{serviceName}/secondaryDnsDomains/{domain}", array(
	ipMaster => null, // Master IPv4 address (type: ipv4)
));

print_r($result);
?>
```

## Remove domain on a secondary DNS

`DELETE /1.0/vps/{serviceName}/secondaryDnsDomains/{domain}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#delete-vps-servicename-secondarydnsdomains-domain

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:secondaryDnsDomains/delete`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domain` | path | string | yes | Domain on slave server |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

### Example

```bash
curl -X DELETE \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/secondaryDnsDomains/{domain}" \
  -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("/vps/{serviceName}/secondaryDnsDomains/{domain}")

# 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("/vps/{serviceName}/secondaryDnsDomains/{domain}");

print_r($result);
?>
```

## DNS server informations

`GET /1.0/vps/{serviceName}/secondaryDnsDomains/{domain}/dnsServer`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-secondarydnsdomains-domain-dnsserver

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:secondaryDnsDomains/dnsServer/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `domain` | path | string | yes | Domain on slave server |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | secondaryDns.SecondaryDNSNameServer | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `hostname` | string |  | the name server |
| `ip` | ipv4 |  | IPv4 address (e.g., 192.0.2.0) |
| `ipv6` | ipv6 |  | IPv6 address (e.g., 2001:41d0:1:1994::1) |

```json
{
  "hostname": "string",
  "ip": "192.0.2.0",
  "ipv6": "2001:41d0:1:1994::1"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/secondaryDnsDomains/{domain}/dnsServer" \
  -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("/vps/{serviceName}/secondaryDnsDomains/{domain}/dnsServer")

# 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("/vps/{serviceName}/secondaryDnsDomains/{domain}/dnsServer");

print_r($result);
?>
```

## Secondary nameServer available for your Server

`GET /1.0/vps/{serviceName}/secondaryDnsNameServerAvailable`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-secondarydnsnameserveravailable

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:secondaryDnsNameServerAvailable/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | secondaryDns.SecondaryDNSNameServer | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `hostname` | string |  | the name server |
| `ip` | ipv4 |  | IPv4 address (e.g., 192.0.2.0) |
| `ipv6` | ipv6 |  | IPv6 address (e.g., 2001:41d0:1:1994::1) |

```json
{
  "hostname": "string",
  "ip": "192.0.2.0",
  "ipv6": "2001:41d0:1:1994::1"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/secondaryDnsNameServerAvailable" \
  -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("/vps/{serviceName}/secondaryDnsNameServerAvailable")

# 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("/vps/{serviceName}/secondaryDnsNameServerAvailable");

print_r($result);
?>
```

## Get service information

`GET /1.0/vps/{serviceName}/serviceInfos`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-serviceinfos

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:serviceInfos/get`

Get service information. Returns the status, creation and expiration dates, contacts and renewal settings of the service.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | services.Service | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `canDeleteAtExpiration` | boolean | read-only | Indicates that the service can be set up to be deleted at expiration |
| `contactAdmin` | string | read-only |  |
| `contactBilling` | string | read-only |  |
| `contactTech` | string | read-only |  |
| `creation` | string (date) | read-only |  |
| `domain` | string | read-only |  |
| `engagedUpTo` | string (date) | read-only |  |
| `expiration` | string (date) | read-only |  |
| `possibleRenewPeriod` | integer[] | read-only | All the possible renew period of your service in month |
| `renew` | service.RenewType |  | Way of handling the renew |
| `renew.automatic` | boolean |  | The service is automatically renewed |
| `renew.deleteAtExpiration` | boolean |  | The service will be deleted at expiration |
| `renew.forced` | boolean |  | The service forced to be renewed |
| `renew.manualPayment` | boolean |  | The service needs to be manually renewed and paid |
| `renew.period` | integer |  | period of renew in month |
| `renewalType` | service.RenewalTypeEnum | read-only | Detailed renewal type of a service — one of `automaticForcedProduct`, `automaticV2012`, `automaticV2014`, `automaticV2016`, `automaticV2024`, `manual`, `oneShot`, `option` |
| `serviceId` | integer | read-only |  |
| `status` | service.StateEnum | read-only | one of `autorenewInProgress`, `expired`, `inCreation`, `ok`, `pendingDebt`, `unPaid` |

```json
{
  "canDeleteAtExpiration": true,
  "contactAdmin": "string",
  "contactBilling": "string",
  "contactTech": "string",
  "creation": "2024-01-01",
  "domain": "string",
  "engagedUpTo": "2024-01-01",
  "expiration": "2024-01-01",
  "possibleRenewPeriod": [
    0
  ],
  "renew": {
    "automatic": true,
    "deleteAtExpiration": true,
    "forced": true,
    "manualPayment": true,
    "period": 0
  },
  "renewalType": "automaticForcedProduct",
  "serviceId": 0,
  "status": "autorenewInProgress"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/serviceInfos" \
  -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("/vps/{serviceName}/serviceInfos")

# 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("/vps/{serviceName}/serviceInfos");

print_r($result);
?>
```

## Update service information

`PUT /1.0/vps/{serviceName}/serviceInfos`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#put-vps-servicename-serviceinfos

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:serviceInfos/edit`

Update service information. Updates the renewal settings of the service: automatic renewal, period, or deletion at expiration.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `services.Service`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `canDeleteAtExpiration` | boolean | read-only | Indicates that the service can be set up to be deleted at expiration |
| `contactAdmin` | string | read-only |  |
| `contactBilling` | string | read-only |  |
| `contactTech` | string | read-only |  |
| `creation` | string (date) | read-only |  |
| `domain` | string | read-only |  |
| `engagedUpTo` | string (date) | read-only |  |
| `expiration` | string (date) | read-only |  |
| `possibleRenewPeriod` | integer[] | read-only | All the possible renew period of your service in month |
| `renew` | service.RenewType |  | Way of handling the renew |
| `renew.automatic` | boolean |  | The service is automatically renewed |
| `renew.deleteAtExpiration` | boolean |  | The service will be deleted at expiration |
| `renew.forced` | boolean |  | The service forced to be renewed |
| `renew.manualPayment` | boolean |  | The service needs to be manually renewed and paid |
| `renew.period` | integer |  | period of renew in month |
| `renewalType` | service.RenewalTypeEnum | read-only | Detailed renewal type of a service — one of `automaticForcedProduct`, `automaticV2012`, `automaticV2014`, `automaticV2016`, `automaticV2024`, `manual`, `oneShot`, `option` |
| `serviceId` | integer | read-only |  |
| `status` | service.StateEnum | read-only | one of `autorenewInProgress`, `expired`, `inCreation`, `ok`, `pendingDebt`, `unPaid` |

```json
{
  "renew": {
    "automatic": true,
    "deleteAtExpiration": true,
    "forced": true,
    "manualPayment": true,
    "period": 0
  }
}
```

### Responses

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

### Example

```bash
curl -X PUT \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/serviceInfos" \
  -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: services.Service
result = client.put("/vps/{serviceName}/serviceInfos",
	renew = None, # Way of handling the renew (type: service.RenewType, 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: services.Service
$result = $ovh->put("/vps/{serviceName}/serviceInfos", array(
	renew => null, // Way of handling the renew (type: service.RenewType, nullable)
));

print_r($result);
?>
```

## Start the process in order to set the root password of the virtual machine

`POST /1.0/vps/{serviceName}/setPassword`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-setpassword

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:setPassword`

Start the process in order to set the root password of the virtual machine. Be careful, in case of Cloud model, a reboot is mandatory.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `id` | integer | read-only |  |
| `progress` | integer | read-only |  |
| `state` | vps.TaskStateEnum | read-only | All states a VPS task can be in — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | vps.TaskTypeEnum | read-only | All type a VPS task can be — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "id": 0,
  "progress": 0,
  "state": "blocked",
  "type": "addVeeamBackupJob"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/setPassword" \
  -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.post("/vps/{serviceName}/setPassword")

# 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->post("/vps/{serviceName}/setPassword");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}/snapshot`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-snapshot

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:snapshot/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.Snapshot | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `creationDate` | string (date-time) | read-only |  |
| `description` | string |  |  |
| `id` | string | read-only |  |
| `region` | string | read-only |  |

```json
{
  "creationDate": "2024-01-01T12:00:00Z",
  "description": "string",
  "id": "string",
  "region": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/snapshot" \
  -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("/vps/{serviceName}/snapshot")

# 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("/vps/{serviceName}/snapshot");

print_r($result);
?>
```

## Alter this object properties

`PUT /1.0/vps/{serviceName}/snapshot`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#put-vps-servicename-snapshot

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:snapshot/edit`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `vps.Snapshot`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `creationDate` | string (date-time) | read-only |  |
| `description` | string |  |  |
| `id` | string | read-only |  |
| `region` | string | read-only |  |

```json
{
  "description": "string"
}
```

### Responses

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

### Example

```bash
curl -X PUT \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/snapshot" \
  -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: vps.Snapshot
result = client.put("/vps/{serviceName}/snapshot",
	description = None, #  (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: vps.Snapshot
$result = $ovh->put("/vps/{serviceName}/snapshot", array(
	description => null, //  (type: string)
));

print_r($result);
?>
```

## Creates a vps.Task that will delete the Snapshot

`DELETE /1.0/vps/{serviceName}/snapshot`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#delete-vps-servicename-snapshot

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:snapshot/delete`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `id` | integer | read-only |  |
| `progress` | integer | read-only |  |
| `state` | vps.TaskStateEnum | read-only | All states a VPS task can be in — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | vps.TaskTypeEnum | read-only | All type a VPS task can be — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "id": 0,
  "progress": 0,
  "state": "blocked",
  "type": "addVeeamBackupJob"
}
```

### Example

```bash
curl -X DELETE \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/snapshot" \
  -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("/vps/{serviceName}/snapshot")

# 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("/vps/{serviceName}/snapshot");

print_r($result);
?>
```

## Download the snapshot

`GET /1.0/vps/{serviceName}/snapshot/download`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-snapshot-download

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:snapshot/download/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.DownloadSnapshotURL | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `size` | integer |  | Snapshot size (bytes) |
| `url` | string |  | URL to download the snapshot |

```json
{
  "size": 0,
  "url": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/snapshot/download" \
  -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("/vps/{serviceName}/snapshot/download")

# 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("/vps/{serviceName}/snapshot/download");

print_r($result);
?>
```

## Revert the Virtual Server to this snapshot

`POST /1.0/vps/{serviceName}/snapshot/revert`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-snapshot-revert

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:snapshot/revert`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `id` | integer | read-only |  |
| `progress` | integer | read-only |  |
| `state` | vps.TaskStateEnum | read-only | All states a VPS task can be in — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | vps.TaskTypeEnum | read-only | All type a VPS task can be — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "id": 0,
  "progress": 0,
  "state": "blocked",
  "type": "addVeeamBackupJob"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/snapshot/revert" \
  -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.post("/vps/{serviceName}/snapshot/revert")

# 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->post("/vps/{serviceName}/snapshot/revert");

print_r($result);
?>
```

## Request the machine to start

`POST /1.0/vps/{serviceName}/start`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-start

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:start`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `id` | integer | read-only |  |
| `progress` | integer | read-only |  |
| `state` | vps.TaskStateEnum | read-only | All states a VPS task can be in — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | vps.TaskTypeEnum | read-only | All type a VPS task can be — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "id": 0,
  "progress": 0,
  "state": "blocked",
  "type": "addVeeamBackupJob"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/start" \
  -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.post("/vps/{serviceName}/start")

# 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->post("/vps/{serviceName}/start");

print_r($result);
?>
```

## Return monitoring statistics about the virtual machine

`GET /1.0/vps/{serviceName}/statistics`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-statistics

**Status:** Deprecated, will be removed  
**Deprecated** since 2023-11-07, removed on 2024-01-07.  
**IAM actions:** `vps:apiovh:statistics/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.VpsMonitoringStatistics | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `cpu` | number |  | Average CPU usage in percentage over the last 24 hours |
| `disk` | number |  | Current disk usage in percentage |
| `memory` | number |  | Average memory usage in percentage over the last 24 hours |

```json
{
  "cpu": 0,
  "disk": 0,
  "memory": 0
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/statistics" \
  -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("/vps/{serviceName}/statistics")

# 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("/vps/{serviceName}/statistics");

print_r($result);
?>
```

## Give the status of the services of the main IP

`GET /1.0/vps/{serviceName}/status`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-status

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:status/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.ip.ServiceStatus | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `dns` | vps.ip.ServiceStatusService |  | Port and state of a service on an IP |
| `dns.port` | integer |  |  |
| `dns.state` | vps.ip.ServiceStatusStateEnum |  | Possible states of a service (ping, port) — one of `down`, `up` |
| `http` | vps.ip.ServiceStatusService |  | Port and state of a service on an IP |
| `http.port` | integer |  |  |
| `http.state` | vps.ip.ServiceStatusStateEnum |  | Possible states of a service (ping, port) — one of `down`, `up` |
| `https` | vps.ip.ServiceStatusService |  | Port and state of a service on an IP |
| `https.port` | integer |  |  |
| `https.state` | vps.ip.ServiceStatusStateEnum |  | Possible states of a service (ping, port) — one of `down`, `up` |
| `ping` | vps.ip.ServiceStatusStateEnum |  | Possible states of a service (ping, port) — one of `down`, `up` |
| `smtp` | vps.ip.ServiceStatusService |  | Port and state of a service on an IP |
| `smtp.port` | integer |  |  |
| `smtp.state` | vps.ip.ServiceStatusStateEnum |  | Possible states of a service (ping, port) — one of `down`, `up` |
| `ssh` | vps.ip.ServiceStatusService |  | Port and state of a service on an IP |
| `ssh.port` | integer |  |  |
| `ssh.state` | vps.ip.ServiceStatusStateEnum |  | Possible states of a service (ping, port) — one of `down`, `up` |
| `tools` | vps.ip.ServiceStatusStateEnum |  | Possible states of a service (ping, port) — one of `down`, `up` |

```json
{
  "dns": {
    "port": 0,
    "state": "down"
  },
  "http": {
    "port": 0,
    "state": "down"
  },
  "https": {
    "port": 0,
    "state": "down"
  },
  "ping": "down",
  "smtp": {
    "port": 0,
    "state": "down"
  },
  "ssh": {
    "port": 0,
    "state": "down"
  },
  "tools": "down"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/status" \
  -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("/vps/{serviceName}/status")

# 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("/vps/{serviceName}/status");

print_r($result);
?>
```

## Request the machine to stop

`POST /1.0/vps/{serviceName}/stop`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-stop

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:stop`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `id` | integer | read-only |  |
| `progress` | integer | read-only |  |
| `state` | vps.TaskStateEnum | read-only | All states a VPS task can be in — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | vps.TaskTypeEnum | read-only | All type a VPS task can be — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "id": 0,
  "progress": 0,
  "state": "blocked",
  "type": "addVeeamBackupJob"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/stop" \
  -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.post("/vps/{serviceName}/stop")

# 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->post("/vps/{serviceName}/stop");

print_r($result);
?>
```

## Tasks associated to this virtual server

`GET /1.0/vps/{serviceName}/tasks`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-tasks

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:tasks/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |
| `state` | query | vps.TaskStateEnum |  | Filter the value of state property (=) — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | query | vps.TaskTypeEnum |  | Filter the value of type property (=) — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

### Responses

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

```json
[
  0
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/tasks" \
  -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("/vps/{serviceName}/tasks")

# 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("/vps/{serviceName}/tasks");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}/tasks/{id}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-tasks-id

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:tasks/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | integer | yes | Id of the object |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `id` | integer | read-only |  |
| `progress` | integer | read-only |  |
| `state` | vps.TaskStateEnum | read-only | All states a VPS task can be in — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | vps.TaskTypeEnum | read-only | All type a VPS task can be — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "id": 0,
  "progress": 0,
  "state": "blocked",
  "type": "addVeeamBackupJob"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/tasks/{id}" \
  -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("/vps/{serviceName}/tasks/{id}")

# 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("/vps/{serviceName}/tasks/{id}");

print_r($result);
?>
```

## Templates available for this virtual server

`GET /1.0/vps/{serviceName}/templates`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-templates

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:templates/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

```json
[
  0
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/templates" \
  -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("/vps/{serviceName}/templates")

# 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("/vps/{serviceName}/templates");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}/templates/{id}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-templates-id

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:templates/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | integer | yes | Id of the object |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.Template | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `availableLanguage` | string[] | read-only |  |
| `bitFormat` | vps.TemplateBitFormatEnum | read-only | Bitness of a VPS template — one of `32`, `64` |
| `distribution` | string | read-only |  |
| `id` | integer | read-only |  |
| `locale` | string | read-only |  |
| `name` | string | read-only |  |

```json
{
  "availableLanguage": [
    "string"
  ],
  "bitFormat": 32,
  "distribution": "string",
  "id": 0,
  "locale": "string",
  "name": "string"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/templates/{id}" \
  -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("/vps/{serviceName}/templates/{id}")

# 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("/vps/{serviceName}/templates/{id}");

print_r($result);
?>
```

## List available softwares for this template Id

`GET /1.0/vps/{serviceName}/templates/{id}/software`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-templates-id-software

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:templates/software/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | integer | yes | Id of the object |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

```json
[
  0
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/templates/{id}/software" \
  -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("/vps/{serviceName}/templates/{id}/software")

# 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("/vps/{serviceName}/templates/{id}/software");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}/templates/{id}/software/{softwareId}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-templates-id-software-softwareid

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:templates/software/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | integer | yes | Id of the object |
| `serviceName` | path | string | yes | The internal name of your VPS offer |
| `softwareId` | path | integer | yes |  |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.Software | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `id` | integer | read-only |  |
| `name` | string | read-only |  |
| `status` | vps.SoftwareStatusEnum | read-only | Available Status for a vps Software — one of `deprecated`, `stable`, `testing` |
| `type` | vps.SoftwareTypeEnum | read-only | Available Type for a vps Software — one of `database`, `environment`, `webserver` |

```json
{
  "id": 0,
  "name": "string",
  "status": "deprecated",
  "type": "database"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/templates/{id}/software/{softwareId}" \
  -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("/vps/{serviceName}/templates/{id}/software/{softwareId}")

# 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("/vps/{serviceName}/templates/{id}/software/{softwareId}");

print_r($result);
?>
```

## Request service termination

`POST /1.0/vps/{serviceName}/terminate`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-terminate

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:terminate`

Request service termination. Starts the termination of the service. The admin contact receives a token by email, to confirm with the `confirmTermination` call.

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

```json
"string"
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/terminate" \
  -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.post("/vps/{serviceName}/terminate")

# 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->post("/vps/{serviceName}/terminate");

print_r($result);
?>
```

## Return many statistics about the virtual machine at that time

`GET /1.0/vps/{serviceName}/use`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-use

**Status:** Deprecated, will be removed  
**Deprecated** since 2023-07-31, removed on 2023-10-01; use `/vps/{serviceName}/monitoring` instead.  
**IAM actions:** `vps:apiovh:use/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |
| `type` | query | vps.VpsStatisticTypeEnum | yes | The type of statistic to be fetched — one of `cpu:iowait`, `cpu:max`, `cpu:nice`, `cpu:sys`, `cpu:used`, `cpu:user`, `mem:max`, `mem:used`, `net:rx`, `net:tx` |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | complexType.UnitAndValue_double | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `unit` | string |  |  |
| `value` | number |  |  |

```json
{
  "unit": "string",
  "value": 0
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/use" \
  -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("/vps/{serviceName}/use")

# 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("/vps/{serviceName}/use");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}/veeam`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-veeam

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:veeam/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.Veeam | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `backup` | boolean | read-only | Backup state |

```json
{
  "backup": true
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/veeam" \
  -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("/vps/{serviceName}/veeam")

# 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("/vps/{serviceName}/veeam");

print_r($result);
?>
```

## Veeam restore points for the VPS

`GET /1.0/vps/{serviceName}/veeam/restorePoints`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-veeam-restorepoints

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:veeam/restorePoints/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `creationTime` | query | string (date-time) |  | Filter the value of creationTime property (like) |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

```json
[
  0
]
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/veeam/restorePoints" \
  -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("/vps/{serviceName}/veeam/restorePoints")

# 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("/vps/{serviceName}/veeam/restorePoints");

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}/veeam/restorePoints/{id}`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-veeam-restorepoints-id

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:veeam/restorePoints/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | integer | yes | Id of the object |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.veeam.RestorePoint | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `creationTime` | string (date-time) | read-only | The restore point's creation time |
| `id` | integer | read-only | The restore point's id |

```json
{
  "creationTime": "2024-01-01T12:00:00Z",
  "id": 0
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/veeam/restorePoints/{id}" \
  -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("/vps/{serviceName}/veeam/restorePoints/{id}")

# 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("/vps/{serviceName}/veeam/restorePoints/{id}");

print_r($result);
?>
```

## Creates a VPS.Task that will restore the given restorePoint

`POST /1.0/vps/{serviceName}/veeam/restorePoints/{id}/restore`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#post-vps-servicename-veeam-restorepoints-id-restore

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:veeam/restorePoints/restore`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `id` | path | integer | yes | Id of the object |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Request body (required)

Type: `object`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `changePassword` | boolean |  | (Full only) Change the restored VPS root password when done |
| `export` | vps.veeam.ExportTypeEnum |  | (Except full) The export method for your restore - defaults to both — one of `nfs`, `smb` |
| `full` | boolean | yes | Replace your current VPS by the restorePoint |

```json
{
  "changePassword": true,
  "export": "nfs",
  "full": true
}
```

### Responses

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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `id` | integer | read-only |  |
| `progress` | integer | read-only |  |
| `state` | vps.TaskStateEnum | read-only | All states a VPS task can be in — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | vps.TaskTypeEnum | read-only | All type a VPS task can be — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "id": 0,
  "progress": 0,
  "state": "blocked",
  "type": "addVeeamBackupJob"
}
```

### Example

```bash
curl -X POST \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/veeam/restorePoints/{id}/restore" \
  -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: boolean
result = client.post("/vps/{serviceName}/veeam/restorePoints/{id}/restore",
	changePassword = None, # (Full only) Change the restored VPS root password when done (type: boolean, nullable)
	export = None, # (Except full) The export method for your restore - defaults to both (type: vps.veeam.ExportTypeEnum, nullable)
	full = None, # Replace your current VPS by the restorePoint (type: boolean)
)

# 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: boolean
$result = $ovh->post("/vps/{serviceName}/veeam/restorePoints/{id}/restore", array(
	changePassword => null, // (Full only) Change the restored VPS root password when done (type: boolean, nullable)
	export => null, // (Except full) The export method for your restore - defaults to both (type: vps.veeam.ExportTypeEnum, nullable)
	full => null, // Replace your current VPS by the restorePoint (type: boolean)
));

print_r($result);
?>
```

## Get this object properties

`GET /1.0/vps/{serviceName}/veeam/restoredBackup`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#get-vps-servicename-veeam-restoredbackup

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:veeam/restoredBackup/get`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

| Status | Type | Description |
| --- | --- | --- |
| 200 | vps.veeam.RestoredBackup | successful operation |

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `accessInfos` | vps.veeam.Infos | read-only | Backup access informations |
| `accessInfos.nfs` | string |  | NFS URL of the backup |
| `accessInfos.smb` | string |  | SMB URL of the backup |
| `restorePointId` | integer | read-only | The restore point id |
| `state` | vps.veeam.StateEnum | read-only | The restored backup state — one of `mounted`, `restoring`, `unmounted`, `unmounting` |

```json
{
  "accessInfos": {
    "nfs": "string",
    "smb": "string"
  },
  "restorePointId": 0,
  "state": "mounted"
}
```

### Example

```bash
curl -X GET \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/veeam/restoredBackup" \
  -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("/vps/{serviceName}/veeam/restoredBackup")

# 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("/vps/{serviceName}/veeam/restoredBackup");

print_r($result);
?>
```

## Creates a VPS.Task that will unmount the backup

`DELETE /1.0/vps/{serviceName}/veeam/restoredBackup`

Link: https://developers.eu.ovhcloud.com/reference/bare-metal-cloud/vps/#delete-vps-servicename-veeam-restoredbackup

**Status:** Stable production version  
**IAM actions:** `vps:apiovh:veeam/restoredBackup/delete`

### Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `serviceName` | path | string | yes | The internal name of your VPS offer |

### Responses

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

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `date` | string (date-time) | read-only |  |
| `id` | integer | read-only |  |
| `progress` | integer | read-only |  |
| `state` | vps.TaskStateEnum | read-only | All states a VPS task can be in — one of `blocked`, `cancelled`, `doing`, `done`, `error`, `paused`, `todo`, `waitingAck` |
| `type` | vps.TaskTypeEnum | read-only | All type a VPS task can be — one of `addVeeamBackupJob`, `changeRootPassword`, `createSnapshot`, `deleteSnapshot`, `deliverVm`, `getConsoleUrl`, `internalTask`, `migrate`, `openConsoleAccess`, `provisioningAdditionalIp`, `reOpenVm`, `rebootVm`, … |

```json
{
  "date": "2024-01-01T12:00:00Z",
  "id": 0,
  "progress": 0,
  "state": "blocked",
  "type": "addVeeamBackupJob"
}
```

### Example

```bash
curl -X DELETE \
  "https://api.eu.ovhcloud.com/1.0/vps/{serviceName}/veeam/restoredBackup" \
  -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("/vps/{serviceName}/veeam/restoredBackup")

# 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("/vps/{serviceName}/veeam/restoredBackup");

print_r($result);
?>
```
