Project Management. Check out the product docs to learn more about Projects.

Retrieve all batches by project

GET
/projects/{id}/batches

Returns all batches for the given project

    /projects/{id}/batches
  • 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

Requesting bgp config

/projects/{id}/bgp-configs

Requests to enable bgp configuration for a project.

    /projects/{id}/bgp-configs
  • Parameters
  • id
    string  (required) in path

    Project UUID

    bgp_config_request
     (required) in body

    BGP config Request to create

    deployment_type, asn

    {
    	"deployment_type": "string",
    	"asn": "integer",
    	"md5": "string",
    	"use_case": "string"
    } 

Retrieve a bgp config

GET
/projects/{id}/bgp-config

Returns a bgp config

    /projects/{id}/bgp-config
  • 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

Retrieve all BGP sessions for project

GET
/projects/{id}/bgp/sessions

Provides a listing of available BGP sessions for the project.

Retrieve project's events

GET
/projects/{id}/events

Returns a list of events for a single project

    /projects/{id}/events
  • Parameters
  • id
    string  (required) in path

    Project UUID

    include
    string in query

    related attributes to include

    page
    integer in query

    page to display, default to 1, max 100_000

    per_page
    integer in query

    items per page, default to 10, max 1_000

  •  
  • Response Body Show Hide
  • Request URL Show Hide
  • cURL Show Hide

Returns a listing of available datacenters for the given project

    /projects/{id}/facilities
  • Parameters
  • id
    string  (required) in path

    Project UUID

    include
    string in query

    related attributes to include

    page
    integer in query

    page to display, default to 1, max 100_000

    per_page
    integer in query

    items per page, default to 10, max 1_000

  •  
  • Response Body Show Hide
  • Request URL Show Hide
  • cURL Show Hide

Retrieve all hardware reservations for a given project

GET
/projects/{id}/hardware-reservations

Provides a collection of hardware reservations for a given project.

    /projects/{id}/hardware-reservations
  • Parameters
  • id
    string  (required) in path

    Project UUID

    include
    string in query

    related attributes to include

    page
    integer in query

    page to display, default to 1, max 100_000

    per_page
    integer in query

    items per page, default to 10, max 1_000

  •  
  • Response Body Show Hide
  • Request URL Show Hide
  • cURL Show Hide

Retrieve all devices of a project

GET
/projects/{id}/devices

Provides a collection of devices for a given project.

    /projects/{id}/devices
  • Parameters
  • id
    string  (required) in path

    Project UUID

    include
    string in query

    related attributes to include

    page
    integer in query

    page to display, default to 1, max 100_000

    per_page
    integer in query

    items per page, default to 10, max 1_000

  •  
  • Response Body Show Hide
  • Request URL Show Hide
  • cURL Show Hide

Create a device

/projects/{id}/devices

Creates a new device and provisions it in our datacenter.

Type-specific options (such as operating_system for baremetal devices) should be included in the main data structure alongside hostname and plan.

The features attribute allows you to optionally specify what features your server should have.

For example, if you require a server with a TPM chip, you may specify { "features": { "tpm": "required" } } (or { "features": ["tpm"] } in shorthand).

The request will fail if there are no available servers matching your criteria. Alternatively, if you do not require a certain feature, but would prefer to be assigned a server with that feature if there are any available, you may specify that feature with a preferred value (see the example request below).

The request will not fail if we have no servers with that feature in our inventory.

The facilities attribute specifies in what datacenter you wish to create the device.

You can either specify a single facility { "facility": "f1" } , or you can instruct to create the device in the best available datacenter { "facility": "any" }. Additionally it is possible to set a prioritized location selection.

For example { "facility": ["f3", "f2", "any"] } will try to assign to the facility f3, if there are no available f2, and so on. If "any" is not specified for "facility", the request will fail unless it can assign in the selected locations.

