Back to top

IP Addresses

Manage IP addresses. See device and project endpoints to list and create IP assignments for a particular project or device.

Retrieve an ip address
GET
/ips/{id}

Returns a single ip address if the user has access.

  • Parameters
  • id
    string  (required) in path

    IP Address UUID

    include
    string in query

    related attributes to include

  •  
  • Response Body Show Hide
  • Request URL Show Hide
  • cURL Show Hide
  • Response  200   ok
  • {
    	"id": "string",
    	"address_family": "integer",
    	"netmask": "string",
    	"public": "boolean",
    	"enabled": "boolean",
    	"cidr": "integer",
    	"management": "boolean",
    	"manageable": "boolean",
    	"assigned_to": {
    		"href": "string"
    	},
    	"network": "string",
    	"address": "string",
    	"gateway": "string",
    	"href": "string",
    	"created_at": "string",
    	"parent_block": {
    		"network": "string",
    		"netmask": "string",
    		"cidr": "integer",
    		"href": "string"
    	}
    } 
  • Response  401   unauthorized
  • Response  403   forbidden
  • Response  404   not found
Unassign an ip address
/ips/{id}

Note! This call can be used to un-assign an IP assignment or delete an IP reservation. Un-assign an IP address record. Use the assignment UUID you get after attaching the IP. This will remove the relationship between an IP and the device and will make the IP address available to be assigned to another device. Delete and IP reservation. Use the reservation UUID you get after adding the IP to the project. This will permanently delete the IP block reservation from the project.

  • Parameters
  • id
    string  (required) in path

    IP Address UUID

  • Response  204   no content
  • Response  401   unauthorized
  • Response  403   forbidden
  • Response  404   not found
Requesting ip reservations
/projects/{id}/ips

Request more IP space for a project in order to have additional IP addresses to assign to devices. If the request is within the max quota, ip reservation will be created, else, the request will be submitted.

  • Parameters
  • id
    string  (required) in path

    Project UUID

    ip_reservation_request
     (required) in body

    IP Reservation Request to create

    type, quantity

    {
    	"type": "string",
    	"quantity": "integer",
    	"comments": "string",
    	"facility": "string",
    	"customdata": "string"
    } 
  • Response  201   created
  • {
    	"message": {
    		"reasons": {
    			"type": "array",
    			"items": {
    				"type": "string"
    			}
    		},
    		"address": "string"
    	}
    } 
  • Response  204   no content
  • Response  401   unauthorized
  • Response  403   forbidden
  • Response  404   not found
  • Response  422   unprocessable entity
Retrieve all ip assignments
GET
/devices/{id}/ips

Returns all ip assignments for a device.

  • Parameters
  • id
    string  (required) in path

    Device UUID

    include
    string in query

    related attributes to include

  •  
  • Response Body Show Hide
  • Request URL Show Hide
  • cURL Show Hide
  • Response  200   ok
  • {
    	"ip_addresses": [
    		{
    			"id": "string",
    			"address_family": "integer",
    			"netmask": "string",
    			"public": "boolean",
    			"enabled": "boolean",
    			"cidr": "integer",
    			"management": "boolean",
    			"manageable": "boolean",
    			"assigned_to": {
    				"href": "string"
    			},
    			"network": "string",
    			"address": "string",
    			"gateway": "string",
    			"href": "string",
    			"created_at": "string",
    			"parent_block": {
    				"network": "string",
    				"netmask": "string",
    				"cidr": "integer",
    				"href": "string"
    			}
    		}
    	]
    } 
  • Response  401   unauthorized
  • Response  404   not found
Create a ip assignment
/devices/{id}/ips

Creates an ip assignment for a device.

  • Parameters
  • id
    string  (required) in path

    Device UUID

    ip_assignment
     (required) in body

    IPAssignment to create

    address

    {
    	"address": "string",
    	"manageable": "boolean",
    	"customdata": "string"
    } 
  • Response  201   created
  • {
    	"id": "string",
    	"address_family": "integer",
    	"netmask": "string",
    	"public": "boolean",
    	"enabled": "boolean",
    	"cidr": "integer",
    	"management": "boolean",
    	"manageable": "boolean",
    	"assigned_to": {
    		"href": "string"
    	},
    	"network": "string",
    	"address": "string",
    	"gateway": "string",
    	"href": "string",
    	"created_at": "string",
    	"parent_block": {
    		"network": "string",
    		"netmask": "string",
    		"cidr": "integer",
    		"href": "string"
    	}
    } 
  • Response  401   unauthorized
  • Response  404   not found
  • Response  422   unprocessable entity
Retrieve all ip reservations
GET
/projects/{id}/ips

Provides a list of IP resevations for a single project.

  • Parameters
  • id
    string  (required) in path

    Project UUID

    include
    string in query

    related attributes to include

  •  
  • Response Body Show Hide
  • Request URL Show Hide
  • cURL Show Hide
  • Response  200   ok
  • {
    	"ip_addresses": [
    		{
    			"id": "string",
    			"address_family": "integer",
    			"netmask": "string",
    			"public": "boolean",
    			"enabled": "boolean",
    			"cidr": "integer",
    			"management": "boolean",
    			"manageable": "boolean",
    			"addon": "boolean",
    			"bill": "boolean",
    			"assignments": [
    				{
    					"id": "string",
    					"address_family": "integer",
    					"netmask": "string",
    					"public": "boolean",
    					"enabled": "boolean",
    					"cidr": "integer",
    					"management": "boolean",
    					"manageable": "boolean",
    					"assigned_to": {
    						"$ref": "#\/definitions\/Href"
    					},
    					"network": "string",
    					"address": "string",
    					"gateway": "string",
    					"href": "string",
    					"created_at": "string",
    					"parent_block": {
    						"$ref": "#\/definitions\/ParentBlock"
    					}
    				}
    			],
    			"network": "string",
    			"created_at": "string",
    			"facility": {
    				"id": "string",
    				"name": "string",
    				"code": "string",
    				"features": [
    					"string"
    				],
    				"address": {
    					"$ref": "#\/definitions\/Address"
    				}
    			},
    			"href": "string"
    		}
    	]
    } 
  • Response  401   unauthorized
  • Response  403   forbidden
  • Response  404   not found
Retrieve all available subnets of a particular reservation
GET
/ips/{id}/available

Provides a list of IP resevations for a single project.

  • Parameters
  • id
    string  (required) in path

    IP Reservation UUID

    cidr
    string  (required) in query

    Size of subnets in bits

  •  
  • Response Body Show Hide
  • Request URL Show Hide
  • cURL Show Hide
  • Response  200   ok
  • {
    	"available": [
    		"string"
    	]
    } 
  • Response  401   unauthorized
  • Response  403   forbidden
  • Response  404   not found
Retrieve the custom metadata of an IP Reservation or IP Assignment
GET
/ips/{id}/customdata

Provides the custom metadata stored for this IP Reservation or IP Assignment in json format

  • Parameters
  • project_id
    string  (required) in path

    Project UUID

    id
    string  (required) in path

    Ip Reservation UUID

  •  
  • Response Body Show Hide
  • Request URL Show Hide
  • cURL Show Hide
  • Response  200   ok
  • Response  401   unauthorized
  • Response  403   forbidden
  • Response  404   not found