LeaseWeb API for IP address management (v2)

The base URL for this API is: https://api.leaseweb.com/ipMgmt/v2/

Errors

The API uses standard HTTP status codes to indicate the success or failure of the API call. The response will be JSON. Most APIs use the following format:

{
"errorCode" : "APP00800",
"errorMessage" : "The connection with the DB cannot be established.",
"correlationId" : "550e8400-e29b-41d4-a716-446655440000",
"userMessage" : "Cannot handle your request at the moment. Please try again later.",
"reference" : "http://developer.leaseweb.com/errors/APP00800"
}

Authentication

Authentication for the APIs is required. To authenticate your call, you will need to sent your API key as X-LSW-Auth header.

You can generate API keys in the Customer Portal.

IPs

List IPs

Authorizations:
query Parameters
limit
integer
Default: 10

Limit the number of results returned

offset
integer
Default: 0

Return results starting from the given offset

subnetId
string

Filter by subnet

version
integer

Filter by protocol version (4 or 6)

type
string

Filter by IP type

nullRouted
boolean

Filter by whether or not the IP has an active null route (true or false)

primary
boolean

Filter by whether or not the IP is primary (true or false)

fromIp
string

Return only IPs greater or equal to the specified address

toIp
string

Return only IPs lower or equal to the specified address

ips
string

Return only IPs specified as a comma-separated list

equipmentIds
string

Return only IPs assigned to equipment items specified as a comma-separated list of IDs

assignedContractIds
string

Return only IPs assigned to contracts specified as a comma-separated list of IDs

sort
string

Comma-separated list of sort field names. Prepend the field name with '-' for descending order. E.g. sort=ip,-nullrouted. Sortable field names are ip, nullRouted, reverseLookup.

reverseLookup
string
Example: reverseLookup=mydomain1.example.com

Filter by reverse lookup.

Responses

Request samples

curl --request GET \
  --url 'https://api.leaseweb.com/ipMgmt/v2/ips?limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE&subnetId=SOME_STRING_VALUE&version=SOME_INTEGER_VALUE&type=SOME_STRING_VALUE&nullRouted=SOME_BOOLEAN_VALUE&primary=SOME_BOOLEAN_VALUE&fromIp=SOME_STRING_VALUE&toIp=SOME_STRING_VALUE&ips=SOME_STRING_VALUE&equipmentIds=SOME_STRING_VALUE&assignedContractIds=SOME_STRING_VALUE&sort=SOME_STRING_VALUE&reverseLookup=SOME_STRING_VALUE' \
  --header 'x-lsw-auth: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "ips": [
    ],
  • "_metadata": {
    }
}

Inspect an IP

Authorizations:
path Parameters
ip
required
string
Example: 192.0.2.1

IP address or IP address with prefixLength {ip}_{prefix}. If prefixLength is not given, then we assume 32 (for IPv4) or 128 (for IPv6). PrefixLength is mandatory for IP range, for example, the IPv6 address range with prefixLength = 112

Responses

Request samples

curl --request GET \
  --url https://api.leaseweb.com/ipMgmt/v2/ips/192.0.2.1 \
  --header 'x-lsw-auth: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "ip": "192.0.2.1",
  • "version": 4,
  • "type": "NORMAL_IP",
  • "prefixLength": 32,
  • "primary": true,
  • "reverseLookup": "mydomain1.example.com",
  • "nullRouted": false,
  • "nullLevel": null,
  • "unnullingAllowed": false,
  • "equipmentId": "1234",
  • "assignedContract": {
    },
  • "subnet": {
    }
}

Update an IP

Use this operation to set reverse lookup for IPv4 IP addresses.

Authorizations:
path Parameters
ip
required
string
Example: 192.0.2.1

IP address or IP address with prefixLength {ip}_{prefix}. If prefixLength is not given, then we assume 32 (for IPv4) or 128 (for IPv6). PrefixLength is mandatory for IP range, for example, the IPv6 address range with prefixLength = 112

Request Body schema: application/json
reverseLookup
required
string

Responses

Request samples

Content type
application/json
{
  • "reverseLookup": "mydomain1.example.com"
}

Response samples

Content type
application/json
{
  • "ip": "192.0.2.1",
  • "version": 4,
  • "type": "NORMAL_IP",
  • "prefixLength": 32,
  • "primary": true,
  • "reverseLookup": "mydomain1.example.com",
  • "nullRouted": false,
  • "nullLevel": null,
  • "unnullingAllowed": false,
  • "equipmentId": "1234",
  • "assignedContract": {
    },
  • "subnet": {
    }
}

List reverse lookup records for an IPv6 range

Get reverse lookup values set for IPs in the specified range

Authorizations:
path Parameters
ip
required
string

IP address or IP address with prefixLength {ip}_{prefix}. If prefixLength is not given, then we assume 32 (for IPv4) or 128 (for IPv6). PrefixLength is mandatory for IP range, for example, the IPv6 address range with prefixLength = 112

query Parameters
ip
string

Filter the list by IP address

reverseLookup
string

Filter the list by reverse lookup

limit
integer
Default: 50

Maximum number of results

offset
integer

Offset of the first result

Responses

Request samples

curl --request GET \
  --url 'https://api.leaseweb.com/ipMgmt/v2/ips/%7Bip%7D/reverseLookup?ip=SOME_STRING_VALUE&reverseLookup=SOME_STRING_VALUE&limit=SOME_INTEGER_VALUE&offset=SOME_INTEGER_VALUE' \
  --header 'x-lsw-auth: REPLACE_KEY_VALUE'

Response samples

Content type
application/json
{
  • "reverseLookups": [
    ],
  • "_metadata": {
    }
}

Set or remove reverse lookup records for an IPv6 range

This endpoint allows to set or unset reverse lookup for multiple IPv6 IPs in a specific IP range. To remove reverse lookup for an IP address set it to null or "". Reverse lookup values of IPs not listed in the request body will not be affected. You can set up to 20 records in a single request.

Authorizations:
path Parameters
ip
required
string

IP address or IP address with prefixLength {ip}_{prefix}. If prefixLength is not given, then we assume 32 (for IPv4) or 128 (for IPv6). PrefixLength is mandatory for IP range, for example, the IPv6 address range with prefixLength = 112

Request Body schema: application/json
Array of objects (Reverse Lookup)

Responses