The `ip_addresses attribute will allow you to specify the addresses you want created with your device.

To maintain backwards compatibility, If the attribute is not sent in the request, it will be treated as if { "ip_addresses": [{ "address_family": 4, "public": true }, { "address_family": 4, "public": false }, { "address_family": 6, "public": true }] } was sent.

The private IPv4 address is required and always need to be sent in the array. Not all operating systems support no public IPv4 address, so in those cases you will receive an error message.

For example, to only configure your server with a private IPv4 address, you can send { "ip_addresses": [{ "address_family": 4, "public": false }] }.

Note: when specifying a subnet size larger than a /30, you will need to supply the UUID(s) of existing ip_reservations in your project to assign IPs from.

For example, { "ip_addresses": [..., {"address_family": 4, "public": true, "ip_reservations": ["uuid1", "uuid2"]}] }

To access a server without public IPs, you can use our Out-of-Band console access (SOS) or use another server with public IPs as a proxy.

    /projects/{id}/devices
  • Parameters
  • id
    string  (required) in path

    Project UUID

    device
     (required) in body

    Device to create

    facility, plan, operating_system

    {
    	"facility": "string",
    	"plan": "string",
    	"hostname": "string",
    	"description": "string",
    	"billing_cycle": "string",
    	"operating_system": "string",
    	"always_pxe": "boolean",
    	"ipxe_script_url": "string",
    	"userdata": "string",
    	"locked": "boolean",
    	"customdata": "string",
    	"hardware_reservation_id": "string",
    	"spot_instance": "boolean",
    	"spot_price_max": "number",
    	"termination_time": "string",
    	"tags": [
    		"string"
    	],
    	"project_ssh_keys": [
    		"string"
    	],
    	"user_ssh_keys": [
    		"string"
    	],
    	"features": [
    		"string"
    	],
    	"public_ipv4_subnet_size": "number",
    	"private_ipv4_subnet_size": "number",
    	"ip_addresses": [
    		{
    			"type": "object",
    			"address_family": "number",
    			"public": "boolean",
    			"cidr": "number",
    			"ip_reservations": "array"
    		}
    	]
    } 

Retrieve project invitations

GET
/projects/{project_id}/invitations

Returns all invitations in a project.

    /projects/{project_id}/invitations
  • Parameters
  • include
    string in query

    related attributes to include

    page
    integer in query

    page to display, default to 1, max 100_000

    per_page
    integer in query

    items per page, default to 10, max 1_000

    project_id
    string  (required) in path

    Project UUID

  •  
  • Response Body Show Hide
  • Request URL Show Hide
  • cURL Show Hide

Create an invitation for a project

/projects/{project_id}/invitations

In order to add a user to a project, they must first be invited.

    /projects/{project_id}/invitations
  • Parameters
  • project_id
    string  (required) in path

    Project UUID

    invitation
     (required) in body

    Invitation to create

    invitee

    {
    	"invitee": "string",
    	"message": "string",
    	"roles": [
    		"string"
    	],
    	"projects_ids": [
    		"string"
    	]
    } 

Retrieve all ip reservations

GET
/projects/{id}/ips

Provides a list of IP resevations for a single project.

    /projects/{id}/ips
  • 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

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, an IP reservation will be created. If the project will exceed its IP quota, a request will be submitted for review, and will return an IP Reservation with a state of pending. You can automatically have the request fail with HTTP status 422 instead of triggering the review process by providing the fail_on_approval_required parameter set to true in the request.

    /projects/{id}/ips
  • 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",
    	"tags": [
    		"string"
    	],
    	"details": "string",
    	"fail_on_approval_required": "boolean"
    } 

Retrieve all licenses

GET
/projects/{id}/licenses

Provides a collection of licenses for a given project.

    /projects/{id}/licenses
  • 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

Create a License

/projects/{id}/licenses

Creates a new license for the given project

    /projects/{id}/licenses
  • Parameters
  • id
    string  (required) in path

    Project UUID

    license
     (required) in body

    License to create

    {
    	"description": "string",
    	"size": "number",
    	"licensee_product_id": "string"
    } 

Retrieve project memberships

GET
/projects/{project_id}/memberships

Returns all memberships in a project.

    /projects/{project_id}/memberships
  • Parameters
  • include
    string in query

    related attributes to include

    page
    integer in query

    page to display, default to 1, max 100_000

    per_page
    integer in query

    items per page, default to 10, max 1_000

    project_id
    string  (required) in path

    Project UUID

  •  
  • Response Body Show Hide
  • Request URL Show Hide
  • cURL Show Hide

Provides the custom metadata stored for this project in json format

Retrieve the custom metadata of an IP Reservation

GET
/projects/{project_id}/ips/{id}/customdata

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

    /projects/{project_id}/ips/{id}/customdata
  • 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

Returns a listing of available plans for the given project

    /projects/{id}/plans
  • Parameters
  • id
    string  (required) in path

    Project UUID

    include
    string in query

    related attributes to include

    page
    integer in query

    page to display, default to 1, max 100_000

    per_page
    integer in query

    items per page, default to 10, max 1_000

  •  
  • Response Body Show Hide
  • Request URL Show Hide
  • cURL Show Hide

Retrieve all projects of an organization

GET
/organizations/{id}/projects

Returns a collection of projects that belong to the organization.

    /organizations/{id}/projects
  • Parameters
  • id
    string  (required) in path

    Organization UUID

    include
    string in query

    related attributes to include

    page
    integer in query

    page to display, default to 1, max 100_000

    per_page
    integer in query

    items per page, default to 10, max 1_000

  •  
  • Response Body Show Hide
  • Request URL Show Hide
  • cURL Show Hide

Create a project for the organization

/organizations/{id}/projects

Creates a new project for the organization

    /organizations/{id}/projects
  • Parameters
  • id
    string  (required) in path

    Organization UUID

    project
     (required) in body

    Project to create

    name

    {
    	"name": "string",
    	"payment_method_id": "string",
    	"customdata": "string"
    } 

Returns a collection of projects that the current user is a member of.

    /projects
  • Parameters
  • include
    string in query

    related attributes to include

    page
    integer in query

    page to display, default to 1, max 100_000

    per_page
    integer in query

    items per page, default to 10, max 1_000

  •  
  • Response Body Show Hide
  • Request URL Show Hide
  • cURL Show Hide

Creates a new project for the user default organization. If the user don't have an organization, a new one will be created.

    /projects
  • Parameters
  • project
     (required) in body

    Project to create

    name

    {
    	"name": "string",
    	"payment_method_id": "string",
    	"customdata": "string"
    } 

Retrieve a project

GET
/projects/{id}

Returns a single project if the user has access

    /projects/{id}
  • 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

Update the project

PUT
/projects/{id}

Updates the project.

    /projects/{id}
  • Parameters
  • id
    string  (required) in path

    Project UUID

    project
     (required) in body

    Project to update

    {
    	"name": "string",
    	"payment_method_id": "string",
    	"backend_transfer_enabled": "boolean",
    	"customdata": "string"
    } 

Delete the project

/projects/{id}

Deletes the project.

    /projects/{id}
  • Parameters
  • id
    string  (required) in path

    Project UUID

Create a spot market request

/projects/{id}/spot-market-requests

Creates a new spot market request.

Type-specific options (such as operating_system for baremetal devices) should be included in the main data structure alongside hostname and plan.

The features attribute allows you to optionally specify what features your server should have. For example, if you require a server with a TPM chip, you may specify { "features": { "tpm": "required" } } (or { "features": ["tpm"] } in shorthand).

The request will fail if there are no available servers matching your criteria. Alternatively, if you do not require a certain feature, but would prefer to be assigned a server with that feature if there are any available, you may specify that feature with a preferred value (see the example request below).

The request will not fail if we have no servers with that feature in our inventory.

    /projects/{id}/spot-market-requests
  • Parameters
  • id
    string  (required) in path

    Project UUID

    spot_market_request
     (required) in body

    Spot Market Request to create

    {
    	"instance_attributes": "object",
    	"devices_min": "integer",
    	"devices_max": "integer",
    	"max_bid_price": "number",
    	"end_at": "string",
    	"facilities": [
    		"string"
    	]
    } 

List spot market requests

GET
/projects/{id}/spot-market-requests

View all spot market requests for a given project.

Retrieve a project's ssh keys

GET
/projects/{id}/ssh-keys

Returns a collection of the project's ssh keys.

    /projects/{id}/ssh-keys
  • Parameters
  • id
    string  (required) in path

    Project UUID

    Search string
    string in query

    Search by key, label, or fingerprint

    include
    string in query

    related attributes to include

  •  
  • Response Body Show Hide
  • Request URL Show Hide
  • cURL Show Hide

Creates a ssh key.

    /projects/{id}/ssh-keys
  • Parameters
  • id
    string  (required) in path

    Project UUID

    ssh key
     (required) in body

    ssh key to create

    {
    	"label": "string",
    	"key": "string"
    } 

Retrieve a device's ssh keys

GET
/devices/{id}/ssh-keys

Returns a collection of the device's ssh keys.

    /devices/{id}/ssh-keys
  • Parameters
  • id
    string  (required) in path

    Project UUID

    Search string
    string in query

    Search by key, label, or fingerprint

    include
    string in query

    related attributes to include

  •  
  • Response Body Show Hide
  • Request URL Show Hide
  • cURL Show Hide

Create a transfer request

/projects/{id}/transfers

Organization owners can transfer their projects to other organizations.

    /projects/{id}/transfers
  • Parameters
  • id
    string  (required) in path

    UUID of the project to be transferred

    transfer_request
     (required) in body

    Transfer Request to create

    {
    	"target_organization_id": "string"
    } 

Retrieve all virtual networks

GET
/projects/{id}/virtual-networks

Provides a list of virtual networks for a single project.

    /projects/{id}/virtual-networks
  • 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

Create an virtual network

/projects/{id}/virtual-networks

Creates an virtual network.

    /projects/{id}/virtual-networks
  • Parameters
  • id
    string  (required) in path

    Project UUID

    virtual_network
     (required) in body

    Virtual Network to create

    {
    	"project_id": "string",
    	"description": "string",
    	"facility": "string",
    	"vxlan": "integer",
    	"vlan": "integer"
    }