Skip to content

Bring Your Own IP

All operations require authentication.

9 operationsv1/ip/service · /ip/{ip}
Agent setup

List sub-rangesBeta

GET
/1.0/ip/service/{serviceName}/bringYourOwnIp/subRange

List sub-ranges. Returns the IPv4 and IPv6 sub-ranges of the imported range, as IP blocks in CIDR notation.

Path parameters

serviceName
required
string

The internal name of your IP services

Response

200ipBlock[]successful operation

Example uses serviceName = string

$ curl https://api.eu.ovhcloud.com/1.0/ip/service/{serviceName}/bringYourOwnIp/subRange \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
[ "192.0.2.0/24"]

List slicing optionsBeta

GET
/1.0/ip/{ip}/bringYourOwnIp/slice

List slicing options. Returns, for each allowed size, the Additional IPs that slicing this one would create. Slicing applies to IPv4 blocks only.

Path parameters

ip
required
ipBlock

IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)

Response

200ByoipSlicingPreview[]successful operation
childrenIps
ipBlock[]

Additional IP(s) that will be created

slicingSize
integer

Slicing size

Example uses ip = 192.0.2.0/24

$ curl https://api.eu.ovhcloud.com/1.0/ip/{ip}/bringYourOwnIp/slice \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
[ { "childrenIps": [ "192.0.2.0/24" ], "slicingSize": 0 }]

List aggregation optionsBeta

GET
/1.0/ip/{ip}/bringYourOwnIp/aggregate

List aggregation options. Returns the larger Additional IPs this one can merge into, with the neighbors each would absorb. Aggregation applies to IPv4 blocks only.

Path parameters

ip
required
ipBlock

IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)

Response

200ByoipAggregationPreview[]successful operation
aggregationIp
ipBlock

Aggregation Additional IP that will be created

childrenIps
ipBlock[]

Existing Additional IP(s) that will be aggregated

Example uses ip = 192.0.2.0/24

$ curl https://api.eu.ovhcloud.com/1.0/ip/{ip}/bringYourOwnIp/aggregate \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
[ { "aggregationIp": "192.0.2.0/24", "childrenIps": [ "192.0.2.0/24" ] }]

Get the imported rangeBeta

GET
/1.0/ip/service/{serviceName}/bringYourOwnIp/importedRange

Get the imported range. Returns the imported range, its RIR and region, and the AS number that announces it.

Path parameters

serviceName
required
string

The internal name of your IP services

Response

200BringYourOwnIpImportedRangesuccessful operation
asNumber
integer

AS number used to annouce the IP in BGP

asRir
string

AS number's RIR

ip
ipBlock

Imported IP range

ipRir
string

IP's RIR

region
RegionCodenameEnum

IP's region

Valuesaf-central-lz-abjaf-north-lz-rbaap-south-lz-aklap-south-lz-blrap-south-lz-icdap-south-mumap-southeast-sgpap-southeast-sydca-east-bhsca-east-toreu-central-lz-buheu-central-lz-sofeu-central-waweu-east-lz-prgeu-north-lz-cpheu-north-lz-heleu-north-lz-osleu-north-lz-stoeu-south-lz-liseu-south-lz-madeu-south-lz-mileu-south-mileu-west-erieu-west-graeu-west-limeu-west-lz-amseu-west-lz-brueu-west-lz-dlneu-west-lz-luxeu-west-lz-mnceu-west-lz-mrseu-west-lz-vieeu-west-lz-zrheu-west-pareu-west-rbxeu-west-sbgme-south-lz-dxbsa-central-lz-mexsa-east-lz-saosa-west-lz-buesa-west-lz-sclus-central-lz-slcus-central-lz-stlus-east-lz-atlus-east-lz-bosus-east-lz-chius-east-lz-dalus-east-lz-miaus-east-lz-nycus-east-vinus-west-hilus-west-lz-denus-west-lz-laxus-west-lz-paous-west-lz-phxus-west-lz-sea
version
IpVersionEnum

IP's version

Values46

Example uses serviceName = string

$ curl https://api.eu.ovhcloud.com/1.0/ip/service/{serviceName}/bringYourOwnIp/importedRange \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "asNumber": 0, "asRir": "string", "ip": "192.0.2.0/24", "ipRir": "string", "region": "af-central-lz-abj", "version": 4}

Get a sub-rangeBeta

GET
/1.0/ip/service/{serviceName}/bringYourOwnIp/subRange/{ip}

Get a sub-range. Returns the IPv4 or IPv6 sub-range, as an IP block, and the custom description set when it was created.

Path parameters

ip
required
ipBlock

IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)

serviceName
required
string

The internal name of your IP services

Response

200byoipFailoverSubRangesuccessful operation
description
read-only
string

Custom description on your ip

ip
read-only
ipBlock

IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)

