GET /api/subnets
List of subnets

GET /api/domains/:domain_id/subnets
List of subnets for a domain

GET /api/locations/:location_id/subnets
List of subnets per location

GET /api/organizations/:organization_id/subnets
List of subnets per organisation

Examples

GET /api/subnets
200
{
  "total": 7,
  "subtotal": 7,
  "page": 1,
  "per_page": 20,
  "search": null,
  "sort": {
    "by": null,
    "order": null
  },
  "results": [
    {
      "network": "2.3.4.0",
      "network_type": "IPv4",
      "cidr": 24,
      "mask": "255.255.255.0",
      "priority": null,
      "vlanid": 41,
      "mtu": 1500,
      "gateway": null,
      "dns_primary": null,
      "dns_secondary": null,
      "from": null,
      "to": null,
      "created_at": "2019-09-11 14:46:33 UTC",
      "updated_at": "2019-09-11 14:46:33 UTC",
      "ipam": "None",
      "boot_mode": "DHCP",
      "id": 980190962,
      "name": "one",
      "description": null,
      "network_address": "2.3.4.0/24",
      "dhcp_id": 980190962,
      "dhcp_name": "DHCP Proxy",
      "tftp_id": 298486374,
      "tftp_name": "TFTP Proxy",
      "httpboot_id": null,
      "httpboot_name": null,
      "dns_id": 113629430,
      "template_id": null,
      "template_name": null,
      "dhcp": {
        "name": "DHCP Proxy",
        "id": 980190962,
        "url": "https://somewhere.net:8443"
      },
      "tftp": {
        "name": "TFTP Proxy",
        "id": 298486374,
        "url": "http://somewhere.else"
      },
      "httpboot": null,
      "dns": {
        "name": "DNS Proxy",
        "id": 113629430,
        "url": "http://else.where:45671"
      },
      "template": null
    },
    {
      "network": "3.3.4.0",
      "network_type": "IPv4",
      "cidr": 24,
      "mask": "255.255.255.0",
      "priority": null,
      "vlanid": 42,
      "mtu": 1496,
      "gateway": null,
      "dns_primary": null,
      "dns_secondary": null,
      "from": null,
      "to": null,
      "created_at": "2019-09-11 14:46:33 UTC",
      "updated_at": "2019-09-11 14:46:33 UTC",
      "ipam": "None",
      "boot_mode": "DHCP",
      "id": 298486374,
      "name": "two",
      "description": null,
      "network_address": "3.3.4.0/24",
      "dhcp_id": 980190962,
      "dhcp_name": "DHCP Proxy",
      "tftp_id": 298486374,
      "tftp_name": "TFTP Proxy",
      "httpboot_id": null,
      "httpboot_name": null,
      "dns_id": null,
      "template_id": null,
      "template_name": null,
      "dhcp": {
        "name": "DHCP Proxy",
        "id": 980190962,
        "url": "https://somewhere.net:8443"
      },
      "tftp": {
        "name": "TFTP Proxy",
        "id": 298486374,
        "url": "http://somewhere.else"
      },
      "httpboot": null,
      "dns": null,
      "template": null
    },
    {
      "network": "3.3.4.3",
      "network_type": "IPv4",
      "cidr": 24,
      "mask": "255.255.255.0",
      "priority": null,
      "vlanid": 43,
      "mtu": 1500,
      "gateway": null,
      "dns_primary": null,
      "dns_secondary": null,
      "from": null,
      "to": null,
      "created_at": "2019-09-11 14:46:33 UTC",
      "updated_at": "2019-09-11 14:46:33 UTC",
      "ipam": "None",
      "boot_mode": "DHCP",
      "id": 113629430,
      "name": "three",
      "description": null,
      "network_address": "3.3.4.3/24",
      "dhcp_id": 980190962,
      "dhcp_name": "DHCP Proxy",
      "tftp_id": 298486374,
      "tftp_name": "TFTP Proxy",
      "httpboot_id": null,
      "httpboot_name": null,
      "dns_id": null,
      "template_id": null,
      "template_name": null,
      "dhcp": {
        "name": "DHCP Proxy",
        "id": 980190962,
        "url": "https://somewhere.net:8443"
      },
      "tftp": {
        "name": "TFTP Proxy",
        "id": 298486374,
        "url": "http://somewhere.else"
      },
      "httpboot": null,
      "dns": null,
      "template": null
    },
    {
      "network": "3.3.5.0",
      "network_type": "IPv4",
      "cidr": 24,
      "mask": "255.255.255.0",
      "priority": null,
      "vlanid": 44,
      "mtu": 9000,
      "gateway": null,
      "dns_primary": null,
      "dns_secondary": null,
      "from": null,
      "to": null,
      "created_at": "2019-09-11 14:46:33 UTC",
      "updated_at": "2019-09-11 14:46:33 UTC",
      "ipam": "None",
      "boot_mode": "DHCP",
      "id": 281110143,
      "name": "four",
      "description": null,
      "network_address": "3.3.5.0/24",
      "dhcp_id": null,
      "dhcp_name": null,
      "tftp_id": 298486374,
      "tftp_name": "TFTP Proxy",
      "httpboot_id": null,
      "httpboot_name": null,
      "dns_id": null,
      "template_id": null,
      "template_name": null,
      "dhcp": null,
      "tftp": {
        "name": "TFTP Proxy",
        "id": 298486374,
        "url": "http://somewhere.else"
      },
      "httpboot": null,
      "dns": null,
      "template": null
    },
    {
      "network": "2001:db10:7::",
      "network_type": "IPv6",
      "cidr": 64,
      "mask": "ffff:ffff:ffff:ffff::",
      "priority": null,
      "vlanid": 44,
      "mtu": 9000,
      "gateway": null,
      "dns_primary": null,
      "dns_secondary": null,
      "from": null,
      "to": null,
      "created_at": "2019-09-11 14:46:33 UTC",
      "updated_at": "2019-09-11 14:46:33 UTC",
      "ipam": "None",
      "boot_mode": "DHCP",
      "id": 374648174,
      "name": "seven",
      "description": null,
      "network_address": "2001:db10:7::/64",
      "dhcp_id": null,
      "dhcp_name": null,
      "tftp_id": null,
      "tftp_name": null,
      "httpboot_id": null,
      "httpboot_name": null,
      "dns_id": 113629430,
      "template_id": null,
      "template_name": null,
      "dhcp": null,
      "tftp": null,
      "httpboot": null,
      "dns": {
        "name": "DNS Proxy",
        "id": 113629430,
        "url": "http://else.where:45671"
      },
      "template": null
    },
    {
      "network": "2001:db10::",
      "network_type": "IPv6",
      "cidr": 64,
      "mask": "ffff:ffff:ffff:ffff::",
      "priority": null,
      "vlanid": null,
      "mtu": 1500,
      "gateway": null,
      "dns_primary": null,
      "dns_secondary": null,
      "from": null,
      "to": null,
      "created_at": "2019-09-11 14:46:33 UTC",
      "updated_at": "2019-09-11 14:46:33 UTC",
      "ipam": "None",
      "boot_mode": "DHCP",
      "id": 51848956,
      "name": "six",
      "description": null,
      "network_address": "2001:db10::/64",
      "dhcp_id": null,
      "dhcp_name": null,
      "tftp_id": null,
      "tftp_name": null,
      "httpboot_id": null,
      "httpboot_name": null,
      "dns_id": 113629430,
      "template_id": null,
      "template_name": null,
      "dhcp": null,
      "tftp": null,
      "httpboot": null,
      "dns": {
        "name": "DNS Proxy",
        "id": 113629430,
        "url": "http://else.where:45671"
      },
      "template": null
    },
    {
      "network": "10.0.0.0",
      "network_type": "IPv4",
      "cidr": 24,
      "mask": "255.255.255.0",
      "priority": null,
      "vlanid": null,
      "mtu": 1500,
      "gateway": null,
      "dns_primary": null,
      "dns_secondary": null,
      "from": null,
      "to": null,
      "created_at": "2019-09-11 14:46:33 UTC",
      "updated_at": "2019-09-11 14:46:33 UTC",
      "ipam": "None",
      "boot_mode": "DHCP",
      "id": 1018350795,
      "name": "five",
      "description": null,
      "network_address": "10.0.0.0/24",
      "dhcp_id": 980190962,
      "dhcp_name": "DHCP Proxy",
      "tftp_id": 298486374,
      "tftp_name": "TFTP Proxy",
      "httpboot_id": null,
      "httpboot_name": null,
      "dns_id": 113629430,
      "template_id": null,
      "template_name": null,
      "dhcp": {
        "name": "DHCP Proxy",
        "id": 980190962,
        "url": "https://somewhere.net:8443"
      },
      "tftp": {
        "name": "TFTP Proxy",
        "id": 298486374,
        "url": "http://somewhere.else"
      },
      "httpboot": null,
      "dns": {
        "name": "DNS Proxy",
        "id": 113629430,
        "url": "http://else.where:45671"
      },
      "template": null
    }
  ]
}

Params

Param name Description
domain_id
optional

ID of domain

Validations:

  • Must be a String

location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organisations

Validations:

  • Must be a Integer

search
optional

filter results

Validations:

  • Must be a String

order
optional

Sort field and order, eg. ‘id DESC’

Validations:

  • Must be a String

page
optional

Page number, starting at 1

Validations:

  • Must be a number.

per_page
optional

Number of results per page to return

Validations:

  • Must be a number.

Search fields

Field name Type Possible values
boot_mode string
dns_primary string
dns_secondary string
domain string
gateway string
ipam string
location string
location_id integer
mask string
mtu integer
name text
network string
organization string
organization_id integer
params text
type string
vlanid integer

GET /api/subnets/:id
Show a subnet

Examples

GET /api/subnets/1018350796-subnet237
200
{
  "network": "25.231.160.0",
  "network_type": "IPv4",
  "cidr": 24,
  "mask": "255.255.255.0",
  "priority": null,
  "vlanid": null,
  "mtu": 1500,
  "gateway": null,
  "dns_primary": null,
  "dns_secondary": null,
  "from": null,
  "to": null,
  "created_at": "2019-09-11 14:46:33 UTC",
  "updated_at": "2019-09-11 14:46:33 UTC",
  "ipam": "None",
  "boot_mode": "DHCP",
  "id": 1018350796,
  "name": "subnet237",
  "description": null,
  "network_address": "25.231.160.0/24",
  "dhcp_id": null,
  "dhcp_name": null,
  "tftp_id": null,
  "tftp_name": null,
  "httpboot_id": null,
  "httpboot_name": null,
  "dns_id": null,
  "template_id": null,
  "template_name": null,
  "dhcp": null,
  "tftp": null,
  "httpboot": null,
  "dns": null,
  "template": null,
  "domains": [],
  "interfaces": [],
  "parameters": [],
  "locations": [
    {
      "id": 255093256,
      "name": "Location 1",
      "title": "Location 1",
      "description": null
    }
  ],
  "organizations": [
    {
      "id": 447626438,
      "name": "Organization 1",
      "title": "Organization 1",
      "description": null
    }
  ]
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organisations

Validations:

  • Must be a Integer

id
required

Validations:

  • Must be an identifier, string from 1 to 128 characters containing only alphanumeric characters, space, underscore(_), hypen(-) with no leading or trailing space.

show_hidden_parameters
optional

Display hidden parameter values

Validations:

  • Must be one of: true, false, 1, 0.


POST /api/subnets
Create a subnet

Examples

POST /api/subnets
{
  "subnet": {
    "name": "QA2",
    "network_type": "IPv4",
    "network": "10.35.2.27",
    "mask": "255.255.255.0",
    "subnet_parameters_attributes": [
      {
        "name": "foo",
        "value": "bar"
      }
    ]
  }
}
201
{
  "network": "10.35.2.27",
  "network_type": "IPv4",
  "cidr": 24,
  "mask": "255.255.255.0",
  "priority": null,
  "vlanid": null,
  "mtu": 1500,
  "gateway": null,
  "dns_primary": null,
  "dns_secondary": null,
  "from": null,
  "to": null,
  "created_at": "2019-09-11 14:46:34 UTC",
  "updated_at": "2019-09-11 14:46:34 UTC",
  "ipam": "None",
  "boot_mode": "DHCP",
  "id": 1018350798,
  "name": "QA2",
  "description": null,
  "network_address": "10.35.2.27/24",
  "dhcp_id": null,
  "dhcp_name": null,
  "tftp_id": null,
  "tftp_name": null,
  "httpboot_id": null,
  "httpboot_name": null,
  "dns_id": null,
  "template_id": null,
  "template_name": null,
  "dhcp": null,
  "tftp": null,
  "httpboot": null,
  "dns": null,
  "template": null,
  "domains": [],
  "interfaces": [],
  "parameters": [
    {
      "priority": 40,
      "created_at": "2019-09-11 14:46:34 UTC",
      "updated_at": "2019-09-11 14:46:34 UTC",
      "id": 767575241,
      "name": "foo",
      "parameter_type": null,
      "value": "bar"
    }
  ],
  "locations": [],
  "organizations": []
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organisations

Validations:

  • Must be a Integer

subnet
required

Validations:

  • Must be a Hash

subnet[name]
required

Subnet name

Validations:

  • Must be a String

subnet[description]
optional , nil allowed

Subnet description

Validations:

  • Must be a String

subnet[network_type]
optional , nil allowed

Type or protocol, IPv4 or IPv6, defaults to IPv4

Validations:

  • Must be one of: IPv4, IPv6.

subnet[network]
required

Subnet network

Validations:

  • Must be a String

subnet[mask]
required

Netmask for this subnet

Validations:

  • Must be a String

subnet[gateway]
optional , nil allowed

Subnet gateway

Validations:

  • Must be a String

subnet[dns_primary]
optional , nil allowed

Primary DNS for this subnet

Validations:

  • Must be a String

subnet[dns_secondary]
optional , nil allowed

Secondary DNS for this subnet

Validations:

  • Must be a String

subnet[ipam]
optional , nil allowed

IP Address auto suggestion mode for this subnet, valid values are “DHCP”, “Internal DB”, “None”

Validations:

  • Must be a String

subnet[from]
optional , nil allowed

Starting IP Address for IP auto suggestion

Validations:

  • Must be a String

subnet[to]
optional , nil allowed

Ending IP Address for IP auto suggestion

Validations:

  • Must be a String

subnet[vlanid]
optional , nil allowed

VLAN ID for this subnet

Validations:

  • Must be a String

subnet[mtu]
optional , nil allowed

MTU for this subnet

Validations:

  • Must be a Integer

subnet[domain_ids]
optional , nil allowed

Domains in which this subnet is part

Validations:

  • Must be an array of any type

subnet[dhcp_id]
optional , nil allowed

DHCP Proxy ID to use within this subnet

Validations:

  • Must be a number.

subnet[tftp_id]
optional , nil allowed

TFTP Proxy ID to use within this subnet

Validations:

  • Must be a number.

subnet[httpboot_id]
optional , nil allowed

HTTPBoot Proxy ID to use within this subnet

Validations:

  • Must be a number.

subnet[dns_id]
optional , nil allowed

DNS Proxy ID to use within this subnet

Validations:

  • Must be a number.

subnet[template_id]
optional , nil allowed

Template HTTP(S) Proxy ID to use within this subnet

Validations:

  • Must be a number.

subnet[boot_mode]
optional , nil allowed

Default boot mode for interfaces assigned to this subnet, valid values are “Static”, “DHCP”

Validations:

  • Must be a String

subnet[subnet_parameters_attributes]
optional , nil allowed

Array of parameters (name, value)

Validations:

  • Must be an array of any type

subnet[location_ids]
optional , nil allowed

REPLACE locations with given ids

Validations:

  • Must be an array of any type

subnet[organization_ids]
optional , nil allowed

REPLACE organisations with given ids.

Validations:

  • Must be an array of any type


PUT /api/subnets/:id
Update a subnet

Examples

PUT /api/subnets/1018350799
{
  "subnet": {
    "subnet_parameters_attributes": [
      {
        "name": "new_key",
        "value": "new_value"
      }
    ]
  }
}
200
{
  "network": "6.79.236.0",
  "network_type": "IPv4",
  "cidr": 24,
  "mask": "255.255.255.0",
  "priority": null,
  "vlanid": null,
  "mtu": 1500,
  "gateway": null,
  "dns_primary": null,
  "dns_secondary": null,
  "from": null,
  "to": null,
  "created_at": "2019-09-11 14:46:34 UTC",
  "updated_at": "2019-09-11 14:46:34 UTC",
  "ipam": "None",
  "boot_mode": "DHCP",
  "id": 1018350799,
  "name": "subnet239",
  "description": null,
  "network_address": "6.79.236.0/24",
  "dhcp_id": null,
  "dhcp_name": null,
  "tftp_id": null,
  "tftp_name": null,
  "httpboot_id": null,
  "httpboot_name": null,
  "dns_id": null,
  "template_id": null,
  "template_name": null,
  "dhcp": null,
  "tftp": null,
  "httpboot": null,
  "dns": null,
  "template": null,
  "domains": [],
  "interfaces": [],
  "parameters": [
    {
      "priority": 40,
      "created_at": "2019-09-11 14:46:34 UTC",
      "updated_at": "2019-09-11 14:46:34 UTC",
      "id": 767575243,
      "name": "new_key",
      "parameter_type": null,
      "value": "new_value"
    }
  ],
  "locations": [
    {
      "id": 255093256,
      "name": "Location 1",
      "title": "Location 1",
      "description": null
    }
  ],
  "organizations": [
    {
      "id": 447626438,
      "name": "Organization 1",
      "title": "Organization 1",
      "description": null
    }
  ]
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organisations

Validations:

  • Must be a Integer

id
required

Subnet numeric identifier

Validations:

  • Must be a number.

subnet
required

Validations:

  • Must be a Hash

subnet[name]
optional

Subnet name

Validations:

  • Must be a String

subnet[description]
optional , nil allowed

Subnet description

Validations:

  • Must be a String

subnet[network_type]
optional , nil allowed

Type or protocol, IPv4 or IPv6, defaults to IPv4

Validations:

  • Must be one of: IPv4, IPv6.

subnet[network]
optional

Subnet network

Validations:

  • Must be a String

subnet[mask]
optional

Netmask for this subnet

Validations:

  • Must be a String

subnet[gateway]
optional , nil allowed

Subnet gateway

Validations:

  • Must be a String

subnet[dns_primary]
optional , nil allowed

Primary DNS for this subnet

Validations:

  • Must be a String

subnet[dns_secondary]
optional , nil allowed

Secondary DNS for this subnet

Validations:

  • Must be a String

subnet[ipam]
optional , nil allowed

IP Address auto suggestion mode for this subnet, valid values are “DHCP”, “Internal DB”, “None”

Validations:

  • Must be a String

subnet[from]
optional , nil allowed

Starting IP Address for IP auto suggestion

Validations:

  • Must be a String

subnet[to]
optional , nil allowed

Ending IP Address for IP auto suggestion

Validations:

  • Must be a String

subnet[vlanid]
optional , nil allowed

VLAN ID for this subnet

Validations:

  • Must be a String

subnet[mtu]
optional , nil allowed

MTU for this subnet

Validations:

  • Must be a Integer

subnet[domain_ids]
optional , nil allowed

Domains in which this subnet is part

Validations:

  • Must be an array of any type

subnet[dhcp_id]
optional , nil allowed

DHCP Proxy ID to use within this subnet

Validations:

  • Must be a number.

subnet[tftp_id]
optional , nil allowed

TFTP Proxy ID to use within this subnet

Validations:

  • Must be a number.

subnet[httpboot_id]
optional , nil allowed

HTTPBoot Proxy ID to use within this subnet

Validations:

  • Must be a number.

subnet[dns_id]
optional , nil allowed

DNS Proxy ID to use within this subnet

Validations:

  • Must be a number.

subnet[template_id]
optional , nil allowed

Template HTTP(S) Proxy ID to use within this subnet

Validations:

  • Must be a number.

subnet[boot_mode]
optional , nil allowed

Default boot mode for interfaces assigned to this subnet, valid values are “Static”, “DHCP”

Validations:

  • Must be a String

subnet[subnet_parameters_attributes]
optional , nil allowed

Array of parameters (name, value)

Validations:

  • Must be an array of any type

subnet[location_ids]
optional , nil allowed

REPLACE locations with given ids

Validations:

  • Must be an array of any type

subnet[organization_ids]
optional , nil allowed

REPLACE organisations with given ids.

Validations:

  • Must be an array of any type


DELETE /api/subnets/:id
Delete a subnet

Examples

DELETE /api/subnets/281110143-four
{
  "subnet": {}
}
200
{
  "id": 281110143,
  "network": "3.3.5.0",
  "mask": "255.255.255.0",
  "priority": null,
  "name": "four",
  "vlanid": 44,
  "created_at": "2019-09-11T14:46:33.538Z",
  "updated_at": "2019-09-11T14:46:33.538Z",
  "dhcp_id": null,
  "tftp_id": 298486374,
  "gateway": null,
  "dns_primary": null,
  "dns_secondary": null,
  "from": null,
  "to": null,
  "dns_id": null,
  "boot_mode": "DHCP",
  "ipam": "None",
  "description": null,
  "mtu": 9000,
  "template_id": null,
  "httpboot_id": null,
  "to_label": "four (3.3.5.0/24)",
  "type": "Subnet::Ipv4"
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organisations

Validations:

  • Must be a Integer

id
required

Subnet numeric identifier

Validations:

  • Must be a number.


GET /api/subnets/:id/freeip
Provides an unused IP address in this subnet

Examples

GET /api/subnets/1018351020-subnet515/freeip
200
{
  "freeip": "192.168.2.10",
  "errors": {}
}

Params

Param name Description
location_id
optional

Scope by locations

Validations:

  • Must be a Integer

organization_id
optional

Scope by organisations

Validations:

  • Must be a Integer

id
required

Validations:

  • Must be an identifier, string from 1 to 128 characters containing only alphanumeric characters, space, underscore(_), hypen(-) with no leading or trailing space.

mac
optional

MAC address to reuse the IP for this host

Validations:

  • Must be a String

excluded_ips
optional

IP addresses that should be excluded from suggestion

Validations:

  • Must be an array of any type