Example uses ip = 192.0.2.0/24, serviceName = string

$ curl https://api.eu.ovhcloud.com/1.0/ip/service/{serviceName}/bringYourOwnIp/subRange/{ip} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "description": "string", "ip": "192.0.2.0/24"}

Create an IPv6 sub-rangeBeta

POST
/1.0/ip/service/{serviceName}/bringYourOwnIp/subRange

Create an IPv6 sub-range. Creates an IPv6 /56 sub-range of the imported range, with an optional description.

Path parameters

serviceName
required
string

The internal name of your IP services

Request body (required)

description
string

Sub range description

ip
required
ipBlock

IP sub range to create

Response

200byoipFailoverSubRangesuccessful operation
description
read-only
string

Custom description on your ip

ip
read-only
ipBlock

IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)

Example uses serviceName = string

$ curl https://api.eu.ovhcloud.com/1.0/ip/service/{serviceName}/bringYourOwnIp/subRange \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "description": "string", "ip": "192.0.2.0/24"}

Slice an IPv4 blockBeta

POST
/1.0/ip/{ip}/bringYourOwnIp/slice

Slice an IPv4 block. Splits this BYOIP Additional IP into smaller Additional IPs of the chosen size (async task).

Path parameters

ip
required
ipBlock

IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)

Request body (required)

slicingSize
required
integer

Size (ip mask) of the IPs to create inside given IP

Response

200IpTasksuccessful operation
comment
read-only
string

Details of this task

destination
read-only
RoutedTo

Destination for moveFloatingIp tasks

doneDate
read-only
stringdate-time

Completion date

function
read-only
TaskFunctionEnum

Function name

ValuesarinBlockReassignchangeRipeOrgcheckAndReleaseIpgenericMoveFloatingIpsupernetByoipFailoverPartitioning
lastUpdate
read-only
stringdate-time

last update

startDate
read-only
stringdate-time

Task Creation date

status
read-only
TaskStatusEnum

Task status

ValuescancelledcustomerErrordoingdoneinitovhErrortodo
taskId
read-only
integer

the id of the task

Example uses ip = 192.0.2.0/24

$ curl https://api.eu.ovhcloud.com/1.0/ip/{ip}/bringYourOwnIp/slice \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "comment": "string", "destination": { "serviceName": "string" }, "doneDate": "2024-01-01T12:00:00Z", "function": "arinBlockReassign", "lastUpdate": "2024-01-01T12:00:00Z", "startDate": "2024-01-01T12:00:00Z", "status": "cancelled", "taskId": 0}

Aggregate IPv4 blocksBeta

POST
/1.0/ip/{ip}/bringYourOwnIp/aggregate

Aggregate IPv4 blocks. Merges this BYOIP Additional IP and its neighbors into the chosen larger block (async task).

Path parameters

ip
required
ipBlock

IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)

Request body (required)

aggregationIp
required
ipBlock

IP range to create by aggregation of all it's children

Response

200IpTasksuccessful operation
comment
read-only
string

Details of this task

destination
read-only
RoutedTo

Destination for moveFloatingIp tasks

doneDate
read-only
stringdate-time

Completion date

function
read-only
TaskFunctionEnum

Function name

ValuesarinBlockReassignchangeRipeOrgcheckAndReleaseIpgenericMoveFloatingIpsupernetByoipFailoverPartitioning
lastUpdate
read-only
stringdate-time

last update

startDate
read-only
stringdate-time

Task Creation date

status
read-only
TaskStatusEnum

Task status

ValuescancelledcustomerErrordoingdoneinitovhErrortodo
taskId
read-only
integer

the id of the task

Example uses ip = 192.0.2.0/24

$ curl https://api.eu.ovhcloud.com/1.0/ip/{ip}/bringYourOwnIp/aggregate \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "comment": "string", "destination": { "serviceName": "string" }, "doneDate": "2024-01-01T12:00:00Z", "function": "arinBlockReassign", "lastUpdate": "2024-01-01T12:00:00Z", "startDate": "2024-01-01T12:00:00Z", "status": "cancelled", "taskId": 0}

Delete an IPv6 sub-rangeBeta

DELETE
/1.0/ip/service/{serviceName}/bringYourOwnIp/subRange/{ip}

Delete an IPv6 sub-range. Deletes the IPv6 sub-range from the imported range. The call returns no content.

Path parameters

ip
required
ipBlock

IP (v4 or v6) CIDR notation (e.g., 192.0.2.0/24)

serviceName
required
string

The internal name of your IP services

Response

200—successful operation

Example uses ip = 192.0.2.0/24, serviceName = string

$ curl https://api.eu.ovhcloud.com/1.0/ip/service/{serviceName}/bringYourOwnIp/subRange/{ip} \
  -H "authorization: Bearer $OVH_TOKEN"