Skip to main content

Metal API (1.0.0)

Download OpenAPI specification:Download

Introduction

Equinix Metal provides a RESTful HTTP API which can be reached at https://api.equinix.com/metal/v1. This document describes the API and how to use it.

The API allows you to programmatically interact with all of your Equinix Metal resources, including devices, networks, addresses, organizations, projects, and your user account. Every feature of the Equinix Metal web interface is accessible through the API.

The API docs are generated from the Equinix Metal OpenAPI specification and are officially hosted at https://deploy.equinix.com/developers/api/metal/.

Common Parameters

The Equinix Metal API uses a few methods to minimize network traffic and improve throughput. These parameters are not used in all API calls, but are used often enough to warrant their own section. Look for these parameters in the documentation for the API calls that support them.

Pagination

Pagination is used to limit the number of results returned in a single request. The API will return a maximum of 100 results per page. To retrieve additional results, you can use the page and per_page query parameters.

The page parameter is used to specify the page number. The first page is 1. The per_page parameter is used to specify the number of results per page. The maximum number of results differs by resource type.

Sorting

Where offered, the API allows you to sort results by a specific field. To sort results use the sort_by query parameter with the root level field name as the value. The sort_direction parameter is used to specify the sort direction, either either asc (ascending) or desc (descending).

Filtering

Filtering is used to limit the results returned in a single request. The API supports filtering by certain fields in the response. To filter results, you can use the field as a query parameter.

For example, to filter the IP list to only return public IPv4 addresses, you can filter by the type field, as in the following request:

curl -H 'X-Auth-Token: my_authentication_token' \
  https://api.equinix.com/metal/v1/projects/id/ips?type=public_ipv4

Only IP addresses with the type field set to public_ipv4 will be returned.

Searching

Searching is used to find matching resources using multiple field comparissons. The API supports searching in resources that define this behavior. Currently the search parameter is only available on devices, ssh_keys, api_keys and memberships endpoints.

To search resources you can use the search query parameter.

Include and Exclude

For resources that contain references to other resources, sucha as a Device that refers to the Project it resides in, the Equinix Metal API will returns href values (API links) to the associated resource.

{
  ...
  "project": {
    "href": "/metal/v1/projects/f3f131c8-f302-49ef-8c44-9405022dc6dd"
  }
}

If you're going need the project details, you can avoid a second API request. Specify the contained href resources and collections that you'd like to have included in the response using the include query parameter.

For example:

curl -H 'X-Auth-Token: my_authentication_token' \
  https://api.equinix.com/metal/v1/user?include=projects

The include parameter is generally accepted in GET, POST, PUT, and PATCH requests where href resources are presented.

To have multiple resources include, use a comma-separated list (e.g. ?include=emails,projects,memberships).

curl -H 'X-Auth-Token: my_authentication_token' \
  https://api.equinix.com/metal/v1/user?include=emails,projects,memberships

You may also include nested associations up to three levels deep using dot notation (?include=memberships.projects):

curl -H 'X-Auth-Token: my_authentication_token' \
  https://api.equinix.com/metal/v1/user?include=memberships.projects

To exclude resources, and optimize response delivery, use the exclude query parameter. The exclude parameter is generally accepted in GET, POST, PUT, and PATCH requests for fields with nested object responses. When excluded, these fields will be replaced with an object that contains only an href field.

Authentication

Nearly all of the endpoints in the API require authentication. Authentication is performed by providing an authentication token (interchangeably referred to as an API key) in the X-Auth-Token HTTP request header.

X-Auth-Token

HTTP header containing the User or Project API key that will be used to authenticate the request.

Security Scheme Type: API Key
Header parameter name: X-Auth-Token

User API keys can be obtained by creating them in the Equinix Metal Portal or by using the Create a User API Key endpoint.

Project API keys can also be obtained by creating them in the Equinix Metal Portal or by using the Create a Project API Key endpoint. Project API keys are scoped to a single project and can only be used to access resources within that project.

For example, to use an authenticated API token, you would make a request like the following:

curl -H 'X-Auth-Token: my_authentication_token' \
  https://api.equinix.com/metal/v1/user/api-keys

Applications can take advantage of the Equinix Metal API and API keys to perform any of the actions that can be performed in the Equinix Metal Portal. For example, you can use the API to create and manage devices, projects, and other resources.

API keys can be deleted without affecting any of the resources created with them. Access to applications using the API can be revoked by deleting the API key used to authenticate the application.

Delete the API key

Deletes the API key.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

API Key UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve all API keys for the project.

Returns all API keys for a specific project.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
Array of objects (AuthToken)
Array
created_at
string <date-time>
description
string

Available only for API keys

id
string <uuid>
object (AuthToken_project)

Available only for project tokens

read_only
boolean
token
string
updated_at
string <date-time>
object (AuthToken_user)

Available only for user tokens

Response samples

Content type
application/json
{
  • "api_keys": [
    ]
}

Create an API key for a project.

Creates an API key for a project.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

API Key to create

description
string
read_only
boolean

Responses

Response Schema: application/json
created_at
string <date-time>
description
string

Available only for API keys

id
string <uuid>
object (AuthToken_project)

Available only for project tokens

backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
read_only
boolean
token
string
updated_at
string <date-time>
object (AuthToken_user)

Available only for user tokens

avatar_thumb_url
string
avatar_url
string
created_at
string <date-time>
customdata
object
default_organization_id
string <uuid>
default_project_id
string <uuid>
email
string
Array of objects (Href)
Array
href
required
string
first_name
string
fraud_score
string
full_name
string
href
string
id
string <uuid>
last_login_at
string <date-time>
last_name
string
max_organizations
integer
max_projects
integer
phone_number
string
short_id
string
timezone
string
two_factor_auth
string
updated_at
string <date-time>

Request samples

Content type
application/json
{
  • "description": "string",
  • "read_only": true
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "project": {
    },
  • "read_only": true,
  • "token": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user": {
    }
}

Retrieve all user API keys

Returns all API keys for the current user.

Authorizations:
X-Auth-Token
query Parameters
search
string

Search by description

include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
Array of objects (AuthToken)
Array
created_at
string <date-time>
description
string

Available only for API keys

id
string <uuid>
object (AuthToken_project)

Available only for project tokens

read_only
boolean
token
string
updated_at
string <date-time>
object (AuthToken_user)

Available only for user tokens

Response samples

Content type
application/json
{
  • "api_keys": [
    ]
}

Create an API key

Creates a API key for the current user.

Authorizations:
X-Auth-Token
query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

API key to create

description
string
read_only
boolean

Responses

Response Schema: application/json
created_at
string <date-time>
description
string

Available only for API keys

id
string <uuid>
object (AuthToken_project)

Available only for project tokens

backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
read_only
boolean
token
string
updated_at
string <date-time>
object (AuthToken_user)

Available only for user tokens

avatar_thumb_url
string
avatar_url
string
created_at
string <date-time>
customdata
object
default_organization_id
string <uuid>
default_project_id
string <uuid>
email
string
Array of objects (Href)
Array
href
required
string
first_name
string
fraud_score
string
full_name
string
href
string
id
string <uuid>
last_login_at
string <date-time>
last_name
string
max_organizations
integer
max_projects
integer
phone_number
string
short_id
string
timezone
string
two_factor_auth
string
updated_at
string <date-time>

Request samples

Content type
application/json
{
  • "description": "string",
  • "read_only": true
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "project": {
    },
  • "read_only": true,
  • "token": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user": {
    }
}

Delete the API key

Deletes the current user API key.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

API Key UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Emails

Email Management

Create an email Deprecated

Add a new email address to the current user.

Authorizations:
X-Auth-Token
Request Body schema: application/json
required

Email to create

address
required
string

Responses

Response Schema: application/json
address
string
default
boolean
href
string
id
string <uuid>
verified
boolean

Request samples

Content type
application/json
{
  • "address": "string"
}

Response samples

Content type
application/json
{
  • "address": "string",
  • "default": true,
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "verified": true
}

Delete the email

Deletes the email.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Email UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve an email

Provides one of the user’s emails.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Email UUID

Responses

Response Schema: application/json
address
string
default
boolean
href
string
id
string <uuid>
verified
boolean

Response samples

Content type
application/json
{
  • "address": "string",
  • "default": true,
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "verified": true
}

Update the email

Updates the email.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Email UUID

Request Body schema: application/json
required

email to update

default
boolean

Responses

Response Schema: application/json
address
string
default
boolean
href
string
id
string <uuid>
verified
boolean

Request samples

Content type
application/json
{
  • "default": true
}

Response samples

Content type
application/json
{
  • "address": "string",
  • "default": true,
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "verified": true
}

Invitations

Manage invitations. See project endpoints to create a new invitation. Check out the product docs to learn more about Invitations.

Decline an invitation

Decline an invitation.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Invitation UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

View an invitation

Returns a single invitation. (It include the invitable to maintain backward compatibility but will be removed soon)

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Invitation UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
created_at
string <date-time>
href
string
id
string <uuid>
object (Href)
href
required
string
object (Href)
href
required
string
invitee
string <email>
nonce
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
roles
Array of strings
Items Enum: "admin" "billing" "collaborator" "limited_collaborator"
updated_at
string <date-time>
bound_roles
Array of strings

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "invitation": {
    },
  • "invited_by": {
    },
  • "invitee": "user@example.com",
  • "nonce": "string",
  • "organization": {
    },
  • "projects": [
    ],
  • "roles": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "bound_roles": [
    ]
}

Accept an invitation

Accept an invitation.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Invitation UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
created_at
string <date-time>
href
string
id
string <uuid>
object (Href)
href
required
string
roles
Array of strings
updated_at
string <date-time>
object (Href)
href
required
string
bound_roles
Array of strings

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "project": {
    },
  • "roles": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user": {
    },
  • "bound_roles": [
    ]
}

Memberships

Membership Management (Project). Check out the product docs to learn more about Membership.

Delete the membership

Deletes the membership.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Membership UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve a membership

Returns a single membership.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Membership UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
created_at
string <date-time>
href
string
id
string <uuid>
object (Href)
href
required
string
roles
Array of strings
updated_at
string <date-time>
object (Href)
href
required
string
bound_roles
Array of strings

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "project": {
    },
  • "roles": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user": {
    },
  • "bound_roles": [
    ]
}

Update the membership

Updates the membership.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Membership UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

Membership to update

role
Array of strings

Responses

Response Schema: application/json
created_at
string <date-time>
href
string
id
string <uuid>
object (Href)
href
required
string
roles
Array of strings
updated_at
string <date-time>
object (Href)
href
required
string
bound_roles
Array of strings

Request samples

Content type
application/json
{
  • "role": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "project": {
    },
  • "roles": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user": {
    },
  • "bound_roles": [
    ]
}

Organizations

Organizations Management. Check out the product docs to learn more about Organizations.

Retrieve all organizations

Returns a list of organizations that are accessible to the current user.

Authorizations:
X-Auth-Token
query Parameters
personal
string
Enum: "include" "exclude" "only"

Include, exclude or show only personal organizations.

without_projects
string
Enum: "include" "exclude" "only"

Include, exclude or show only organizations that have no projects.

include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer
Array of objects (Organization)
Array
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "organizations": [
    ]
}

Delete the organization

Deletes the organization.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve an organization's details

Returns a single organization's details, if the user is authorized to view it.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
latitude
string
longitude
string
country
required
string
state
string
zip_code
required
string
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
latitude
string
longitude
string
country
required
string
state
string
zip_code
required
string
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string
Array of objects (Href)
Array
href
required
string
terms
integer
twitter
string
updated_at
string <date-time>
website
string

Response samples

Content type
application/json
{
  • "address": {
    },
  • "billing_address": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "credit_amount": 0.1,
  • "customdata": { },
  • "description": "string",
  • "enforce_2fa_at": "2019-08-24T14:15:22Z",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "logo": "string",
  • "members": [
    ],
  • "memberships": [
    ],
  • "name": "string",
  • "projects": [
    ],
  • "terms": 0,
  • "twitter": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "website": "string"
}

Update the organization

Updates the organization.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

Organization to update

object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
latitude
string
longitude
string
country
required
string
state
string
zip_code
required
string
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
latitude
string
longitude
string
country
required
string
state
string
zip_code
required
string
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

name
string
twitter
string
website
string

Responses

Response Schema: application/json
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
latitude
string
longitude
string
country
required
string
state
string
zip_code
required
string
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
latitude
string
longitude
string
country
required
string
state
string
zip_code
required
string
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string
Array of objects (Href)
Array
href
required
string
terms
integer
twitter
string
updated_at
string <date-time>
website
string

Request samples

Content type
application/json
{
  • "address": {
    },
  • "billing_address": {
    },
  • "customdata": { },
  • "description": "string",
  • "enforce_2fa_at": "2019-08-24T14:15:22Z",
  • "name": "string",
  • "twitter": "string",
  • "website": "string"
}

Response samples

Content type
application/json
{
  • "address": {
    },
  • "billing_address": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "credit_amount": 0.1,
  • "customdata": { },
  • "description": "string",
  • "enforce_2fa_at": "2019-08-24T14:15:22Z",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "logo": "string",
  • "members": [
    ],
  • "memberships": [
    ],
  • "name": "string",
  • "projects": [
    ],
  • "terms": 0,
  • "twitter": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "website": "string"
}

Retrieve the custom metadata of an organization

Provides the custom metadata stored for this organization in json format

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve organization invitations

Returns all invitations in an organization.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
Array of objects (Membership)
Array
created_at
string <date-time>
href
string
id
string <uuid>
object (Href)
roles
Array of strings
updated_at
string <date-time>
object (Href)
bound_roles
Array of strings

Response samples

Content type
application/json
{
  • "invitations": [
    ]
}

Create an invitation for an organization

In order to add a user to an organization, they must first be invited. To invite to several projects the parameter projects_ids:[a,b,c] can be used

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

Invitation to create

invitee
required
string <email>
message
string
organization_id
string <uuid>
projects_ids
Array of strings <uuid> [ items <uuid > ]
roles
Array of strings
Items Enum: "admin" "billing" "collaborator" "limited_collaborator"
bound_roles
Array of strings

Responses

Response Schema: application/json
created_at
string <date-time>
href
string
id
string <uuid>
object (Href)
href
required
string
object (Href)
href
required
string
invitee
string <email>
nonce
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
roles
Array of strings
Items Enum: "admin" "billing" "collaborator" "limited_collaborator"
updated_at
string <date-time>
bound_roles
Array of strings

Request samples

Content type
application/json
{
  • "invitee": "user@example.com",
  • "message": "string",
  • "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
  • "projects_ids": [
    ],
  • "roles": [
    ],
  • "bound_roles": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "invitation": {
    },
  • "invited_by": {
    },
  • "invitee": "user@example.com",
  • "nonce": "string",
  • "organization": {
    },
  • "projects": [
    ],
  • "roles": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "bound_roles": [
    ]
}

Retrieve all operating systems visible by the organization

Returns a listing of available operating systems for the given organization

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
Array of objects (OperatingSystem)
Array
build_date
string <date>

The date when Metal's current OS image was built and released.

deprecation_date
string <date>

The date when the OS is deprecated. This is the date set by the upstream operating system maintainer.

distro
string
distro_label
string
end_of_life_date
string <date>

The date when the Metal OS image no longer receives any updates and may be disabled at any time. Typically the same as the deprecation date set by the upstream OS maintainers.

end_of_service_date
string <date>

Metal-set date for when the OS is nearing end of life, typically 30 days before end of life.

id
string <uuid>
licensed
boolean

Indicates if the OS is licensed or not. Licensed operating systems are priced according to pricing property.

lifecycle_state
string

Where in the lifecycle the OS image is. Possible states are - "testing", "pre_release", "active", "deprecated", "end_of_service", or "end_of_life".

name
string
preinstallable
boolean

Indicates whether servers can be preinstalled with OS image in order to shorten provision time.

pricing
object

This object contains price per time unit and optional multiplier value if license price depends on hardware plan or components (e.g. number of cores).

provisionable_on
Array of strings
release_date
string <date>

The date the upstream operating system maintainer released this version of the OS.

release_notes
string

The current release notes for this OS image, typically in Markdown format.

slug
string
version
string
default_operating_system
boolean

Default operating system for the distro.

Response samples

Content type
application/json
{
  • "operating_systems": [
    ]
}

Retrieve all payment methods of an organization

Returns all payment methods of an organization.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
Array of objects (PaymentMethod)
Array
object (PaymentMethodBillingAddress)
card_type
string
cardholder_name
string
created_at
string <date-time>
object (Href)
default
boolean
email
string
expiration_month
string
expiration_year
string
id
string <uuid>
name
string
object (Href)
Array of objects (Href)
type
string
updated_at
string <date-time>

Response samples

Content type
application/json
{
  • "payment_methods": [
    ]
}

Create a payment method for the given organization

Creates a payment method.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

Payment Method to create

default
boolean
name
required
string
nonce
required
string

Responses

Response Schema: application/json
object (PaymentMethodBillingAddress)
country_code_alpha2
string
postal_code
string
street_address
string
card_type
string
cardholder_name
string
created_at
string <date-time>
object (Href)
href
required
string
default
boolean
email
string
expiration_month
string
expiration_year
string
id
string <uuid>
name
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
type
string
updated_at
string <date-time>

Request samples

Content type
application/json
{
  • "default": true,
  • "name": "string",
  • "nonce": "string"
}

Response samples

Content type
application/json
{
  • "billing_address": {
    },
  • "card_type": "string",
  • "cardholder_name": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by_user": {
    },
  • "default": true,
  • "email": "string",
  • "expiration_month": "string",
  • "expiration_year": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "organization": {
    },
  • "projects": [
    ],
  • "type": "string",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Retrieve all plans visible by the organization

Returns a listing of available plans for the given organization

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
Array of objects (Plan)
Array
Array of objects (Plan_available_in_inner)

Shows which facilities the plan is available in, and the facility-based price if it is different from the default price.

Array of objects (Plan_available_in_metros_inner)

Shows which metros the plan is available in, and the metro-based price if it is different from the default price.

categories
Array of strings

Categories of the plan, like compute or storage. A Plan can belong to multiple categories.

class
string
description
string
deployment_types
Array of strings >= 0 items unique
Items Enum: "on_demand" "spot_market"
id
string <uuid>
legacy
boolean

Deprecated. Always return false

line
string
name
string
pricing
object
slug
string
object (Plan_specs)
type
string
Enum: "standard" "workload_optimized" "custom"

The plan type

Response samples

Content type
application/json
{
  • "plans": [
    ]
}

Retrieve all projects of an organization

Returns a collection of projects that belong to the organization.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

query Parameters
name
string

Filter results by name.

include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer
Array of objects (Project)
Array
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "projects": [
    ]
}

Create a project for the organization

Creates a new project for the organization

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

Project to create

customdata
object
name
required
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

payment_method_id
string <uuid>
type
string
Value: "default"

The type of the project. If no type is specified the project type will automatically be default

tags
Array of strings

Responses

Response Schema: application/json
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string
Array of objects (Href)
Array
href
required
string
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings

Request samples

Content type
application/json
{
  • "customdata": { },
  • "name": "string",
  • "payment_method_id": "ec18d2d7-d2e0-41e4-98e4-847f14422d8a",
  • "type": "default",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "backend_transfer_enabled": true,
  • "bgp_config": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "customdata": { },
  • "devices": [
    ],
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "invitations": [
    ],
  • "max_devices": { },
  • "members": [
    ],
  • "memberships": [
    ],
  • "name": "string",
  • "network_status": { },
  • "organization": {
    },
  • "payment_method": {
    },
  • "ssh_keys": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "url": "string",
  • "volumes": [
    ],
  • "type": "default",
  • "tags": [
    ]
}

Retrieve all project transfer requests from or to an organization

Provides a collection of project transfer requests from or to the organization.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
Array of objects (TransferRequest)
Array
created_at
string <date-time>
href
string
id
string <uuid>
object (Href)
object (Href)
updated_at
string <date-time>

Response samples

Content type
application/json
{
  • "transfers": [
    ]
}

Retrieve organization members

Get all Members of an Organization

Authorizations:
X-Auth-Token
path Parameters
organization_id
required
string <uuid>

Organization UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
Array of objects (Member)
Array
id
string <uuid>
roles
Array of strings
Items Enum: "admin" "billing" "collaborator" "limited_collaborator"
projects_count
integer
bound_roles
Array of strings
object (Href)
object (Href)
Array of objects (Href)
href
string

Response samples

Content type
application/json
{
  • "members": [
    ]
}

Remove member from the organization

Authorizations:
X-Auth-Token
path Parameters
organization_id
required
string <uuid>

Organization UUID

id
required
string <uuid>

Member UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Update roles for an organization member

Update organization member by assigning roles that determine which actions they can perform within the organization.

Authorizations:
X-Auth-Token
path Parameters
organization_id
required
string <uuid>

Organization UUID

id
required
string <uuid>

Member UUID

Request Body schema: application/json

Organization to update

role
Array of strings
Items Enum: "admin" "billing" "collaborator" "limited_collaborator"

Primary role for the user within the organization

bound_roles
Array of strings

Additional roles that can be bound to the user to grant extra permissions.

project_ids
Array of strings <uuid> [ items <uuid > ]

Project IDs the user should be able to access. This field is only required when role is set to collaborator or limited_collaborator.

Responses

Response Schema: application/json
id
string <uuid>
roles
Array of strings
Items Enum: "admin" "billing" "collaborator" "limited_collaborator"
projects_count
integer
bound_roles
Array of strings
object (Href)
href
required
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
href
string

Request samples

Content type
application/json
{
  • "role": [
    ],
  • "bound_roles": [
    ],
  • "project_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "roles": [
    ],
  • "projects_count": 0,
  • "bound_roles": [
    ],
  • "user": {
    },
  • "organization": {
    },
  • "projects": [
    ],
  • "href": "string"
}

Reset current user password

Resets current user password.

Authorizations:
X-Auth-Token

Responses

Response Schema: application/json
new_password
string

Response samples

Content type
application/json
{
  • "new_password": "string"
}

Create a password reset token

Creates a password reset token

Authorizations:
X-Auth-Token
query Parameters
email
required
string

Email of user to create password reset token

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Delete the payment method

Deletes the payment method.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Payment Method UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve a payment method

Returns a payment method

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Payment Method UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
object (PaymentMethodBillingAddress)
country_code_alpha2
string
postal_code
string
street_address
string
card_type
string
cardholder_name
string
created_at
string <date-time>
object (Href)
href
required
string
default
boolean
email
string
expiration_month
string
expiration_year
string
id
string <uuid>
name
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
type
string
updated_at
string <date-time>

Response samples

Content type
application/json
{
  • "billing_address": {
    },
  • "card_type": "string",
  • "cardholder_name": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by_user": {
    },
  • "default": true,
  • "email": "string",
  • "expiration_month": "string",
  • "expiration_year": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "organization": {
    },
  • "projects": [
    ],
  • "type": "string",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update the payment method

Updates the payment method.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Payment Method UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

Payment Method to update

billing_address
object
cardholder_name
string
default
boolean
expiration_month
string
expiration_year
integer
name
string

Responses

Response Schema: application/json
object (PaymentMethodBillingAddress)
country_code_alpha2
string
postal_code
string
street_address
string
card_type
string
cardholder_name
string
created_at
string <date-time>
object (Href)
href
required
string
default
boolean
email
string
expiration_month
string
expiration_year
string
id
string <uuid>
name
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
type
string
updated_at
string <date-time>

Request samples

Content type
application/json
{
  • "billing_address": { },
  • "cardholder_name": "string",
  • "default": true,
  • "expiration_month": "string",
  • "expiration_year": 0,
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "billing_address": {
    },
  • "card_type": "string",
  • "cardholder_name": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by_user": {
    },
  • "default": true,
  • "email": "string",
  • "expiration_month": "string",
  • "expiration_year": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "organization": {
    },
  • "projects": [
    ],
  • "type": "string",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Projects

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

Retrieve all projects

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

Authorizations:
X-Auth-Token
query Parameters
name
string

Filter results by name.

include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer
Array of objects (Project)
Array
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "projects": [
    ]
}

Create a project

Creates a new project for the user's default organization. If the user does not have a default organization, the API will look for a personal organization belonging to the user with the name "{User's Full Name} Projects" to associate the project with. If that organization does not exist a new organization named "{User's Full Name} Projects" will be created and the new project will be tied to that organization.

Authorizations:
X-Auth-Token
query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

Project to create

customdata
object
name
required
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

organization_id
string <uuid>
payment_method_id
string <uuid>
type
string
Value: "default"

The type of the project. If no type is specified the project type will automatically be default

tags
Array of strings

Responses

Response Schema: application/json
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string
Array of objects (Href)
Array
href
required
string
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings

Request samples

Content type
application/json
{
  • "customdata": { },
  • "name": "string",
  • "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
  • "payment_method_id": "ec18d2d7-d2e0-41e4-98e4-847f14422d8a",
  • "type": "default",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "backend_transfer_enabled": true,
  • "bgp_config": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "customdata": { },
  • "devices": [
    ],
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "invitations": [
    ],
  • "max_devices": { },
  • "members": [
    ],
  • "memberships": [
    ],
  • "name": "string",
  • "network_status": { },
  • "organization": {
    },
  • "payment_method": {
    },
  • "ssh_keys": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "url": "string",
  • "volumes": [
    ],
  • "type": "default",
  • "tags": [
    ]
}

Delete the project

Deletes the project.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve a project

Returns a single project if the user has access

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string
Array of objects (Href)
Array
href
required
string
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings

Response samples

Content type
application/json
{
  • "backend_transfer_enabled": true,
  • "bgp_config": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "customdata": { },
  • "devices": [
    ],
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "invitations": [
    ],
  • "max_devices": { },
  • "members": [
    ],
  • "memberships": [
    ],
  • "name": "string",
  • "network_status": { },
  • "organization": {
    },
  • "payment_method": {
    },
  • "ssh_keys": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "url": "string",
  • "volumes": [
    ],
  • "type": "default",
  • "tags": [
    ]
}

Update the project

Updates the project.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

Project to update

backend_transfer_enabled
boolean
customdata
object
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

payment_method_id
string <uuid>
tags
Array of strings

Responses

Response Schema: application/json
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string
Array of objects (Href)
Array
href
required
string
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings

Request samples

Content type
application/json
{
  • "backend_transfer_enabled": true,
  • "customdata": { },
  • "name": "string",
  • "payment_method_id": "ec18d2d7-d2e0-41e4-98e4-847f14422d8a",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "backend_transfer_enabled": true,
  • "bgp_config": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "customdata": { },
  • "devices": [
    ],
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "invitations": [
    ],
  • "max_devices": { },
  • "members": [
    ],
  • "memberships": [
    ],
  • "name": "string",
  • "network_status": { },
  • "organization": {
    },
  • "payment_method": {
    },
  • "ssh_keys": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "url": "string",
  • "volumes": [
    ],
  • "type": "default",
  • "tags": [
    ]
}

Retrieve the custom metadata of a project

Provides the custom metadata stored for this project in json format

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Create a transfer request Deprecated

Organization owners can transfer their projects to other organizations.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

UUID of the project to be transferred

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

Transfer Request to create

target_organization_id
string <uuid>

Responses

Response Schema: application/json
created_at
string <date-time>
href
string
id
string <uuid>
object (Href)
href
required
string
object (Href)
href
required
string
updated_at
string <date-time>

Request samples

Content type
application/json
{
  • "target_organization_id": "86e737fc-f10c-4261-bf49-58acf935bd4d"
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "project": {
    },
  • "target_organization": {
    },
  • "updated_at": "2019-08-24T14:15:22Z"
}

Retrieve project invitations

Returns all invitations in a project.

Authorizations:
X-Auth-Token
path Parameters
project_id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
Array of objects (Membership)
Array
created_at
string <date-time>
href
string
id
string <uuid>
object (Href)
roles
Array of strings
updated_at
string <date-time>
object (Href)
bound_roles
Array of strings

Response samples

Content type
application/json
{
  • "invitations": [
    ]
}

Create an invitation for a project

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

Authorizations:
X-Auth-Token
path Parameters
project_id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

Invitation to create

invitee
required
string <email>
message
string
organization_id
string <uuid>
projects_ids
Array of strings <uuid> [ items <uuid > ]
roles
Array of strings
Items Enum: "admin" "billing" "collaborator" "limited_collaborator"
bound_roles
Array of strings

Responses

Response Schema: application/json
created_at
string <date-time>
href
string
id
string <uuid>
object (Href)
href
required
string
object (Href)
href
required
string
invitee
string <email>
nonce
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
roles
Array of strings
Items Enum: "admin" "billing" "collaborator" "limited_collaborator"
updated_at
string <date-time>
bound_roles
Array of strings

Request samples

Content type
application/json
{
  • "invitee": "user@example.com",
  • "message": "string",
  • "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
  • "projects_ids": [
    ],
  • "roles": [
    ],
  • "bound_roles": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "invitation": {
    },
  • "invited_by": {
    },
  • "invitee": "user@example.com",
  • "nonce": "string",
  • "organization": {
    },
  • "projects": [
    ],
  • "roles": [
    ],
  • "updated_at": "2019-08-24T14:15:22Z",
  • "bound_roles": [
    ]
}

Retrieve the custom metadata of an IP Reservation

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

Authorizations:
X-Auth-Token
path Parameters
project_id
required
string <uuid>

Project UUID

id
required
string <uuid>

Ip Reservation UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve project memberships

Returns all memberships in a project.

Authorizations:
X-Auth-Token
path Parameters
project_id
required
string <uuid>

Project UUID

query Parameters
search
string

Search by member full name, id and email.

include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
Array of objects (Membership)
Array
created_at
string <date-time>
href
string
id
string <uuid>
object (Href)
roles
Array of strings
updated_at
string <date-time>
object (Href)
bound_roles
Array of strings

Response samples

Content type
application/json
{
  • "memberships": [
    ]
}

Roles

List available roles

This list of roles can be used to update Members or new Invitations with additional permissions.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

Responses

Response Schema: application/json
roles
object

Response samples

Content type
application/json
{
  • "roles": { }
}

Get details about a specific role

Learn what actions are in each role.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

role_id
required
string

Role ID

Responses

Response Schema: application/json
id
string
name
string
actions
Array of strings

Response samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "actions": [
    ]
}

SSHKeys

Manage SSH keys. See project endpoints to list and create project-level SSH keys.

Retrieve a device's ssh keys

Returns a collection of the device's ssh keys.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
Search string
string

Search by key, label, or fingerprint

include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
Array of objects (SSHKey)
Array
created_at
string <date-time>
object (Href)
fingerprint
string
href
string
id
string <uuid>
key
string
label
string
updated_at
string <date-time>
tags
Array of strings

Response samples

Content type
application/json
{
  • "ssh_keys": [
    ]
}

Retrieve a project's ssh keys

Returns a collection of the project's ssh keys.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
query
string

Search by key, label, or fingerprint

include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
Array of objects (SSHKey)
Array
created_at
string <date-time>
object (Href)
fingerprint
string
href
string
id
string <uuid>
key
string
label
string
updated_at
string <date-time>
tags
Array of strings

Response samples

Content type
application/json
{
  • "ssh_keys": [
    ]
}

Create a ssh key for the given project

Creates a ssh key.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

ssh key to create

instances_ids
Array of strings <uuid> [ items <uuid > ]

List of instance UUIDs to associate SSH key with, when empty array is sent all instances belonging to entity will be included

key
string
label
string
tags
Array of strings

Responses

Response Schema: application/json
created_at
string <date-time>
object (Href)
href
required
string
fingerprint
string
href
string
id
string <uuid>
key
string
label
string
updated_at
string <date-time>
tags
Array of strings

Request samples

Content type
application/json
{
  • "instances_ids": [
    ],
  • "key": "string",
  • "label": "string",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "entity": {
    },
  • "fingerprint": "string",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "key": "string",
  • "label": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "tags": [
    ]
}

Retrieve all ssh keys

Returns a collection of the user’s ssh keys.

Authorizations:
X-Auth-Token
query Parameters
search
string

Search by key, label, or fingerprint

include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
Array of objects (SSHKey)
Array
created_at
string <date-time>
object (Href)
fingerprint
string
href
string
id
string <uuid>
key
string
label
string
updated_at
string <date-time>
tags
Array of strings

Response samples

Content type
application/json
{
  • "ssh_keys": [
    ]
}

Create a ssh key for the current user

Creates a ssh key.

Authorizations:
X-Auth-Token
query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

ssh key to create

instances_ids
Array of strings <uuid> [ items <uuid > ]

List of instance UUIDs to associate SSH key with, when empty array is sent all instances belonging to entity will be included

key
string
label
string
tags
Array of strings

Responses

Response Schema: application/json
created_at
string <date-time>
object (Href)
href
required
string
fingerprint
string
href
string
id
string <uuid>
key
string
label
string
updated_at
string <date-time>
tags
Array of strings

Request samples

Content type
application/json
{
  • "instances_ids": [
    ],
  • "key": "string",
  • "label": "string",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "entity": {
    },
  • "fingerprint": "string",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "key": "string",
  • "label": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "tags": [
    ]
}

Delete the ssh key

Deletes the ssh key.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

ssh key UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve a ssh key

Returns a single ssh key if the user has access

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

SSH Key UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
created_at
string <date-time>
object (Href)
href
required
string
fingerprint
string
href
string
id
string <uuid>
key
string
label
string
updated_at
string <date-time>
tags
Array of strings

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "entity": {
    },
  • "fingerprint": "string",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "key": "string",
  • "label": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "tags": [
    ]
}

Update the ssh key

Updates the ssh key.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

SSH Key UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

ssh key to update

key
string
label
string
tags
Array of strings

Responses

Response Schema: application/json
created_at
string <date-time>
object (Href)
href
required
string
fingerprint
string
href
string
id
string <uuid>
key
string
label
string
updated_at
string <date-time>
tags
Array of strings

Request samples

Content type
application/json
{
  • "key": "string",
  • "label": "string",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "entity": {
    },
  • "fingerprint": "string",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "key": "string",
  • "label": "string",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "tags": [
    ]
}

Create a support ticket

Support Ticket.

Authorizations:
X-Auth-Token
Request Body schema: application/json
required

Support Request to create

device_id
string
message
required
string
priority
string
Enum: "urgent" "high" "medium" "low"
project_id
string
subject
required
string

Responses

Request samples

Content type
application/json
{
  • "device_id": "string",
  • "message": "string",
  • "priority": "urgent",
  • "project_id": "string",
  • "subject": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Decline a transfer request

Decline a transfer request.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Transfer request UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

View a transfer request

Returns a single transfer request.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Transfer request UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
created_at
string <date-time>
href
string
id
string <uuid>
object (Href)
href
required
string
object (Href)
href
required
string
updated_at
string <date-time>

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "project": {
    },
  • "target_organization": {
    },
  • "updated_at": "2019-08-24T14:15:22Z"
}

Accept a transfer request

Accept a transfer request.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Transfer request UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

TwoFactorAuth

Two Factor Authentication Management. Check out the product docs to learn more about 2FA.

Disable two factor authentication

Disables two factor authentication.

Authorizations:
X-Auth-Token

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Enable two factor auth using app

Enables two factor authentication using authenticator app.

Authorizations:
X-Auth-Token

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve current user invitations

Returns all invitations in current user.

Authorizations:
X-Auth-Token
query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
Array of objects (Membership)
Array
created_at
string <date-time>
href
string
id
string <uuid>
object (Href)
roles
Array of strings
updated_at
string <date-time>
object (Href)
bound_roles
Array of strings

Response samples

Content type
application/json
{
  • "invitations": [
    ]
}

Retrieve the current user

Returns the user object for the currently logged-in user.

Authorizations:
X-Auth-Token
query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
avatar_thumb_url
string
avatar_url
string
created_at
string <date-time>
customdata
object
default_organization_id
string <uuid>
default_project_id
string <uuid>
email
string
Array of objects (Href)
Array
href
required
string
first_name
string
fraud_score
string
full_name
string
href
string
id
string <uuid>
last_login_at
string <date-time>
last_name
string
max_organizations
integer
max_projects
integer
phone_number
string
short_id
string
timezone
string
two_factor_auth
string
updated_at
string <date-time>

Response samples

Content type
application/json
{
  • "avatar_thumb_url": "string",
  • "avatar_url": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "customdata": { },
  • "default_organization_id": "7498eaa8-62af-4757-81e0-959250fc9cd5",
  • "default_project_id": "1226a120-3a85-4fe0-bba2-cdfc7af0d81b",
  • "email": "string",
  • "emails": [
    ],
  • "first_name": "string",
  • "fraud_score": "string",
  • "full_name": "string",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "last_name": "string",
  • "max_organizations": 0,
  • "max_projects": 0,
  • "phone_number": "string",
  • "short_id": "string",
  • "timezone": "string",
  • "two_factor_auth": "string",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update the current user

Updates the currently logged-in user.

Authorizations:
X-Auth-Token
query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

User to update

customdata
object
first_name
string
last_name
string
password
string
phone_number
string
timezone
string

Responses

Response Schema: application/json
avatar_thumb_url
string
avatar_url
string
created_at
string <date-time>
customdata
object
default_organization_id
string <uuid>
default_project_id
string <uuid>
email
string
Array of objects (Href)
Array
href
required
string
first_name
string
fraud_score
string
full_name
string
href
string
id
string <uuid>
last_login_at
string <date-time>
last_name
string
max_organizations
integer
max_projects
integer
phone_number
string
short_id
string
timezone
string
two_factor_auth
string
updated_at
string <date-time>

Request samples

Content type
application/json
{
  • "customdata": { },
  • "first_name": "string",
  • "last_name": "string",
  • "password": "string",
  • "phone_number": "string",
  • "timezone": "string"
}

Response samples

Content type
application/json
{
  • "avatar_thumb_url": "string",
  • "avatar_url": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "customdata": { },
  • "default_organization_id": "7498eaa8-62af-4757-81e0-959250fc9cd5",
  • "default_project_id": "1226a120-3a85-4fe0-bba2-cdfc7af0d81b",
  • "email": "string",
  • "emails": [
    ],
  • "first_name": "string",
  • "fraud_score": "string",
  • "full_name": "string",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "last_name": "string",
  • "max_organizations": 0,
  • "max_projects": 0,
  • "phone_number": "string",
  • "short_id": "string",
  • "timezone": "string",
  • "two_factor_auth": "string",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Retrieve all users

Returns a list of users that the are accessible to the current user (all users in the current user’s projects, essentially).

Authorizations:
X-Auth-Token
query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer
Array of objects (User)
Array
avatar_thumb_url
string
avatar_url
string
created_at
string <date-time>
customdata
object
default_organization_id
string <uuid>
default_project_id
string <uuid>
email
string
Array of objects (Href)
first_name
string
fraud_score
string
full_name
string
href
string
id
string <uuid>
last_login_at
string <date-time>
last_name
string
max_organizations
integer
max_projects
integer
phone_number
string
short_id
string
timezone
string
two_factor_auth
string
updated_at
string <date-time>

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "users": [
    ]
}

Create a user

Creates a user.

Authorizations:
X-Auth-Token
query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

User to create

company_name
string
company_url
string
customdata
object
required
Array of objects (EmailInput)
Array
address
required
string
default
boolean
first_name
required
string
last_name
required
string
level
string
password
string
phone_number
string
social_accounts
object
timezone
string
title
string
two_factor_auth
string
verified_at
string <date-time>
invitation_id
string <uuid>
nonce
string

Responses

Request samples

Content type
application/json
{
  • "company_name": "string",
  • "company_url": "string",
  • "customdata": { },
  • "emails": [
    ],
  • "first_name": "string",
  • "last_name": "string",
  • "level": "string",
  • "password": "string",
  • "phone_number": "string",
  • "social_accounts": { },
  • "timezone": "string",
  • "title": "string",
  • "two_factor_auth": "string",
  • "verified_at": "2019-08-24T14:15:22Z",
  • "invitation_id": "a6e6785a-3ea9-406c-b873-17eaf2ed5fc9",
  • "nonce": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve a user

Returns a single user if the user has access

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

User UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
avatar_thumb_url
string
avatar_url
string
created_at
string <date-time>
customdata
object
default_organization_id
string <uuid>
default_project_id
string <uuid>
email
string
Array of objects (Href)
Array
href
required
string
first_name
string
fraud_score
string
full_name
string
href
string
id
string <uuid>
last_login_at
string <date-time>
last_name
string
max_organizations
integer
max_projects
integer
phone_number
string
short_id
string
timezone
string
two_factor_auth
string
updated_at
string <date-time>

Response samples

Content type
application/json
{
  • "avatar_thumb_url": "string",
  • "avatar_url": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "customdata": { },
  • "default_organization_id": "7498eaa8-62af-4757-81e0-959250fc9cd5",
  • "default_project_id": "1226a120-3a85-4fe0-bba2-cdfc7af0d81b",
  • "email": "string",
  • "emails": [
    ],
  • "first_name": "string",
  • "fraud_score": "string",
  • "full_name": "string",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "last_login_at": "2019-08-24T14:15:22Z",
  • "last_name": "string",
  • "max_organizations": 0,
  • "max_projects": 0,
  • "phone_number": "string",
  • "short_id": "string",
  • "timezone": "string",
  • "two_factor_auth": "string",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Retrieve the custom metadata of a user

Provides the custom metadata stored for this user in json format

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

User UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Create an email verification request

Creates an email verification request

Authorizations:
X-Auth-Token
query Parameters
login
required
string

Email for verification request

include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Verify a user using an email verification token

Consumes an email verification token and verifies the user associated with it.

Authorizations:
X-Auth-Token
query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

Email to create

user_token
required
string

User verification token

Responses

Request samples

Content type
application/json
{
  • "user_token": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Events

Event Management

Retrieve interconnection events

Returns a list of the interconnection events

Authorizations:
X-Auth-Token
path Parameters
connection_id
required
string <uuid>

Interconnection UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
Array of objects (Event)
Array
body
string
created_at
string <date-time>
href
string
id
string <uuid>
interpolated
string
Array of objects (Href)
state
string
type
string
modified_by
object
ip
string
object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer

Response samples

Content type
application/json
{
  • "events": [
    ],
  • "meta": {
    }
}

Retrieve interconnection port events

Returns a list of the interconnection port events

Authorizations:
X-Auth-Token
path Parameters
connection_id
required
string <uuid>

Interconnection UUID

id
required
string <uuid>

Interconnection Port UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
body
string
created_at
string <date-time>
href
string
id
string <uuid>
interpolated
string
Array of objects (Href)
Array
href
required
string
state
string
type
string
modified_by
object
ip
string

Response samples

Content type
application/json
{
  • "body": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "interpolated": "string",
  • "relationships": [
    ],
  • "state": "string",
  • "type": "string",
  • "modified_by": { },
  • "ip": "string"
}

Retrieve device's events

Returns a list of events pertaining to a specific device

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
Array of objects (Event)
Array
body
string
created_at
string <date-time>
href
string
id
string <uuid>
interpolated
string
Array of objects (Href)
state
string
type
string
modified_by
object
ip
string
object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer

Response samples

Content type
application/json
{
  • "events": [
    ],
  • "meta": {
    }
}

Retrieve current user's events

Returns a list of the current user’s events

Authorizations:
X-Auth-Token
query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
Array of objects (Event)
Array
body
string
created_at
string <date-time>
href
string
id
string <uuid>
interpolated
string
Array of objects (Href)
state
string
type
string
modified_by
object
ip
string
object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer

Response samples

Content type
application/json
{
  • "events": [
    ],
  • "meta": {
    }
}

Retrieve an event

Returns a single event if the user has access

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Event UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
body
string
created_at
string <date-time>
href
string
id
string <uuid>
interpolated
string
Array of objects (Href)
Array
href
required
string
state
string
type
string
modified_by
object
ip
string

Response samples

Content type
application/json
{
  • "body": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "interpolated": "string",
  • "relationships": [
    ],
  • "state": "string",
  • "type": "string",
  • "modified_by": { },
  • "ip": "string"
}

Retrieve organization's events

Returns a list of events for a single organization

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
Array of objects (Event)
Array
body
string
created_at
string <date-time>
href
string
id
string <uuid>
interpolated
string
Array of objects (Href)
state
string
type
string
modified_by
object
ip
string
object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer

Response samples

Content type
application/json
{
  • "events": [
    ],
  • "meta": {
    }
}

Retrieve project's events

Returns a list of events for a single project

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
Array of objects (Event)
Array
body
string
created_at
string <date-time>
href
string
id
string <uuid>
interpolated
string
Array of objects (Href)
state
string
type
string
modified_by
object
ip
string
object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer

Response samples

Content type
application/json
{
  • "events": [
    ],
  • "meta": {
    }
}

Retrieve VRF route events

Returns a list of the VRF route events

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

VRF Route UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
body
string
created_at
string <date-time>
href
string
id
string <uuid>
interpolated
string
Array of objects (Href)
Array
href
required
string
state
string
type
string
modified_by
object
ip
string

Response samples

Content type
application/json
{
  • "body": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "interpolated": "string",
  • "relationships": [
    ],
  • "state": "string",
  • "type": "string",
  • "modified_by": { },
  • "ip": "string"
}

Retrieve virtual circuit events

Returns a list of the virtual circuit events

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Virtual Circuit UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
body
string
created_at
string <date-time>
href
string
id
string <uuid>
interpolated
string
Array of objects (Href)
Array
href
required
string
state
string
type
string
modified_by
object
ip
string

Response samples

Content type
application/json
{
  • "body": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "interpolated": "string",
  • "relationships": [
    ],
  • "state": "string",
  • "type": "string",
  • "modified_by": { },
  • "ip": "string"
}

Facilities

Facility Management. Check out the product docs to learn more about Facilities.

Retrieve the number of incidents

Retrieve the number of incidents.

Authorizations:
X-Auth-Token
query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Invoices

Retrieve an invoice

Returns the invoice identified by the provided id

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Invoice UUID

Responses

Response Schema: application/json
amount
number <float>
balance
number <float>
created_on
string <date>
credit_amount
number <float>
credits_applied
number <float>
currency
string
due_on
string <date>
id
string <uuid>
Array of objects (LineItem)
Array
amount
number <float>
currency
string
description
string
details
string
object (PlanIdName)
unit
string
unit_price
number <float>
hostname
string
location
string
item_type
string
service_id
string <uuid>
start_date
string <date>
end_date
string <date>
project_id
string <uuid>
plan_id
string <uuid>
object (ProjectIdName)
Array of objects (LineItemAdjustment)

Adjustments for the line item

number
string
object (ProjectIdName)
id
string <uuid>
name
string
reference_number
string
status
string
target_date
string <date>

Response samples

Content type
application/json
{
  • "amount": 0.1,
  • "balance": 0.1,
  • "created_on": "2019-08-24",
  • "credit_amount": 0.1,
  • "credits_applied": 0.1,
  • "currency": "USD",
  • "due_on": "2019-08-24",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "items": [
    ],
  • "number": "string",
  • "project": {
    },
  • "reference_number": "string",
  • "status": "string",
  • "target_date": "2019-08-24"
}

Retrieve all invoices for an organization

Returns all invoices for an organization

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

query Parameters
page
integer

page number

per_page
integer

per page

status
string

filter by status

Responses

Response Schema: application/json
Array of objects (Invoice)
Array
amount
number <float>
balance
number <float>
created_on
string <date>
credit_amount
number <float>
credits_applied
number <float>
currency
string
due_on
string <date>
id
string <uuid>
Array of objects (LineItem)
number
string
object (ProjectIdName)
reference_number
string
status
string
target_date
string <date>

Response samples

Content type
application/json
{
  • "invoices": [
    ]
}

Licenses

Manage licenses. See project endpoints to list and create licenses for a particular project.

Delete the license

Deletes a license.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

License UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve a license

Returns a license

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

License UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
description
string
id
string <uuid>
license_key
string
object (Href)
href
required
string
object (Href)
href
required
string
size
number

Response samples

Content type
application/json
{
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "license_key": "string",
  • "licensee_product": {
    },
  • "project": {
    },
  • "size": 0
}

Update the license

Updates the license.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

License UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

License to update

description
string
size
number

Responses

Response Schema: application/json
description
string
id
string <uuid>
license_key
string
object (Href)
href
required
string
object (Href)
href
required
string
size
number

Request samples

Content type
application/json
{
  • "description": "string",
  • "size": 0
}

Response samples

Content type
application/json
{
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "license_key": "string",
  • "licensee_product": {
    },
  • "project": {
    },
  • "size": 0
}

Retrieve all licenses

Provides a collection of licenses for a given project.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
Array of objects (License)
Array
description
string
id
string <uuid>
license_key
string
object (Href)
object (Href)
size
number

Response samples

Content type
application/json
{
  • "licenses": [
    ]
}

Create a License

Creates a new license for the given project

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

License to create

description
string
licensee_product_id
string
size
number

Responses

Response Schema: application/json
description
string
id
string <uuid>
license_key
string
object (Href)
href
required
string
object (Href)
href
required
string
size
number

Request samples

Content type
application/json
{
  • "description": "string",
  • "licensee_product_id": "string",
  • "size": 0
}

Response samples

Content type
application/json
{
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "license_key": "string",
  • "licensee_product": {
    },
  • "project": {
    },
  • "size": 0
}

Metros

Metro Management. Check out the product docs to learn more about Metros.

Retrieve all metros

Provides a listing of available metros

Authorizations:
X-Auth-Token

Responses

Response Schema: application/json
Array of objects (Metro)
Array
code
string
country
string
id
string <uuid>
name
string

Response samples

Content type
application/json
{
  • "metros": [
    ]
}

Retrieve a specific Metro's details

Show the details for a metro, including name, code, and country.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Metro UUID

Responses

Response Schema: application/json
code
string
country
string
id
string <uuid>
name
string

Response samples

Content type
application/json
{
  • "code": "string",
  • "country": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string"
}

Plans

Plan Management (Device). Check out the product docs to learn more about Device Plans.

Retrieve all plans

Provides a listing of available plans to provision your device on.

Authorizations:
X-Auth-Token
query Parameters
categories[]
Array of strings
Items Enum: "compute" "storage" "legacy_gen" "current_gen"
Example: categories[]=compute

Filter plans by its category

type
string
Enum: "standard" "workload_optimized" "custom"
Example: type=standard

Filter plans by its plan type

slug
string
Example: slug=c3.small.x86

Filter plans by slug

include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
Array of objects (Plan)
Array
Array of objects (Plan_available_in_inner)

Shows which facilities the plan is available in, and the facility-based price if it is different from the default price.

Array of objects (Plan_available_in_metros_inner)

Shows which metros the plan is available in, and the metro-based price if it is different from the default price.

categories
Array of strings

Categories of the plan, like compute or storage. A Plan can belong to multiple categories.

class
string
description
string
deployment_types
Array of strings >= 0 items unique
Items Enum: "on_demand" "spot_market"
id
string <uuid>
legacy
boolean

Deprecated. Always return false

line
string
name
string
pricing
object
slug
string
object (Plan_specs)
type
string
Enum: "standard" "workload_optimized" "custom"

The plan type

Response samples

Content type
application/json
{
  • "plans": [
    ]
}

Retrieve all plans visible by the project

Returns a listing of available plans for the given project

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
Array of objects (Plan)
Array
Array of objects (Plan_available_in_inner)

Shows which facilities the plan is available in, and the facility-based price if it is different from the default price.

Array of objects (Plan_available_in_metros_inner)

Shows which metros the plan is available in, and the metro-based price if it is different from the default price.

categories
Array of strings

Categories of the plan, like compute or storage. A Plan can belong to multiple categories.

class
string
description
string
deployment_types
Array of strings >= 0 items unique
Items Enum: "on_demand" "spot_market"
id
string <uuid>
legacy
boolean

Deprecated. Always return false

line
string
name
string
pricing
object
slug
string
object (Plan_specs)
type
string
Enum: "standard" "workload_optimized" "custom"

The plan type

Response samples

Content type
application/json
{
  • "plans": [
    ]
}

Retrieve all usages for device

Returns all usages for a device.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

query Parameters
created[after]
string <datetime>

Filter usages created after this date

created[before]
string <datetime>

Filter usages created before this date

Responses

Response Schema: application/json
Array of objects (DeviceUsage)
Array
quantity
string
total
string
unit
string

Response samples

Content type
application/json
{
  • "usages": [
    ]
}

Retrieve all usages for project

Returns all usages for a project.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
created[after]
string <datetime>

Filter usages created after this date

created[before]
string <datetime>

Filter usages created before this date

Responses

Response Schema: application/json
Array of objects (ProjectUsage)
Array
facility
string
name
string
plan
string
plan_version
string
price
string
quantity
string
total
string
type
string
unit
string

Response samples

Content type
application/json
{
  • "usages": [
    ]
}

Devices

Device Management. Check out the product docs to learn more about Server Devices.

Delete the device

Deletes a device and deprovisions it in our datacenter.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

query Parameters
force_delete
boolean

Force the deletion of the device, by detaching any storage volume still active.

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve a device

Type-specific options (such as facility for baremetal devices) will be included as part of the main data structure. State value can be one of: active inactive queued or provisioning

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

avatar_thumb_url
string

Avatar thumbnail URL of the User

created_at
string <date-time>

When the user was created

email
string

Primary email address of the User

first_name
string

First name of the User

full_name
string

Full name of the User

href
string

API URL uniquely representing the User

id
required
string <uuid>

ID of the User

last_name
string

Last name of the User

short_id
required
string

Short ID of the User

updated_at
string <date-time>

When the user details were last updated

object
Default: {}
property name*
additional property
any
description
string
object (Facility)
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
code
string
features
Array of strings
Items Enum: "baremetal" "backend_transfer" "layer_2" "global_ipv4" "ibx"
id
string <uuid>
ip_ranges
Array of strings

IP ranges registered in facility. Can be used for GeoIP location

object (Device_metro)

The metro the facility is in

code
string
country
string
id
string <uuid>
name
string
name
string
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
created_at
string <date-time>
custom_rate
number <float>

Amount that will be charged for every billing_cycle.

device
object (Device) Recursive
object (Facility)
object (Address)
code
string
features
Array of strings
Items Enum: "baremetal" "backend_transfer" "layer_2" "global_ipv4" "ibx"
id
string <uuid>
ip_ranges
Array of strings

IP ranges registered in facility. Can be used for GeoIP location

object (Device_metro)

The metro the facility is in

name
string
href
string
id
string <uuid>
need_of_service
boolean

Whether this Device requires assistance from Equinix Metal.

object (Plan)
Array of objects (Plan_available_in_inner)

Shows which facilities the plan is available in, and the facility-based price if it is different from the default price.

Array of objects (Plan_available_in_metros_inner)

Shows which metros the plan is available in, and the metro-based price if it is different from the default price.

categories
Array of strings

Categories of the plan, like compute or storage. A Plan can belong to multiple categories.

class
string
description
string
deployment_types
Array of strings >= 0 items unique
Items Enum: "on_demand" "spot_market"
id
string <uuid>
legacy
boolean

Deprecated. Always return false

line
string
name
string
pricing
object
slug
string
object (Plan_specs)
type
string
Enum: "standard" "workload_optimized" "custom"

The plan type

object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
provisionable
boolean

Whether the reserved server is provisionable or not. Spare devices can't be provisioned unless they are activated first.

short_id
string <string>

Short version of the ID.

spare
boolean

Whether the Hardware Reservation is a spare. Spare Hardware Reservations are used when a Hardware Reservations requires service from Equinix Metal

switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

termination_time
string <date-time>

Expiration date for the reservation.

hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
Array
address
string
address_family
integer
object (Href)
cidr
integer
created_at
string <date-time>
enabled
boolean
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (IPAssignment_metro)

The metro the IP address is in

netmask
string
network
string
object (ParentBlock)
public
boolean
state
string
Enum: "pending" "active" "deleting"

Only set when this is a Metal Gateway Elastic IP Assignment.

Describes the current configuration state of this IP on the network.

next_hop
string <ipv4>

Only set when this is a Metal Gateway Elastic IP Assignment.

The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded.

ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

code
string
country
string
id
string <uuid>
name
string
network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

Array
object (BondPortData)
object (PortData)
disbond_operation_supported
boolean

Indicates whether or not the bond can be broken on the port (when applicable).

href
string
id
string <uuid>
name
string
type
string
Enum: "NetworkPort" "NetworkBondPort"

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

network_type
string
Enum: "layer2-bonded" "layer2-individual" "layer3" "hybrid" "hybrid-bonded"

Composite network type of the bond

object (VirtualNetwork)
Array of objects (VirtualNetwork)
object (OperatingSystem)
build_date
string <date>

The date when Metal's current OS image was built and released.

deprecation_date
string <date>

The date when the OS is deprecated. This is the date set by the upstream operating system maintainer.

distro
string
distro_label
string
end_of_life_date
string <date>

The date when the Metal OS image no longer receives any updates and may be disabled at any time. Typically the same as the deprecation date set by the upstream OS maintainers.

end_of_service_date
string <date>

Metal-set date for when the OS is nearing end of life, typically 30 days before end of life.

id
string <uuid>
licensed
boolean

Indicates if the OS is licensed or not. Licensed operating systems are priced according to pricing property.

lifecycle_state
string

Where in the lifecycle the OS image is. Possible states are - "testing", "pre_release", "active", "deprecated", "end_of_service", or "end_of_life".

name
string
preinstallable
boolean

Indicates whether servers can be preinstalled with OS image in order to shorten provision time.

pricing
object

This object contains price per time unit and optional multiplier value if license price depends on hardware plan or components (e.g. number of cores).

provisionable_on
Array of strings
release_date
string <date>

The date the upstream operating system maintainer released this version of the OS.

release_notes
string

The current release notes for this OS image, typically in Markdown format.

slug
string
version
string
default_operating_system
boolean

Default operating system for the distro.

Array of objects (Device_actions_inner)

Actions supported by the device instance.

Array
type
string
name
string
object (Plan)
Array of objects (Plan_available_in_inner)

Shows which facilities the plan is available in, and the facility-based price if it is different from the default price.

Array
href
string

href to the Facility

object (Plan_available_in_inner_price)
Array of objects (Plan_available_in_metros_inner)

Shows which metros the plan is available in, and the metro-based price if it is different from the default price.

Array
href
string

href to the Metro

object (Plan_available_in_inner_price)
categories
Array of strings

Categories of the plan, like compute or storage. A Plan can belong to multiple categories.

class
string
description
string
deployment_types
Array of strings >= 0 items unique
Items Enum: "on_demand" "spot_market"
id
string <uuid>
legacy
boolean

Deprecated. Always return false

line
string
name
string
pricing
object
slug
string
object (Plan_specs)
Array of objects (Plan_specs_cpus_inner)
object (Plan_specs_memory)
Array of objects (Plan_specs_drives_inner)
Array of objects (Plan_specs_nics_inner)
object (Plan_specs_features)
type
string
Enum: "standard" "workload_optimized" "custom"

The plan type

object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
object (Device_project_lite)

Lite version of project object when included

href
required
string
Array of objects (Event)
Array
body
string
created_at
string <date-time>
href
string
id
string <uuid>
interpolated
string
Array of objects (Href)
state
string
type
string
modified_by
object
ip
string
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
Array
href
required
string
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
Array of objects (Disk)
Array
device
string
wipeTable
boolean
Array of objects (Partition)
Array of objects (Raid)
Array
devices
Array of strings
level
string
name
string
Array of objects (Filesystem)
Array
object (Mount)
device
string
format
string
point
string
options
Array of strings
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
Array
href
required
string
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Response samples

Content type
application/json
{
  • "always_pxe": true,
  • "billing_cycle": "string",
  • "bonding_mode": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "customdata": { },
  • "description": "string",
  • "facility": {
    },
  • "firmware_set_id": "bc3d90af-8405-43ae-8e5e-2f80a3bb0f88",
  • "hardware_reservation": {
    },
  • "hostname": "string",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "image_url": "string",
  • "ip_addresses": [
    ],
  • "ipxe_script_url": "string",
  • "iqn": "string",
  • "locked": true,
  • "metro": {
    },
  • "network_frozen": true,
  • "network_ports": [
    ],
  • "operating_system": {
    },
  • "actions": [
    ],
  • "plan": {
    },
  • "project": {
    },
  • "project_lite": {
    },
  • "provisioning_events": [
    ],
  • "provisioning_percentage": 0.1,
  • "root_password": "string",
  • "short_id": "string",
  • "spot_instance": true,
  • "spot_price_max": 0.1,
  • "ssh_keys": [
    ],
  • "state": "queued",
  • "storage": {
    },
  • "switch_uuid": "string",
  • "tags": [
    ],
  • "termination_time": "2021-09-03T16:32:00+03:00",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user": "string",
  • "userdata": "string",
  • "volumes": [
    ],
  • "sos": "string"
}

Update the device

Updates the device.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

Device to update

always_pxe
boolean
billing_cycle
string
object
Default: {}
property name*
additional property
any
description
string
hostname
string
firmware_set_id
string
ipxe_script_url
string
locked
boolean

Whether the device should be locked, preventing accidental deletion.

network_frozen
boolean

If true, this instance can not be converted to a different network type.

spot_instance
boolean

Can be set to false to convert a spot-market instance to on-demand.

tags
Array of strings
userdata
string

Responses

Response Schema: application/json
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

avatar_thumb_url
string

Avatar thumbnail URL of the User

created_at
string <date-time>

When the user was created

email
string

Primary email address of the User

first_name
string

First name of the User

full_name
string

Full name of the User

href
string

API URL uniquely representing the User

id
required
string <uuid>

ID of the User

last_name
string

Last name of the User

short_id
required
string

Short ID of the User

updated_at
string <date-time>

When the user details were last updated

object
Default: {}
property name*
additional property
any
description
string
object (Facility)
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
code
string
features
Array of strings
Items Enum: "baremetal" "backend_transfer" "layer_2" "global_ipv4" "ibx"
id
string <uuid>
ip_ranges
Array of strings

IP ranges registered in facility. Can be used for GeoIP location

object (Device_metro)

The metro the facility is in

code
string
country
string
id
string <uuid>
name
string
name
string
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
created_at
string <date-time>
custom_rate
number <float>

Amount that will be charged for every billing_cycle.

device
object (Device) Recursive
object (Facility)
object (Address)
code
string
features
Array of strings
Items Enum: "baremetal" "backend_transfer" "layer_2" "global_ipv4" "ibx"
id
string <uuid>
ip_ranges
Array of strings

IP ranges registered in facility. Can be used for GeoIP location

object (Device_metro)

The metro the facility is in

name
string
href
string
id
string <uuid>
need_of_service
boolean

Whether this Device requires assistance from Equinix Metal.

object (Plan)
Array of objects (Plan_available_in_inner)

Shows which facilities the plan is available in, and the facility-based price if it is different from the default price.

Array of objects (Plan_available_in_metros_inner)

Shows which metros the plan is available in, and the metro-based price if it is different from the default price.

categories
Array of strings

Categories of the plan, like compute or storage. A Plan can belong to multiple categories.

class
string
description
string
deployment_types
Array of strings >= 0 items unique
Items Enum: "on_demand" "spot_market"
id
string <uuid>
legacy
boolean

Deprecated. Always return false

line
string
name
string
pricing
object
slug
string
object (Plan_specs)
type
string
Enum: "standard" "workload_optimized" "custom"

The plan type

object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
provisionable
boolean

Whether the reserved server is provisionable or not. Spare devices can't be provisioned unless they are activated first.

short_id
string <string>

Short version of the ID.

spare
boolean

Whether the Hardware Reservation is a spare. Spare Hardware Reservations are used when a Hardware Reservations requires service from Equinix Metal

switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

termination_time
string <date-time>

Expiration date for the reservation.

hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
Array
address
string
address_family
integer
object (Href)
cidr
integer
created_at
string <date-time>
enabled
boolean
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (IPAssignment_metro)

The metro the IP address is in

netmask
string
network
string
object (ParentBlock)
public
boolean
state
string
Enum: "pending" "active" "deleting"

Only set when this is a Metal Gateway Elastic IP Assignment.

Describes the current configuration state of this IP on the network.

next_hop
string <ipv4>

Only set when this is a Metal Gateway Elastic IP Assignment.

The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded.

ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

code
string
country
string
id
string <uuid>
name
string
network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

Array
object (BondPortData)
object (PortData)
disbond_operation_supported
boolean

Indicates whether or not the bond can be broken on the port (when applicable).

href
string
id
string <uuid>
name
string
type
string
Enum: "NetworkPort" "NetworkBondPort"

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

network_type
string
Enum: "layer2-bonded" "layer2-individual" "layer3" "hybrid" "hybrid-bonded"

Composite network type of the bond

object (VirtualNetwork)
Array of objects (VirtualNetwork)
object (OperatingSystem)
build_date
string <date>

The date when Metal's current OS image was built and released.

deprecation_date
string <date>

The date when the OS is deprecated. This is the date set by the upstream operating system maintainer.

distro
string
distro_label
string
end_of_life_date
string <date>

The date when the Metal OS image no longer receives any updates and may be disabled at any time. Typically the same as the deprecation date set by the upstream OS maintainers.

end_of_service_date
string <date>

Metal-set date for when the OS is nearing end of life, typically 30 days before end of life.

id
string <uuid>
licensed
boolean

Indicates if the OS is licensed or not. Licensed operating systems are priced according to pricing property.

lifecycle_state
string

Where in the lifecycle the OS image is. Possible states are - "testing", "pre_release", "active", "deprecated", "end_of_service", or "end_of_life".

name
string
preinstallable
boolean

Indicates whether servers can be preinstalled with OS image in order to shorten provision time.

pricing
object

This object contains price per time unit and optional multiplier value if license price depends on hardware plan or components (e.g. number of cores).

provisionable_on
Array of strings
release_date
string <date>

The date the upstream operating system maintainer released this version of the OS.

release_notes
string

The current release notes for this OS image, typically in Markdown format.

slug
string
version
string
default_operating_system
boolean

Default operating system for the distro.

Array of objects (Device_actions_inner)

Actions supported by the device instance.

Array
type
string
name
string
object (Plan)
Array of objects (Plan_available_in_inner)

Shows which facilities the plan is available in, and the facility-based price if it is different from the default price.

Array
href
string

href to the Facility

object (Plan_available_in_inner_price)
Array of objects (Plan_available_in_metros_inner)

Shows which metros the plan is available in, and the metro-based price if it is different from the default price.

Array
href
string

href to the Metro

object (Plan_available_in_inner_price)
categories
Array of strings

Categories of the plan, like compute or storage. A Plan can belong to multiple categories.

class
string
description
string
deployment_types
Array of strings >= 0 items unique
Items Enum: "on_demand" "spot_market"
id
string <uuid>
legacy
boolean

Deprecated. Always return false

line
string
name
string
pricing
object
slug
string
object (Plan_specs)
Array of objects (Plan_specs_cpus_inner)
object (Plan_specs_memory)
Array of objects (Plan_specs_drives_inner)
Array of objects (Plan_specs_nics_inner)
object (Plan_specs_features)
type
string
Enum: "standard" "workload_optimized" "custom"

The plan type

object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
object (Device_project_lite)

Lite version of project object when included

href
required
string
Array of objects (Event)
Array
body
string
created_at
string <date-time>
href
string
id
string <uuid>
interpolated
string
Array of objects (Href)
state
string
type
string
modified_by
object
ip
string
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
Array
href
required
string
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
Array of objects (Disk)
Array
device
string
wipeTable
boolean
Array of objects (Partition)
Array of objects (Raid)
Array
devices
Array of strings
level
string
name
string
Array of objects (Filesystem)
Array
object (Mount)
device
string
format
string
point
string
options
Array of strings
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
Array
href
required
string
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Request samples

Content type
application/json
{
  • "always_pxe": true,
  • "billing_cycle": "string",
  • "customdata": { },
  • "description": "string",
  • "hostname": "string",
  • "firmware_set_id": "string",
  • "ipxe_script_url": "string",
  • "locked": true,
  • "network_frozen": true,
  • "spot_instance": true,
  • "tags": [
    ],
  • "userdata": "string"
}

Response samples

Content type
application/json
{
  • "always_pxe": true,
  • "billing_cycle": "string",
  • "bonding_mode": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "customdata": { },
  • "description": "string",
  • "facility": {
    },
  • "firmware_set_id": "bc3d90af-8405-43ae-8e5e-2f80a3bb0f88",
  • "hardware_reservation": {
    },
  • "hostname": "string",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "image_url": "string",
  • "ip_addresses": [
    ],
  • "ipxe_script_url": "string",
  • "iqn": "string",
  • "locked": true,
  • "metro": {
    },
  • "network_frozen": true,
  • "network_ports": [
    ],
  • "operating_system": {
    },
  • "actions": [
    ],
  • "plan": {
    },
  • "project": {
    },
  • "project_lite": {
    },
  • "provisioning_events": [
    ],
  • "provisioning_percentage": 0.1,
  • "root_password": "string",
  • "short_id": "string",
  • "spot_instance": true,
  • "spot_price_max": 0.1,
  • "ssh_keys": [
    ],
  • "state": "queued",
  • "storage": {
    },
  • "switch_uuid": "string",
  • "tags": [
    ],
  • "termination_time": "2021-09-03T16:32:00+03:00",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user": "string",
  • "userdata": "string",
  • "volumes": [
    ],
  • "sos": "string"
}

Perform an action

Performs an action for the given device. Possible actions include: power_on, power_off, reboot, reinstall, and rescue (reboot the device into rescue OS.)

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

Request Body schema: application/json
required

Action to perform

type
required
string
Enum: "power_on" "power_off" "reboot" "rescue" "reinstall"

Action to perform. See Device.actions for possible actions.

force_delete
boolean

May be required to perform actions under certain conditions

deprovision_fast
boolean

When type is reinstall, enabling fast deprovisioning will bypass full disk wiping.

preserve_data
boolean

When type is reinstall, preserve the existing data on all disks except the operating-system disk.

operating_system
string

When type is reinstall, use this operating_system (defaults to the current operating system)

ipxe_script_url
string

When type is reinstall, use this ipxe_script_url (operating_system must be custom_ipxe, defaults to the current ipxe_script_url)

Responses

Request samples

Content type
application/json
{
  • "type": "power_on",
  • "force_delete": true,
  • "deprovision_fast": true,
  • "preserve_data": true,
  • "operating_system": "ubuntu_22_04",
  • "ipxe_script_url": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve an instance bandwidth

Retrieve an instance bandwidth for a given period of time.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

query Parameters
from
required
string

Timestamp from range

until
required
string

Timestamp to range

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve BGP neighbor data for this device

Provides a summary of the BGP neighbor data associated to the BGP sessions for this device.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
Array of objects (BgpNeighborData)

A list of BGP session neighbor data

Array
address_family
integer <int32>

Address Family for IP Address. Accepted values are 4 or 6

customer_as
integer <int32>

The customer's ASN. In a local BGP deployment, this will be an internal ASN used to route within the data center. For a global BGP deployment, this will be the your own ASN, configured when you set up BGP for your project.

customer_ip
string

The device's IP address. For an IPv4 BGP session, this is typically the private bond0 address for the device.

md5_enabled
boolean

True if an MD5 password is configured for the project.

md5_password
string

The MD5 password configured for the project, if set.

multihop
boolean

True when the BGP session should be configured as multihop.

peer_as
integer <int32>

The Peer ASN to use when configuring BGP on your device.

peer_ips
Array of strings

A list of one or more IP addresses to use for the Peer IP section of your BGP configuration. For non-multihop sessions, this will typically be a single gateway address for the device. For multihop sessions, it will be a list of IPs.

Array of objects (BgpRoute)

A list of project subnets

Array of objects (BgpRoute)

A list of outgoing routes. Only populated if the BGP session has default route enabled.

Response samples

Content type
application/json
{
  • "bgp_neighbors": [
    ]
}

Retrieve all BGP sessions

Provides a listing of available BGP sessions for the device.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
Array of objects (BgpSession)
Array
address_family
required
string
Enum: "ipv4" "ipv6"
created_at
string <date-time>
default_route
boolean
object (Href)
href
string
id
string <uuid>
learned_routes
Array of strings
status
string

The status of the BGP Session. Multiple status values may be reported when the device is connected to multiple switches, one value per switch. Each status will start with "unknown" and progress to "up" or "down" depending on the connected device. Subsequent "unknown" values indicate a problem acquiring status from the switch.

updated_at
string <date-time>

Response samples

Content type
application/json
{
  • "bgp_sessions": [
    ]
}

Create a BGP session

Creates a BGP session.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

BGP session to create

address_family
string
Enum: "ipv4" "ipv6"

Address family for BGP session.

default_route
boolean
Default: false

Set the default route policy.

Responses

Response Schema: application/json
address_family
required
string
Enum: "ipv4" "ipv6"
created_at
string <date-time>
default_route
boolean
object (Href)
href
required
string
href
string
id
string <uuid>
learned_routes
Array of strings
status
string

The status of the BGP Session. Multiple status values may be reported when the device is connected to multiple switches, one value per switch. Each status will start with "unknown" and progress to "up" or "down" depending on the connected device. Subsequent "unknown" values indicate a problem acquiring status from the switch.

updated_at
string <date-time>

Request samples

Content type
application/json
{
  • "address_family": "ipv4",
  • "default_route": false
}

Response samples

Content type
application/json
{
  • "address_family": "ipv4",
  • "created_at": "2019-08-24T14:15:22Z",
  • "default_route": true,
  • "device": {
    },
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "learned_routes": [
    ],
  • "status": "up,down",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Retrieve the custom metadata of an instance

Provides the custom metadata stored for this instance in json format

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Instance UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Get Device's Health Status

Returns the health rollup status of the device.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

Responses

Response Schema: application/json
health_rollup
string
Enum: "ok" "warning" "critical"

Health Status

updated_at
string <date-time>

Last update of health status.

Response samples

Content type
application/json
{
  • "health_rollup": "ok",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Get Device's associated Firmware Set

Returns the firmware set associated with the device. If a custom firmware set is associated with the device, then it is returned. Otherwise, if a default firmware set is available it is returned.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

Responses

Response Schema: application/json
object (FirmwareSet)

Represents a Firmware Set

uuid
required
string <uuid>

Firmware Set UUID

name
required
string

Firmware Set Name

created_at
string <date-time>

Datetime when the block was created.

updated_at
string <date-time>

Datetime when the block was updated.

Array of objects (Attribute)

Represents a list of attributes

Array
namespace
string

Attribute namespace

created_at
string <date-time>

Datetime when the block was created.

updated_at
string <date-time>

Datetime when the block was updated.

object (AttributeData)
Array of objects (Component)

List of components versions

Array
uuid
string <uuid>

Component UUID

vendor
string

Component vendor

model
Array of strings

List of models where this component version can be applied

filename
string

name of the file

version
string

Version of the component

component
string

Component type

checksum
string

File checksum

upstream_url
string

Location of the file

repository_url
string

Location of the file in the repository

created_at
string <date-time>

Datetime when the block was created.

updated_at
string <date-time>

Datetime when the block was updated.

Response samples

Content type
application/json
{
  • "record": {
    }
}

Retrieve all ip assignments

Returns all ip assignments for a device.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
Array of objects (IPAssignment)
Array
address
string
address_family
integer
object (Href)
cidr
integer
created_at
string <date-time>
enabled
boolean
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (IPAssignment_metro)

The metro the IP address is in

netmask
string
network
string
object (ParentBlock)
public
boolean
state
string
Enum: "pending" "active" "deleting"

Only set when this is a Metal Gateway Elastic IP Assignment.

Describes the current configuration state of this IP on the network.

next_hop
string <ipv4>

Only set when this is a Metal Gateway Elastic IP Assignment.

The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded.

Response samples

Content type
application/json
{
  • "ip_addresses": [
    ]
}

Create an ip assignment

Creates an ip assignment for a device.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

IPAssignment to create

address
required
string
customdata
object

Responses

Response Schema: application/json
address
string
address_family
integer
object (Href)
href
required
string
cidr
integer
created_at
string <date-time>
enabled
boolean
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (IPAssignment_metro)

The metro the IP address is in

code
string
country
string
id
string <uuid>
name
string
netmask
string
network
string
object (ParentBlock)
cidr
integer
href
string
netmask
string
network
string
public
boolean
state
string
Enum: "pending" "active" "deleting"

Only set when this is a Metal Gateway Elastic IP Assignment.

Describes the current configuration state of this IP on the network.

next_hop
string <ipv4>

Only set when this is a Metal Gateway Elastic IP Assignment.

The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded.

Request samples

Content type
application/json
{
  • "address": "string",
  • "customdata": { }
}

Response samples

Content type
application/json
{
  • "address": "string",
  • "address_family": 0,
  • "assigned_to": {
    },
  • "cidr": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "enabled": true,
  • "gateway": "string",
  • "global_ip": true,
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "manageable": true,
  • "management": true,
  • "metro": {
    },
  • "netmask": "string",
  • "network": "string",
  • "parent_block": {
    },
  • "public": true,
  • "state": "pending",
  • "next_hop": "192.168.0.1"
}

Retrieve metadata

Retrieve device metadata

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

Responses

Response Schema: application/json
class
string
object
Default: {}
property name*
additional property
any
facility
string

The facility code of the instance

hostname
string
id
string <uuid>
iqn
string
metro
string

The metro code of the instance

object (Metadata_network)
addresses
Array of strings
interfaces
Array of objects
object (Metadata_network_network)
object (Metadata_network_network_bonding)
link_aggregation
string
mac
string
mode
integer
operating_system
object
plan
string

The plan slug of the instance

private_subnets
Array of strings

An array of the private subnets

reserved
boolean
specs
object

The specs of the plan version of the instance

ssh_keys
Array of strings
switch_short_id
string
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
tags
Array of strings
volumes
Array of strings

Response samples

Content type
application/json
{
  • "class": "string",
  • "customdata": { },
  • "facility": "string",
  • "hostname": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "iqn": "string",
  • "metro": "string",
  • "network": {
    },
  • "operating_system": { },
  • "plan": "string",
  • "private_subnets": [
    ],
  • "reserved": true,
  • "specs": { },
  • "ssh_keys": [
    ],
  • "switch_short_id": "string",
  • "state": "queued",
  • "tags": [
    ],
  • "volumes": [
    ]
}

Retrieve device traffic

Returns the total amount of inbound or outbound traffic for a specific device. The default time period is 1 hour.

Please note the results capture all network traffic for the server, but not all traffic may come from or be destined to the Internet and may be non-billable. Only Internet bound traffic is charged.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

query Parameters
direction
required
string
Enum: "inbound" "outbound"

Traffic direction

interval
string
Enum: "minute" "hour" "day" "week" "month" "year" "hour_of_day" "day_of_week" "day_of_month" "month_of_year"

Traffic interval

bucket
string
Enum: "internal" "external"

Traffic bucket

object (findTraffic_timeframe_parameter)

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve userdata

Retrieve device userdata

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

Responses

Response Schema: application/json
userdata
string

Response samples

Content type
application/json
{
  • "userdata": "string"
}

Retrieve the custom metadata of an IP Assignment

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

Authorizations:
X-Auth-Token
path Parameters
instance_id
required
string <uuid>

Instance UUID

id
required
string <uuid>

Ip Assignment UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve all devices of an organization

Provides a collection of devices for a given organization.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

query Parameters
search
string

Search by hostname, description, short_id, reservation short_id, tags, plan name, plan slug, facility code, facility name, operating system name, operating system slug, IP addresses.

categories
Array of strings
Items Enum: "compute" "storage" "legacy_gen" "current_gen"
Example: categories=compute

Filter by plan category

facility
string

Filter by device facility

hostname
string

Filter by partial hostname

reserved
boolean

Filter only reserved instances. When set to true, only include reserved instances. When set to false, only include on-demand instances.

tag
string

Filter by device tag

type
string

Filter by instance type (ondemand,spot,reserved)

has_termination_time
boolean

Filter only instances marked for termination. When set to true, only include instances that have a termination time. When set to false, only include instances that do not have a termination time.

mac_address
string

Filter by MAC address

include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
Array of objects (Device)
Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer

Response samples

Content type
application/json
{
  • "devices": [
    ],
  • "meta": {
    }
}

Retrieve all devices of a project

Provides a collection of devices for a given project.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
search
string

Search by hostname, description, short_id, reservation short_id, tags, plan name, plan slug, facility code, facility name, operating system name, operating system slug, IP addresses.

categories
Array of strings
Items Enum: "compute" "storage" "legacy_gen" "current_gen"
Example: categories=compute

Filter by plan category

facility
string

Filter by device facility

metro
string

Filter by device metro

hostname
string

Filter by partial hostname

reserved
boolean

Filter only reserved instances. When set to true, only include reserved instances. When set to false, only include on-demand instances.

tag
string

Filter by device tag

type
string

Filter by instance type (ondemand,spot,reserved)

has_termination_time
boolean

Filter only instances marked for termination. When set to true, only include instances that have a termination time. When set to false, only include instances that do not have a termination time.

mac_address
string

Filter by MAC address

include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
Array of objects (Device)
Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer

Response samples

Content type
application/json
{
  • "devices": [
    ],
  • "meta": {
    }
}

Create a device

Creates a new device and provisions it in the specified location.

Device type-specific options are accepted. For example, baremetal devices accept operating_system, hostname, and plan. These parameters may not be accepted for other device types. The default device type is baremetal.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

Device to create

required
Array of strings or string (MetroInput_metro)

Metro code or ID of where the device should be provisioned in, or it can be instructed to create the device in the best available metro with { "metro": "any" }. The special metro value of any means anywhere, any metro. When any is chosen in the request, the metro location is picked per our scheduling algorithms that favor the following factors: hardware reservation location (if requesting reserved hardware), ip reservations, spot instances, etc. The any keyword does not optimize for cost, this means that usage costs (instance, transfer, other features dependent on location) will vary. Please check metro value in response to see where the device was created.

Additionally it is possible to set a prioritized location selection. For example { "metro": ["m3", "m2", "any"] } can be used to prioritize m3 and then m2 before accepting any metro. If none of the metros provided have availability for the requested device the request will fail. Either metro or facility must be provided.

Any of
Array
string
always_pxe
boolean
Default: false

When true, devices with a custom_ipxe OS will always boot to iPXE. The default setting of false ensures that iPXE will be used on only the first boot.

billing_cycle
string
Enum: "hourly" "daily" "monthly" "yearly"

The billing cycle of the device.

object
Default: {}

Customdata is an arbitrary JSON value that can be accessed via the metadata service.

property name*
additional property
any
description
string

Any description of the device or how it will be used. This may be used to inform other API consumers with project access.

features
Array of strings

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

In the API shorthand syntax, all features listed are required:

{ "features": ["tpm"] }

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. The request will not fail if we have no servers with that feature in our inventory. The API offers an alternative syntax for mixing preferred and required features:

{ "features": { "tpm": "required", "raid": "preferred" } }

The request will only fail if there are no available servers matching the required tpm criteria.

hardware_reservation_id
string
Default: ""

The Hardware Reservation UUID to provision. Alternatively, next-available can be specified to select from any of the available hardware reservations. An error will be returned if the requested reservation option is not available.

See Reserved Hardware for more details.

hostname
string

The hostname to use within the operating system. The same hostname may be used on multiple devices within a project.

Array of objects (IPAddress)
Default: [{"address_family":4,"public":true},{"address_family":4,"public":false},{"address_family":6,"public":true}]

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

The default value configures public IPv4, public IPv6, and private IPv4.

Private IPv4 address is required. When specifying ip_addresses, one of the array items must enable private IPv4.

Some operating systems require public IPv4 address. In those cases you will receive an error message if public IPv4 is not enabled.

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

It is possible to request a subnet size larger than a /30 by assigning addresses using the UUID(s) of ip_reservations in your project.

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 proxy through another server in the project with public IPs enabled.

Array
address_family
integer <int32>
Enum: 4 6

Address Family for IP Address

cidr
integer <int32>

Cidr Size for the IP Block created. Valid values depends on the operating system being provisioned. (28..32 for IPv4 addresses, 124..127 for IPv6 addresses)

ip_reservations
Array of strings

UUIDs of any IP reservations to use when assigning IPs

public
boolean
Default: true

Address Type for IP Address

ipxe_script_url
string

When set, the device will chainload an iPXE Script at boot fetched from the supplied URL.

See Custom iPXE for more details.

locked
boolean
Default: false

Whether the device should be locked, preventing accidental deletion.

network_frozen
boolean

If true, this instance can not be converted to a different network type.

no_ssh_keys
boolean
Default: false

Overrides default behaviour of attaching all of the organization members ssh keys and project ssh keys to device if no specific keys specified

operating_system
required
string

The slug of the operating system to provision. Check the Equinix Metal operating system documentation for rules that may be imposed per operating system, including restrictions on IP address options and device plans.

plan
required
string

The slug of the device plan to provision.

private_ipv4_subnet_size
integer <int32>

Deprecated. Use ip_addresses. Subnet range for addresses allocated to this device.

project_ssh_keys
Array of strings <uuid> [ items <uuid > ]

A list of UUIDs identifying the device parent project that should be authorized to access this device (typically via /root/.ssh/authorized_keys). These keys will also appear in the device metadata.

If no SSH keys are specified (user_ssh_keys, project_ssh_keys, and ssh_keys are all empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. This behaviour can be changed with 'no_ssh_keys' option to omit any SSH key being added.

public_ipv4_subnet_size
integer <int32>

Deprecated. Use ip_addresses. Subnet range for addresses allocated to this device. Your project must have addresses available for a non-default request.

spot_instance
boolean

Create a spot instance. Spot instances are created with a maximum bid price. If the bid price is not met, the spot instance will be terminated as indicated by the termination_time field.

spot_price_max
number <float>

The maximum amount to bid for a spot instance.

Array of objects (SSHKeyInput)

A list of new or existing project ssh_keys that should be authorized to access this device (typically via /root/.ssh/authorized_keys). These keys will also appear in the device metadata.

These keys are added in addition to any keys defined by project_ssh_keys and user_ssh_keys.

Array
key
string
label
string
tags
Array of strings
object (Storage)
Array of objects (Disk)
Array
device
string
wipeTable
boolean
Array of objects (Partition)
Array of objects (Raid)
Array
devices
Array of strings
level
string
name
string
Array of objects (Filesystem)
Array
object (Mount)
device
string
format
string
point
string
options
Array of strings
tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

user_ssh_keys
Array of strings <uuid> [ items <uuid > ]

A list of UUIDs identifying the users that should be authorized to access this device (typically via /root/.ssh/authorized_keys). These keys will also appear in the device metadata.

The users must be members of the project or organization.

If no SSH keys are specified (user_ssh_keys, project_ssh_keys, and ssh_keys are all empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. This behaviour can be changed with 'no_ssh_keys' option to omit any SSH key being added.

userdata
string

The userdata presented in the metadata service for this device. Userdata is fetched and interpreted by the operating system installed on the device. Acceptable formats are determined by the operating system, with the exception of a special iPXE enabling syntax which is handled before the operating system starts.

See Server User Data and Provisioning with Custom iPXE for more details.

Responses

Response Schema: application/json
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

avatar_thumb_url
string

Avatar thumbnail URL of the User

created_at
string <date-time>

When the user was created

email
string

Primary email address of the User

first_name
string

First name of the User

full_name
string

Full name of the User

href
string

API URL uniquely representing the User

id
required
string <uuid>

ID of the User

last_name
string

Last name of the User

short_id
required
string

Short ID of the User

updated_at
string <date-time>

When the user details were last updated

object
Default: {}
property name*
additional property
any
description
string
object (Facility)
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
code
string
features
Array of strings
Items Enum: "baremetal" "backend_transfer" "layer_2" "global_ipv4" "ibx"
id
string <uuid>
ip_ranges
Array of strings

IP ranges registered in facility. Can be used for GeoIP location

object (Device_metro)

The metro the facility is in

code
string
country
string
id
string <uuid>
name
string
name
string
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
created_at
string <date-time>
custom_rate
number <float>

Amount that will be charged for every billing_cycle.

device
object (Device) Recursive
object (Facility)
object (Address)
code
string
features
Array of strings
Items Enum: "baremetal" "backend_transfer" "layer_2" "global_ipv4" "ibx"
id
string <uuid>
ip_ranges
Array of strings

IP ranges registered in facility. Can be used for GeoIP location

object (Device_metro)

The metro the facility is in

name
string
href
string
id
string <uuid>
need_of_service
boolean

Whether this Device requires assistance from Equinix Metal.

object (Plan)
Array of objects (Plan_available_in_inner)

Shows which facilities the plan is available in, and the facility-based price if it is different from the default price.

Array of objects (Plan_available_in_metros_inner)

Shows which metros the plan is available in, and the metro-based price if it is different from the default price.

categories
Array of strings

Categories of the plan, like compute or storage. A Plan can belong to multiple categories.

class
string
description
string
deployment_types
Array of strings >= 0 items unique
Items Enum: "on_demand" "spot_market"
id
string <uuid>
legacy
boolean

Deprecated. Always return false

line
string
name
string
pricing
object
slug
string
object (Plan_specs)
type
string
Enum: "standard" "workload_optimized" "custom"

The plan type

object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
provisionable
boolean

Whether the reserved server is provisionable or not. Spare devices can't be provisioned unless they are activated first.

short_id
string <string>

Short version of the ID.

spare
boolean

Whether the Hardware Reservation is a spare. Spare Hardware Reservations are used when a Hardware Reservations requires service from Equinix Metal

switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

termination_time
string <date-time>

Expiration date for the reservation.

hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
Array
address
string
address_family
integer
object (Href)
cidr
integer
created_at
string <date-time>
enabled
boolean
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (IPAssignment_metro)

The metro the IP address is in

netmask
string
network
string
object (ParentBlock)
public
boolean
state
string
Enum: "pending" "active" "deleting"

Only set when this is a Metal Gateway Elastic IP Assignment.

Describes the current configuration state of this IP on the network.

next_hop
string <ipv4>

Only set when this is a Metal Gateway Elastic IP Assignment.

The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded.

ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

code
string
country
string
id
string <uuid>
name
string
network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

Array
object (BondPortData)
object (PortData)
disbond_operation_supported
boolean

Indicates whether or not the bond can be broken on the port (when applicable).

href
string
id
string <uuid>
name
string
type
string
Enum: "NetworkPort" "NetworkBondPort"

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

network_type
string
Enum: "layer2-bonded" "layer2-individual" "layer3" "hybrid" "hybrid-bonded"

Composite network type of the bond

object (VirtualNetwork)
Array of objects (VirtualNetwork)
object (OperatingSystem)
build_date
string <date>

The date when Metal's current OS image was built and released.

deprecation_date
string <date>

The date when the OS is deprecated. This is the date set by the upstream operating system maintainer.

distro
string
distro_label
string
end_of_life_date
string <date>

The date when the Metal OS image no longer receives any updates and may be disabled at any time. Typically the same as the deprecation date set by the upstream OS maintainers.

end_of_service_date
string <date>

Metal-set date for when the OS is nearing end of life, typically 30 days before end of life.

id
string <uuid>
licensed
boolean

Indicates if the OS is licensed or not. Licensed operating systems are priced according to pricing property.

lifecycle_state
string

Where in the lifecycle the OS image is. Possible states are - "testing", "pre_release", "active", "deprecated", "end_of_service", or "end_of_life".

name
string
preinstallable
boolean

Indicates whether servers can be preinstalled with OS image in order to shorten provision time.

pricing
object

This object contains price per time unit and optional multiplier value if license price depends on hardware plan or components (e.g. number of cores).

provisionable_on
Array of strings
release_date
string <date>

The date the upstream operating system maintainer released this version of the OS.

release_notes
string

The current release notes for this OS image, typically in Markdown format.

slug
string
version
string
default_operating_system
boolean

Default operating system for the distro.

Array of objects (Device_actions_inner)

Actions supported by the device instance.

Array
type
string
name
string
object (Plan)
Array of objects (Plan_available_in_inner)

Shows which facilities the plan is available in, and the facility-based price if it is different from the default price.

Array
href
string

href to the Facility

object (Plan_available_in_inner_price)
Array of objects (Plan_available_in_metros_inner)

Shows which metros the plan is available in, and the metro-based price if it is different from the default price.

Array
href
string

href to the Metro

object (Plan_available_in_inner_price)
categories
Array of strings

Categories of the plan, like compute or storage. A Plan can belong to multiple categories.

class
string
description
string
deployment_types
Array of strings >= 0 items unique
Items Enum: "on_demand" "spot_market"
id
string <uuid>
legacy
boolean

Deprecated. Always return false

line
string
name
string
pricing
object
slug
string
object (Plan_specs)
Array of objects (Plan_specs_cpus_inner)
object (Plan_specs_memory)
Array of objects (Plan_specs_drives_inner)
Array of objects (Plan_specs_nics_inner)
object (Plan_specs_features)
type
string
Enum: "standard" "workload_optimized" "custom"

The plan type

object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
object (Device_project_lite)

Lite version of project object when included

href
required
string
Array of objects (Event)
Array
body
string
created_at
string <date-time>
href
string
id
string <uuid>
interpolated
string
Array of objects (Href)
state
string
type
string
modified_by
object
ip
string
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
Array
href
required
string
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
Array of objects (Disk)
Array
device
string
wipeTable
boolean
Array of objects (Partition)
Array of objects (Raid)
Array
devices
Array of strings
level
string
name
string
Array of objects (Filesystem)
Array
object (Mount)
device
string
format
string
point
string
options
Array of strings
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
Array
href
required
string
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Request samples

Content type
application/json
{
  • "metro": [
    ],
  • "always_pxe": false,
  • "billing_cycle": "hourly",
  • "customdata": { },
  • "description": "string",
  • "features": [
    ],
  • "hardware_reservation_id": "next-available",
  • "hostname": "string",
  • "ip_addresses": [
    ],
  • "ipxe_script_url": "string",
  • "locked": false,
  • "network_frozen": true,
  • "no_ssh_keys": false,
  • "operating_system": "string",
  • "plan": "c3.large.x86",
  • "private_ipv4_subnet_size": 0,
  • "project_ssh_keys": [
    ],
  • "public_ipv4_subnet_size": 0,
  • "spot_instance": true,
  • "spot_price_max": 1.23,
  • "ssh_keys": [
    ],
  • "storage": {
    },
  • "tags": [
    ],
  • "termination_time": "2021-09-03T16:32:00+03:00",
  • "user_ssh_keys": [
    ],
  • "userdata": "string"
}

Response samples

Content type
application/json
{
  • "always_pxe": true,
  • "billing_cycle": "string",
  • "bonding_mode": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "customdata": { },
  • "description": "string",
  • "facility": {
    },
  • "firmware_set_id": "bc3d90af-8405-43ae-8e5e-2f80a3bb0f88",
  • "hardware_reservation": {
    },
  • "hostname": "string",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "image_url": "string",
  • "ip_addresses": [
    ],
  • "ipxe_script_url": "string",
  • "iqn": "string",
  • "locked": true,
  • "metro": {
    },
  • "network_frozen": true,
  • "network_ports": [
    ],
  • "operating_system": {
    },
  • "actions": [
    ],
  • "plan": {
    },
  • "project": {
    },
  • "project_lite": {
    },
  • "provisioning_events": [
    ],
  • "provisioning_percentage": 0.1,
  • "root_password": "string",
  • "short_id": "string",
  • "spot_instance": true,
  • "spot_price_max": 0.1,
  • "ssh_keys": [
    ],
  • "state": "queued",
  • "storage": {
    },
  • "switch_uuid": "string",
  • "tags": [
    ],
  • "termination_time": "2021-09-03T16:32:00+03:00",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "user": "string",
  • "userdata": "string",
  • "volumes": [
    ],
  • "sos": "string"
}

Batches

Manage device batches. See project endpoints to list batches for a particular project. Check out the product docs to learn more about Batch Deployment.

Delete the Batch

Deletes the Batch.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Batch UUID

query Parameters
remove_associated_instances
boolean
Default: false

Delete all instances created from this batch

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve a Batch

Returns a Batch

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Batch UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
created_at
string <date-time>
Array of objects (Href)
Array
href
required
string
error_messages
Array of strings
id
string <uuid>
object (Href)
href
required
string
quantity
integer
state
string
updated_at
string <date-time>

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "devices": [
    ],
  • "error_messages": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "project": {
    },
  • "quantity": 0,
  • "state": "string",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Retrieve all batches by project

Returns all batches for the given project

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
Array of objects (Batch)
Array
created_at
string <date-time>
Array of objects (Href)
error_messages
Array of strings
id
string <uuid>
object (Href)
quantity
integer
state
string
updated_at
string <date-time>

Response samples

Content type
application/json
{
  • "batches": [
    ]
}

Create a devices batch

Creates new devices in batch and provisions them in our datacenter.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

Request Body schema: application/json
required

Batches to create

Array of objects (InstancesBatchCreateInput_batches_inner)
Array
hostnames
Array of strings
quantity
integer

The number of devices to create in this batch. The hostname may contain an {{index}} placeholder, which will be replaced with the index of the device in the batch. For example, if the hostname is device-{{index}}, the first device in the batch will have the hostname device-01, the second device will have the hostname device-02, and so on.

required
Array of strings or string (MetroInput_metro)

Metro code or ID of where the device should be provisioned in, or it can be instructed to create the device in the best available metro with { "metro": "any" }. The special metro value of any means anywhere, any metro. When any is chosen in the request, the metro location is picked per our scheduling algorithms that favor the following factors: hardware reservation location (if requesting reserved hardware), ip reservations, spot instances, etc. The any keyword does not optimize for cost, this means that usage costs (instance, transfer, other features dependent on location) will vary. Please check metro value in response to see where the device was created.

Additionally it is possible to set a prioritized location selection. For example { "metro": ["m3", "m2", "any"] } can be used to prioritize m3 and then m2 before accepting any metro. If none of the metros provided have availability for the requested device the request will fail. Either metro or facility must be provided.

always_pxe
boolean
Default: false

When true, devices with a custom_ipxe OS will always boot to iPXE. The default setting of false ensures that iPXE will be used on only the first boot.

billing_cycle
string
Enum: "hourly" "daily" "monthly" "yearly"

The billing cycle of the device.

object
Default: {}

Customdata is an arbitrary JSON value that can be accessed via the metadata service.

description
string

Any description of the device or how it will be used. This may be used to inform other API consumers with project access.

features
Array of strings

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

In the API shorthand syntax, all features listed are required:

{ "features": ["tpm"] }

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. The request will not fail if we have no servers with that feature in our inventory. The API offers an alternative syntax for mixing preferred and required features:

{ "features": { "tpm": "required", "raid": "preferred" } }

The request will only fail if there are no available servers matching the required tpm criteria.

hardware_reservation_id
string
Default: ""

The Hardware Reservation UUID to provision. Alternatively, next-available can be specified to select from any of the available hardware reservations. An error will be returned if the requested reservation option is not available.

See Reserved Hardware for more details.

hostname
string

The hostname to use within the operating system. The same hostname may be used on multiple devices within a project.

Array of objects (IPAddress)
Default: [{"address_family":4,"public":true},{"address_family":4,"public":false},{"address_family":6,"public":true}]

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

The default value configures public IPv4, public IPv6, and private IPv4.

Private IPv4 address is required. When specifying ip_addresses, one of the array items must enable private IPv4.

Some operating systems require public IPv4 address. In those cases you will receive an error message if public IPv4 is not enabled.

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

It is possible to request a subnet size larger than a /30 by assigning addresses using the UUID(s) of ip_reservations in your project.

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 proxy through another server in the project with public IPs enabled.

ipxe_script_url
string

When set, the device will chainload an iPXE Script at boot fetched from the supplied URL.

See Custom iPXE for more details.

locked
boolean
Default: false

Whether the device should be locked, preventing accidental deletion.

network_frozen
boolean

If true, this instance can not be converted to a different network type.

no_ssh_keys
boolean
Default: false

Overrides default behaviour of attaching all of the organization members ssh keys and project ssh keys to device if no specific keys specified

operating_system
required
string

The slug of the operating system to provision. Check the Equinix Metal operating system documentation for rules that may be imposed per operating system, including restrictions on IP address options and device plans.

plan
required
string

The slug of the device plan to provision.

private_ipv4_subnet_size
integer <int32>

Deprecated. Use ip_addresses. Subnet range for addresses allocated to this device.

project_ssh_keys
Array of strings <uuid> [ items <uuid > ]

A list of UUIDs identifying the device parent project that should be authorized to access this device (typically via /root/.ssh/authorized_keys). These keys will also appear in the device metadata.

If no SSH keys are specified (user_ssh_keys, project_ssh_keys, and ssh_keys are all empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. This behaviour can be changed with 'no_ssh_keys' option to omit any SSH key being added.

public_ipv4_subnet_size
integer <int32>

Deprecated. Use ip_addresses. Subnet range for addresses allocated to this device. Your project must have addresses available for a non-default request.

spot_instance
boolean

Create a spot instance. Spot instances are created with a maximum bid price. If the bid price is not met, the spot instance will be terminated as indicated by the termination_time field.

spot_price_max
number <float>

The maximum amount to bid for a spot instance.

Array of objects (SSHKeyInput)

A list of new or existing project ssh_keys that should be authorized to access this device (typically via /root/.ssh/authorized_keys). These keys will also appear in the device metadata.

These keys are added in addition to any keys defined by project_ssh_keys and user_ssh_keys.

object (Storage)
tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

user_ssh_keys
Array of strings <uuid> [ items <uuid > ]

A list of UUIDs identifying the users that should be authorized to access this device (typically via /root/.ssh/authorized_keys). These keys will also appear in the device metadata.

The users must be members of the project or organization.

If no SSH keys are specified (user_ssh_keys, project_ssh_keys, and ssh_keys are all empty lists or omitted), all parent project keys, parent project members keys and organization members keys will be included. This behaviour can be changed with 'no_ssh_keys' option to omit any SSH key being added.

userdata
string

The userdata presented in the metadata service for this device. Userdata is fetched and interpreted by the operating system installed on the device. Acceptable formats are determined by the operating system, with the exception of a special iPXE enabling syntax which is handled before the operating system starts.

See Server User Data and Provisioning with Custom iPXE for more details.

Responses

Response Schema: application/json
Array of objects (Batch)
Array
created_at
string <date-time>
Array of objects (Href)
error_messages
Array of strings
id
string <uuid>
object (Href)
quantity
integer
state
string
updated_at
string <date-time>

Request samples

Content type
application/json
{
  • "batches": [
    ]
}

Response samples

Content type
application/json
{
  • "batches": [
    ]
}

Capacity

Capacity Management. Check out the product docs to learn more about Capacity.

View capacity

Returns a list of facilities and plans with their current capacity.

Authorizations:
X-Auth-Token

Responses

Response Schema: application/json
object
additional property
object
additional property
object (CapacityLevelPerBaremetal)
level
string

Response samples

Content type
application/json
{
  • "capacity": {
    }
}

View capacity for metros

Returns a list of metros and plans with their current capacity.

Authorizations:
X-Auth-Token

Responses

Response Schema: application/json
object
additional property
object
additional property
object (CapacityLevelPerBaremetal)
level
string

Response samples

Content type
application/json
{
  • "capacity": {
    }
}

Check capacity for a metro

Validates if a deploy can be fulfilled in a metro.

Authorizations:
X-Auth-Token
Request Body schema: application/json
required

Metro to check capacity in

Array of objects (ServerInfo)
Array
metro
string

The metro ID or code to check the capacity in.

plan
string

The plan ID or slug to check the capacity of.

quantity
string

The number of servers to check the capacity of.

Responses

Response Schema: application/json
Array of objects (CapacityCheckPerMetroInfo)
Array
available
boolean

Returns true if there is enough capacity in the metro to fulfill the quantity set. Returns false if there is not enough.

metro
string

The metro ID or code sent to check capacity.

plan
string

The plan ID or slug sent to check capacity.

quantity
string

The number of servers sent to check capacity.

Request samples

Content type
application/json
{
  • "servers": [
    ]
}

Response samples

Content type
application/json
{
  • "servers": [
    ]
}

View available hardware plans per Metro for given organization

Returns a list of metros and plans with their current capacity.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

Responses

Response Schema: application/json
object
additional property
object
additional property
object (CapacityLevelPerBaremetal)
level
string

Response samples

Content type
application/json
{
  • "capacity": {
    }
}

ConsoleLogDetails

Console Log Details. Notice: This is a test feature currently under active development, and only available to certain users. Please contact Customer Success for more information.

captureScreenshot

Capture a screenshot from the device, if supported, via the BMC.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Device UUID

Responses

Response Schema: application/jpeg
string <binary>

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

FirmwareSets

Firmware Sets Management. Notice: Firmware Sets are a test feature currently under active development, and only available to certain users. Please contact Customer Success for more information.

Get Organization's Firmware Sets

Returns all firmware sets associated with the organization.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Organization UUID

query Parameters
page
integer

page number to return

per_page
integer

items returned per page.

Responses

Response Schema: application/json
page_size
integer

Max number of items returned in a page

page
integer

Page returned

page_count
integer

Items returned in current page

total_pages
integer

Total count of pages

total_record_count
integer

Total count of items

Array of objects (FirmwareSet)

Represents a list of FirmwareSets

Array
uuid
required
string <uuid>

Firmware Set UUID

name
required
string

Firmware Set Name

created_at
string <date-time>

Datetime when the block was created.

updated_at
string <date-time>

Datetime when the block was updated.

Array of objects (Attribute)

Represents a list of attributes

Array of objects (Component)

List of components versions

Response samples

Content type
application/json
{
  • "page_size": 0,
  • "page": 0,
  • "page_count": 0,
  • "total_pages": 0,
  • "total_record_count": 0,
  • "records": [
    ]
}

Get Project's Firmware Sets

Returns all firmware sets associated with the project or organization.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
page
integer

page number to return

per_page
integer

items returned per page.

Responses

Response Schema: application/json
page_size
integer

Max number of items returned in a page

page
integer

Page returned

page_count
integer

Items returned in current page

total_pages
integer

Total count of pages

total_record_count
integer

Total count of items

Array of objects (FirmwareSet)

Represents a list of FirmwareSets

Array
uuid
required
string <uuid>

Firmware Set UUID

name
required
string

Firmware Set Name

created_at
string <date-time>

Datetime when the block was created.

updated_at
string <date-time>

Datetime when the block was updated.

Array of objects (Attribute)

Represents a list of attributes

Array of objects (Component)

List of components versions

Response samples

Content type
application/json
{
  • "page_size": 0,
  • "page": 0,
  • "page_count": 0,
  • "total_pages": 0,
  • "total_record_count": 0,
  • "records": [
    ]
}

HardwareReservations

Hardware Reservation Management. Check out the product docs to learn more about Reserved Hardware.

Retrieve a hardware reservation

Returns a single hardware reservation

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

HardwareReservation UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
created_at
string <date-time>
custom_rate
number <float>

Amount that will be charged for every billing_cycle.

object (Device)
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

avatar_thumb_url
string

Avatar thumbnail URL of the User

created_at
string <date-time>

When the user was created

email
string

Primary email address of the User

first_name
string

First name of the User

full_name
string

Full name of the User

href
string

API URL uniquely representing the User

id
required
string <uuid>

ID of the User

last_name
string

Last name of the User

short_id
required
string

Short ID of the User

updated_at
string <date-time>

When the user details were last updated

object
Default: {}
property name*
additional property
any
description
string
object (Facility)
object (Address)
code
string
features
Array of strings
Items Enum: "baremetal" "backend_transfer" "layer_2" "global_ipv4" "ibx"
id
string <uuid>
ip_ranges
Array of strings

IP ranges registered in facility. Can be used for GeoIP location

object (Device_metro)

The metro the facility is in

name
string
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

hardware_reservation
object (HardwareReservation) Recursive
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
Array
address
string
address_family
integer
object (Href)
cidr
integer
created_at
string <date-time>
enabled
boolean
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (IPAssignment_metro)

The metro the IP address is in

netmask
string
network
string
object (ParentBlock)
public
boolean
state
string
Enum: "pending" "active" "deleting"

Only set when this is a Metal Gateway Elastic IP Assignment.

Describes the current configuration state of this IP on the network.

next_hop
string <ipv4>

Only set when this is a Metal Gateway Elastic IP Assignment.

The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded.

ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

code
string
country
string
id
string <uuid>
name
string
network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

Array
object (BondPortData)
object (PortData)
disbond_operation_supported
boolean

Indicates whether or not the bond can be broken on the port (when applicable).

href
string
id
string <uuid>
name
string
type
string
Enum: "NetworkPort" "NetworkBondPort"

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

network_type
string
Enum: "layer2-bonded" "layer2-individual" "layer3" "hybrid" "hybrid-bonded"

Composite network type of the bond

object (VirtualNetwork)
Array of objects (VirtualNetwork)
object (OperatingSystem)
build_date
string <date>

The date when Metal's current OS image was built and released.

deprecation_date
string <date>

The date when the OS is deprecated. This is the date set by the upstream operating system maintainer.

distro
string
distro_label
string
end_of_life_date
string <date>

The date when the Metal OS image no longer receives any updates and may be disabled at any time. Typically the same as the deprecation date set by the upstream OS maintainers.

end_of_service_date
string <date>

Metal-set date for when the OS is nearing end of life, typically 30 days before end of life.

id
string <uuid>
licensed
boolean

Indicates if the OS is licensed or not. Licensed operating systems are priced according to pricing property.

lifecycle_state
string

Where in the lifecycle the OS image is. Possible states are - "testing", "pre_release", "active", "deprecated", "end_of_service", or "end_of_life".

name
string
preinstallable
boolean

Indicates whether servers can be preinstalled with OS image in order to shorten provision time.

pricing
object

This object contains price per time unit and optional multiplier value if license price depends on hardware plan or components (e.g. number of cores).

provisionable_on
Array of strings
release_date
string <date>

The date the upstream operating system maintainer released this version of the OS.

release_notes
string

The current release notes for this OS image, typically in Markdown format.

slug
string
version
string
default_operating_system
boolean

Default operating system for the distro.

Array of objects (Device_actions_inner)

Actions supported by the device instance.

Array
type
string
name
string
object (Plan)
Array of objects (Plan_available_in_inner)

Shows which facilities the plan is available in, and the facility-based price if it is different from the default price.

Array of objects (Plan_available_in_metros_inner)

Shows which metros the plan is available in, and the metro-based price if it is different from the default price.

categories
Array of strings

Categories of the plan, like compute or storage. A Plan can belong to multiple categories.

class
string
description
string
deployment_types
Array of strings >= 0 items unique
Items Enum: "on_demand" "spot_market"
id
string <uuid>
legacy
boolean

Deprecated. Always return false

line
string
name
string
pricing
object
slug
string
object (Plan_specs)
type
string
Enum: "standard" "workload_optimized" "custom"

The plan type

object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
object (Device_project_lite)

Lite version of project object when included

href
required
string
Array of objects (Event)
Array
body
string
created_at
string <date-time>
href
string
id
string <uuid>
interpolated
string
Array of objects (Href)
state
string
type
string
modified_by
object
ip
string
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
Array
href
required
string
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
Array of objects (Disk)
Array of objects (Raid)
Array of objects (Filesystem)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
Array
href
required
string
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

object (Facility)
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
code
string
features
Array of strings
Items Enum: "baremetal" "backend_transfer" "layer_2" "global_ipv4" "ibx"
id
string <uuid>
ip_ranges
Array of strings

IP ranges registered in facility. Can be used for GeoIP location

object (Device_metro)

The metro the facility is in

code
string
country
string
id
string <uuid>
name
string
name
string
href
string
id
string <uuid>
need_of_service
boolean

Whether this Device requires assistance from Equinix Metal.

object (Plan)
Array of objects (Plan_available_in_inner)

Shows which facilities the plan is available in, and the facility-based price if it is different from the default price.

Array
href
string

href to the Facility

object (Plan_available_in_inner_price)
Array of objects (Plan_available_in_metros_inner)

Shows which metros the plan is available in, and the metro-based price if it is different from the default price.

Array
href
string

href to the Metro

object (Plan_available_in_inner_price)
categories
Array of strings

Categories of the plan, like compute or storage. A Plan can belong to multiple categories.

class
string
description
string
deployment_types
Array of strings >= 0 items unique
Items Enum: "on_demand" "spot_market"
id
string <uuid>
legacy
boolean

Deprecated. Always return false

line
string
name
string
pricing
object
slug
string
object (Plan_specs)
Array of objects (Plan_specs_cpus_inner)
object (Plan_specs_memory)
Array of objects (Plan_specs_drives_inner)
Array of objects (Plan_specs_nics_inner)
object (Plan_specs_features)
type
string
Enum: "standard" "workload_optimized" "custom"

The plan type

object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
provisionable
boolean

Whether the reserved server is provisionable or not. Spare devices can't be provisioned unless they are activated first.

short_id
string <string>

Short version of the ID.

spare
boolean

Whether the Hardware Reservation is a spare. Spare Hardware Reservations are used when a Hardware Reservations requires service from Equinix Metal

switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

termination_time
string <date-time>

Expiration date for the reservation.

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "custom_rate": 1050.5,
  • "device": {
    },
  • "facility": {
    },
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "need_of_service": true,
  • "plan": {
    },
  • "project": {
    },
  • "provisionable": true,
  • "short_id": "string",
  • "spare": true,
  • "switch_uuid": "string",
  • "termination_time": "2019-08-24T14:15:22Z"
}

Activate a spare hardware reservation

Activate a spare hardware reservation

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Hardware Reservation UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
optional

Note to attach to the reservation

description
string

Responses

Response Schema: application/json
created_at
string <date-time>
custom_rate
number <float>

Amount that will be charged for every billing_cycle.

object (Device)
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

avatar_thumb_url
string

Avatar thumbnail URL of the User

created_at
string <date-time>

When the user was created

email
string

Primary email address of the User

first_name
string

First name of the User

full_name
string

Full name of the User

href
string

API URL uniquely representing the User

id
required
string <uuid>

ID of the User

last_name
string

Last name of the User

short_id
required
string

Short ID of the User

updated_at
string <date-time>

When the user details were last updated

object
Default: {}
property name*
additional property
any
description
string
object (Facility)
object (Address)
code
string
features
Array of strings
Items Enum: "baremetal" "backend_transfer" "layer_2" "global_ipv4" "ibx"
id
string <uuid>
ip_ranges
Array of strings

IP ranges registered in facility. Can be used for GeoIP location

object (Device_metro)

The metro the facility is in

name
string
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

hardware_reservation
object (HardwareReservation) Recursive
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
Array
address
string
address_family
integer
object (Href)
cidr
integer
created_at
string <date-time>
enabled
boolean
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (IPAssignment_metro)

The metro the IP address is in

netmask
string
network
string
object (ParentBlock)
public
boolean
state
string
Enum: "pending" "active" "deleting"

Only set when this is a Metal Gateway Elastic IP Assignment.

Describes the current configuration state of this IP on the network.

next_hop
string <ipv4>

Only set when this is a Metal Gateway Elastic IP Assignment.

The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded.

ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

code
string
country
string
id
string <uuid>
name
string
network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

Array
object (BondPortData)
object (PortData)
disbond_operation_supported
boolean

Indicates whether or not the bond can be broken on the port (when applicable).

href
string
id
string <uuid>
name
string
type
string
Enum: "NetworkPort" "NetworkBondPort"

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

network_type
string
Enum: "layer2-bonded" "layer2-individual" "layer3" "hybrid" "hybrid-bonded"

Composite network type of the bond

object (VirtualNetwork)
Array of objects (VirtualNetwork)
object (OperatingSystem)
build_date
string <date>

The date when Metal's current OS image was built and released.

deprecation_date
string <date>

The date when the OS is deprecated. This is the date set by the upstream operating system maintainer.

distro
string
distro_label
string
end_of_life_date
string <date>

The date when the Metal OS image no longer receives any updates and may be disabled at any time. Typically the same as the deprecation date set by the upstream OS maintainers.

end_of_service_date
string <date>

Metal-set date for when the OS is nearing end of life, typically 30 days before end of life.

id
string <uuid>
licensed
boolean

Indicates if the OS is licensed or not. Licensed operating systems are priced according to pricing property.

lifecycle_state
string

Where in the lifecycle the OS image is. Possible states are - "testing", "pre_release", "active", "deprecated", "end_of_service", or "end_of_life".

name
string
preinstallable
boolean

Indicates whether servers can be preinstalled with OS image in order to shorten provision time.

pricing
object

This object contains price per time unit and optional multiplier value if license price depends on hardware plan or components (e.g. number of cores).

provisionable_on
Array of strings
release_date
string <date>

The date the upstream operating system maintainer released this version of the OS.

release_notes
string

The current release notes for this OS image, typically in Markdown format.

slug
string
version
string
default_operating_system
boolean

Default operating system for the distro.

Array of objects (Device_actions_inner)

Actions supported by the device instance.

Array
type
string
name
string
object (Plan)
Array of objects (Plan_available_in_inner)

Shows which facilities the plan is available in, and the facility-based price if it is different from the default price.

Array of objects (Plan_available_in_metros_inner)

Shows which metros the plan is available in, and the metro-based price if it is different from the default price.

categories
Array of strings

Categories of the plan, like compute or storage. A Plan can belong to multiple categories.

class
string
description
string
deployment_types
Array of strings >= 0 items unique
Items Enum: "on_demand" "spot_market"
id
string <uuid>
legacy
boolean

Deprecated. Always return false

line
string
name
string
pricing
object
slug
string
object (Plan_specs)
type
string
Enum: "standard" "workload_optimized" "custom"

The plan type

object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
object (Device_project_lite)

Lite version of project object when included

href
required
string
Array of objects (Event)
Array
body
string
created_at
string <date-time>
href
string
id
string <uuid>
interpolated
string
Array of objects (Href)
state
string
type
string
modified_by
object
ip
string
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
Array
href
required
string
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
Array of objects (Disk)
Array of objects (Raid)
Array of objects (Filesystem)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
Array
href
required
string
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

object (Facility)
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
code
string
features
Array of strings
Items Enum: "baremetal" "backend_transfer" "layer_2" "global_ipv4" "ibx"
id
string <uuid>
ip_ranges
Array of strings

IP ranges registered in facility. Can be used for GeoIP location

object (Device_metro)

The metro the facility is in

code
string
country
string
id
string <uuid>
name
string
name
string
href
string
id
string <uuid>
need_of_service
boolean

Whether this Device requires assistance from Equinix Metal.

object (Plan)
Array of objects (Plan_available_in_inner)

Shows which facilities the plan is available in, and the facility-based price if it is different from the default price.

Array
href
string

href to the Facility

object (Plan_available_in_inner_price)
Array of objects (Plan_available_in_metros_inner)

Shows which metros the plan is available in, and the metro-based price if it is different from the default price.

Array
href
string

href to the Metro

object (Plan_available_in_inner_price)
categories
Array of strings

Categories of the plan, like compute or storage. A Plan can belong to multiple categories.

class
string
description
string
deployment_types
Array of strings >= 0 items unique
Items Enum: "on_demand" "spot_market"
id
string <uuid>
legacy
boolean

Deprecated. Always return false

line
string
name
string
pricing
object
slug
string
object (Plan_specs)
Array of objects (Plan_specs_cpus_inner)
object (Plan_specs_memory)
Array of objects (Plan_specs_drives_inner)
Array of objects (Plan_specs_nics_inner)
object (Plan_specs_features)
type
string
Enum: "standard" "workload_optimized" "custom"

The plan type

object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
provisionable
boolean

Whether the reserved server is provisionable or not. Spare devices can't be provisioned unless they are activated first.

short_id
string <string>

Short version of the ID.

spare
boolean

Whether the Hardware Reservation is a spare. Spare Hardware Reservations are used when a Hardware Reservations requires service from Equinix Metal

switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

termination_time
string <date-time>

Expiration date for the reservation.

Request samples

Content type
application/json
{
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "custom_rate": 1050.5,
  • "device": {
    },
  • "facility": {
    },
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "need_of_service": true,
  • "plan": {
    },
  • "project": {
    },
  • "provisionable": true,
  • "short_id": "string",
  • "spare": true,
  • "switch_uuid": "string",
  • "termination_time": "2019-08-24T14:15:22Z"
}

Move a hardware reservation

Move a hardware reservation to another project

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Hardware Reservation UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

Destination Project UUID

project_id
string <uuid>

Responses

Response Schema: application/json
created_at
string <date-time>
custom_rate
number <float>

Amount that will be charged for every billing_cycle.

object (Device)
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

avatar_thumb_url
string

Avatar thumbnail URL of the User

created_at
string <date-time>

When the user was created

email
string

Primary email address of the User

first_name
string

First name of the User

full_name
string

Full name of the User

href
string

API URL uniquely representing the User

id
required
string <uuid>

ID of the User

last_name
string

Last name of the User

short_id
required
string

Short ID of the User

updated_at
string <date-time>

When the user details were last updated

object
Default: {}
property name*
additional property
any
description
string
object (Facility)
object (Address)
code
string
features
Array of strings
Items Enum: "baremetal" "backend_transfer" "layer_2" "global_ipv4" "ibx"
id
string <uuid>
ip_ranges
Array of strings

IP ranges registered in facility. Can be used for GeoIP location

object (Device_metro)

The metro the facility is in

name
string
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

hardware_reservation
object (HardwareReservation) Recursive
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
Array
address
string
address_family
integer
object (Href)
cidr
integer
created_at
string <date-time>
enabled
boolean
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (IPAssignment_metro)

The metro the IP address is in

netmask
string
network
string
object (ParentBlock)
public
boolean
state
string
Enum: "pending" "active" "deleting"

Only set when this is a Metal Gateway Elastic IP Assignment.

Describes the current configuration state of this IP on the network.

next_hop
string <ipv4>

Only set when this is a Metal Gateway Elastic IP Assignment.

The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded.

ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

code
string
country
string
id
string <uuid>
name
string
network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

Array
object (BondPortData)
object (PortData)
disbond_operation_supported
boolean

Indicates whether or not the bond can be broken on the port (when applicable).

href
string
id
string <uuid>
name
string
type
string
Enum: "NetworkPort" "NetworkBondPort"

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

network_type
string
Enum: "layer2-bonded" "layer2-individual" "layer3" "hybrid" "hybrid-bonded"

Composite network type of the bond

object (VirtualNetwork)
Array of objects (VirtualNetwork)
object (OperatingSystem)
build_date
string <date>

The date when Metal's current OS image was built and released.

deprecation_date
string <date>

The date when the OS is deprecated. This is the date set by the upstream operating system maintainer.

distro
string
distro_label
string
end_of_life_date
string <date>

The date when the Metal OS image no longer receives any updates and may be disabled at any time. Typically the same as the deprecation date set by the upstream OS maintainers.

end_of_service_date
string <date>

Metal-set date for when the OS is nearing end of life, typically 30 days before end of life.

id
string <uuid>
licensed
boolean

Indicates if the OS is licensed or not. Licensed operating systems are priced according to pricing property.

lifecycle_state
string

Where in the lifecycle the OS image is. Possible states are - "testing", "pre_release", "active", "deprecated", "end_of_service", or "end_of_life".

name
string
preinstallable
boolean

Indicates whether servers can be preinstalled with OS image in order to shorten provision time.

pricing
object

This object contains price per time unit and optional multiplier value if license price depends on hardware plan or components (e.g. number of cores).

provisionable_on
Array of strings
release_date
string <date>

The date the upstream operating system maintainer released this version of the OS.

release_notes
string

The current release notes for this OS image, typically in Markdown format.

slug
string
version
string
default_operating_system
boolean

Default operating system for the distro.

Array of objects (Device_actions_inner)

Actions supported by the device instance.

Array
type
string
name
string
object (Plan)
Array of objects (Plan_available_in_inner)

Shows which facilities the plan is available in, and the facility-based price if it is different from the default price.

Array of objects (Plan_available_in_metros_inner)

Shows which metros the plan is available in, and the metro-based price if it is different from the default price.

categories
Array of strings

Categories of the plan, like compute or storage. A Plan can belong to multiple categories.

class
string
description
string
deployment_types
Array of strings >= 0 items unique
Items Enum: "on_demand" "spot_market"
id
string <uuid>
legacy
boolean

Deprecated. Always return false

line
string
name
string
pricing
object
slug
string
object (Plan_specs)
type
string
Enum: "standard" "workload_optimized" "custom"

The plan type

object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
object (Device_project_lite)

Lite version of project object when included

href
required
string
Array of objects (Event)
Array
body
string
created_at
string <date-time>
href
string
id
string <uuid>
interpolated
string
Array of objects (Href)
state
string
type
string
modified_by
object
ip
string
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
Array
href
required
string
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
Array of objects (Disk)
Array of objects (Raid)
Array of objects (Filesystem)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
Array
href
required
string
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

object (Facility)
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
code
string
features
Array of strings
Items Enum: "baremetal" "backend_transfer" "layer_2" "global_ipv4" "ibx"
id
string <uuid>
ip_ranges
Array of strings

IP ranges registered in facility. Can be used for GeoIP location

object (Device_metro)

The metro the facility is in

code
string
country
string
id
string <uuid>
name
string
name
string
href
string
id
string <uuid>
need_of_service
boolean

Whether this Device requires assistance from Equinix Metal.

object (Plan)
Array of objects (Plan_available_in_inner)

Shows which facilities the plan is available in, and the facility-based price if it is different from the default price.

Array
href
string

href to the Facility

object (Plan_available_in_inner_price)
Array of objects (Plan_available_in_metros_inner)

Shows which metros the plan is available in, and the metro-based price if it is different from the default price.

Array
href
string

href to the Metro

object (Plan_available_in_inner_price)
categories
Array of strings

Categories of the plan, like compute or storage. A Plan can belong to multiple categories.

class
string
description
string
deployment_types
Array of strings >= 0 items unique
Items Enum: "on_demand" "spot_market"
id
string <uuid>
legacy
boolean

Deprecated. Always return false

line
string
name
string
pricing
object
slug
string
object (Plan_specs)
Array of objects (Plan_specs_cpus_inner)
object (Plan_specs_memory)
Array of objects (Plan_specs_drives_inner)
Array of objects (Plan_specs_nics_inner)
object (Plan_specs_features)
type
string
Enum: "standard" "workload_optimized" "custom"

The plan type

object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
provisionable
boolean

Whether the reserved server is provisionable or not. Spare devices can't be provisioned unless they are activated first.

short_id
string <string>

Short version of the ID.

spare
boolean

Whether the Hardware Reservation is a spare. Spare Hardware Reservations are used when a Hardware Reservations requires service from Equinix Metal

switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

termination_time
string <date-time>

Expiration date for the reservation.

Request samples

Content type
application/json
{
  • "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9"
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "custom_rate": 1050.5,
  • "device": {
    },
  • "facility": {
    },
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "need_of_service": true,
  • "plan": {
    },
  • "project": {
    },
  • "provisionable": true,
  • "short_id": "string",
  • "spare": true,
  • "switch_uuid": "string",
  • "termination_time": "2019-08-24T14:15:22Z"
}

Retrieve all hardware reservations for a given project

Provides a collection of hardware reservations for a given project.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
query
string

Search by facility code, plan name, project name, reservation short ID or device hostname

state
string
Enum: "active" "spare" "need_of_service"

Filter by hardware reservation state

provisionable
string
Value: "only"

Filter hardware reservation that is provisionable

include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
Array of objects (HardwareReservation)
Array
created_at
string <date-time>
custom_rate
number <float>

Amount that will be charged for every billing_cycle.

object (Device)
object (Facility)
href
string
id
string <uuid>
need_of_service
boolean

Whether this Device requires assistance from Equinix Metal.

object (Plan)
object (Project)
provisionable
boolean

Whether the reserved server is provisionable or not. Spare devices can't be provisioned unless they are activated first.

short_id
string <string>

Short version of the ID.

spare
boolean

Whether the Hardware Reservation is a spare. Spare Hardware Reservations are used when a Hardware Reservations requires service from Equinix Metal

switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

termination_time
string <date-time>

Expiration date for the reservation.

object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer

Response samples

Content type
application/json
{
  • "hardware_reservations": [
    ],
  • "meta": {
    }
}

OperatingSystems

Operating System Images and Lifecycle Management

Retrieve all operating system versions

Provides a listing of available operating system versions.

Authorizations:
X-Auth-Token

Responses

Response Schema: application/json
Array of objects (OperatingSystem)
Array
build_date
string <date>

The date when Metal's current OS image was built and released.

deprecation_date
string <date>

The date when the OS is deprecated. This is the date set by the upstream operating system maintainer.

distro
string
distro_label
string
end_of_life_date
string <date>

The date when the Metal OS image no longer receives any updates and may be disabled at any time. Typically the same as the deprecation date set by the upstream OS maintainers.

end_of_service_date
string <date>

Metal-set date for when the OS is nearing end of life, typically 30 days before end of life.

id
string <uuid>
licensed
boolean

Indicates if the OS is licensed or not. Licensed operating systems are priced according to pricing property.

lifecycle_state
string

Where in the lifecycle the OS image is. Possible states are - "testing", "pre_release", "active", "deprecated", "end_of_service", or "end_of_life".

name
string
preinstallable
boolean

Indicates whether servers can be preinstalled with OS image in order to shorten provision time.

pricing
object

This object contains price per time unit and optional multiplier value if license price depends on hardware plan or components (e.g. number of cores).

provisionable_on
Array of strings
release_date
string <date>

The date the upstream operating system maintainer released this version of the OS.

release_notes
string

The current release notes for this OS image, typically in Markdown format.

slug
string
version
string
default_operating_system
boolean

Default operating system for the distro.

Response samples

Content type
application/json
{
  • "operating_systems": [
    ]
}

Retrieve all operating systems

Returns a list of available operating systems to provision your new device with.

Authorizations:
X-Auth-Token

Responses

Response Schema: application/json
Array of objects (OperatingSystem)
Array
build_date
string <date>

The date when Metal's current OS image was built and released.

deprecation_date
string <date>

The date when the OS is deprecated. This is the date set by the upstream operating system maintainer.

distro
string
distro_label
string
end_of_life_date
string <date>

The date when the Metal OS image no longer receives any updates and may be disabled at any time. Typically the same as the deprecation date set by the upstream OS maintainers.

end_of_service_date
string <date>

Metal-set date for when the OS is nearing end of life, typically 30 days before end of life.

id
string <uuid>
licensed
boolean

Indicates if the OS is licensed or not. Licensed operating systems are priced according to pricing property.

lifecycle_state
string

Where in the lifecycle the OS image is. Possible states are - "testing", "pre_release", "active", "deprecated", "end_of_service", or "end_of_life".

name
string
preinstallable
boolean

Indicates whether servers can be preinstalled with OS image in order to shorten provision time.

pricing
object

This object contains price per time unit and optional multiplier value if license price depends on hardware plan or components (e.g. number of cores).

provisionable_on
Array of strings
release_date
string <date>

The date the upstream operating system maintainer released this version of the OS.

release_notes
string

The current release notes for this OS image, typically in Markdown format.

slug
string
version
string
default_operating_system
boolean

Default operating system for the distro.

Response samples

Content type
application/json
{
  • "operating_systems": [
    ]
}

Ports

Port Management. Check out the product docs to learn more about Port configurations.

Retrieve a port

Returns a port

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Port UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
object (BondPortData)
id
string <uuid>

ID of the bonding port

name
string

Name of the port interface for the bond ("bond0")

object (PortData)
mac
string

MAC address is set for NetworkPort ports

bonded
boolean

Bonded is true for NetworkPort ports in a bond and NetworkBondPort ports that are active

disbond_operation_supported
boolean

Indicates whether or not the bond can be broken on the port (when applicable).

href
string
id
string <uuid>
name
string
type
string
Enum: "NetworkPort" "NetworkBondPort"

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

network_type
string
Enum: "layer2-bonded" "layer2-individual" "layer3" "hybrid" "hybrid-bonded"

Composite network type of the bond

object (VirtualNetwork)
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
required
string
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

network_ports
Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

Array
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (Metro)
code
string
country
string
id
string <uuid>
name
string
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
Array of objects (VirtualNetwork)
Array
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings

Response samples

Content type
application/json
{
  • "bond": {
    },
  • "data": {
    },
  • "disbond_operation_supported": true,
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "bond0",
  • "type": "NetworkPort",
  • "network_type": "layer2-bonded",
  • "native_virtual_network": {
    },
  • "virtual_networks": [
    ]
}

Assign a port to virtual network

Assign a hardware port to a virtual network.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Port UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

Virtual Network ID. May be the UUID of the Virtual Network record, or the VLAN value itself (ex: '1001').

vnid
string

Virtual Network ID. May be the UUID of the Virtual Network record, or the VLAN value itself.

Responses

Response Schema: application/json
object (BondPortData)
id
string <uuid>

ID of the bonding port

name
string

Name of the port interface for the bond ("bond0")

object (PortData)
mac
string

MAC address is set for NetworkPort ports

bonded
boolean

Bonded is true for NetworkPort ports in a bond and NetworkBondPort ports that are active

disbond_operation_supported
boolean

Indicates whether or not the bond can be broken on the port (when applicable).

href
string
id
string <uuid>
name
string
type
string
Enum: "NetworkPort" "NetworkBondPort"

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

network_type
string
Enum: "layer2-bonded" "layer2-individual" "layer3" "hybrid" "hybrid-bonded"

Composite network type of the bond

object (VirtualNetwork)
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
required
string
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

network_ports
Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

Array
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (Metro)
code
string
country
string
id
string <uuid>
name
string
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
Array of objects (VirtualNetwork)
Array
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings

Request samples

Content type
application/json
{
  • "vnid": "1001"
}

Response samples

Content type
application/json
{
  • "bond": {
    },
  • "data": {
    },
  • "disbond_operation_supported": true,
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "bond0",
  • "type": "NetworkPort",
  • "network_type": "layer2-bonded",
  • "native_virtual_network": {
    },
  • "virtual_networks": [
    ]
}

Enabling bonding

Enabling bonding for one or all ports

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Port UUID

query Parameters
bulk_enable
boolean

enable both ports

include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
object (BondPortData)
id
string <uuid>

ID of the bonding port

name
string

Name of the port interface for the bond ("bond0")

object (PortData)
mac
string

MAC address is set for NetworkPort ports

bonded
boolean

Bonded is true for NetworkPort ports in a bond and NetworkBondPort ports that are active

disbond_operation_supported
boolean

Indicates whether or not the bond can be broken on the port (when applicable).

href
string
id
string <uuid>
name
string
type
string
Enum: "NetworkPort" "NetworkBondPort"

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

network_type
string
Enum: "layer2-bonded" "layer2-individual" "layer3" "hybrid" "hybrid-bonded"

Composite network type of the bond

object (VirtualNetwork)
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
required
string
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

network_ports
Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

Array
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (Metro)
code
string
country
string
id
string <uuid>
name
string
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
Array of objects (VirtualNetwork)
Array
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings

Response samples

Content type
application/json
{
  • "bond": {
    },
  • "data": {
    },
  • "disbond_operation_supported": true,
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "bond0",
  • "type": "NetworkPort",
  • "network_type": "layer2-bonded",
  • "native_virtual_network": {
    },
  • "virtual_networks": [
    ]
}

Convert to Layer 2

Converts a bond port to Layer 2. IP assignments of the port will be removed.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Port UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

Virtual Network ID. May be the UUID of the Virtual Network record, or the VLAN value itself (ex: '1001').

vnid
string

Virtual Network ID. May be the UUID of the Virtual Network record, or the VLAN value itself.

Responses

Response Schema: application/json
object (BondPortData)
id
string <uuid>

ID of the bonding port

name
string

Name of the port interface for the bond ("bond0")

object (PortData)
mac
string

MAC address is set for NetworkPort ports

bonded
boolean

Bonded is true for NetworkPort ports in a bond and NetworkBondPort ports that are active

disbond_operation_supported
boolean

Indicates whether or not the bond can be broken on the port (when applicable).

href
string
id
string <uuid>
name
string
type
string
Enum: "NetworkPort" "NetworkBondPort"

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

network_type
string
Enum: "layer2-bonded" "layer2-individual" "layer3" "hybrid" "hybrid-bonded"

Composite network type of the bond

object (VirtualNetwork)
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
required
string
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

network_ports
Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

Array
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (Metro)
code
string
country
string
id
string <uuid>
name
string
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
Array of objects (VirtualNetwork)
Array
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings

Request samples

Content type
application/json
{
  • "vnid": "1001"
}

Response samples

Content type
application/json
{
  • "bond": {
    },
  • "data": {
    },
  • "disbond_operation_supported": true,
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "bond0",
  • "type": "NetworkPort",
  • "network_type": "layer2-bonded",
  • "native_virtual_network": {
    },
  • "virtual_networks": [
    ]
}

Convert to Layer 3

Converts a bond port to Layer 3. VLANs must first be unassigned.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Port UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json

IPs to request

Array of objects (PortConvertLayer3Input_request_ips_inner)
Array
address_family
integer
public
boolean

Responses

Response Schema: application/json
object (BondPortData)
id
string <uuid>

ID of the bonding port

name
string

Name of the port interface for the bond ("bond0")

object (PortData)
mac
string

MAC address is set for NetworkPort ports

bonded
boolean

Bonded is true for NetworkPort ports in a bond and NetworkBondPort ports that are active

disbond_operation_supported
boolean

Indicates whether or not the bond can be broken on the port (when applicable).

href
string
id
string <uuid>
name
string
type
string
Enum: "NetworkPort" "NetworkBondPort"

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

network_type
string
Enum: "layer2-bonded" "layer2-individual" "layer3" "hybrid" "hybrid-bonded"

Composite network type of the bond

object (VirtualNetwork)
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
required
string
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

network_ports
Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

Array
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (Metro)
code
string
country
string
id
string <uuid>
name
string
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
Array of objects (VirtualNetwork)
Array
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings

Request samples

Content type
application/json
{
  • "request_ips": [
    ]
}

Response samples

Content type
application/json
{
  • "bond": {
    },
  • "data": {
    },
  • "disbond_operation_supported": true,
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "bond0",
  • "type": "NetworkPort",
  • "network_type": "layer2-bonded",
  • "native_virtual_network": {
    },
  • "virtual_networks": [
    ]
}

Disabling bonding

Disabling bonding for one or all ports

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Port UUID

query Parameters
bulk_disable
boolean

disable both ports

include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
object (BondPortData)
id
string <uuid>

ID of the bonding port

name
string

Name of the port interface for the bond ("bond0")

object (PortData)
mac
string

MAC address is set for NetworkPort ports

bonded
boolean

Bonded is true for NetworkPort ports in a bond and NetworkBondPort ports that are active

disbond_operation_supported
boolean

Indicates whether or not the bond can be broken on the port (when applicable).

href
string
id
string <uuid>
name
string
type
string
Enum: "NetworkPort" "NetworkBondPort"

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

network_type
string
Enum: "layer2-bonded" "layer2-individual" "layer3" "hybrid" "hybrid-bonded"

Composite network type of the bond

object (VirtualNetwork)
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
required
string
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

network_ports
Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

Array
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (Metro)
code
string
country
string
id
string <uuid>
name
string
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
Array of objects (VirtualNetwork)
Array
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings

Response samples

Content type
application/json
{
  • "bond": {
    },
  • "data": {
    },
  • "disbond_operation_supported": true,
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "bond0",
  • "type": "NetworkPort",
  • "network_type": "layer2-bonded",
  • "native_virtual_network": {
    },
  • "virtual_networks": [
    ]
}

Remove native VLAN

Removes the native VLAN from this port

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Port UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
object (BondPortData)
id
string <uuid>

ID of the bonding port

name
string

Name of the port interface for the bond ("bond0")

object (PortData)
mac
string

MAC address is set for NetworkPort ports

bonded
boolean

Bonded is true for NetworkPort ports in a bond and NetworkBondPort ports that are active

disbond_operation_supported
boolean

Indicates whether or not the bond can be broken on the port (when applicable).

href
string
id
string <uuid>
name
string
type
string
Enum: "NetworkPort" "NetworkBondPort"

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

network_type
string
Enum: "layer2-bonded" "layer2-individual" "layer3" "hybrid" "hybrid-bonded"

Composite network type of the bond

object (VirtualNetwork)
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
required
string
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

network_ports
Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

Array
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (Metro)
code
string
country
string
id
string <uuid>
name
string
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
Array of objects (VirtualNetwork)
Array
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings

Response samples

Content type
application/json
{
  • "bond": {
    },
  • "data": {
    },
  • "disbond_operation_supported": true,
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "bond0",
  • "type": "NetworkPort",
  • "network_type": "layer2-bonded",
  • "native_virtual_network": {
    },
  • "virtual_networks": [
    ]
}

Assign a native VLAN

Sets a virtual network on this port as a "native VLAN". The VLAN must have already been assigned using the using the "Assign a port to a virtual network" operation.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Port UUID

query Parameters
vnid
required
string

Virtual Network ID. May be the UUID of the Virtual Network record, or the VLAN value itself (ex: '1001').

include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
object (BondPortData)
id
string <uuid>

ID of the bonding port

name
string

Name of the port interface for the bond ("bond0")

object (PortData)
mac
string

MAC address is set for NetworkPort ports

bonded
boolean

Bonded is true for NetworkPort ports in a bond and NetworkBondPort ports that are active

disbond_operation_supported
boolean

Indicates whether or not the bond can be broken on the port (when applicable).

href
string
id
string <uuid>
name
string
type
string
Enum: "NetworkPort" "NetworkBondPort"

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

network_type
string
Enum: "layer2-bonded" "layer2-individual" "layer3" "hybrid" "hybrid-bonded"

Composite network type of the bond

object (VirtualNetwork)
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
required
string
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

network_ports
Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

Array
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (Metro)
code
string
country
string
id
string <uuid>
name
string
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
Array of objects (VirtualNetwork)
Array
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings

Response samples

Content type
application/json
{
  • "bond": {
    },
  • "data": {
    },
  • "disbond_operation_supported": true,
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "bond0",
  • "type": "NetworkPort",
  • "network_type": "layer2-bonded",
  • "native_virtual_network": {
    },
  • "virtual_networks": [
    ]
}

Unassign a port

Unassign a port for a hardware.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Port UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

Virtual Network ID. May be the UUID of the Virtual Network record, or the VLAN value itself (ex: '1001').

vnid
string

Virtual Network ID. May be the UUID of the Virtual Network record, or the VLAN value itself.

Responses

Response Schema: application/json
object (BondPortData)
id
string <uuid>

ID of the bonding port

name
string

Name of the port interface for the bond ("bond0")

object (PortData)
mac
string

MAC address is set for NetworkPort ports

bonded
boolean

Bonded is true for NetworkPort ports in a bond and NetworkBondPort ports that are active

disbond_operation_supported
boolean

Indicates whether or not the bond can be broken on the port (when applicable).

href
string
id
string <uuid>
name
string
type
string
Enum: "NetworkPort" "NetworkBondPort"

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

network_type
string
Enum: "layer2-bonded" "layer2-individual" "layer3" "hybrid" "hybrid-bonded"

Composite network type of the bond

object (VirtualNetwork)
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
required
string
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

network_ports
Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

Array
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (Metro)
code
string
country
string
id
string <uuid>
name
string
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
Array of objects (VirtualNetwork)
Array
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings

Request samples

Content type
application/json
{
  • "vnid": "1001"
}

Response samples

Content type
application/json
{
  • "bond": {
    },
  • "data": {
    },
  • "disbond_operation_supported": true,
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "bond0",
  • "type": "NetworkPort",
  • "network_type": "layer2-bonded",
  • "native_virtual_network": {
    },
  • "virtual_networks": [
    ]
}

List Current VLAN assignments for a port

Show the port's current VLAN assignments, including if this VLAN is set as native, and the current state of the assignment (ex. 'assigned' or 'unassigning')

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Port UUID

query Parameters
include
Array of strings
Default: "port&include=virtual_network"

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
Array of objects (PortVlanAssignment)
Array
created_at
string <date-time>
id
string <uuid>
native
boolean
object (Href)
state
string
Enum: "assigned" "unassigning"
updated_at
string <date-time>
object (Href)
vlan
integer

Response samples

Content type
application/json
{
  • "vlan_assignments": [
    ]
}

Show a particular Port VLAN assignment's details

Show the details of a specific Port-VLAN assignment, including the current state and if the VLAN is set as native.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Port UUID

assignment_id
required
string <uuid>

Assignment ID

query Parameters
include
Array of strings
Default: "port&include=virtual_network"

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
created_at
string <date-time>
id
string <uuid>
native
boolean
object (Href)
href
required
string
state
string
Enum: "assigned" "unassigning"
updated_at
string <date-time>
object (Href)
href
required
string
vlan
integer

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "native": true,
  • "port": {
    },
  • "state": "assigned",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "virtual_network": {
    },
  • "vlan": 0
}

List the VLAN Assignment Batches for a port

Show all the VLAN assignment batches that have been created for managing this port's VLAN assignments

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Port UUID

Responses

Response Schema: application/json
Array of objects (PortVlanAssignmentBatch)
Array
created_at
string <date-time>
error_messages
Array of strings
id
string <uuid>
object (Port)

Port is a hardware port associated with a reserved or instantiated hardware device.

quantity
integer
state
string
Enum: "queued" "in_progress" "completed" "failed"
updated_at
string <date-time>
Array of objects (PortVlanAssignmentBatch_vlan_assignments_inner)
object (Href)

Response samples

Content type
application/json
{
  • "batches": [
    ]
}

Create a new Port-VLAN Assignment management batch

Create a new asynchronous batch request which handles adding and/or removing the VLANs to which the port is assigned.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Port UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

VLAN Assignment batch details

Array of objects (PortVlanAssignmentBatchCreateInput_vlan_assignments_inner)
Array
native
boolean
state
string
Enum: "assigned" "unassigned"
vlan
string

Responses

Response Schema: application/json
created_at
string <date-time>
error_messages
Array of strings
id
string <uuid>
object (Port)

Port is a hardware port associated with a reserved or instantiated hardware device.

object (BondPortData)
id
string <uuid>

ID of the bonding port

name
string

Name of the port interface for the bond ("bond0")

object (PortData)
mac
string

MAC address is set for NetworkPort ports

bonded
boolean

Bonded is true for NetworkPort ports in a bond and NetworkBondPort ports that are active

disbond_operation_supported
boolean

Indicates whether or not the bond can be broken on the port (when applicable).

href
string
id
string <uuid>
name
string
type
string
Enum: "NetworkPort" "NetworkBondPort"

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

network_type
string
Enum: "layer2-bonded" "layer2-individual" "layer3" "hybrid" "hybrid-bonded"

Composite network type of the bond

object (VirtualNetwork)
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
Array of objects (VirtualNetwork)
Array
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
quantity
integer
state
string
Enum: "queued" "in_progress" "completed" "failed"
updated_at
string <date-time>
Array of objects (PortVlanAssignmentBatch_vlan_assignments_inner)
Array
id
string <uuid>
native
boolean
state
string
Enum: "assigned" "unassigned"
vlan
integer
object (Href)
href
required
string

Request samples

Content type
application/json
{
  • "vlan_assignments": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "error_messages": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "port": {
    },
  • "quantity": 0,
  • "state": "queued",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "vlan_assignments": [
    ],
  • "project": {
    }
}

Retrieve a VLAN Assignment Batch's details

Returns the details of an existing Port-VLAN Assignment batch, including the list of VLANs to assign or unassign, and the current state of the batch.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Port UUID

batch_id
required
string <uuid>

Batch ID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
created_at
string <date-time>
error_messages
Array of strings
id
string <uuid>
object (Port)

Port is a hardware port associated with a reserved or instantiated hardware device.

object (BondPortData)
id
string <uuid>

ID of the bonding port

name
string

Name of the port interface for the bond ("bond0")

object (PortData)
mac
string

MAC address is set for NetworkPort ports

bonded
boolean

Bonded is true for NetworkPort ports in a bond and NetworkBondPort ports that are active

disbond_operation_supported
boolean

Indicates whether or not the bond can be broken on the port (when applicable).

href
string
id
string <uuid>
name
string
type
string
Enum: "NetworkPort" "NetworkBondPort"

Type is either "NetworkBondPort" for bond ports or "NetworkPort" for bondable ethernet ports

network_type
string
Enum: "layer2-bonded" "layer2-individual" "layer3" "hybrid" "hybrid-bonded"

Composite network type of the bond

object (VirtualNetwork)
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
Array of objects (VirtualNetwork)
Array
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
quantity
integer
state
string
Enum: "queued" "in_progress" "completed" "failed"
updated_at
string <date-time>
Array of objects (PortVlanAssignmentBatch_vlan_assignments_inner)
Array
id
string <uuid>
native
boolean
state
string
Enum: "assigned" "unassigned"
vlan
integer
object (Href)
href
required
string

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "error_messages": [
    ],
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "port": {
    },
  • "quantity": 0,
  • "state": "queued",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "vlan_assignments": [
    ],
  • "project": {
    }
}

SelfServiceReservations

Self Service Reservations

Retrieve all reservations

Returns all reservations.

Authorizations:
X-Auth-Token
path Parameters
project_id
required
string <uuid>

Project UUID

query Parameters
page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

categories
Array of strings
Items Enum: "compute" "storage" "legacy_gen" "current_gen"
Example: categories=compute

Filter reservations by items category

Responses

Response Schema: application/json
Array of objects (SelfServiceReservationResponse)
Array
created_at
string <date-time>
Array of objects (SelfServiceReservationItemResponse)
notes
string
organization
string
organization_id
string <uuid>
object (CreateSelfServiceReservationRequest_period)
project
string
project_id
string <uuid>
start_date
string <date-time>
status
string
total_cost
integer

Response samples

Content type
application/json
{
  • "reservations": [
    ]
}

Create a reservation

Creates a reservation.

Authorizations:
X-Auth-Token
path Parameters
project_id
required
string <uuid>

Project UUID

Request Body schema: application/json
required

reservation to create

Array of objects (SelfServiceReservationItemRequest)
Array
metro_id
string <uuid>

Metro ID of the item.

plan_id
string <uuid>

Plan ID of the item.

quantity
integer

Number of items.

term
string

Contract term of the item.

notes
string
object (CreateSelfServiceReservationRequest_period)
count
integer
Enum: 12 36
unit
string
Value: "monthly"
start_date
string <date-time>

Responses

Response Schema: application/json
created_at
string <date-time>
Array of objects (SelfServiceReservationItemResponse)
Array
amount
number <float>
id
string
metro_code
string
metro_id
string <uuid>
metro_name
string
object (Plan)
plan_id
string <uuid>
plan_name
string
plan_slug
string
plan_categories
Array of strings
quantity
integer
term
string
notes
string
organization
string
organization_id
string <uuid>
object (CreateSelfServiceReservationRequest_period)
count
integer
Enum: 12 36
unit
string
Value: "monthly"
project
string
project_id
string <uuid>
start_date
string <date-time>
status
string
total_cost
integer

Request samples

Content type
application/json
{
  • "item": [
    ],
  • "notes": "string",
  • "period": {
    },
  • "start_date": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "item": [
    ],
  • "notes": "string",
  • "organization": "string",
  • "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
  • "period": {
    },
  • "project": "string",
  • "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
  • "start_date": "2019-08-24T14:15:22Z",
  • "status": "string",
  • "total_cost": 0
}

Retrieve a reservation

Returns a reservation

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Reservation short_id

project_id
required
string <uuid>

Project UUID

Responses

Response Schema: application/json
created_at
string <date-time>
Array of objects (SelfServiceReservationItemResponse)
Array
amount
number <float>
id
string
metro_code
string
metro_id
string <uuid>
metro_name
string
object (Plan)
plan_id
string <uuid>
plan_name
string
plan_slug
string
plan_categories
Array of strings
quantity
integer
term
string
notes
string
organization
string
organization_id
string <uuid>
object (CreateSelfServiceReservationRequest_period)
count
integer
Enum: 12 36
unit
string
Value: "monthly"
project
string
project_id
string <uuid>
start_date
string <date-time>
status
string
total_cost
integer

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "item": [
    ],
  • "notes": "string",
  • "organization": "string",
  • "organization_id": "7c60d51f-b44e-4682-87d6-449835ea4de6",
  • "period": {
    },
  • "project": "string",
  • "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
  • "start_date": "2019-08-24T14:15:22Z",
  • "status": "string",
  • "total_cost": 0
}

SpotMarket

Spot Market Pricing and Requests Management. Check out the product docs to learn more about Spot Market features.

Get current spot market prices

Get Equinix Metal current spot market prices.

Authorizations:
X-Auth-Token
query Parameters
facility
string

Facility to check spot market prices

plan
string

Plan to check spot market prices

Responses

Response Schema: application/json
object (SpotPricesReport)
object (SpotPricesPerFacility)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerNewFacility)
object (SpotPricesPerBaremetal)
price
number <float>
object (SpotPricesPerNewFacility)
object (SpotPricesPerBaremetal)
price
number <float>
object (SpotPricesPerFacility)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerNewFacility)
object (SpotPricesPerBaremetal)
price
number <float>
object (SpotPricesPerNewFacility)
object (SpotPricesPerBaremetal)
price
number <float>
object (SpotPricesPerNewFacility)
object (SpotPricesPerBaremetal)
price
number <float>
object (SpotPricesPerFacility)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerNewFacility)
object (SpotPricesPerBaremetal)
price
number <float>
object (SpotPricesPerNewFacility)
object (SpotPricesPerBaremetal)
price
number <float>
object (SpotPricesPerNewFacility)
object (SpotPricesPerBaremetal)
price
number <float>
object (SpotPricesPerFacility)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerNewFacility)
object (SpotPricesPerBaremetal)
price
number <float>
object (SpotPricesPerNewFacility)
object (SpotPricesPerBaremetal)
price
number <float>

Response samples

Content type
application/json
{
  • "spot_market_prices": {
    }
}

Get spot market prices for a given period of time

Get spot market prices for a given plan and facility in a fixed period of time

Note: In the 200 response, the property datapoints contains arrays of [float, integer].

Authorizations:
X-Auth-Token
query Parameters
facility
required
string

Facility to check spot market prices

plan
required
string

Plan to check spot market prices

metro
string

Metro to check spot market price history

from
required
string

Timestamp from range

until
required
string

Timestamp to range

Responses

Response Schema: application/json
object (SpotPricesDatapoints)
datapoints
Array of numbers (SpotPricesDatapointsList) [ items ]

Response samples

Content type
application/json
{
  • "prices_history": {
    }
}

Get current spot market prices for metros

Get Equinix Metal current spot market prices for all metros.

Authorizations:
X-Auth-Token
query Parameters
metro
string

Metro to filter spot market prices

plan
string

Plan to filter spot market prices

Responses

Response Schema: application/json
object (SpotMarketPricesPerMetroReport)
object (SpotPricesPerFacility)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerFacility)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerFacility)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerFacility)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerFacility)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerFacility)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerFacility)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)
object (SpotPricesPerBaremetal)

Response samples

Content type
application/json
{
  • "spot_market_prices": {
    }
}

List spot market requests

View all spot market requests for a given project.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

Responses

Response Schema: application/json
Array of objects (SpotMarketRequest)
Array
created_at
string <date-time>
devices_max
integer
devices_min
integer
end_at
string <date-time>
object (Href)
href
string
id
string <uuid>
object (Href)
max_bid_price
number <float>
object (SpotMarketRequest_metro)

The metro the spot market request was created in

object (Href)

Response samples

Content type
application/json
{
  • "spot_market_requests": [
    ]
}

Create a spot market request

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.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

Request Body schema: application/json
required

Spot Market Request to create

devices_max
integer
devices_min
integer
end_at
string <date-time>
object (SpotMarketRequestCreateInput_instance_parameters)
always_pxe
boolean
billing_cycle
string
customdata
object
description
string
features
Array of strings
hostname
string
hostnames
Array of strings
locked
boolean

Whether the device should be locked, preventing accidental deletion.

no_ssh_keys
boolean
operating_system
string
plan
string
private_ipv4_subnet_size
integer
project_ssh_keys
Array of strings <uuid> [ items <uuid > ]
public_ipv4_subnet_size
integer
tags
Array of strings
termination_time
string <date-time>
user_ssh_keys
Array of strings <uuid> [ items <uuid > ]

The UUIDs of users whose SSH keys should be included on the provisioned device.

userdata
string
max_bid_price
number <float>
metro
string

The metro ID or code the spot market request will be created in.

Responses

Response Schema: application/json
created_at
string <date-time>
devices_max
integer
devices_min
integer
end_at
string <date-time>
object (Href)
href
required
string
href
string
id
string <uuid>
object (Href)
href
required
string
max_bid_price
number <float>
object (SpotMarketRequest_metro)

The metro the spot market request was created in

code
string
country
string
id
string <uuid>
name
string
object (Href)
href
required
string

Request samples

Content type
application/json
{
  • "devices_max": 0,
  • "devices_min": 0,
  • "end_at": "2019-08-24T14:15:22Z",
  • "instance_parameters": {
    },
  • "max_bid_price": 0.1,
  • "metro": "string"
}

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "devices_max": 0,
  • "devices_min": 0,
  • "end_at": "2019-08-24T14:15:22Z",
  • "facilities": {
    },
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "instances": {
    },
  • "max_bid_price": 0.1,
  • "metro": {
    },
  • "project": {
    }
}

Delete the spot market request

Deletes the spot market request.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

SpotMarketRequest UUID

query Parameters
force_termination
boolean

Terminate associated spot instances

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve a spot market request

Returns a single spot market request

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

SpotMarketRequest UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
created_at
string <date-time>
devices_max
integer
devices_min
integer
end_at
string <date-time>
object (Href)
href
required
string
href
string
id
string <uuid>
object (Href)
href
required
string
max_bid_price
number <float>
object (SpotMarketRequest_metro)

The metro the spot market request was created in

code
string
country
string
id
string <uuid>
name
string
object (Href)
href
required
string

Response samples

Content type
application/json
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "devices_max": 0,
  • "devices_min": 0,
  • "end_at": "2019-08-24T14:15:22Z",
  • "facilities": {
    },
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "instances": {
    },
  • "max_bid_price": 0.1,
  • "metro": {
    },
  • "project": {
    }
}

Validate user data

Validates user data (Userdata)

Authorizations:
X-Auth-Token
query Parameters
userdata
string

Userdata to validate

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Volumes

Volume Management (Block Storage). Notice: Block storage support will be deprecated soon. Please check here: https://deploy.equinix.com/developers/docs/metal/storage/storage-appliances/ for more details.

BGP

Manage BGP configs and sessions. See device endpoints to create and list BGP sessions for a particular device. Check out the product docs to learn more about Local and Global BGP.

Delete the BGP session

Deletes the BGP session.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

BGP session UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve a BGP session

Returns a BGP session

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

BGP session UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
address_family
required
string
Enum: "ipv4" "ipv6"
created_at
string <date-time>
default_route
boolean
object (Href)
href
required
string
href
string
id
string <uuid>
learned_routes
Array of strings
status
string

The status of the BGP Session. Multiple status values may be reported when the device is connected to multiple switches, one value per switch. Each status will start with "unknown" and progress to "up" or "down" depending on the connected device. Subsequent "unknown" values indicate a problem acquiring status from the switch.

updated_at
string <date-time>

Response samples

Content type
application/json
{
  • "address_family": "ipv4",
  • "created_at": "2019-08-24T14:15:22Z",
  • "default_route": true,
  • "device": {
    },
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "learned_routes": [
    ],
  • "status": "up,down",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update the BGP session

Updates the BGP session by either enabling or disabling the default route functionality.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

BGP session UUID

Request Body schema: application/json
required

Default route

boolean

Responses

Request samples

Content type
application/json
true

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve a bgp config

Returns a bgp config

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Responses

Response Schema: application/json
asn
integer <int64> [ 0 .. 4294967295 ]

Autonomous System Number. ASN is required with Global BGP. With Local BGP the private ASN, 65000, is assigned.

created_at
string <date-time>
deployment_type
string
Enum: "global" "local"

In a Local BGP deployment, a customer uses an internal ASN to control routes within a single Equinix Metal datacenter. This means that the routes are never advertised to the global Internet. Global BGP, on the other hand, requires a customer to have a registered ASN and IP space.

href
string
id
string <uuid>
max_prefix
integer
Default: 10

The maximum number of route filters allowed per server

md5
string or null

(Optional) Password for BGP session in plaintext (not a checksum)

object (Href)
href
required
string
Array of objects (GlobalBgpRange)

The IP block ranges associated to the ASN (Populated in Global BGP only)

Array
address_family
integer
href
string
id
string <uuid>
object (Href)
range
string
requested_at
string <date-time>
route_object
string

Specifies AS-MACRO (aka AS-SET) to use when building client route filters

Array of objects (BgpSession)

The direct connections between neighboring routers that want to exchange routing information.

Array
address_family
required
string
Enum: "ipv4" "ipv6"
created_at
string <date-time>
default_route
boolean
object (Href)
href
string
id
string <uuid>
learned_routes
Array of strings
status
string

The status of the BGP Session. Multiple status values may be reported when the device is connected to multiple switches, one value per switch. Each status will start with "unknown" and progress to "up" or "down" depending on the connected device. Subsequent "unknown" values indicate a problem acquiring status from the switch.

updated_at
string <date-time>
status
string
Enum: "requested" "enabled" "disabled"

Status of the BGP Config. Status "requested" is valid only with the "global" deployment_type.

Response samples

Content type
application/json
{
  • "asn": 65000,
  • "created_at": "2019-08-24T14:15:22Z",
  • "deployment_type": "local",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "max_prefix": 10,
  • "md5": "string",
  • "project": {
    },
  • "ranges": [
    ],
  • "requested_at": "2019-08-24T14:15:22Z",
  • "route_object": "string",
  • "sessions": [
    ],
  • "status": "requested"
}

Requesting bgp config

Requests to enable bgp configuration for a project.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

Request Body schema: application/json
required

BGP config Request to create

asn
required
integer <int64> [ 0 .. 4294967295 ]

Autonomous System Number for local BGP deployment.

deployment_type
required
string
Enum: "local" "global"

Wether the BGP deployment is local or global. Local deployments are configured immediately. Global deployments will need to be reviewed by Equinix Metal engineers.

md5
string^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[a-zA-Z\d]{10,...

The plaintext password to share between BGP neighbors as an MD5 checksum:

  • must be 10-20 characters long
  • may not include punctuation
  • must be a combination of numbers and letters
  • must contain at least one lowercase, uppercase, and digit character
use_case
string

A use case explanation (necessary for global BGP request review).

Responses

Request samples

Content type
application/json
{
  • "asn": 65000,
  • "deployment_type": "local",
  • "md5": "string",
  • "use_case": "string"
}

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve all BGP sessions for project

Provides a listing of available BGP sessions for the project.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

Responses

Response Schema: application/json
Array of objects (BgpSession)
Array
address_family
required
string
Enum: "ipv4" "ipv6"
created_at
string <date-time>
default_route
boolean
object (Href)
href
string
id
string <uuid>
learned_routes
Array of strings
status
string

The status of the BGP Session. Multiple status values may be reported when the device is connected to multiple switches, one value per switch. Each status will start with "unknown" and progress to "up" or "down" depending on the connected device. Subsequent "unknown" values indicate a problem acquiring status from the switch.

updated_at
string <date-time>

Response samples

Content type
application/json
{
  • "bgp_sessions": [
    ]
}

Retrieve all global bgp ranges

Returns all global bgp ranges for a project

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

Responses

Response Schema: application/json
Array of objects (GlobalBgpRange)
Array
address_family
integer
href
string
id
string <uuid>
object (Href)
range
string

Response samples

Content type
application/json
{
  • "global_bgp_ranges": [
    ]
}

Interconnections

Network Interconnections. See Instructions to create Network Interconnections at Check out the product docs to learn more about Equinix Fabric.

Get connectivity to network provider by metro

Displays which providers you can connect to directly from Equinix Metal Metros.

Authorizations:
X-Auth-Token

Responses

Response Schema: application/json
Array of objects (InterconnectionMetroList_metros_inner)
Array
code
string
country
string
id
string <uuid>
name
string
Array of objects (InterconnectionMetroList_metros_inner_allOf_providers_inner)

A list of providers and their equivalent regions available for connecting to the provider network.

object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer

Response samples

Content type
application/json
{
  • "metros": [
    ],
  • "meta": {
    }
}

Get Interconnection Pricing

Displays pricing information for connecting to networks outside of Equinix.

Authorizations:
X-Auth-Token

Responses

Response Schema: application/json
Array of objects (InterconnectionPricingList_provider_pricing_inner)

Pricing information per connection provider.

Array
provider
string
Array of objects (InterconnectionPricingList_provider_pricing_inner_tiers_inner)

Response samples

Content type
application/json
{
  • "provider_pricing": [
    ]
}

Delete interconnection

Delete a interconnection, its associated ports and virtual circuits.

Authorizations:
X-Auth-Token
path Parameters
connection_id
required
string <uuid>

Interconnection UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response samples

Content type
application/json
{
  • "contact_email": "string",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "metro": {
    },
  • "mode": "standard",
  • "name": "string",
  • "organization": {
    },
  • "ports": [
    ],
  • "project": {
    },
  • "redundancy": "primary",
  • "service_tokens": [
    ],
  • "authorization_code": "string",
  • "speed": 10000000000,
  • "status": "string",
  • "tags": [
    ],
  • "token": "b5507016-7da2-4777-a161-1e8042a6a377",
  • "type": "shared",
  • "fabric_provider": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "requested_by": {
    }
}

Get interconnection

Get the details of a interconnection

Authorizations:
X-Auth-Token
path Parameters
connection_id
required
string <uuid>

Interconnection UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
contact_email
string
description
string
id
string <uuid>
object (Interconnection_metro)

The location of where the shared or Dedicated Port is located. For interconnections with Dedicated Ports, this will be the location of the Dedicated Ports. For Fabric VCs (Metal Billed), this is where interconnection will be originating from, as we pre-authorize the use of one of our shared ports as the origin of the interconnection using A-Side service tokens. We only allow local connections for Fabric VCs (Metal Billed), so the destination location must be the same as the origin. For Fabric VCs (Fabric Billed), this will be the destination of the interconnection. We allow remote connections for Fabric VCs (Fabric Billed), so the origin of the interconnection can be a different metro set here.

code
string
country
string
id
string <uuid>
name
string
mode
string
Enum: "standard" "tunnel"

The mode of the interconnection (only relevant to Dedicated Ports). Shared connections won't have this field. Can be either 'standard' or 'tunnel'. The default mode of an interconnection on a Dedicated Port is 'standard'. The mode can only be changed when there are no associated virtual circuits on the interconnection. In tunnel mode, an 802.1q tunnel is added to a port to send/receive double tagged packets from server instances.

name
string
object (Organization)
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string
Array of objects (Href)
Array
href
required
string
terms
integer
twitter
string
updated_at
string <date-time>
website
string
Array of objects (InterconnectionPort)

For Fabric VCs, these represent Virtual Port(s) created for the interconnection. For dedicated interconnections, these represent the Dedicated Port(s).

Array
id
string <uuid>
object (Href)
role
string
Enum: "primary" "secondary"

Either 'primary' or 'secondary'.

status
string
Enum: "requested" "active" "deleting" "expired" "delete_failed"

For both Fabric VCs and Dedicated Ports, this will be 'requested' on creation and 'deleting' on deletion. Once the Fabric VC has found its corresponding Fabric connection, this will turn to 'active'. For Dedicated Ports, once the dedicated port is associated, this will also turn to 'active'. For Fabric VCs, this can turn into an 'expired' state if the service token associated is expired.

switch_id
string

A switch 'short ID'

Array of VlanVirtualCircuit (object) or VrfVirtualCircuit (object) (VirtualCircuit)
name
string
speed
integer <int64>
link_status
string
href
string
object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
redundancy
string
Enum: "primary" "redundant"

Either 'primary', meaning a single interconnection, or 'redundant', meaning a redundant interconnection.

Array of objects (FabricServiceToken)

For Fabric VCs (Metal Billed), this will show details of the A-Side service tokens issued for the interconnection. For Fabric VCs (Fabric Billed), this will show the details of the Z-Side service tokens issued for the interconnection. Dedicated interconnections will not have any service tokens issued. There will be one per interconnection, so for redundant interconnections, there should be two service tokens issued.

Array
expires_at
string <date-time>

The expiration date and time of the Fabric service token. Once a service token is expired, it is no longer redeemable.

id
string <uuid>

The UUID that can be used on the Fabric Portal to redeem either an A-Side or Z-Side Service Token. For Fabric VCs (Metal Billed), this UUID will represent an A-Side Service Token, which will allow interconnections to be made from Equinix Metal to other Service Providers on Fabric. For Fabric VCs (Fabric Billed), this UUID will represent a Z-Side Service Token, which will allow interconnections to be made to connect an owned Fabric Port or Virtual Device to Equinix Metal.

max_allowed_speed
integer <int64>

The maximum speed that can be selected on the Fabric Portal when configuring a interconnection with either an A-Side or Z-Side Service Token. For Fabric VCs (Metal Billed), this is what the billing is based off of, and can be one of the following options, '50mbps', '200mbps', '500mbps', '1gbps', '2gbps', '5gbps' or '10gbps'. For Fabric VCs (Fabric Billed), this will default to 10Gbps.

role
string
Enum: "primary" "secondary"

Either primary or secondary, depending on which interconnection the service token is associated to.

service_token_type
string
Enum: "a_side" "z_side"

Either 'a_side' or 'z_side', depending on which type of Fabric VC was requested.

state
string
Enum: "inactive" "active" "expired"

The state of the service token that corresponds with the service token state on Fabric. An 'inactive' state refers to a token that has not been redeemed yet on the Fabric side, an 'active' state refers to a token that has already been redeemed, and an 'expired' state refers to a token that has reached its expiry time.

authorization_code
string

For Fabric VCs (Metal Billed), this allows Fabric to connect the Metal network to any connection Fabric facilitates. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.

speed
integer <int64>

For interconnections on Dedicated Ports and shared connections, this represents the interconnection's speed in bps. For Fabric VCs, this field refers to the maximum speed of the interconnection in bps. This value will default to 10Gbps for Fabric VCs (Fabric Billed).

status
string
tags
Array of strings
token
string <uuid>

This token is used for shared interconnections to be used as the Fabric Token. This field is entirely deprecated.

type
string
Enum: "shared" "dedicated" "shared_port_vlan" "shared_port_vlan_to_csp"

The 'shared' type of interconnection refers to shared connections, or later also known as Fabric Virtual Connections (or Fabric VCs). The 'dedicated' type of interconnection refers to interconnections created with Dedicated Ports. The 'shared_port_vlan' type of interconnection refers to shared connections created without service tokens. The 'shared_port_vlan_to_csp' type of interconnection refers to connections created directly to a supported cloud service provider.

AWSFabricProvider (object) (Interconnection_fabric_provider)

Configuration information for connecting to external cloud service provider. Only available if the fabric_provider param was used when creating the interconnection.

One of
type
required
string
Value: "CSP_AWS"
account_id
required
string^\d{12}$

AWS Account ID

location
string
created_at
string <date-time>
updated_at
string <date-time>
object (Href)
href
required
string

Response samples

Content type
application/json
{
  • "contact_email": "string",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "metro": {
    },
  • "mode": "standard",
  • "name": "string",
  • "organization": {
    },
  • "ports": [
    ],
  • "project": {
    },
  • "redundancy": "primary",
  • "service_tokens": [
    ],
  • "authorization_code": "string",
  • "speed": 10000000000,
  • "status": "string",
  • "tags": [
    ],
  • "token": "b5507016-7da2-4777-a161-1e8042a6a377",
  • "type": "shared",
  • "fabric_provider": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "requested_by": {
    }
}

Update interconnection

Update the details of a interconnection

Authorizations:
X-Auth-Token
path Parameters
connection_id
required
string <uuid>

Interconnection UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

Updated interconnection details

contact_email
string
description
string
mode
string
Enum: "standard" "tunnel"

The mode of the interconnection (only relevant to Dedicated Ports). Shared connections won't have this field. Can be either 'standard' or 'tunnel'. The default mode of an interconnection on a Dedicated Port is 'standard'. The mode can only be changed when there are no associated virtual circuits on the interconnection. In tunnel mode, an 802.1q tunnel is added to a port to send/receive double tagged packets from server instances.

name
string
tags
Array of strings

Responses

Response Schema: application/json
contact_email
string
description
string
id
string <uuid>
object (Interconnection_metro)

The location of where the shared or Dedicated Port is located. For interconnections with Dedicated Ports, this will be the location of the Dedicated Ports. For Fabric VCs (Metal Billed), this is where interconnection will be originating from, as we pre-authorize the use of one of our shared ports as the origin of the interconnection using A-Side service tokens. We only allow local connections for Fabric VCs (Metal Billed), so the destination location must be the same as the origin. For Fabric VCs (Fabric Billed), this will be the destination of the interconnection. We allow remote connections for Fabric VCs (Fabric Billed), so the origin of the interconnection can be a different metro set here.

code
string
country
string
id
string <uuid>
name
string
mode
string
Enum: "standard" "tunnel"

The mode of the interconnection (only relevant to Dedicated Ports). Shared connections won't have this field. Can be either 'standard' or 'tunnel'. The default mode of an interconnection on a Dedicated Port is 'standard'. The mode can only be changed when there are no associated virtual circuits on the interconnection. In tunnel mode, an 802.1q tunnel is added to a port to send/receive double tagged packets from server instances.

name
string
object (Organization)
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string
Array of objects (Href)
Array
href
required
string
terms
integer
twitter
string
updated_at
string <date-time>
website
string
Array of objects (InterconnectionPort)

For Fabric VCs, these represent Virtual Port(s) created for the interconnection. For dedicated interconnections, these represent the Dedicated Port(s).

Array
id
string <uuid>
object (Href)
role
string
Enum: "primary" "secondary"

Either 'primary' or 'secondary'.

status
string
Enum: "requested" "active" "deleting" "expired" "delete_failed"

For both Fabric VCs and Dedicated Ports, this will be 'requested' on creation and 'deleting' on deletion. Once the Fabric VC has found its corresponding Fabric connection, this will turn to 'active'. For Dedicated Ports, once the dedicated port is associated, this will also turn to 'active'. For Fabric VCs, this can turn into an 'expired' state if the service token associated is expired.

switch_id
string

A switch 'short ID'

Array of VlanVirtualCircuit (object) or VrfVirtualCircuit (object) (VirtualCircuit)
name
string
speed
integer <int64>
link_status
string
href
string
object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
redundancy
string
Enum: "primary" "redundant"

Either 'primary', meaning a single interconnection, or 'redundant', meaning a redundant interconnection.

Array of objects (FabricServiceToken)

For Fabric VCs (Metal Billed), this will show details of the A-Side service tokens issued for the interconnection. For Fabric VCs (Fabric Billed), this will show the details of the Z-Side service tokens issued for the interconnection. Dedicated interconnections will not have any service tokens issued. There will be one per interconnection, so for redundant interconnections, there should be two service tokens issued.

Array
expires_at
string <date-time>

The expiration date and time of the Fabric service token. Once a service token is expired, it is no longer redeemable.

id
string <uuid>

The UUID that can be used on the Fabric Portal to redeem either an A-Side or Z-Side Service Token. For Fabric VCs (Metal Billed), this UUID will represent an A-Side Service Token, which will allow interconnections to be made from Equinix Metal to other Service Providers on Fabric. For Fabric VCs (Fabric Billed), this UUID will represent a Z-Side Service Token, which will allow interconnections to be made to connect an owned Fabric Port or Virtual Device to Equinix Metal.

max_allowed_speed
integer <int64>

The maximum speed that can be selected on the Fabric Portal when configuring a interconnection with either an A-Side or Z-Side Service Token. For Fabric VCs (Metal Billed), this is what the billing is based off of, and can be one of the following options, '50mbps', '200mbps', '500mbps', '1gbps', '2gbps', '5gbps' or '10gbps'. For Fabric VCs (Fabric Billed), this will default to 10Gbps.

role
string
Enum: "primary" "secondary"

Either primary or secondary, depending on which interconnection the service token is associated to.

service_token_type
string
Enum: "a_side" "z_side"

Either 'a_side' or 'z_side', depending on which type of Fabric VC was requested.

state
string
Enum: "inactive" "active" "expired"

The state of the service token that corresponds with the service token state on Fabric. An 'inactive' state refers to a token that has not been redeemed yet on the Fabric side, an 'active' state refers to a token that has already been redeemed, and an 'expired' state refers to a token that has reached its expiry time.

authorization_code
string

For Fabric VCs (Metal Billed), this allows Fabric to connect the Metal network to any connection Fabric facilitates. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.

speed
integer <int64>

For interconnections on Dedicated Ports and shared connections, this represents the interconnection's speed in bps. For Fabric VCs, this field refers to the maximum speed of the interconnection in bps. This value will default to 10Gbps for Fabric VCs (Fabric Billed).

status
string
tags
Array of strings
token
string <uuid>

This token is used for shared interconnections to be used as the Fabric Token. This field is entirely deprecated.

type
string
Enum: "shared" "dedicated" "shared_port_vlan" "shared_port_vlan_to_csp"

The 'shared' type of interconnection refers to shared connections, or later also known as Fabric Virtual Connections (or Fabric VCs). The 'dedicated' type of interconnection refers to interconnections created with Dedicated Ports. The 'shared_port_vlan' type of interconnection refers to shared connections created without service tokens. The 'shared_port_vlan_to_csp' type of interconnection refers to connections created directly to a supported cloud service provider.

AWSFabricProvider (object) (Interconnection_fabric_provider)

Configuration information for connecting to external cloud service provider. Only available if the fabric_provider param was used when creating the interconnection.

One of
type
required
string
Value: "CSP_AWS"
account_id
required
string^\d{12}$

AWS Account ID

location
string
created_at
string <date-time>
updated_at
string <date-time>
object (Href)
href
required
string

Request samples

Content type
application/json
{
  • "contact_email": "string",
  • "description": "string",
  • "mode": "standard",
  • "name": "string",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "contact_email": "string",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "metro": {
    },
  • "mode": "standard",
  • "name": "string",
  • "organization": {
    },
  • "ports": [
    ],
  • "project": {
    },
  • "redundancy": "primary",
  • "service_tokens": [
    ],
  • "authorization_code": "string",
  • "speed": 10000000000,
  • "status": "string",
  • "tags": [
    ],
  • "token": "b5507016-7da2-4777-a161-1e8042a6a377",
  • "type": "shared",
  • "fabric_provider": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "requested_by": {
    }
}

List a interconnection's ports

List the ports associated to an interconnection.

Authorizations:
X-Auth-Token
path Parameters
connection_id
required
string <uuid>

UUID of the interconnection

Responses

Response Schema: application/json
Array of objects (InterconnectionPort)
Array
id
string <uuid>
object (Href)
role
string
Enum: "primary" "secondary"

Either 'primary' or 'secondary'.

status
string
Enum: "requested" "active" "deleting" "expired" "delete_failed"

For both Fabric VCs and Dedicated Ports, this will be 'requested' on creation and 'deleting' on deletion. Once the Fabric VC has found its corresponding Fabric connection, this will turn to 'active'. For Dedicated Ports, once the dedicated port is associated, this will also turn to 'active'. For Fabric VCs, this can turn into an 'expired' state if the service token associated is expired.

switch_id
string

A switch 'short ID'

Array of VlanVirtualCircuit (object) or VrfVirtualCircuit (object) (VirtualCircuit)
name
string
speed
integer <int64>
link_status
string
href
string

Response samples

Content type
application/json
{
  • "ports": [
    ]
}

List a interconnection's virtual circuits

List the virtual circuit record(s) associated with a particular interconnection id.

Authorizations:
X-Auth-Token
path Parameters
connection_id
required
string <uuid>

UUID of the interconnection

Responses

Response Schema: application/json
Array of VlanVirtualCircuit (object) or VrfVirtualCircuit (object) (VirtualCircuit)
Array
One of
bill
boolean
Default: false

True if the Virtual Circuit is being billed. Currently, only Virtual Circuits of Fabric VCs (Metal Billed) will be billed. Usage will start the first time the Virtual Circuit becomes active, and will not stop until it is deleted from Metal.

bill_type
string or null
Enum: "metal_billed" "fabric_billed"

Fabric Billed if the Virtual Circuit is billed by Fabric. Metal Billed if the Virtual Circuit is billed by Metal. Legacy Virtual Circuits will have a value of nil.

description
string
id
string <uuid>
name
string
nni_vlan
integer
object (InterconnectionPort)
object (Project)
speed
integer <int64>

For Virtual Circuits on shared and dedicated connections, this speed should match the one set on their Interconnection Ports. For Virtual Circuits on Fabric VCs (both Metal and Fabric Billed) that have found their corresponding Fabric connection, this is the actual speed of the interconnection that was configured when setting up the interconnection on the Fabric Portal. Details on Fabric VCs are included in the specification as a developer preview and is generally unavailable. Please contact our Support team for more details.

status
string
Enum: "pending" "waiting_on_customer_vlan" "activating" "changing_vlan" "deactivating" "deleting" "active" "expired" "activation_failed" "changing_vlan_failed" "deactivation_failed" "delete_failed" "configure_fabric_routing_protocols"

The status of a Virtual Circuit is always 'pending' on creation. The status can turn to 'Waiting on Customer VLAN' if a Metro VLAN was not set yet on the Virtual Circuit and is the last step needed for full activation. For Dedicated interconnections, as long as the Dedicated Port has been associated to the Virtual Circuit and a NNI VNID has been set, it will turn to 'waiting_on_customer_vlan'. For Fabric VCs, it will only change to 'waiting_on_customer_vlan' once the corresponding Fabric connection has been found on the Fabric side. If the Fabric service token associated with the Virtual Circuit hasn't been redeemed on Fabric within the expiry time, it will change to an expired status. Once a Metro VLAN is set on the Virtual Circuit (which for Fabric VCs, can be set on creation of a Fabric VC) and the necessary set up is done, it will turn into 'Activating' status as it tries to activate the Virtual Circuit. Once the Virtual Circuit fully activates and is configured on the switch, it will turn to staus 'active'. For Fabric VCs (Metal Billed), we will start billing the moment the status of the Virtual Circuit turns to 'active'. If there are any changes to the VLAN after the Virtual Circuit is in an 'active' status, the status will show 'changing_vlan' if a new VLAN has been provided, or 'deactivating' if we are removing the VLAN. When a deletion request is issued for the Virtual Circuit, it will move to a 'deleting' status, and we will immediately unconfigure the switch for the Virtual Circuit and issue a deletion on any associated Fabric connections. Any associated Metro VLANs on the virtual circuit will also be unassociated after the switch has been successfully unconfigured. If there are any associated Fabric connections, we will only fully delete the Virtual Circuit once we have checked that the Fabric connection was fully deprovisioned on Fabric.

provider_connection_id
string

This field is relevant if using the shared_port_vlan_to_csp interconnection type. Once activated on the CSP, this field should contain the resource name that the virtual circuit is connected to on the provider's end.

tags
Array of strings
type
string
Value: "vlan"
object (Href)
vnid
integer
created_at
string <date-time>
updated_at
string <date-time>

Response samples

Content type
application/json
{
  • "virtual_circuits": [
    ]
}

Get a interconnection port

Get the details of an interconnection port.

Authorizations:
X-Auth-Token
path Parameters
connection_id
required
string <uuid>

UUID of the interconnection

id
required
string <uuid>

Port UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
id
string <uuid>
object (Href)
href
required
string
role
string
Enum: "primary" "secondary"

Either 'primary' or 'secondary'.

status
string
Enum: "requested" "active" "deleting" "expired" "delete_failed"

For both Fabric VCs and Dedicated Ports, this will be 'requested' on creation and 'deleting' on deletion. Once the Fabric VC has found its corresponding Fabric connection, this will turn to 'active'. For Dedicated Ports, once the dedicated port is associated, this will also turn to 'active'. For Fabric VCs, this can turn into an 'expired' state if the service token associated is expired.

switch_id
string

A switch 'short ID'

Array of VlanVirtualCircuit (object) or VrfVirtualCircuit (object) (VirtualCircuit)
Array
One of
bill
boolean
Default: false

True if the Virtual Circuit is being billed. Currently, only Virtual Circuits of Fabric VCs (Metal Billed) will be billed. Usage will start the first time the Virtual Circuit becomes active, and will not stop until it is deleted from Metal.

bill_type
string or null
Enum: "metal_billed" "fabric_billed"

Fabric Billed if the Virtual Circuit is billed by Fabric. Metal Billed if the Virtual Circuit is billed by Metal. Legacy Virtual Circuits will have a value of nil.

description
string
id
string <uuid>
name
string
nni_vlan
integer
port
object (InterconnectionPort) Recursive
object (Project)
speed
integer <int64>

For Virtual Circuits on shared and dedicated connections, this speed should match the one set on their Interconnection Ports. For Virtual Circuits on Fabric VCs (both Metal and Fabric Billed) that have found their corresponding Fabric connection, this is the actual speed of the interconnection that was configured when setting up the interconnection on the Fabric Portal. Details on Fabric VCs are included in the specification as a developer preview and is generally unavailable. Please contact our Support team for more details.

status
string
Enum: "pending" "waiting_on_customer_vlan" "activating" "changing_vlan" "deactivating" "deleting" "active" "expired" "activation_failed" "changing_vlan_failed" "deactivation_failed" "delete_failed" "configure_fabric_routing_protocols"

The status of a Virtual Circuit is always 'pending' on creation. The status can turn to 'Waiting on Customer VLAN' if a Metro VLAN was not set yet on the Virtual Circuit and is the last step needed for full activation. For Dedicated interconnections, as long as the Dedicated Port has been associated to the Virtual Circuit and a NNI VNID has been set, it will turn to 'waiting_on_customer_vlan'. For Fabric VCs, it will only change to 'waiting_on_customer_vlan' once the corresponding Fabric connection has been found on the Fabric side. If the Fabric service token associated with the Virtual Circuit hasn't been redeemed on Fabric within the expiry time, it will change to an expired status. Once a Metro VLAN is set on the Virtual Circuit (which for Fabric VCs, can be set on creation of a Fabric VC) and the necessary set up is done, it will turn into 'Activating' status as it tries to activate the Virtual Circuit. Once the Virtual Circuit fully activates and is configured on the switch, it will turn to staus 'active'. For Fabric VCs (Metal Billed), we will start billing the moment the status of the Virtual Circuit turns to 'active'. If there are any changes to the VLAN after the Virtual Circuit is in an 'active' status, the status will show 'changing_vlan' if a new VLAN has been provided, or 'deactivating' if we are removing the VLAN. When a deletion request is issued for the Virtual Circuit, it will move to a 'deleting' status, and we will immediately unconfigure the switch for the Virtual Circuit and issue a deletion on any associated Fabric connections. Any associated Metro VLANs on the virtual circuit will also be unassociated after the switch has been successfully unconfigured. If there are any associated Fabric connections, we will only fully delete the Virtual Circuit once we have checked that the Fabric connection was fully deprovisioned on Fabric.

provider_connection_id
string

This field is relevant if using the shared_port_vlan_to_csp interconnection type. Once activated on the CSP, this field should contain the resource name that the virtual circuit is connected to on the provider's end.

tags
Array of strings
type
string
Value: "vlan"
object (Href)
vnid
integer
created_at
string <date-time>
updated_at
string <date-time>
name
string
speed
integer <int64>
link_status
string
href
string

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "organization": {
    },
  • "role": "primary",
  • "status": "requested",
  • "switch_id": "string",
  • "virtual_circuits": [
    ],
  • "name": "string",
  • "speed": 0,
  • "link_status": "string",
  • "href": "string"
}

List a interconnection port's virtual circuits

List the virtual circuit record(s) associatiated with a particular interconnection port.

Authorizations:
X-Auth-Token
path Parameters
connection_id
required
string <uuid>

UUID of the interconnection

port_id
required
string <uuid>

UUID of the interconnection port

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
Array of VlanVirtualCircuit (object) or VrfVirtualCircuit (object) (VirtualCircuit)
Array
One of
bill
boolean
Default: false

True if the Virtual Circuit is being billed. Currently, only Virtual Circuits of Fabric VCs (Metal Billed) will be billed. Usage will start the first time the Virtual Circuit becomes active, and will not stop until it is deleted from Metal.

bill_type
string or null
Enum: "metal_billed" "fabric_billed"

Fabric Billed if the Virtual Circuit is billed by Fabric. Metal Billed if the Virtual Circuit is billed by Metal. Legacy Virtual Circuits will have a value of nil.

description
string
id
string <uuid>
name
string
nni_vlan
integer
object (InterconnectionPort)
object (Project)
speed
integer <int64>

For Virtual Circuits on shared and dedicated connections, this speed should match the one set on their Interconnection Ports. For Virtual Circuits on Fabric VCs (both Metal and Fabric Billed) that have found their corresponding Fabric connection, this is the actual speed of the interconnection that was configured when setting up the interconnection on the Fabric Portal. Details on Fabric VCs are included in the specification as a developer preview and is generally unavailable. Please contact our Support team for more details.

status
string
Enum: "pending" "waiting_on_customer_vlan" "activating" "changing_vlan" "deactivating" "deleting" "active" "expired" "activation_failed" "changing_vlan_failed" "deactivation_failed" "delete_failed" "configure_fabric_routing_protocols"

The status of a Virtual Circuit is always 'pending' on creation. The status can turn to 'Waiting on Customer VLAN' if a Metro VLAN was not set yet on the Virtual Circuit and is the last step needed for full activation. For Dedicated interconnections, as long as the Dedicated Port has been associated to the Virtual Circuit and a NNI VNID has been set, it will turn to 'waiting_on_customer_vlan'. For Fabric VCs, it will only change to 'waiting_on_customer_vlan' once the corresponding Fabric connection has been found on the Fabric side. If the Fabric service token associated with the Virtual Circuit hasn't been redeemed on Fabric within the expiry time, it will change to an expired status. Once a Metro VLAN is set on the Virtual Circuit (which for Fabric VCs, can be set on creation of a Fabric VC) and the necessary set up is done, it will turn into 'Activating' status as it tries to activate the Virtual Circuit. Once the Virtual Circuit fully activates and is configured on the switch, it will turn to staus 'active'. For Fabric VCs (Metal Billed), we will start billing the moment the status of the Virtual Circuit turns to 'active'. If there are any changes to the VLAN after the Virtual Circuit is in an 'active' status, the status will show 'changing_vlan' if a new VLAN has been provided, or 'deactivating' if we are removing the VLAN. When a deletion request is issued for the Virtual Circuit, it will move to a 'deleting' status, and we will immediately unconfigure the switch for the Virtual Circuit and issue a deletion on any associated Fabric connections. Any associated Metro VLANs on the virtual circuit will also be unassociated after the switch has been successfully unconfigured. If there are any associated Fabric connections, we will only fully delete the Virtual Circuit once we have checked that the Fabric connection was fully deprovisioned on Fabric.

provider_connection_id
string

This field is relevant if using the shared_port_vlan_to_csp interconnection type. Once activated on the CSP, this field should contain the resource name that the virtual circuit is connected to on the provider's end.

tags
Array of strings
type
string
Value: "vlan"
object (Href)
vnid
integer
created_at
string <date-time>
updated_at
string <date-time>

Response samples

Content type
application/json
{
  • "virtual_circuits": [
    ]
}

Create a new Virtual Circuit

Create a new Virtual Circuit on a Dedicated Port. To create a regular Virtual Circuit, specify a Virtual Network record and an NNI VLAN value. To create a VRF-based Virtual Circuit, specify the VRF ID and subnet, along with the NNI VLAN value.

Authorizations:
X-Auth-Token
path Parameters
connection_id
required
string <uuid>

UUID of the interconnection

port_id
required
string <uuid>

UUID of the interconnection port

Request Body schema: application/json
required

Virtual Circuit details

One of
description
string
name
string
nni_vlan
integer [ 2 .. 4094 ]
project_id
required
string <uuid>
speed
string

speed can be passed as integer number representing bps speed or string (e.g. '52m' or '100g' or '4 gbps')

tags
Array of strings
vnid
string <uuid>

A Virtual Network record UUID or the VNID of a Metro Virtual Network in your project (sent as integer).

Responses

Response Schema: application/json
One of
bill
boolean
Default: false

True if the Virtual Circuit is being billed. Currently, only Virtual Circuits of Fabric VCs (Metal Billed) will be billed. Usage will start the first time the Virtual Circuit becomes active, and will not stop until it is deleted from Metal.

bill_type
string or null
Enum: "metal_billed" "fabric_billed"

Fabric Billed if the Virtual Circuit is billed by Fabric. Metal Billed if the Virtual Circuit is billed by Metal. Legacy Virtual Circuits will have a value of nil.

description
string
id
string <uuid>
name
string
nni_vlan
integer
object (InterconnectionPort)
id
string <uuid>
object (Href)
href
required
string
role
string
Enum: "primary" "secondary"

Either 'primary' or 'secondary'.

status
string
Enum: "requested" "active" "deleting" "expired" "delete_failed"

For both Fabric VCs and Dedicated Ports, this will be 'requested' on creation and 'deleting' on deletion. Once the Fabric VC has found its corresponding Fabric connection, this will turn to 'active'. For Dedicated Ports, once the dedicated port is associated, this will also turn to 'active'. For Fabric VCs, this can turn into an 'expired' state if the service token associated is expired.

switch_id
string

A switch 'short ID'

virtual_circuits
Array of any (VirtualCircuit)
name
string
speed
integer <int64>
link_status
string
href
string
object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
speed
integer <int64>

For Virtual Circuits on shared and dedicated connections, this speed should match the one set on their Interconnection Ports. For Virtual Circuits on Fabric VCs (both Metal and Fabric Billed) that have found their corresponding Fabric connection, this is the actual speed of the interconnection that was configured when setting up the interconnection on the Fabric Portal. Details on Fabric VCs are included in the specification as a developer preview and is generally unavailable. Please contact our Support team for more details.

status
string
Enum: "pending" "waiting_on_customer_vlan" "activating" "changing_vlan" "deactivating" "deleting" "active" "expired" "activation_failed" "changing_vlan_failed" "deactivation_failed" "delete_failed" "configure_fabric_routing_protocols"

The status of a Virtual Circuit is always 'pending' on creation. The status can turn to 'Waiting on Customer VLAN' if a Metro VLAN was not set yet on the Virtual Circuit and is the last step needed for full activation. For Dedicated interconnections, as long as the Dedicated Port has been associated to the Virtual Circuit and a NNI VNID has been set, it will turn to 'waiting_on_customer_vlan'. For Fabric VCs, it will only change to 'waiting_on_customer_vlan' once the corresponding Fabric connection has been found on the Fabric side. If the Fabric service token associated with the Virtual Circuit hasn't been redeemed on Fabric within the expiry time, it will change to an expired status. Once a Metro VLAN is set on the Virtual Circuit (which for Fabric VCs, can be set on creation of a Fabric VC) and the necessary set up is done, it will turn into 'Activating' status as it tries to activate the Virtual Circuit. Once the Virtual Circuit fully activates and is configured on the switch, it will turn to staus 'active'. For Fabric VCs (Metal Billed), we will start billing the moment the status of the Virtual Circuit turns to 'active'. If there are any changes to the VLAN after the Virtual Circuit is in an 'active' status, the status will show 'changing_vlan' if a new VLAN has been provided, or 'deactivating' if we are removing the VLAN. When a deletion request is issued for the Virtual Circuit, it will move to a 'deleting' status, and we will immediately unconfigure the switch for the Virtual Circuit and issue a deletion on any associated Fabric connections. Any associated Metro VLANs on the virtual circuit will also be unassociated after the switch has been successfully unconfigured. If there are any associated Fabric connections, we will only fully delete the Virtual Circuit once we have checked that the Fabric connection was fully deprovisioned on Fabric.

provider_connection_id
string

This field is relevant if using the shared_port_vlan_to_csp interconnection type. Once activated on the CSP, this field should contain the resource name that the virtual circuit is connected to on the provider's end.

tags
Array of strings
type
string
Value: "vlan"
object (Href)
href
required
string
vnid
integer
created_at
string <date-time>
updated_at
string <date-time>

Request samples

Content type
application/json
Example
{
  • "description": "string",
  • "name": "string",
  • "nni_vlan": 2,
  • "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9",
  • "speed": "string",
  • "tags": [
    ],
  • "vnid": "0204c0b4-6efb-483f-aab4-f8d7b4151888"
}

Response samples

Content type
application/json
Example
{
  • "bill": false,
  • "bill_type": "metal_billed",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "nni_vlan": 0,
  • "port": {
    },
  • "project": {
    },
  • "speed": 0,
  • "status": "pending",
  • "provider_connection_id": "dxcon-fggxx63k",
  • "tags": [
    ],
  • "type": "vlan",
  • "virtual_network": {
    },
  • "vnid": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

List an Organization's interconnections

Returns a list of the interconnections belonging to the Organization.

Authorizations:
X-Auth-Token
path Parameters
organization_id
required
string <uuid>

UUID of the organization

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

project={project_id}
string <uuid>

Filter the list to return only the interconnections for the specified Project.

Responses

Response Schema: application/json
Array of objects (Interconnection)
Array
contact_email
string
description
string
id
string <uuid>
object (Interconnection_metro)

The location of where the shared or Dedicated Port is located. For interconnections with Dedicated Ports, this will be the location of the Dedicated Ports. For Fabric VCs (Metal Billed), this is where interconnection will be originating from, as we pre-authorize the use of one of our shared ports as the origin of the interconnection using A-Side service tokens. We only allow local connections for Fabric VCs (Metal Billed), so the destination location must be the same as the origin. For Fabric VCs (Fabric Billed), this will be the destination of the interconnection. We allow remote connections for Fabric VCs (Fabric Billed), so the origin of the interconnection can be a different metro set here.

mode
string
Enum: "standard" "tunnel"

The mode of the interconnection (only relevant to Dedicated Ports). Shared connections won't have this field. Can be either 'standard' or 'tunnel'. The default mode of an interconnection on a Dedicated Port is 'standard'. The mode can only be changed when there are no associated virtual circuits on the interconnection. In tunnel mode, an 802.1q tunnel is added to a port to send/receive double tagged packets from server instances.

name
string
object (Organization)
Array of objects (InterconnectionPort)

For Fabric VCs, these represent Virtual Port(s) created for the interconnection. For dedicated interconnections, these represent the Dedicated Port(s).

object (Project)
redundancy
string
Enum: "primary" "redundant"

Either 'primary', meaning a single interconnection, or 'redundant', meaning a redundant interconnection.

Array of objects (FabricServiceToken)

For Fabric VCs (Metal Billed), this will show details of the A-Side service tokens issued for the interconnection. For Fabric VCs (Fabric Billed), this will show the details of the Z-Side service tokens issued for the interconnection. Dedicated interconnections will not have any service tokens issued. There will be one per interconnection, so for redundant interconnections, there should be two service tokens issued.

authorization_code
string

For Fabric VCs (Metal Billed), this allows Fabric to connect the Metal network to any connection Fabric facilitates. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.

speed
integer <int64>

For interconnections on Dedicated Ports and shared connections, this represents the interconnection's speed in bps. For Fabric VCs, this field refers to the maximum speed of the interconnection in bps. This value will default to 10Gbps for Fabric VCs (Fabric Billed).

status
string
tags
Array of strings
token
string <uuid>

This token is used for shared interconnections to be used as the Fabric Token. This field is entirely deprecated.

type
string
Enum: "shared" "dedicated" "shared_port_vlan" "shared_port_vlan_to_csp"

The 'shared' type of interconnection refers to shared connections, or later also known as Fabric Virtual Connections (or Fabric VCs). The 'dedicated' type of interconnection refers to interconnections created with Dedicated Ports. The 'shared_port_vlan' type of interconnection refers to shared connections created without service tokens. The 'shared_port_vlan_to_csp' type of interconnection refers to connections created directly to a supported cloud service provider.

AWSFabricProvider (object) (Interconnection_fabric_provider)

Configuration information for connecting to external cloud service provider. Only available if the fabric_provider param was used when creating the interconnection.

created_at
string <date-time>
updated_at
string <date-time>
object (Href)
object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer

Response samples

Content type
application/json
{
  • "interconnections": [
    ],
  • "meta": {
    }
}

Request a new interconnection for the organization

Creates a new interconnection request. A Project ID must be specified in the request body for connections on shared ports.

Authorizations:
X-Auth-Token
path Parameters
organization_id
required
string <uuid>

UUID of the organization

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

Dedicated port or shared interconnection (also known as Fabric VC) creation request.

Shared interconnections can be created with the following request types:

  • VlanCSPConnectionCreateInput creates a layer 2 interconnection directly to your Cloud Service Provider.
  • SharedPortVCVlanCreateInput creates a layer 2 interconnection that you can finish configuration in Fabric. For new connections, this type is preferred to VlanFabricVCCreateInput.
  • VlanFabricVCCreateInput creates a layer 2 interconnection that you can connect through Fabric with a service token.
  • VrfFabricVCCreateInput creates a layer 3 interconnection that you can connect through Fabric with a service token.
One of
billing_account_name
string

The billing account name of the Equinix Fabric account.

contact_email
string <email>

The preferred email used for communication and notifications about the Equinix Fabric interconnection. Optional and defaults to the primary user email address when using a User API key or the organization owner email address when using a Project API key.

description
string
metro
required
string

A Metro ID or code. For interconnections with Dedicated Ports, this will be the location of the issued Dedicated Ports.

mode
string
Enum: "standard" "tunnel"

The mode of the interconnection (only relevant to Dedicated Ports). Fabric VCs won't have this field. Can be either 'standard' or 'tunnel'. The default mode of an interconnection on a Dedicated Port is 'standard'. The mode can only be changed when there are no associated virtual circuits on the interconnection. In tunnel mode, an 802.1q tunnel is added to a port to send/receive double tagged packets from server instances.

name
required
string
project
string
redundancy
required
string

Either 'primary' or 'redundant'.

speed
string

A interconnection speed, in bps, mbps, or gbps. For Dedicated Ports, this can be 10Gbps or 100Gbps.

tags
Array of strings
type
required
string
Value: "dedicated"

When requesting for a dedicated port, the value of this field should be 'dedicated'.

use_case
string

The intended use case of the dedicated port.

Responses

Response Schema: application/json
contact_email
string
description
string
id
string <uuid>
object (Interconnection_metro)

The location of where the shared or Dedicated Port is located. For interconnections with Dedicated Ports, this will be the location of the Dedicated Ports. For Fabric VCs (Metal Billed), this is where interconnection will be originating from, as we pre-authorize the use of one of our shared ports as the origin of the interconnection using A-Side service tokens. We only allow local connections for Fabric VCs (Metal Billed), so the destination location must be the same as the origin. For Fabric VCs (Fabric Billed), this will be the destination of the interconnection. We allow remote connections for Fabric VCs (Fabric Billed), so the origin of the interconnection can be a different metro set here.

code
string
country
string
id
string <uuid>
name
string
mode
string
Enum: "standard" "tunnel"

The mode of the interconnection (only relevant to Dedicated Ports). Shared connections won't have this field. Can be either 'standard' or 'tunnel'. The default mode of an interconnection on a Dedicated Port is 'standard'. The mode can only be changed when there are no associated virtual circuits on the interconnection. In tunnel mode, an 802.1q tunnel is added to a port to send/receive double tagged packets from server instances.

name
string
object (Organization)
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string
Array of objects (Href)
Array
href
required
string
terms
integer
twitter
string
updated_at
string <date-time>
website
string
Array of objects (InterconnectionPort)

For Fabric VCs, these represent Virtual Port(s) created for the interconnection. For dedicated interconnections, these represent the Dedicated Port(s).

Array
id
string <uuid>
object (Href)
role
string
Enum: "primary" "secondary"

Either 'primary' or 'secondary'.

status
string
Enum: "requested" "active" "deleting" "expired" "delete_failed"

For both Fabric VCs and Dedicated Ports, this will be 'requested' on creation and 'deleting' on deletion. Once the Fabric VC has found its corresponding Fabric connection, this will turn to 'active'. For Dedicated Ports, once the dedicated port is associated, this will also turn to 'active'. For Fabric VCs, this can turn into an 'expired' state if the service token associated is expired.

switch_id
string

A switch 'short ID'

Array of VlanVirtualCircuit (object) or VrfVirtualCircuit (object) (VirtualCircuit)
name
string
speed
integer <int64>
link_status
string
href
string
object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
redundancy
string
Enum: "primary" "redundant"

Either 'primary', meaning a single interconnection, or 'redundant', meaning a redundant interconnection.

Array of objects (FabricServiceToken)

For Fabric VCs (Metal Billed), this will show details of the A-Side service tokens issued for the interconnection. For Fabric VCs (Fabric Billed), this will show the details of the Z-Side service tokens issued for the interconnection. Dedicated interconnections will not have any service tokens issued. There will be one per interconnection, so for redundant interconnections, there should be two service tokens issued.

Array
expires_at
string <date-time>

The expiration date and time of the Fabric service token. Once a service token is expired, it is no longer redeemable.

id
string <uuid>

The UUID that can be used on the Fabric Portal to redeem either an A-Side or Z-Side Service Token. For Fabric VCs (Metal Billed), this UUID will represent an A-Side Service Token, which will allow interconnections to be made from Equinix Metal to other Service Providers on Fabric. For Fabric VCs (Fabric Billed), this UUID will represent a Z-Side Service Token, which will allow interconnections to be made to connect an owned Fabric Port or Virtual Device to Equinix Metal.

max_allowed_speed
integer <int64>

The maximum speed that can be selected on the Fabric Portal when configuring a interconnection with either an A-Side or Z-Side Service Token. For Fabric VCs (Metal Billed), this is what the billing is based off of, and can be one of the following options, '50mbps', '200mbps', '500mbps', '1gbps', '2gbps', '5gbps' or '10gbps'. For Fabric VCs (Fabric Billed), this will default to 10Gbps.

role
string
Enum: "primary" "secondary"

Either primary or secondary, depending on which interconnection the service token is associated to.

service_token_type
string
Enum: "a_side" "z_side"

Either 'a_side' or 'z_side', depending on which type of Fabric VC was requested.

state
string
Enum: "inactive" "active" "expired"

The state of the service token that corresponds with the service token state on Fabric. An 'inactive' state refers to a token that has not been redeemed yet on the Fabric side, an 'active' state refers to a token that has already been redeemed, and an 'expired' state refers to a token that has reached its expiry time.

authorization_code
string

For Fabric VCs (Metal Billed), this allows Fabric to connect the Metal network to any connection Fabric facilitates. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.

speed
integer <int64>

For interconnections on Dedicated Ports and shared connections, this represents the interconnection's speed in bps. For Fabric VCs, this field refers to the maximum speed of the interconnection in bps. This value will default to 10Gbps for Fabric VCs (Fabric Billed).

status
string
tags
Array of strings
token
string <uuid>

This token is used for shared interconnections to be used as the Fabric Token. This field is entirely deprecated.

type
string
Enum: "shared" "dedicated" "shared_port_vlan" "shared_port_vlan_to_csp"

The 'shared' type of interconnection refers to shared connections, or later also known as Fabric Virtual Connections (or Fabric VCs). The 'dedicated' type of interconnection refers to interconnections created with Dedicated Ports. The 'shared_port_vlan' type of interconnection refers to shared connections created without service tokens. The 'shared_port_vlan_to_csp' type of interconnection refers to connections created directly to a supported cloud service provider.

AWSFabricProvider (object) (Interconnection_fabric_provider)

Configuration information for connecting to external cloud service provider. Only available if the fabric_provider param was used when creating the interconnection.

One of
type
required
string
Value: "CSP_AWS"
account_id
required
string^\d{12}$

AWS Account ID

location
string
created_at
string <date-time>
updated_at
string <date-time>
object (Href)
href
required
string

Request samples

Content type
application/json
Example
{
  • "billing_account_name": "string",
  • "contact_email": "user@example.com",
  • "description": "string",
  • "metro": "string",
  • "mode": "standard",
  • "name": "string",
  • "project": "string",
  • "redundancy": "string",
  • "speed": "10000000000",
  • "tags": [
    ],
  • "type": "dedicated",
  • "use_case": "string"
}

Response samples

Content type
application/json
{
  • "contact_email": "string",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "metro": {
    },
  • "mode": "standard",
  • "name": "string",
  • "organization": {
    },
  • "ports": [
    ],
  • "project": {
    },
  • "redundancy": "primary",
  • "service_tokens": [
    ],
  • "authorization_code": "string",
  • "speed": 10000000000,
  • "status": "string",
  • "tags": [
    ],
  • "token": "b5507016-7da2-4777-a161-1e8042a6a377",
  • "type": "shared",
  • "fabric_provider": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "requested_by": {
    }
}

List a Project's and Organization's interconnections

Returns a List of all the interconnections in an Organization, including the interconnections in the specified Project. To reliably get a list of interconnections filtered to just the interconnections accessible to the specified Project, use the /organizations/{organization_id}/interconnections?project={project_id} endpoint, filtering on the Project ID.

Authorizations:
X-Auth-Token
path Parameters
project_id
required
string <uuid>

UUID of the project

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
Array of objects (Interconnection)
Array
contact_email
string
description
string
id
string <uuid>
object (Interconnection_metro)

The location of where the shared or Dedicated Port is located. For interconnections with Dedicated Ports, this will be the location of the Dedicated Ports. For Fabric VCs (Metal Billed), this is where interconnection will be originating from, as we pre-authorize the use of one of our shared ports as the origin of the interconnection using A-Side service tokens. We only allow local connections for Fabric VCs (Metal Billed), so the destination location must be the same as the origin. For Fabric VCs (Fabric Billed), this will be the destination of the interconnection. We allow remote connections for Fabric VCs (Fabric Billed), so the origin of the interconnection can be a different metro set here.

mode
string
Enum: "standard" "tunnel"

The mode of the interconnection (only relevant to Dedicated Ports). Shared connections won't have this field. Can be either 'standard' or 'tunnel'. The default mode of an interconnection on a Dedicated Port is 'standard'. The mode can only be changed when there are no associated virtual circuits on the interconnection. In tunnel mode, an 802.1q tunnel is added to a port to send/receive double tagged packets from server instances.

name
string
object (Organization)
Array of objects (InterconnectionPort)

For Fabric VCs, these represent Virtual Port(s) created for the interconnection. For dedicated interconnections, these represent the Dedicated Port(s).

object (Project)
redundancy
string
Enum: "primary" "redundant"

Either 'primary', meaning a single interconnection, or 'redundant', meaning a redundant interconnection.

Array of objects (FabricServiceToken)

For Fabric VCs (Metal Billed), this will show details of the A-Side service tokens issued for the interconnection. For Fabric VCs (Fabric Billed), this will show the details of the Z-Side service tokens issued for the interconnection. Dedicated interconnections will not have any service tokens issued. There will be one per interconnection, so for redundant interconnections, there should be two service tokens issued.

authorization_code
string

For Fabric VCs (Metal Billed), this allows Fabric to connect the Metal network to any connection Fabric facilitates. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.

speed
integer <int64>

For interconnections on Dedicated Ports and shared connections, this represents the interconnection's speed in bps. For Fabric VCs, this field refers to the maximum speed of the interconnection in bps. This value will default to 10Gbps for Fabric VCs (Fabric Billed).

status
string
tags
Array of strings
token
string <uuid>

This token is used for shared interconnections to be used as the Fabric Token. This field is entirely deprecated.

type
string
Enum: "shared" "dedicated" "shared_port_vlan" "shared_port_vlan_to_csp"

The 'shared' type of interconnection refers to shared connections, or later also known as Fabric Virtual Connections (or Fabric VCs). The 'dedicated' type of interconnection refers to interconnections created with Dedicated Ports. The 'shared_port_vlan' type of interconnection refers to shared connections created without service tokens. The 'shared_port_vlan_to_csp' type of interconnection refers to connections created directly to a supported cloud service provider.

AWSFabricProvider (object) (Interconnection_fabric_provider)

Configuration information for connecting to external cloud service provider. Only available if the fabric_provider param was used when creating the interconnection.

created_at
string <date-time>
updated_at
string <date-time>
object (Href)
object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer

Response samples

Content type
application/json
{
  • "interconnections": [
    ],
  • "meta": {
    }
}

Request a new interconnection for the project's organization

Creates a new interconnection request

Authorizations:
X-Auth-Token
path Parameters
project_id
required
string <uuid>

UUID of the project

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

Dedicated port or shared interconnection (also known as Fabric VC) creation request.

Shared interconnections can be created with the following request types:

  • VlanCSPConnectionCreateInput creates a layer 2 interconnection directly to your Cloud Service Provider.
  • SharedPortVCVlanCreateInput creates a layer 2 interconnection that you can finish configuration in Fabric. For new connections, this type is preferred to VlanFabricVCCreateInput.
  • VlanFabricVCCreateInput creates a layer 2 interconnection that you can connect through Fabric with a service token.
  • VrfFabricVCCreateInput creates a layer 3 interconnection that you can connect through Fabric with a service token.
One of
billing_account_name
string

The billing account name of the Equinix Fabric account.

contact_email
string <email>

The preferred email used for communication and notifications about the Equinix Fabric interconnection. Optional and defaults to the primary user email address when using a User API key or the organization owner email address when using a Project API key.

description
string
metro
required
string

A Metro ID or code. For interconnections with Dedicated Ports, this will be the location of the issued Dedicated Ports.

mode
string
Enum: "standard" "tunnel"

The mode of the interconnection (only relevant to Dedicated Ports). Fabric VCs won't have this field. Can be either 'standard' or 'tunnel'. The default mode of an interconnection on a Dedicated Port is 'standard'. The mode can only be changed when there are no associated virtual circuits on the interconnection. In tunnel mode, an 802.1q tunnel is added to a port to send/receive double tagged packets from server instances.

name
required
string
project
string
redundancy
required
string

Either 'primary' or 'redundant'.

speed
string

A interconnection speed, in bps, mbps, or gbps. For Dedicated Ports, this can be 10Gbps or 100Gbps.

tags
Array of strings
type
required
string
Value: "dedicated"

When requesting for a dedicated port, the value of this field should be 'dedicated'.

use_case
string

The intended use case of the dedicated port.

Responses

Response Schema: application/json
contact_email
string
description
string
id
string <uuid>
object (Interconnection_metro)

The location of where the shared or Dedicated Port is located. For interconnections with Dedicated Ports, this will be the location of the Dedicated Ports. For Fabric VCs (Metal Billed), this is where interconnection will be originating from, as we pre-authorize the use of one of our shared ports as the origin of the interconnection using A-Side service tokens. We only allow local connections for Fabric VCs (Metal Billed), so the destination location must be the same as the origin. For Fabric VCs (Fabric Billed), this will be the destination of the interconnection. We allow remote connections for Fabric VCs (Fabric Billed), so the origin of the interconnection can be a different metro set here.

code
string
country
string
id
string <uuid>
name
string
mode
string
Enum: "standard" "tunnel"

The mode of the interconnection (only relevant to Dedicated Ports). Shared connections won't have this field. Can be either 'standard' or 'tunnel'. The default mode of an interconnection on a Dedicated Port is 'standard'. The mode can only be changed when there are no associated virtual circuits on the interconnection. In tunnel mode, an 802.1q tunnel is added to a port to send/receive double tagged packets from server instances.

name
string
object (Organization)
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string
Array of objects (Href)
Array
href
required
string
terms
integer
twitter
string
updated_at
string <date-time>
website
string
Array of objects (InterconnectionPort)

For Fabric VCs, these represent Virtual Port(s) created for the interconnection. For dedicated interconnections, these represent the Dedicated Port(s).

Array
id
string <uuid>
object (Href)
role
string
Enum: "primary" "secondary"

Either 'primary' or 'secondary'.

status
string
Enum: "requested" "active" "deleting" "expired" "delete_failed"

For both Fabric VCs and Dedicated Ports, this will be 'requested' on creation and 'deleting' on deletion. Once the Fabric VC has found its corresponding Fabric connection, this will turn to 'active'. For Dedicated Ports, once the dedicated port is associated, this will also turn to 'active'. For Fabric VCs, this can turn into an 'expired' state if the service token associated is expired.

switch_id
string

A switch 'short ID'

Array of VlanVirtualCircuit (object) or VrfVirtualCircuit (object) (VirtualCircuit)
name
string
speed
integer <int64>
link_status
string
href
string
object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
redundancy
string
Enum: "primary" "redundant"

Either 'primary', meaning a single interconnection, or 'redundant', meaning a redundant interconnection.

Array of objects (FabricServiceToken)

For Fabric VCs (Metal Billed), this will show details of the A-Side service tokens issued for the interconnection. For Fabric VCs (Fabric Billed), this will show the details of the Z-Side service tokens issued for the interconnection. Dedicated interconnections will not have any service tokens issued. There will be one per interconnection, so for redundant interconnections, there should be two service tokens issued.

Array
expires_at
string <date-time>

The expiration date and time of the Fabric service token. Once a service token is expired, it is no longer redeemable.

id
string <uuid>

The UUID that can be used on the Fabric Portal to redeem either an A-Side or Z-Side Service Token. For Fabric VCs (Metal Billed), this UUID will represent an A-Side Service Token, which will allow interconnections to be made from Equinix Metal to other Service Providers on Fabric. For Fabric VCs (Fabric Billed), this UUID will represent a Z-Side Service Token, which will allow interconnections to be made to connect an owned Fabric Port or Virtual Device to Equinix Metal.

max_allowed_speed
integer <int64>

The maximum speed that can be selected on the Fabric Portal when configuring a interconnection with either an A-Side or Z-Side Service Token. For Fabric VCs (Metal Billed), this is what the billing is based off of, and can be one of the following options, '50mbps', '200mbps', '500mbps', '1gbps', '2gbps', '5gbps' or '10gbps'. For Fabric VCs (Fabric Billed), this will default to 10Gbps.

role
string
Enum: "primary" "secondary"

Either primary or secondary, depending on which interconnection the service token is associated to.

service_token_type
string
Enum: "a_side" "z_side"

Either 'a_side' or 'z_side', depending on which type of Fabric VC was requested.

state
string
Enum: "inactive" "active" "expired"

The state of the service token that corresponds with the service token state on Fabric. An 'inactive' state refers to a token that has not been redeemed yet on the Fabric side, an 'active' state refers to a token that has already been redeemed, and an 'expired' state refers to a token that has reached its expiry time.

authorization_code
string

For Fabric VCs (Metal Billed), this allows Fabric to connect the Metal network to any connection Fabric facilitates. Fabric uses this token to be able to give more detailed information about the Metal end of the network, when viewing resources from within Fabric.

speed
integer <int64>

For interconnections on Dedicated Ports and shared connections, this represents the interconnection's speed in bps. For Fabric VCs, this field refers to the maximum speed of the interconnection in bps. This value will default to 10Gbps for Fabric VCs (Fabric Billed).

status
string
tags
Array of strings
token
string <uuid>

This token is used for shared interconnections to be used as the Fabric Token. This field is entirely deprecated.

type
string
Enum: "shared" "dedicated" "shared_port_vlan" "shared_port_vlan_to_csp"

The 'shared' type of interconnection refers to shared connections, or later also known as Fabric Virtual Connections (or Fabric VCs). The 'dedicated' type of interconnection refers to interconnections created with Dedicated Ports. The 'shared_port_vlan' type of interconnection refers to shared connections created without service tokens. The 'shared_port_vlan_to_csp' type of interconnection refers to connections created directly to a supported cloud service provider.

AWSFabricProvider (object) (Interconnection_fabric_provider)

Configuration information for connecting to external cloud service provider. Only available if the fabric_provider param was used when creating the interconnection.

One of
type
required
string
Value: "CSP_AWS"
account_id
required
string^\d{12}$

AWS Account ID

location
string
created_at
string <date-time>
updated_at
string <date-time>
object (Href)
href
required
string

Request samples

Content type
application/json
Example
{
  • "billing_account_name": "string",
  • "contact_email": "user@example.com",
  • "description": "string",
  • "metro": "string",
  • "mode": "standard",
  • "name": "string",
  • "project": "string",
  • "redundancy": "string",
  • "speed": "10000000000",
  • "tags": [
    ],
  • "type": "dedicated",
  • "use_case": "string"
}

Response samples

Content type
application/json
{
  • "contact_email": "string",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "metro": {
    },
  • "mode": "standard",
  • "name": "string",
  • "organization": {
    },
  • "ports": [
    ],
  • "project": {
    },
  • "redundancy": "primary",
  • "service_tokens": [
    ],
  • "authorization_code": "string",
  • "speed": 10000000000,
  • "status": "string",
  • "tags": [
    ],
  • "token": "b5507016-7da2-4777-a161-1e8042a6a377",
  • "type": "shared",
  • "fabric_provider": {
    },
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "requested_by": {
    }
}

Delete a virtual circuit

Delete a virtual circuit from a Dedicated Port.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Virtual Circuit UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response samples

Content type
application/json
Example
{
  • "bill": false,
  • "bill_type": "metal_billed",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "nni_vlan": 0,
  • "port": {
    },
  • "project": {
    },
  • "speed": 0,
  • "status": "pending",
  • "provider_connection_id": "dxcon-fggxx63k",
  • "tags": [
    ],
  • "type": "vlan",
  • "virtual_network": {
    },
  • "vnid": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Get a virtual circuit

Get the details of a virtual circuit

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Virtual Circuit UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
One of
bill
boolean
Default: false

True if the Virtual Circuit is being billed. Currently, only Virtual Circuits of Fabric VCs (Metal Billed) will be billed. Usage will start the first time the Virtual Circuit becomes active, and will not stop until it is deleted from Metal.

bill_type
string or null
Enum: "metal_billed" "fabric_billed"

Fabric Billed if the Virtual Circuit is billed by Fabric. Metal Billed if the Virtual Circuit is billed by Metal. Legacy Virtual Circuits will have a value of nil.

description
string
id
string <uuid>
name
string
nni_vlan
integer
object (InterconnectionPort)
id
string <uuid>
object (Href)
href
required
string
role
string
Enum: "primary" "secondary"

Either 'primary' or 'secondary'.

status
string
Enum: "requested" "active" "deleting" "expired" "delete_failed"

For both Fabric VCs and Dedicated Ports, this will be 'requested' on creation and 'deleting' on deletion. Once the Fabric VC has found its corresponding Fabric connection, this will turn to 'active'. For Dedicated Ports, once the dedicated port is associated, this will also turn to 'active'. For Fabric VCs, this can turn into an 'expired' state if the service token associated is expired.

switch_id
string

A switch 'short ID'

virtual_circuits
Array of any (VirtualCircuit)
name
string
speed
integer <int64>
link_status
string
href
string
object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
speed
integer <int64>

For Virtual Circuits on shared and dedicated connections, this speed should match the one set on their Interconnection Ports. For Virtual Circuits on Fabric VCs (both Metal and Fabric Billed) that have found their corresponding Fabric connection, this is the actual speed of the interconnection that was configured when setting up the interconnection on the Fabric Portal. Details on Fabric VCs are included in the specification as a developer preview and is generally unavailable. Please contact our Support team for more details.

status
string
Enum: "pending" "waiting_on_customer_vlan" "activating" "changing_vlan" "deactivating" "deleting" "active" "expired" "activation_failed" "changing_vlan_failed" "deactivation_failed" "delete_failed" "configure_fabric_routing_protocols"

The status of a Virtual Circuit is always 'pending' on creation. The status can turn to 'Waiting on Customer VLAN' if a Metro VLAN was not set yet on the Virtual Circuit and is the last step needed for full activation. For Dedicated interconnections, as long as the Dedicated Port has been associated to the Virtual Circuit and a NNI VNID has been set, it will turn to 'waiting_on_customer_vlan'. For Fabric VCs, it will only change to 'waiting_on_customer_vlan' once the corresponding Fabric connection has been found on the Fabric side. If the Fabric service token associated with the Virtual Circuit hasn't been redeemed on Fabric within the expiry time, it will change to an expired status. Once a Metro VLAN is set on the Virtual Circuit (which for Fabric VCs, can be set on creation of a Fabric VC) and the necessary set up is done, it will turn into 'Activating' status as it tries to activate the Virtual Circuit. Once the Virtual Circuit fully activates and is configured on the switch, it will turn to staus 'active'. For Fabric VCs (Metal Billed), we will start billing the moment the status of the Virtual Circuit turns to 'active'. If there are any changes to the VLAN after the Virtual Circuit is in an 'active' status, the status will show 'changing_vlan' if a new VLAN has been provided, or 'deactivating' if we are removing the VLAN. When a deletion request is issued for the Virtual Circuit, it will move to a 'deleting' status, and we will immediately unconfigure the switch for the Virtual Circuit and issue a deletion on any associated Fabric connections. Any associated Metro VLANs on the virtual circuit will also be unassociated after the switch has been successfully unconfigured. If there are any associated Fabric connections, we will only fully delete the Virtual Circuit once we have checked that the Fabric connection was fully deprovisioned on Fabric.

provider_connection_id
string

This field is relevant if using the shared_port_vlan_to_csp interconnection type. Once activated on the CSP, this field should contain the resource name that the virtual circuit is connected to on the provider's end.

tags
Array of strings
type
string
Value: "vlan"
object (Href)
href
required
string
vnid
integer
created_at
string <date-time>
updated_at
string <date-time>

Response samples

Content type
application/json
Example
{
  • "bill": false,
  • "bill_type": "metal_billed",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "nni_vlan": 0,
  • "port": {
    },
  • "project": {
    },
  • "speed": 0,
  • "status": "pending",
  • "provider_connection_id": "dxcon-fggxx63k",
  • "tags": [
    ],
  • "type": "vlan",
  • "virtual_network": {
    },
  • "vnid": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

Update a virtual circuit

Update the details of a virtual circuit.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Virtual Circuit UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

Updated Virtual Circuit details

One of
description
string
name
string
speed
string

Speed can be changed only if it is an interconnection on a Dedicated Port

tags
Array of strings
vnid
string

A Virtual Network record UUID or the VNID of a Metro Virtual Network in your project.

Responses

Response Schema: application/json
One of
bill
boolean
Default: false

True if the Virtual Circuit is being billed. Currently, only Virtual Circuits of Fabric VCs (Metal Billed) will be billed. Usage will start the first time the Virtual Circuit becomes active, and will not stop until it is deleted from Metal.

bill_type
string or null
Enum: "metal_billed" "fabric_billed"

Fabric Billed if the Virtual Circuit is billed by Fabric. Metal Billed if the Virtual Circuit is billed by Metal. Legacy Virtual Circuits will have a value of nil.

description
string
id
string <uuid>
name
string
nni_vlan
integer
object (InterconnectionPort)
id
string <uuid>
object (Href)
href
required
string
role
string
Enum: "primary" "secondary"

Either 'primary' or 'secondary'.

status
string
Enum: "requested" "active" "deleting" "expired" "delete_failed"

For both Fabric VCs and Dedicated Ports, this will be 'requested' on creation and 'deleting' on deletion. Once the Fabric VC has found its corresponding Fabric connection, this will turn to 'active'. For Dedicated Ports, once the dedicated port is associated, this will also turn to 'active'. For Fabric VCs, this can turn into an 'expired' state if the service token associated is expired.

switch_id
string

A switch 'short ID'

virtual_circuits
Array of any (VirtualCircuit)
name
string
speed
integer <int64>
link_status
string
href
string
object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
speed
integer <int64>

For Virtual Circuits on shared and dedicated connections, this speed should match the one set on their Interconnection Ports. For Virtual Circuits on Fabric VCs (both Metal and Fabric Billed) that have found their corresponding Fabric connection, this is the actual speed of the interconnection that was configured when setting up the interconnection on the Fabric Portal. Details on Fabric VCs are included in the specification as a developer preview and is generally unavailable. Please contact our Support team for more details.

status
string
Enum: "pending" "waiting_on_customer_vlan" "activating" "changing_vlan" "deactivating" "deleting" "active" "expired" "activation_failed" "changing_vlan_failed" "deactivation_failed" "delete_failed" "configure_fabric_routing_protocols"

The status of a Virtual Circuit is always 'pending' on creation. The status can turn to 'Waiting on Customer VLAN' if a Metro VLAN was not set yet on the Virtual Circuit and is the last step needed for full activation. For Dedicated interconnections, as long as the Dedicated Port has been associated to the Virtual Circuit and a NNI VNID has been set, it will turn to 'waiting_on_customer_vlan'. For Fabric VCs, it will only change to 'waiting_on_customer_vlan' once the corresponding Fabric connection has been found on the Fabric side. If the Fabric service token associated with the Virtual Circuit hasn't been redeemed on Fabric within the expiry time, it will change to an expired status. Once a Metro VLAN is set on the Virtual Circuit (which for Fabric VCs, can be set on creation of a Fabric VC) and the necessary set up is done, it will turn into 'Activating' status as it tries to activate the Virtual Circuit. Once the Virtual Circuit fully activates and is configured on the switch, it will turn to staus 'active'. For Fabric VCs (Metal Billed), we will start billing the moment the status of the Virtual Circuit turns to 'active'. If there are any changes to the VLAN after the Virtual Circuit is in an 'active' status, the status will show 'changing_vlan' if a new VLAN has been provided, or 'deactivating' if we are removing the VLAN. When a deletion request is issued for the Virtual Circuit, it will move to a 'deleting' status, and we will immediately unconfigure the switch for the Virtual Circuit and issue a deletion on any associated Fabric connections. Any associated Metro VLANs on the virtual circuit will also be unassociated after the switch has been successfully unconfigured. If there are any associated Fabric connections, we will only fully delete the Virtual Circuit once we have checked that the Fabric connection was fully deprovisioned on Fabric.

provider_connection_id
string

This field is relevant if using the shared_port_vlan_to_csp interconnection type. Once activated on the CSP, this field should contain the resource name that the virtual circuit is connected to on the provider's end.

tags
Array of strings
type
string
Value: "vlan"
object (Href)
href
required
string
vnid
integer
created_at
string <date-time>
updated_at
string <date-time>

Request samples

Content type
application/json
Example
{
  • "description": "string",
  • "name": "string",
  • "speed": "string",
  • "tags": [
    ],
  • "vnid": "string"
}

Response samples

Content type
application/json
Example
{
  • "bill": false,
  • "bill_type": "metal_billed",
  • "description": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "nni_vlan": 0,
  • "port": {
    },
  • "project": {
    },
  • "speed": 0,
  • "status": "pending",
  • "provider_connection_id": "dxcon-fggxx63k",
  • "tags": [
    ],
  • "type": "vlan",
  • "virtual_network": {
    },
  • "vnid": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z"
}

IPAddresses

Manage IP addresses. See device and project endpoints to list and create IP assignments for a particular project or device. Check out the product docs to learn more about the basic networking features.

Unassign an ip address

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 or metal gateway and will make the IP address available to be assigned to another device, once the IP has been un-configured from the network.

Delete an 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.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

IP Address UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve an ip address

Returns a single ip address if the user has access.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

IP Address UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
One of
address
string
address_family
integer
object (Href)
href
required
string
cidr
integer
created_at
string <date-time>
enabled
boolean
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (IPAssignment_metro)

The metro the IP address is in

code
string
country
string
id
string <uuid>
name
string
netmask
string
network
string
object (ParentBlock)
cidr
integer
href
string
netmask
string
network
string
public
boolean
state
string
Enum: "pending" "active" "deleting"

Only set when this is a Metal Gateway Elastic IP Assignment.

Describes the current configuration state of this IP on the network.

next_hop
string <ipv4>

Only set when this is a Metal Gateway Elastic IP Assignment.

The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded.

Response samples

Content type
application/json
Example
{
  • "address": "string",
  • "address_family": 0,
  • "assigned_to": {
    },
  • "cidr": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "enabled": true,
  • "gateway": "string",
  • "global_ip": true,
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "manageable": true,
  • "management": true,
  • "metro": {
    },
  • "netmask": "string",
  • "network": "string",
  • "parent_block": {
    },
  • "public": true,
  • "state": "pending",
  • "next_hop": "192.168.0.1"
}

Update an ip address

Update details about an ip address

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

IP Address UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
details
string
customdata
object
tags
Array of strings

Responses

Response Schema: application/json
One of
address
string
address_family
integer
object (Href)
href
required
string
cidr
integer
created_at
string <date-time>
enabled
boolean
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (IPAssignment_metro)

The metro the IP address is in

code
string
country
string
id
string <uuid>
name
string
netmask
string
network
string
object (ParentBlock)
cidr
integer
href
string
netmask
string
network
string
public
boolean
state
string
Enum: "pending" "active" "deleting"

Only set when this is a Metal Gateway Elastic IP Assignment.

Describes the current configuration state of this IP on the network.

next_hop
string <ipv4>

Only set when this is a Metal Gateway Elastic IP Assignment.

The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded.

Request samples

Content type
application/json
{
  • "details": "string",
  • "customdata": { },
  • "tags": [
    ]
}

Response samples

Content type
application/json
Example
{
  • "address": "string",
  • "address_family": 0,
  • "assigned_to": {
    },
  • "cidr": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "enabled": true,
  • "gateway": "string",
  • "global_ip": true,
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "manageable": true,
  • "management": true,
  • "metro": {
    },
  • "netmask": "string",
  • "network": "string",
  • "parent_block": {
    },
  • "public": true,
  • "state": "pending",
  • "next_hop": "192.168.0.1"
}

Retrieve all available subnets of a particular reservation

Provides a list of IP resevations for a single project.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

IP Reservation UUID

query Parameters
cidr
required
string
Enum: "20" "21" "22" "23" "24" "25" "26" "27" "28" "29" "30" "31" "32" "33" "34" "35" "36" "37" "38" "39" "40" "41" "42" "43" "44" "45" "46" "47" "48" "49" "50" "51" "52" "53" "54" "55" "56" "57" "58" "59" "60" "61" "62" "63" "64" "65" "66" "67" "68" "69" "70" "71" "72" "73" "74" "75" "76" "77" "78" "79" "80" "81" "82" "83" "84" "85" "86" "87" "88" "89" "90" "91" "92" "93" "94" "95" "96" "97" "98" "99" "100" "101" "102" "103" "104" "105" "106" "107" "108" "109" "110" "111" "112" "113" "114" "115" "116" "117" "118" "119" "120" "121" "122" "123" "124" "125" "126" "127" "128"

Size of subnets in bits

Responses

Response Schema: application/json
available
Array of strings

Response samples

Content type
application/json
{
  • "available": [
    ]
}

Retrieve the custom metadata of an IP Reservation or IP Assignment

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

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Ip Reservation UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve all ip reservations

Provides a paginated list of IP reservations for a single project.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
types
Array of strings
Items Enum: "global_ipv4" "private_ipv4" "public_ipv4" "public_ipv6" "vrf"

Filter project IP reservations by reservation type

include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

per_page
integer <int32> [ 1 .. 1000 ]
Default: 250

Items returned per page

Responses

Response Schema: application/json
Array of IPReservation (object) or VrfIpReservation (object) (IPReservationList_ip_addresses_inner)
Array
Any of
addon
boolean
address
string
address_family
integer
Array of objects (IPAssignment)
available
string
bill
boolean
cidr
integer
created_at
string <date-time>
customdata
object
enabled
boolean
details
string
object (IPReservation_facility)

The facility the IP reservation is in. If the facility the IP reservation was requested in is in a metro, a metro value will also be set, and the subsequent IP reservation can be used on a metro level. Can be null if requesting an IP reservation in a metro.

gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (MetalGatewayLite)
object (IPReservation_metro)

The metro the IP reservation is in. As long as the IP reservation has a metro, it can be used on a metro level. Can be null if requesting an IP reservation in a facility that is not in a metro.

netmask
string
network
string
object (Project)
object (Href)
object (Href)
public
boolean
state
string
tags
Array of strings
type
required
string
Enum: "global_ipv4" "public_ipv4" "private_ipv4" "public_ipv6"
object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer

Response samples

Content type
application/json
{
  • "ip_addresses": [
    ],
  • "meta": {
    }
}

Requesting IP reservations

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.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

IP Reservation Request to create

One of
comments
string
customdata
object
details
string
facility
string
fail_on_approval_required
boolean
metro
string

The code of the metro you are requesting the IP reservation in.

quantity
required
integer
tags
Array of strings
type
required
string

Responses

Response Schema: application/json
One of
addon
boolean
address
string
address_family
integer
Array of objects (IPAssignment)
Array
address
string
address_family
integer
object (Href)
cidr
integer
created_at
string <date-time>
enabled
boolean
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (IPAssignment_metro)

The metro the IP address is in

netmask
string
network
string
object (ParentBlock)
public
boolean
state
string
Enum: "pending" "active" "deleting"

Only set when this is a Metal Gateway Elastic IP Assignment.

Describes the current configuration state of this IP on the network.

next_hop
string <ipv4>

Only set when this is a Metal Gateway Elastic IP Assignment.

The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded.

available
string
bill
boolean
cidr
integer
created_at
string <date-time>
customdata
object
enabled
boolean
details
string
object (IPReservation_facility)

The facility the IP reservation is in. If the facility the IP reservation was requested in is in a metro, a metro value will also be set, and the subsequent IP reservation can be used on a metro level. Can be null if requesting an IP reservation in a metro.

object (Address)
address
required
string
address2
string
city
string
object (Coordinates)
country
required
string
state
string
zip_code
required
string
code
string
features
Array of strings
Items Enum: "baremetal" "backend_transfer" "layer_2" "global_ipv4" "ibx"
id
string <uuid>
ip_ranges
Array of strings

IP ranges registered in facility. Can be used for GeoIP location

object (Device_metro)

The metro the facility is in

code
string
country
string
id
string <uuid>
name
string
name
string
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (MetalGatewayLite)
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (IPReservation_metro)

The metro the IP reservation is in. As long as the IP reservation has a metro, it can be used on a metro level. Can be null if requesting an IP reservation in a facility that is not in a metro.

code
string
country
string
id
string <uuid>
name
string
netmask
string
network
string
object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
object (Href)
href
required
string
object (Href)
href
required
string
public
boolean
state
string
tags
Array of strings
type
required
string
Enum: "global_ipv4" "public_ipv4" "private_ipv4" "public_ipv6"

Request samples

Content type
application/json
Example
{
  • "comments": "string",
  • "customdata": { },
  • "details": "string",
  • "facility": "string",
  • "fail_on_approval_required": true,
  • "metro": "SV",
  • "quantity": 0,
  • "tags": [
    ],
  • "type": "string"
}

Response samples

Content type
application/json
Example
{
  • "addon": true,
  • "address": "string",
  • "address_family": 0,
  • "assignments": [
    ],
  • "available": "string",
  • "bill": true,
  • "cidr": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "customdata": { },
  • "enabled": true,
  • "details": "string",
  • "facility": {
    },
  • "gateway": "string",
  • "global_ip": true,
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "manageable": true,
  • "management": true,
  • "metal_gateway": {
    },
  • "metro": {
    },
  • "netmask": "string",
  • "network": "string",
  • "project": {
    },
  • "project_lite": {
    },
  • "requested_by": {
    },
  • "public": true,
  • "state": "string",
  • "tags": [
    ],
  • "type": "global_ipv4"
}

MetalGateways

Metal Gateway Management.Check out the product docs to learn more about Metal Gateways.

Deletes the metal gateway

Deletes a metal gateway and any elastic IP assignments associated with this metal gateway.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Metal Gateway UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response samples

Content type
application/json
Example
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "ip_reservation": {
    },
  • "project": {
    },
  • "state": "ready",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "virtual_network": {
    }
}

Returns the metal gateway

Returns a specific metal gateway

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Metal Gateway UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
One of
created_at
string <date-time>
object (Href)
href
required
string
href
string
id
string <uuid>
object (IPReservation)
addon
boolean
address
string
address_family
integer
Array of objects (IPAssignment)
Array
address
string
address_family
integer
object (Href)
cidr
integer
created_at
string <date-time>
enabled
boolean
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (IPAssignment_metro)

The metro the IP address is in

netmask
string
network
string
object (ParentBlock)
public
boolean
state
string
Enum: "pending" "active" "deleting"

Only set when this is a Metal Gateway Elastic IP Assignment.

Describes the current configuration state of this IP on the network.

next_hop
string <ipv4>

Only set when this is a Metal Gateway Elastic IP Assignment.

The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded.

available
string
bill
boolean
cidr
integer
created_at
string <date-time>
customdata
object
enabled
boolean
details
string
object (IPReservation_facility)

The facility the IP reservation is in. If the facility the IP reservation was requested in is in a metro, a metro value will also be set, and the subsequent IP reservation can be used on a metro level. Can be null if requesting an IP reservation in a metro.

object (Address)
code
string
features
Array of strings
Items Enum: "baremetal" "backend_transfer" "layer_2" "global_ipv4" "ibx"
id
string <uuid>
ip_ranges
Array of strings

IP ranges registered in facility. Can be used for GeoIP location

object (Device_metro)

The metro the facility is in

name
string
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (MetalGatewayLite)
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (IPReservation_metro)

The metro the IP reservation is in. As long as the IP reservation has a metro, it can be used on a metro level. Can be null if requesting an IP reservation in a facility that is not in a metro.

code
string
country
string
id
string <uuid>
name
string
netmask
string
network
string
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
object (Href)
href
required
string
object (Href)
href
required
string
public
boolean
state
string
tags
Array of strings
type
required
string
Enum: "global_ipv4" "public_ipv4" "private_ipv4" "public_ipv6"
object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
object (VirtualNetwork)
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
required
string
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

Array
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (Metro)
code
string
country
string
id
string <uuid>
name
string
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings

Response samples

Content type
application/json
Example
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "ip_reservation": {
    },
  • "project": {
    },
  • "state": "ready",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "virtual_network": {
    }
}

List BGP Dynamic Neighbors

Returns the list of VRF BGP Dynamic Neighbors for this Metal Gateway

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Metal Gateway UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
Array of objects (BgpDynamicNeighbor)
Array
id
string <uuid>

The unique identifier for the resource

bgp_neighbor_asn
integer <int64> [ 0 .. 4294967295 ]

The ASN of the dynamic BGP neighbor

bgp_neighbor_range
string

Network range of the dynamic BGP neighbor in CIDR format

object (VrfMetalGateway)
state
string
Enum: "active" "deleting" "pending" "ready"
href
string
created_at
string <date-time>
object (UserLimited)
updated_at
string <date-time>
tags
Array of strings
object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer

Response samples

Content type
application/json
{
  • "bgp_dynamic_neighbors": [
    ],
  • "meta": {
    }
}

Create a VRF BGP Dynamic Neighbor range

Create a VRF BGP Dynamic Neighbor range.

BGP Dynamic Neighbor records are limited to 2 per Virtual Network.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Metal Gateway UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required
bgp_neighbor_range
required
string

Network range of the dynamic BGP neighbor in CIDR format

bgp_neighbor_asn
required
integer <int64> [ 0 .. 4294967295 ]

The ASN of the dynamic BGP neighbor

tags
Array of strings

Responses

Response Schema: application/json
id
string <uuid>

The unique identifier for the resource

bgp_neighbor_asn
integer <int64> [ 0 .. 4294967295 ]

The ASN of the dynamic BGP neighbor

bgp_neighbor_range
string

Network range of the dynamic BGP neighbor in CIDR format

object (VrfMetalGateway)
created_at
string <date-time>
object (Href)
href
required
string
href
string
id
string <uuid>
object (VrfIpReservation)
address_family
integer
cidr
integer
created_at
string <date-time>
object (Href)
details
string
href
string
id
string <uuid>
object (MetalGatewayLite)
netmask
string
network
string
object (Project)
state
string
tags
Array of strings
type
required
string
Value: "vrf"
required
object (Vrf)
public
boolean
management
boolean
manageable
boolean
customdata
object
bill
boolean
object (Project)
address
string
gateway
string
object (Metro)
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
object (VirtualNetwork)
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
object (Vrf)
id
string <uuid>
name
string
description
string

Optional field that can be set to describe the VRF

bill
boolean
Default: false

True if the VRF is being billed. Usage will start when the first VRF Virtual Circuit is active, and will only stop when the VRF has been deleted.

bgp_dynamic_neighbors_enabled
boolean

Toggle to enable the dynamic bgp neighbors feature on the VRF

bgp_dynamic_neighbors_export_route_map
boolean

Toggle to export the VRF route-map to the dynamic bgp neighbors

bgp_dynamic_neighbors_bfd_enabled
boolean

Toggle BFD on dynamic bgp neighbors sessions

local_asn
integer <int64> [ 0 .. 4294967295 ]

A 4-byte ASN associated with the VRF.

Array of objects (VrfVirtualCircuit)

Virtual circuits that are in the VRF

ip_ranges
Array of strings

A list of CIDR network addresses. Like ["10.0.0.0/16", "2001:d78::/59"].

object (Project)
object (Metro)
object (User)
href
string
created_at
string <date-time>
updated_at
string <date-time>
tags
Array of strings
state
string
Enum: "active" "deleting" "pending" "ready"
href
string
created_at
string <date-time>
object (UserLimited)
avatar_thumb_url
string

Avatar thumbnail URL of the User

avatar_url
string

Avatar URL of the User

full_name
string

Full name of the User

href
string

API URL uniquely representing the User

id
required
string <uuid>

ID of the User

updated_at
string <date-time>
tags
Array of strings

Request samples

Content type
application/json
{
  • "bgp_neighbor_range": "192.168.1.0/25",
  • "bgp_neighbor_asn": 12345,
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "aea82f16-57ec-412c-9523-b7f2b27635b2",
  • "bgp_neighbor_asn": 12345,
  • "bgp_neighbor_range": "192.168.1.0/25",
  • "metal_gateway": {
    },
  • "state": "active",
  • "href": "/bgp-dynamic-neighbors/aea82f16-57ec-412c-9523-b7f2b27635b2",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "updated_at": "2019-08-24T14:15:22Z",
  • "tags": [
    ]
}

List Metal Gateway Elastic IPs

Returns the list of Elastic IPs assigned to this Metal Gateway

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Metal Gateway UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
Array of objects (IPAssignment)
Array
address
string
address_family
integer
object (Href)
cidr
integer
created_at
string <date-time>
enabled
boolean
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (IPAssignment_metro)

The metro the IP address is in

netmask
string
network
string
object (ParentBlock)
public
boolean
state
string
Enum: "pending" "active" "deleting"

Only set when this is a Metal Gateway Elastic IP Assignment.

Describes the current configuration state of this IP on the network.

next_hop
string <ipv4>

Only set when this is a Metal Gateway Elastic IP Assignment.

The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded.

Response samples

Content type
application/json
{
  • "ip_addresses": [
    ]
}

Create a Metal Gateway Elastic IP

Create a new Elastic IP on this Metal Gateway.

Assign an IPv4 range as an elastic IP to the Metal Gateway, with a specified next-hop address contained within the Metal Gateway.

Notice: Elastic IPs on Metal Gateways are a test feature currently under active development, and only available to certain users. Please contact Customer Success for more information.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Metal Gateway UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required
address
required
string

An IP address (or IP Address range) contained within one of the project's IP Reservations

next_hop
required
string <ipv4>

An IP address contained within the Metal Gateways' IP Reservation range.

object

Optional User-defined JSON object value.

property name*
additional property
any
tags
Array of strings

Optional list of User-defined tags. Can be used by users to provide additional details or context regarding the purpose or usage of this resource.

Responses

Response Schema: application/json
address
string
address_family
integer
object (Href)
href
required
string
cidr
integer
created_at
string <date-time>
enabled
boolean
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (IPAssignment_metro)

The metro the IP address is in

code
string
country
string
id
string <uuid>
name
string
netmask
string
network
string
object (ParentBlock)
cidr
integer
href
string
netmask
string
network
string
public
boolean
state
string
Enum: "pending" "active" "deleting"

Only set when this is a Metal Gateway Elastic IP Assignment.

Describes the current configuration state of this IP on the network.

next_hop
string <ipv4>

Only set when this is a Metal Gateway Elastic IP Assignment.

The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded.

Request samples

Content type
application/json
{
  • "address": "147.75.234.8/31",
  • "next_hop": "192.168.12.13",
  • "customdata": { },
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "address": "string",
  • "address_family": 0,
  • "assigned_to": {
    },
  • "cidr": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "enabled": true,
  • "gateway": "string",
  • "global_ip": true,
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "manageable": true,
  • "management": true,
  • "metro": {
    },
  • "netmask": "string",
  • "network": "string",
  • "parent_block": {
    },
  • "public": true,
  • "state": "pending",
  • "next_hop": "192.168.0.1"
}

Returns all metal gateways for a project

Return all metal gateways for a project

Authorizations:
X-Auth-Token
path Parameters
project_id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Responses

Response Schema: application/json
Array of MetalGateway (object) or VrfMetalGateway (object) (MetalGatewayList_metal_gateways_inner)
Array
Any of
created_at
string <date-time>
object (Href)
href
string
id
string <uuid>
object (IPReservation)
object (Project)
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
object (VirtualNetwork)
object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer

Response samples

Content type
application/json
{
  • "metal_gateways": [
    ],
  • "meta": {
    }
}

Create a metal gateway

Create a metal gateway in a project

Authorizations:
X-Auth-Token
path Parameters
project_id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

page
integer <int32> [ 1 .. 100000 ]
Default: 1

Page to return

per_page
integer <int32> [ 1 .. 1000 ]
Default: 10

Items returned per page

Request Body schema: application/json
required

Metal Gateway to create

One of
ip_reservation_id
string <uuid>

The UUID of an IP reservation that belongs to the same project as where the metal gateway will be created in. This field is required unless the private IPv4 subnet size is specified.

private_ipv4_subnet_size
integer

The subnet size (8, 16, 32, 64, or 128) of the private IPv4 reservation that will be created for the metal gateway. This field is required unless a project IP reservation was specified. Please keep in mind that the number of private metal gateway ranges are limited per project. If you would like to increase the limit per project, please contact support for assistance.

virtual_network_id
required
string <uuid>

The UUID of a metro virtual network that belongs to the same project as where the metal gateway will be created in.

Responses

Response Schema: application/json
One of
created_at
string <date-time>
object (Href)
href
required
string
href
string
id
string <uuid>
object (IPReservation)
addon
boolean
address
string
address_family
integer
Array of objects (IPAssignment)
Array
address
string
address_family
integer
object (Href)
cidr
integer
created_at
string <date-time>
enabled
boolean
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (IPAssignment_metro)

The metro the IP address is in

netmask
string
network
string
object (ParentBlock)
public
boolean
state
string
Enum: "pending" "active" "deleting"

Only set when this is a Metal Gateway Elastic IP Assignment.

Describes the current configuration state of this IP on the network.

next_hop
string <ipv4>

Only set when this is a Metal Gateway Elastic IP Assignment.

The IP address within the Metal Gateway to which requests to the Elastic IP are forwarded.

available
string
bill
boolean
cidr
integer
created_at
string <date-time>
customdata
object
enabled
boolean
details
string
object (IPReservation_facility)

The facility the IP reservation is in. If the facility the IP reservation was requested in is in a metro, a metro value will also be set, and the subsequent IP reservation can be used on a metro level. Can be null if requesting an IP reservation in a metro.

object (Address)
code
string
features
Array of strings
Items Enum: "baremetal" "backend_transfer" "layer_2" "global_ipv4" "ibx"
id
string <uuid>
ip_ranges
Array of strings

IP ranges registered in facility. Can be used for GeoIP location

object (Device_metro)

The metro the facility is in

name
string
gateway
string
global_ip
boolean
href
string
id
string <uuid>
manageable
boolean
management
boolean
object (MetalGatewayLite)
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (IPReservation_metro)

The metro the IP reservation is in. As long as the IP reservation has a metro, it can be used on a metro level. Can be null if requesting an IP reservation in a facility that is not in a metro.

code
string
country
string
id
string <uuid>
name
string
netmask
string
network
string
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
object (Href)
href
required
string
object (Href)
href
required
string
public
boolean
state
string
tags
Array of strings
type
required
string
Enum: "global_ipv4" "public_ipv4" "private_ipv4" "public_ipv6"
object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
object (VirtualNetwork)
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
required
string
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

Array
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (Metro)
code
string
country
string
id
string <uuid>
name
string
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings

Request samples

Content type
application/json
Example
{
  • "ip_reservation_id": "16a424d8-b135-42c7-baaf-ed317a67e22b",
  • "private_ipv4_subnet_size": 0,
  • "virtual_network_id": "80f9cbd8-c868-4ff3-8941-d2784e224981"
}

Response samples

Content type
application/json
Example
{
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "ip_reservation": {
    },
  • "project": {
    },
  • "state": "ready",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "virtual_network": {
    }
}

VLANs

Manage virtual networks (VLANs). See project endpoints to list and create virtual networks. Check out the product docs to learn more about VLANs.

Retrieve all virtual networks

Provides a list of virtual networks for a single project.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

metro
string

Filter by Metro ID (uuid) or Metro Code

Responses

Response Schema: application/json
Array of objects (VirtualNetwork)
Array
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings

Response samples

Content type
application/json
{
  • "virtual_networks": [
    ]
}

Create a virtual network

Creates an virtual network.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

Virtual Network to create

description
string
metro
string

The UUID (or metro code) for the Metro in which to create this Virtual Network.

vxlan
integer

VLAN ID between 2-3999. Must be unique for the project within the Metro in which this Virtual Network is being created. If no value is specified, the next-available VLAN ID in the range 1000-1999 will be automatically selected.

tags
Array of strings

Responses

Response Schema: application/json
object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
required
string
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

Array
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (Metro)
code
string
country
string
id
string <uuid>
name
string
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings

Request samples

Content type
application/json
{
  • "description": "string",
  • "metro": "string",
  • "vxlan": 1099,
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "assigned_to": {
    },
  • "assigned_to_virtual_circuit": true,
  • "description": "string",
  • "facility": {
    },
  • "href": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "instances": [
    ],
  • "metal_gateways": [
    ],
  • "metro": {
    },
  • "metro_code": "string",
  • "vxlan": 0,
  • "tags": [
    ]
}

Delete a virtual network

Deletes a virtual network.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Virtual Network UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Get a virtual network

Get a virtual network.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Virtual Network UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
required
string
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

Array
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (Metro)
code
string
country
string
id
string <uuid>
name
string
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings

Response samples

Content type
application/json
{
  • "assigned_to": {
    },
  • "assigned_to_virtual_circuit": true,
  • "description": "string",
  • "facility": {
    },
  • "href": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "instances": [
    ],
  • "metal_gateways": [
    ],
  • "metro": {
    },
  • "metro_code": "string",
  • "vxlan": 0,
  • "tags": [
    ]
}

Updates the virtual network

Updates the virtual network.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Virtual Network UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

Virtual network to update

description
string
tags
Array of strings

Responses

Response Schema: application/json
object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
required
string
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

Array
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (Metro)
code
string
country
string
id
string <uuid>
name
string
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings

Request samples

Content type
application/json
{
  • "description": "string",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "assigned_to": {
    },
  • "assigned_to_virtual_circuit": true,
  • "description": "string",
  • "facility": {
    },
  • "href": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "instances": [
    ],
  • "metal_gateways": [
    ],
  • "metro": {
    },
  • "metro_code": "string",
  • "vxlan": 0,
  • "tags": [
    ]
}

VRFs

VRF Management. A VRF is a project-scoped virtual router resource that defines a collection of customer-managed IP blocks that can be used in BGP peering on one or more virtual networks. Metal Gateways and Interconnection Virtual Circuits can take advantage of VRFs to enable Layer 3 routing with custom network ranges.

Delete a VRF BGP Dynamic Neighbor

Trigger the removal of a BGP Neighbor range from a VRF

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

BGP Dynamic Neighbor UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response samples

Content type
application/json
{
  • "id": "aea82f16-57ec-412c-9523-b7f2b27635b2",
  • "bgp_neighbor_asn": 12345,
  • "bgp_neighbor_range": "192.168.1.0/25",
  • "metal_gateway": {
    },
  • "state": "active",
  • "href": "/bgp-dynamic-neighbors/aea82f16-57ec-412c-9523-b7f2b27635b2",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "updated_at": "2019-08-24T14:15:22Z",
  • "tags": [
    ]
}

Retrieve a BGP Dynamic Neighbor

Return a single BGP Dynamic Neighbor resource

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

BGP Dynamic Neighbor UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
id
string <uuid>

The unique identifier for the resource

bgp_neighbor_asn
integer <int64> [ 0 .. 4294967295 ]

The ASN of the dynamic BGP neighbor

bgp_neighbor_range
string

Network range of the dynamic BGP neighbor in CIDR format

object (VrfMetalGateway)
created_at
string <date-time>
object (Href)
href
required
string
href
string
id
string <uuid>
object (VrfIpReservation)
address_family
integer
cidr
integer
created_at
string <date-time>
object (Href)
details
string
href
string
id
string <uuid>
object (MetalGatewayLite)
netmask
string
network
string
object (Project)
state
string
tags
Array of strings
type
required
string
Value: "vrf"
required
object (Vrf)
public
boolean
management
boolean
manageable
boolean
customdata
object
bill
boolean
object (Project)
address
string
gateway
string
object (Metro)
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
object (VirtualNetwork)
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
object (Vrf)
id
string <uuid>
name
string
description
string

Optional field that can be set to describe the VRF

bill
boolean
Default: false

True if the VRF is being billed. Usage will start when the first VRF Virtual Circuit is active, and will only stop when the VRF has been deleted.

bgp_dynamic_neighbors_enabled
boolean

Toggle to enable the dynamic bgp neighbors feature on the VRF

bgp_dynamic_neighbors_export_route_map
boolean

Toggle to export the VRF route-map to the dynamic bgp neighbors

bgp_dynamic_neighbors_bfd_enabled
boolean

Toggle BFD on dynamic bgp neighbors sessions

local_asn
integer <int64> [ 0 .. 4294967295 ]

A 4-byte ASN associated with the VRF.

Array of objects (VrfVirtualCircuit)

Virtual circuits that are in the VRF

ip_ranges
Array of strings

A list of CIDR network addresses. Like ["10.0.0.0/16", "2001:d78::/59"].

object (Project)
object (Metro)
object (User)
href
string
created_at
string <date-time>
updated_at
string <date-time>
tags
Array of strings
state
string
Enum: "active" "deleting" "pending" "ready"
href
string
created_at
string <date-time>
object (UserLimited)
avatar_thumb_url
string

Avatar thumbnail URL of the User

avatar_url
string

Avatar URL of the User

full_name
string

Full name of the User

href
string

API URL uniquely representing the User

id
required
string <uuid>

ID of the User

updated_at
string <date-time>
tags
Array of strings

Response samples

Content type
application/json
{
  • "id": "aea82f16-57ec-412c-9523-b7f2b27635b2",
  • "bgp_neighbor_asn": 12345,
  • "bgp_neighbor_range": "192.168.1.0/25",
  • "metal_gateway": {
    },
  • "state": "active",
  • "href": "/bgp-dynamic-neighbors/aea82f16-57ec-412c-9523-b7f2b27635b2",
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "updated_at": "2019-08-24T14:15:22Z",
  • "tags": [
    ]
}

Retrieve all VRFs in the project

Returns the list of VRFs for a single project.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

metro
string

Filter by Metro ID (uuid) or Metro Code

Responses

Response Schema: application/json
object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer
Array of objects (Vrf)
Array
id
string <uuid>
name
string
description
string

Optional field that can be set to describe the VRF

bill
boolean
Default: false

True if the VRF is being billed. Usage will start when the first VRF Virtual Circuit is active, and will only stop when the VRF has been deleted.

bgp_dynamic_neighbors_enabled
boolean

Toggle to enable the dynamic bgp neighbors feature on the VRF

bgp_dynamic_neighbors_export_route_map
boolean

Toggle to export the VRF route-map to the dynamic bgp neighbors

bgp_dynamic_neighbors_bfd_enabled
boolean

Toggle BFD on dynamic bgp neighbors sessions

local_asn
integer <int64> [ 0 .. 4294967295 ]

A 4-byte ASN associated with the VRF.

Array of objects (VrfVirtualCircuit)

Virtual circuits that are in the VRF

ip_ranges
Array of strings

A list of CIDR network addresses. Like ["10.0.0.0/16", "2001:d78::/59"].

object (Project)
object (Metro)
object (User)
href
string
created_at
string <date-time>
updated_at
string <date-time>
tags
Array of strings

Response samples

Content type
application/json
{
  • "meta": {
    },
  • "vrfs": [
    ]
}

Create a new VRF in the specified project

Creates a new VRF in the specified project

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

Project UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

VRF to create

bgp_dynamic_neighbors_enabled
boolean

Toggle to enable the dynamic bgp neighbors feature on the VRF

bgp_dynamic_neighbors_export_route_map
boolean

Toggle to export the VRF route-map to the dynamic bgp neighbors

bgp_dynamic_neighbors_bfd_enabled
boolean

Toggle BFD on dynamic bgp neighbors sessions

description
string
ip_ranges
Array of strings

A list of CIDR network addresses. Like ["10.0.0.0/16", "2001:d78::/59"]. IPv4 blocks must be between /8 and /29 in size. IPv6 blocks must be between /59 and /64. A VRF's IP ranges must be defined in order to create VRF IP Reservations, which can then be used for Metal Gateways or Virtual Circuits.

local_asn
integer <int64> [ 0 .. 4294967295 ]
metro
required
string

The UUID (or metro code) for the Metro in which to create this VRF.

name
required
string
tags
Array of strings

Responses

Response Schema: application/json
id
string <uuid>
name
string
description
string

Optional field that can be set to describe the VRF

bill
boolean
Default: false

True if the VRF is being billed. Usage will start when the first VRF Virtual Circuit is active, and will only stop when the VRF has been deleted.

bgp_dynamic_neighbors_enabled
boolean

Toggle to enable the dynamic bgp neighbors feature on the VRF

bgp_dynamic_neighbors_export_route_map
boolean

Toggle to export the VRF route-map to the dynamic bgp neighbors

bgp_dynamic_neighbors_bfd_enabled
boolean

Toggle BFD on dynamic bgp neighbors sessions

local_asn
integer <int64> [ 0 .. 4294967295 ]

A 4-byte ASN associated with the VRF.

Array of objects (VrfVirtualCircuit)

Virtual circuits that are in the VRF

Array
customer_ip
string

An IPv4 address from the subnet that will be used on the Customer side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet as the Metal IP. By default, the last usable IP address in the subnet will be used.

customer_ipv6
string

An IPv6 address from the subnet IPv6 that will be used on the Customer side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet IPv6 as the Metal IPv6. By default, the last usable IP address in the subnet IPv6 will be used.

description
string
id
string <uuid>
md5
string

The MD5 password for the BGP peering in plaintext (not a checksum).

metal_ip
string

An IPv4 address from the subnet that will be used on the Metal side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet as the Customer IP. By default, the first usable IP address in the subnet will be used.

metal_ipv6
string

An IPv6 address from the subnet IPv6 that will be used on the Metal side. This parameter is optional, but if supplied, we will use the other usable IPv6 address in the subnet IPv6 as the Customer IP. By default, the first usable IPv6 address in the subnet IPv6 will be used.

name
string
object (InterconnectionPort)
nni_vlan
integer
peer_asn
integer <int64> [ 0 .. 4294967295 ]

The peer ASN that will be used with the VRF on the Virtual Circuit.

object (Project)
speed
integer <int64>

integer representing bps speed

status
string
Enum: "pending" "waiting_on_peering_details" "activating" "changing_peering_details" "deactivating" "deleting" "active" "expired" "activation_failed" "changing_peering_details_failed" "deactivation_failed" "delete_failed"

The status changes of a VRF virtual circuit are generally the same as Virtual Circuits that aren't in a VRF. However, for VRF Virtual Circuits on Fabric VCs, the status will change to 'waiting_on_peering_details' once the Fabric service token associated with the virtual circuit has been redeemed on Fabric, and Metal has found the associated Fabric connection. At this point, users can update the subnet, MD5 password, customer IP and/or metal IP accordingly. For VRF Virtual Circuits on Dedicated Ports, we require all peering details to be set on creation of a VRF Virtual Circuit. The status will change to changing_peering_details whenever an active VRF Virtual Circuit has any of its peering details updated.

subnet
string

The /30 or /31 IPv4 subnet of one of the VRF IP Blocks that will be used with the VRF for the Virtual Circuit. This subnet does not have to be an existing VRF IP reservation, as we will create the VRF IP reservation on creation if it does not exist. The Metal IP and Customer IP must be IPs from this subnet. For /30 subnets, the network and broadcast IPs cannot be used as the Metal or Customer IP.

subnet_ipv6
string

The /126 or /127 IPv6 subnet of one of the VRF IP Blocks that will be used with the VRF for the Virtual Circuit. This subnet does not have to be an existing VRF IP reservation, as we will create the VRF IP reservation on creation if it does not exist. The Metal IPv6 and Customer IPv6 must be IPs from this subnet. For /126 subnets, the network and broadcast IPs cannot be used as the Metal IPv6 or Customer IPv6. The subnet specified must be contained within an already-defined IP Range for the VRF.

tags
Array of strings
type
string
Value: "vrf"
vrf
required
object (Vrf) Recursive
created_at
string <date-time>
updated_at
string <date-time>
ip_ranges
Array of strings

A list of CIDR network addresses. Like ["10.0.0.0/16", "2001:d78::/59"].

object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
object (Metro)
code
string
country
string
id
string <uuid>
name
string
object (User)
avatar_thumb_url
string
avatar_url
string
created_at
string <date-time>
customdata
object
default_organization_id
string <uuid>
default_project_id
string <uuid>
email
string
Array of objects (Href)
Array
href
required
string
first_name
string
fraud_score
string
full_name
string
href
string
id
string <uuid>
last_login_at
string <date-time>
last_name
string
max_organizations
integer
max_projects
integer
phone_number
string
short_id
string
timezone
string
two_factor_auth
string
updated_at
string <date-time>
href
string
created_at
string <date-time>
updated_at
string <date-time>
tags
Array of strings

Request samples

Content type
application/json
{
  • "bgp_dynamic_neighbors_enabled": true,
  • "bgp_dynamic_neighbors_export_route_map": true,
  • "bgp_dynamic_neighbors_bfd_enabled": true,
  • "description": "string",
  • "ip_ranges": [
    ],
  • "local_asn": 65000,
  • "metro": "string",
  • "name": "string",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "description": "string",
  • "bill": false,
  • "bgp_dynamic_neighbors_enabled": true,
  • "bgp_dynamic_neighbors_export_route_map": true,
  • "bgp_dynamic_neighbors_bfd_enabled": true,
  • "local_asn": 65000,
  • "virtual_circuits": [
    ],
  • "ip_ranges": [
    ],
  • "project": {
    },
  • "metro": {
    },
  • "created_by": {
    },
  • "href": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "tags": [
    ]
}

Delete a VRF Route

Trigger the deletion of a VRF Route resource. The status of the route will update to 'deleting', and the route resource will remain accessible while background operations remove the route from the network. Once the route has been removed from the network, the resource will be fully deleted.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

VRF Route UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response samples

Content type
application/json
{
  • "id": "e1ff9c2b-051a-4688-965f-153e274f77e0",
  • "status": "active",
  • "prefix": "0.0.0.0/0",
  • "next_hop": "192.168.1.254",
  • "type": "static",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "metal_gateway": {
    },
  • "virtual_network": {
    },
  • "vrf": {
    },
  • "href": "/routes/e1ff9c2b-051a-4688-965f-153e274f77e0",
  • "tags": [
    ]
}

Retrieve a VRF Route

Returns a single VRF Route resource

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

VRF Route UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
id
string <uuid>

The unique identifier for the newly-created resource

status
string
Enum: "pending" "active" "deleting" "error"

The status of the route. Potential values are "pending", "active", "deleting", and "error", representing various lifecycle states of the route and whether or not it has been successfully configured on the network

prefix
string

The IPv4 prefix for the route, in CIDR-style notation

next_hop
string <ipv4>

The next-hop IPv4 address for the route

type
string
Value: "static"

VRF route type, like 'bgp', 'connected', and 'static'. Currently, only static routes are supported

created_at
string <date-time>
updated_at
string <date-time>
object (VrfMetalGateway)
created_at
string <date-time>
object (Href)
href
required
string
href
string
id
string <uuid>
object (VrfIpReservation)
address_family
integer
cidr
integer
created_at
string <date-time>
object (Href)
details
string
href
string
id
string <uuid>
object (MetalGatewayLite)
netmask
string
network
string
object (Project)
state
string
tags
Array of strings
type
required
string
Value: "vrf"
required
object (Vrf)
public
boolean
management
boolean
manageable
boolean
customdata
object
bill
boolean
object (Project)
address
string
gateway
string
object (Metro)
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
object (VirtualNetwork)
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
object (Vrf)
id
string <uuid>
name
string
description
string

Optional field that can be set to describe the VRF

bill
boolean
Default: false

True if the VRF is being billed. Usage will start when the first VRF Virtual Circuit is active, and will only stop when the VRF has been deleted.

bgp_dynamic_neighbors_enabled
boolean

Toggle to enable the dynamic bgp neighbors feature on the VRF

bgp_dynamic_neighbors_export_route_map
boolean

Toggle to export the VRF route-map to the dynamic bgp neighbors

bgp_dynamic_neighbors_bfd_enabled
boolean

Toggle BFD on dynamic bgp neighbors sessions

local_asn
integer <int64> [ 0 .. 4294967295 ]

A 4-byte ASN associated with the VRF.

Array of objects (VrfVirtualCircuit)

Virtual circuits that are in the VRF

ip_ranges
Array of strings

A list of CIDR network addresses. Like ["10.0.0.0/16", "2001:d78::/59"].

object (Project)
object (Metro)
object (User)
href
string
created_at
string <date-time>
updated_at
string <date-time>
tags
Array of strings
object (VirtualNetwork)
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
required
string
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

Array
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (Metro)
code
string
country
string
id
string <uuid>
name
string
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
object (Vrf)
id
string <uuid>
name
string
description
string

Optional field that can be set to describe the VRF

bill
boolean
Default: false

True if the VRF is being billed. Usage will start when the first VRF Virtual Circuit is active, and will only stop when the VRF has been deleted.

bgp_dynamic_neighbors_enabled
boolean

Toggle to enable the dynamic bgp neighbors feature on the VRF

bgp_dynamic_neighbors_export_route_map
boolean

Toggle to export the VRF route-map to the dynamic bgp neighbors

bgp_dynamic_neighbors_bfd_enabled
boolean

Toggle BFD on dynamic bgp neighbors sessions

local_asn
integer <int64> [ 0 .. 4294967295 ]

A 4-byte ASN associated with the VRF.

Array of objects (VrfVirtualCircuit)

Virtual circuits that are in the VRF

Array
customer_ip
string

An IPv4 address from the subnet that will be used on the Customer side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet as the Metal IP. By default, the last usable IP address in the subnet will be used.

customer_ipv6
string

An IPv6 address from the subnet IPv6 that will be used on the Customer side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet IPv6 as the Metal IPv6. By default, the last usable IP address in the subnet IPv6 will be used.

description
string
id
string <uuid>
md5
string

The MD5 password for the BGP peering in plaintext (not a checksum).

metal_ip
string

An IPv4 address from the subnet that will be used on the Metal side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet as the Customer IP. By default, the first usable IP address in the subnet will be used.

metal_ipv6
string

An IPv6 address from the subnet IPv6 that will be used on the Metal side. This parameter is optional, but if supplied, we will use the other usable IPv6 address in the subnet IPv6 as the Customer IP. By default, the first usable IPv6 address in the subnet IPv6 will be used.

name
string
object (InterconnectionPort)
nni_vlan
integer
peer_asn
integer <int64> [ 0 .. 4294967295 ]

The peer ASN that will be used with the VRF on the Virtual Circuit.

object (Project)
speed
integer <int64>

integer representing bps speed

status
string
Enum: "pending" "waiting_on_peering_details" "activating" "changing_peering_details" "deactivating" "deleting" "active" "expired" "activation_failed" "changing_peering_details_failed" "deactivation_failed" "delete_failed"

The status changes of a VRF virtual circuit are generally the same as Virtual Circuits that aren't in a VRF. However, for VRF Virtual Circuits on Fabric VCs, the status will change to 'waiting_on_peering_details' once the Fabric service token associated with the virtual circuit has been redeemed on Fabric, and Metal has found the associated Fabric connection. At this point, users can update the subnet, MD5 password, customer IP and/or metal IP accordingly. For VRF Virtual Circuits on Dedicated Ports, we require all peering details to be set on creation of a VRF Virtual Circuit. The status will change to changing_peering_details whenever an active VRF Virtual Circuit has any of its peering details updated.

subnet
string

The /30 or /31 IPv4 subnet of one of the VRF IP Blocks that will be used with the VRF for the Virtual Circuit. This subnet does not have to be an existing VRF IP reservation, as we will create the VRF IP reservation on creation if it does not exist. The Metal IP and Customer IP must be IPs from this subnet. For /30 subnets, the network and broadcast IPs cannot be used as the Metal or Customer IP.

subnet_ipv6
string

The /126 or /127 IPv6 subnet of one of the VRF IP Blocks that will be used with the VRF for the Virtual Circuit. This subnet does not have to be an existing VRF IP reservation, as we will create the VRF IP reservation on creation if it does not exist. The Metal IPv6 and Customer IPv6 must be IPs from this subnet. For /126 subnets, the network and broadcast IPs cannot be used as the Metal IPv6 or Customer IPv6. The subnet specified must be contained within an already-defined IP Range for the VRF.

tags
Array of strings
type
string
Value: "vrf"
vrf
required
object (Vrf) Recursive
created_at
string <date-time>
updated_at
string <date-time>
ip_ranges
Array of strings

A list of CIDR network addresses. Like ["10.0.0.0/16", "2001:d78::/59"].

object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
object (Metro)
code
string
country
string
id
string <uuid>
name
string
object (User)
avatar_thumb_url
string
avatar_url
string
created_at
string <date-time>
customdata
object
default_organization_id
string <uuid>
default_project_id
string <uuid>
email
string
Array of objects (Href)
first_name
string
fraud_score
string
full_name
string
href
string
id
string <uuid>
last_login_at
string <date-time>
last_name
string
max_organizations
integer
max_projects
integer
phone_number
string
short_id
string
timezone
string
two_factor_auth
string
updated_at
string <date-time>
href
string
created_at
string <date-time>
updated_at
string <date-time>
tags
Array of strings
href
string
tags
Array of strings

Response samples

Content type
application/json
{
  • "id": "e1ff9c2b-051a-4688-965f-153e274f77e0",
  • "status": "active",
  • "prefix": "0.0.0.0/0",
  • "next_hop": "192.168.1.254",
  • "type": "static",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "metal_gateway": {
    },
  • "virtual_network": {
    },
  • "vrf": {
    },
  • "href": "/routes/e1ff9c2b-051a-4688-965f-153e274f77e0",
  • "tags": [
    ]
}

Update a VRF Route

Requests a VRF Route be redeployed across the network. Updating the prefix or next-hop address on a route is not currently supported.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

VRF Route UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required
prefix
string

The IPv4 prefix for the route, in CIDR-style notation. For a static default route, this will always be "0.0.0.0/0"

next_hop
string <ipv4>

The IPv4 address within the VRF of the host that will handle this route

tags
Array of strings

Responses

Request samples

Content type
application/json
{
  • "prefix": "0.0.0.0/0",
  • "next_hop": "192.168.1.254",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "e1ff9c2b-051a-4688-965f-153e274f77e0",
  • "status": "active",
  • "prefix": "0.0.0.0/0",
  • "next_hop": "192.168.1.254",
  • "type": "static",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "metal_gateway": {
    },
  • "virtual_network": {
    },
  • "vrf": {
    },
  • "href": "/routes/e1ff9c2b-051a-4688-965f-153e274f77e0",
  • "tags": [
    ]
}

Delete the VRF

Deletes the VRF

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

VRF UUID

Responses

Response samples

Content type
application/json
{
  • "error": "string",
  • "errors": [
    ]
}

Retrieve a VRF

Returns a single VRF resource

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

VRF UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
id
string <uuid>
name
string
description
string

Optional field that can be set to describe the VRF

bill
boolean
Default: false

True if the VRF is being billed. Usage will start when the first VRF Virtual Circuit is active, and will only stop when the VRF has been deleted.

bgp_dynamic_neighbors_enabled
boolean

Toggle to enable the dynamic bgp neighbors feature on the VRF

bgp_dynamic_neighbors_export_route_map
boolean

Toggle to export the VRF route-map to the dynamic bgp neighbors

bgp_dynamic_neighbors_bfd_enabled
boolean

Toggle BFD on dynamic bgp neighbors sessions

local_asn
integer <int64> [ 0 .. 4294967295 ]

A 4-byte ASN associated with the VRF.

Array of objects (VrfVirtualCircuit)

Virtual circuits that are in the VRF

Array
customer_ip
string

An IPv4 address from the subnet that will be used on the Customer side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet as the Metal IP. By default, the last usable IP address in the subnet will be used.

customer_ipv6
string

An IPv6 address from the subnet IPv6 that will be used on the Customer side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet IPv6 as the Metal IPv6. By default, the last usable IP address in the subnet IPv6 will be used.

description
string
id
string <uuid>
md5
string

The MD5 password for the BGP peering in plaintext (not a checksum).

metal_ip
string

An IPv4 address from the subnet that will be used on the Metal side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet as the Customer IP. By default, the first usable IP address in the subnet will be used.

metal_ipv6
string

An IPv6 address from the subnet IPv6 that will be used on the Metal side. This parameter is optional, but if supplied, we will use the other usable IPv6 address in the subnet IPv6 as the Customer IP. By default, the first usable IPv6 address in the subnet IPv6 will be used.

name
string
object (InterconnectionPort)
nni_vlan
integer
peer_asn
integer <int64> [ 0 .. 4294967295 ]

The peer ASN that will be used with the VRF on the Virtual Circuit.

object (Project)
speed
integer <int64>

integer representing bps speed

status
string
Enum: "pending" "waiting_on_peering_details" "activating" "changing_peering_details" "deactivating" "deleting" "active" "expired" "activation_failed" "changing_peering_details_failed" "deactivation_failed" "delete_failed"

The status changes of a VRF virtual circuit are generally the same as Virtual Circuits that aren't in a VRF. However, for VRF Virtual Circuits on Fabric VCs, the status will change to 'waiting_on_peering_details' once the Fabric service token associated with the virtual circuit has been redeemed on Fabric, and Metal has found the associated Fabric connection. At this point, users can update the subnet, MD5 password, customer IP and/or metal IP accordingly. For VRF Virtual Circuits on Dedicated Ports, we require all peering details to be set on creation of a VRF Virtual Circuit. The status will change to changing_peering_details whenever an active VRF Virtual Circuit has any of its peering details updated.

subnet
string

The /30 or /31 IPv4 subnet of one of the VRF IP Blocks that will be used with the VRF for the Virtual Circuit. This subnet does not have to be an existing VRF IP reservation, as we will create the VRF IP reservation on creation if it does not exist. The Metal IP and Customer IP must be IPs from this subnet. For /30 subnets, the network and broadcast IPs cannot be used as the Metal or Customer IP.

subnet_ipv6
string

The /126 or /127 IPv6 subnet of one of the VRF IP Blocks that will be used with the VRF for the Virtual Circuit. This subnet does not have to be an existing VRF IP reservation, as we will create the VRF IP reservation on creation if it does not exist. The Metal IPv6 and Customer IPv6 must be IPs from this subnet. For /126 subnets, the network and broadcast IPs cannot be used as the Metal IPv6 or Customer IPv6. The subnet specified must be contained within an already-defined IP Range for the VRF.

tags
Array of strings
type
string
Value: "vrf"
vrf
required
object (Vrf) Recursive
created_at
string <date-time>
updated_at
string <date-time>
ip_ranges
Array of strings

A list of CIDR network addresses. Like ["10.0.0.0/16", "2001:d78::/59"].

object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
object (Metro)
code
string
country
string
id
string <uuid>
name
string
object (User)
avatar_thumb_url
string
avatar_url
string
created_at
string <date-time>
customdata
object
default_organization_id
string <uuid>
default_project_id
string <uuid>
email
string
Array of objects (Href)
Array
href
required
string
first_name
string
fraud_score
string
full_name
string
href
string
id
string <uuid>
last_login_at
string <date-time>
last_name
string
max_organizations
integer
max_projects
integer
phone_number
string
short_id
string
timezone
string
two_factor_auth
string
updated_at
string <date-time>
href
string
created_at
string <date-time>
updated_at
string <date-time>
tags
Array of strings

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "description": "string",
  • "bill": false,
  • "bgp_dynamic_neighbors_enabled": true,
  • "bgp_dynamic_neighbors_export_route_map": true,
  • "bgp_dynamic_neighbors_bfd_enabled": true,
  • "local_asn": 65000,
  • "virtual_circuits": [
    ],
  • "ip_ranges": [
    ],
  • "project": {
    },
  • "metro": {
    },
  • "created_by": {
    },
  • "href": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "tags": [
    ]
}

Update the VRF

Updates the VRF.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

VRF UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required

VRF to update

bgp_dynamic_neighbors_enabled
boolean

Toggle to enable the dynamic bgp neighbors feature on the VRF

bgp_dynamic_neighbors_export_route_map
boolean

Toggle to export the VRF route-map to the dynamic bgp neighbors

bgp_dynamic_neighbors_bfd_enabled
boolean

Toggle BFD on dynamic bgp neighbors sessions

description
string
ip_ranges
Array of strings

A list of CIDR network addresses. Like ["10.0.0.0/16", "2001:d78::/59"]. IPv4 blocks must be between /8 and /29 in size. IPv6 blocks must be between /59 and /64. A VRF's IP ranges must be defined in order to create VRF IP Reservations, which can then be used for Metal Gateways or Virtual Circuits. Adding a new CIDR address to the list will result in the creation of a new IP Range for this VRF. Removal of an existing CIDR address from the list will result in the deletion of an existing IP Range for this VRF. Deleting an IP Range will result in the deletion of any VRF IP Reservations contained within the IP Range, as well as the VRF IP Reservation's associated Metal Gateways or Virtual Circuits. If you do not wish to add or remove IP Ranges, either include the full existing list of IP Ranges in the update request, or do not specify the ip_ranges field in the update request. Specifying a value of [] will remove all existing IP Ranges from the VRF.

local_asn
integer <int32>

The new local_asn value for the VRF. This field cannot be updated when there are active Interconnection Virtual Circuits associated to the VRF, or if any of the VLANs of the VRF's metal gateway has been assigned on an instance.

name
string
tags
Array of strings

Responses

Response Schema: application/json
id
string <uuid>
name
string
description
string

Optional field that can be set to describe the VRF

bill
boolean
Default: false

True if the VRF is being billed. Usage will start when the first VRF Virtual Circuit is active, and will only stop when the VRF has been deleted.

bgp_dynamic_neighbors_enabled
boolean

Toggle to enable the dynamic bgp neighbors feature on the VRF

bgp_dynamic_neighbors_export_route_map
boolean

Toggle to export the VRF route-map to the dynamic bgp neighbors

bgp_dynamic_neighbors_bfd_enabled
boolean

Toggle BFD on dynamic bgp neighbors sessions

local_asn
integer <int64> [ 0 .. 4294967295 ]

A 4-byte ASN associated with the VRF.

Array of objects (VrfVirtualCircuit)

Virtual circuits that are in the VRF

Array
customer_ip
string

An IPv4 address from the subnet that will be used on the Customer side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet as the Metal IP. By default, the last usable IP address in the subnet will be used.

customer_ipv6
string

An IPv6 address from the subnet IPv6 that will be used on the Customer side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet IPv6 as the Metal IPv6. By default, the last usable IP address in the subnet IPv6 will be used.

description
string
id
string <uuid>
md5
string

The MD5 password for the BGP peering in plaintext (not a checksum).

metal_ip
string

An IPv4 address from the subnet that will be used on the Metal side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet as the Customer IP. By default, the first usable IP address in the subnet will be used.

metal_ipv6
string

An IPv6 address from the subnet IPv6 that will be used on the Metal side. This parameter is optional, but if supplied, we will use the other usable IPv6 address in the subnet IPv6 as the Customer IP. By default, the first usable IPv6 address in the subnet IPv6 will be used.

name
string
object (InterconnectionPort)
nni_vlan
integer
peer_asn
integer <int64> [ 0 .. 4294967295 ]

The peer ASN that will be used with the VRF on the Virtual Circuit.

object (Project)
speed
integer <int64>

integer representing bps speed

status
string
Enum: "pending" "waiting_on_peering_details" "activating" "changing_peering_details" "deactivating" "deleting" "active" "expired" "activation_failed" "changing_peering_details_failed" "deactivation_failed" "delete_failed"

The status changes of a VRF virtual circuit are generally the same as Virtual Circuits that aren't in a VRF. However, for VRF Virtual Circuits on Fabric VCs, the status will change to 'waiting_on_peering_details' once the Fabric service token associated with the virtual circuit has been redeemed on Fabric, and Metal has found the associated Fabric connection. At this point, users can update the subnet, MD5 password, customer IP and/or metal IP accordingly. For VRF Virtual Circuits on Dedicated Ports, we require all peering details to be set on creation of a VRF Virtual Circuit. The status will change to changing_peering_details whenever an active VRF Virtual Circuit has any of its peering details updated.

subnet
string

The /30 or /31 IPv4 subnet of one of the VRF IP Blocks that will be used with the VRF for the Virtual Circuit. This subnet does not have to be an existing VRF IP reservation, as we will create the VRF IP reservation on creation if it does not exist. The Metal IP and Customer IP must be IPs from this subnet. For /30 subnets, the network and broadcast IPs cannot be used as the Metal or Customer IP.

subnet_ipv6
string

The /126 or /127 IPv6 subnet of one of the VRF IP Blocks that will be used with the VRF for the Virtual Circuit. This subnet does not have to be an existing VRF IP reservation, as we will create the VRF IP reservation on creation if it does not exist. The Metal IPv6 and Customer IPv6 must be IPs from this subnet. For /126 subnets, the network and broadcast IPs cannot be used as the Metal IPv6 or Customer IPv6. The subnet specified must be contained within an already-defined IP Range for the VRF.

tags
Array of strings
type
string
Value: "vrf"
vrf
required
object (Vrf) Recursive
created_at
string <date-time>
updated_at
string <date-time>
ip_ranges
Array of strings

A list of CIDR network addresses. Like ["10.0.0.0/16", "2001:d78::/59"].

object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
object (Metro)
code
string
country
string
id
string <uuid>
name
string
object (User)
avatar_thumb_url
string
avatar_url
string
created_at
string <date-time>
customdata
object
default_organization_id
string <uuid>
default_project_id
string <uuid>
email
string
Array of objects (Href)
Array
href
required
string
first_name
string
fraud_score
string
full_name
string
href
string
id
string <uuid>
last_login_at
string <date-time>
last_name
string
max_organizations
integer
max_projects
integer
phone_number
string
short_id
string
timezone
string
two_factor_auth
string
updated_at
string <date-time>
href
string
created_at
string <date-time>
updated_at
string <date-time>
tags
Array of strings

Request samples

Content type
application/json
{
  • "bgp_dynamic_neighbors_enabled": true,
  • "bgp_dynamic_neighbors_export_route_map": true,
  • "bgp_dynamic_neighbors_bfd_enabled": true,
  • "description": "string",
  • "ip_ranges": [
    ],
  • "local_asn": 0,
  • "name": "string",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "name": "string",
  • "description": "string",
  • "bill": false,
  • "bgp_dynamic_neighbors_enabled": true,
  • "bgp_dynamic_neighbors_export_route_map": true,
  • "bgp_dynamic_neighbors_bfd_enabled": true,
  • "local_asn": 65000,
  • "virtual_circuits": [
    ],
  • "ip_ranges": [
    ],
  • "project": {
    },
  • "metro": {
    },
  • "created_by": {
    },
  • "href": "string",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "tags": [
    ]
}

Retrieve all VRF IP Reservations in the VRF

Returns the list of VRF IP Reservations for the VRF.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

VRF UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
Array of objects (VrfIpReservation)
Array
address_family
integer
cidr
integer
created_at
string <date-time>
object (Href)
details
string
href
string
id
string <uuid>
object (MetalGatewayLite)
netmask
string
network
string
object (Project)
state
string
tags
Array of strings
type
required
string
Value: "vrf"
required
object (Vrf)
public
boolean
management
boolean
manageable
boolean
customdata
object
bill
boolean
object (Project)
address
string
gateway
string
object (Metro)

Response samples

Content type
application/json
{
  • "ip_addresses": [
    ]
}

Retrieve the Specified VRF IP Reservation

Returns the specified IP Reservation for the VRF.

Authorizations:
X-Auth-Token
path Parameters
vrf_id
required
string <uuid>

VRF UUID

id
required
string <uuid>

IP UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
address_family
integer
cidr
integer
created_at
string <date-time>
object (Href)
href
required
string
details
string
href
string
id
string <uuid>
object (MetalGatewayLite)
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

netmask
string
network
string
object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
state
string
tags
Array of strings
type
required
string
Value: "vrf"
required
object (Vrf)
id
string <uuid>
name
string
description
string

Optional field that can be set to describe the VRF

bill
boolean
Default: false

True if the VRF is being billed. Usage will start when the first VRF Virtual Circuit is active, and will only stop when the VRF has been deleted.

bgp_dynamic_neighbors_enabled
boolean

Toggle to enable the dynamic bgp neighbors feature on the VRF

bgp_dynamic_neighbors_export_route_map
boolean

Toggle to export the VRF route-map to the dynamic bgp neighbors

bgp_dynamic_neighbors_bfd_enabled
boolean

Toggle BFD on dynamic bgp neighbors sessions

local_asn
integer <int64> [ 0 .. 4294967295 ]

A 4-byte ASN associated with the VRF.

Array of objects (VrfVirtualCircuit)

Virtual circuits that are in the VRF

Array
customer_ip
string

An IPv4 address from the subnet that will be used on the Customer side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet as the Metal IP. By default, the last usable IP address in the subnet will be used.

customer_ipv6
string

An IPv6 address from the subnet IPv6 that will be used on the Customer side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet IPv6 as the Metal IPv6. By default, the last usable IP address in the subnet IPv6 will be used.

description
string
id
string <uuid>
md5
string

The MD5 password for the BGP peering in plaintext (not a checksum).

metal_ip
string

An IPv4 address from the subnet that will be used on the Metal side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet as the Customer IP. By default, the first usable IP address in the subnet will be used.

metal_ipv6
string

An IPv6 address from the subnet IPv6 that will be used on the Metal side. This parameter is optional, but if supplied, we will use the other usable IPv6 address in the subnet IPv6 as the Customer IP. By default, the first usable IPv6 address in the subnet IPv6 will be used.

name
string
object (InterconnectionPort)
nni_vlan
integer
peer_asn
integer <int64> [ 0 .. 4294967295 ]

The peer ASN that will be used with the VRF on the Virtual Circuit.

object (Project)
speed
integer <int64>

integer representing bps speed

status
string
Enum: "pending" "waiting_on_peering_details" "activating" "changing_peering_details" "deactivating" "deleting" "active" "expired" "activation_failed" "changing_peering_details_failed" "deactivation_failed" "delete_failed"

The status changes of a VRF virtual circuit are generally the same as Virtual Circuits that aren't in a VRF. However, for VRF Virtual Circuits on Fabric VCs, the status will change to 'waiting_on_peering_details' once the Fabric service token associated with the virtual circuit has been redeemed on Fabric, and Metal has found the associated Fabric connection. At this point, users can update the subnet, MD5 password, customer IP and/or metal IP accordingly. For VRF Virtual Circuits on Dedicated Ports, we require all peering details to be set on creation of a VRF Virtual Circuit. The status will change to changing_peering_details whenever an active VRF Virtual Circuit has any of its peering details updated.

subnet
string

The /30 or /31 IPv4 subnet of one of the VRF IP Blocks that will be used with the VRF for the Virtual Circuit. This subnet does not have to be an existing VRF IP reservation, as we will create the VRF IP reservation on creation if it does not exist. The Metal IP and Customer IP must be IPs from this subnet. For /30 subnets, the network and broadcast IPs cannot be used as the Metal or Customer IP.

subnet_ipv6
string

The /126 or /127 IPv6 subnet of one of the VRF IP Blocks that will be used with the VRF for the Virtual Circuit. This subnet does not have to be an existing VRF IP reservation, as we will create the VRF IP reservation on creation if it does not exist. The Metal IPv6 and Customer IPv6 must be IPs from this subnet. For /126 subnets, the network and broadcast IPs cannot be used as the Metal IPv6 or Customer IPv6. The subnet specified must be contained within an already-defined IP Range for the VRF.

tags
Array of strings
type
string
Value: "vrf"
vrf
required
object (Vrf) Recursive
created_at
string <date-time>
updated_at
string <date-time>
ip_ranges
Array of strings

A list of CIDR network addresses. Like ["10.0.0.0/16", "2001:d78::/59"].

object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
object (Metro)
code
string
country
string
id
string <uuid>
name
string
object (User)
avatar_thumb_url
string
avatar_url
string
created_at
string <date-time>
customdata
object
default_organization_id
string <uuid>
default_project_id
string <uuid>
email
string
Array of objects (Href)
first_name
string
fraud_score
string
full_name
string
href
string
id
string <uuid>
last_login_at
string <date-time>
last_name
string
max_organizations
integer
max_projects
integer
phone_number
string
short_id
string
timezone
string
two_factor_auth
string
updated_at
string <date-time>
href
string
created_at
string <date-time>
updated_at
string <date-time>
tags
Array of strings
public
boolean
management
boolean
manageable
boolean
customdata
object
bill
boolean
object (Project)
backend_transfer_enabled
boolean
object (Href)
href
required
string
created_at
string <date-time>
customdata
object
Array of objects (Href)
Array
href
required
string
href
string
id
string <uuid>
Array of objects (Href)
Array
href
required
string
max_devices
object
Array of objects (Href)
Array
href
required
string
Array of objects (Href)
Array
href
required
string
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Address)
object (Address)
created_at
string <date-time>
credit_amount
number <float>
customdata
object
description
string
enforce_2fa_at
string <date-time>

Force to all members to have enabled the two factor authentication after that date, unless the value is null

href
string
id
string <uuid>
logo
string
Array of objects (Href)
Array of objects (Href)
name
string
Array of objects (Href)
terms
integer
twitter
string
updated_at
string <date-time>
website
string
object (Href)
href
required
string
Array of objects (Href)
Array
href
required
string
updated_at
string <date-time>
url
string
Array of objects (Href)
Array
href
required
string
type
string
Value: "default"

The type of the project.

tags
Array of strings
address
string
gateway
string
object (Metro)
code
string
country
string
id
string <uuid>
name
string

Response samples

Content type
application/json
{
  • "address_family": 0,
  • "cidr": 0,
  • "created_at": "2019-08-24T14:15:22Z",
  • "created_by": {
    },
  • "details": "string",
  • "href": "string",
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "metal_gateway": {
    },
  • "netmask": "string",
  • "network": "string",
  • "project": {
    },
  • "state": "string",
  • "tags": [
    ],
  • "type": "vrf",
  • "vrf": {
    },
  • "public": true,
  • "management": true,
  • "manageable": true,
  • "customdata": { },
  • "bill": true,
  • "project_lite": {
    },
  • "address": "string",
  • "gateway": "string",
  • "metro": {
    }
}

Retrieve all routes in the VRF

Returns the list of routes for the VRF

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

VRF UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Responses

Response Schema: application/json
Array of objects (VrfRoute)
Array
id
string <uuid>

The unique identifier for the newly-created resource

status
string
Enum: "pending" "active" "deleting" "error"

The status of the route. Potential values are "pending", "active", "deleting", and "error", representing various lifecycle states of the route and whether or not it has been successfully configured on the network

prefix
string

The IPv4 prefix for the route, in CIDR-style notation

next_hop
string <ipv4>

The next-hop IPv4 address for the route

type
string
Value: "static"

VRF route type, like 'bgp', 'connected', and 'static'. Currently, only static routes are supported

created_at
string <date-time>
updated_at
string <date-time>
object (VrfMetalGateway)
object (VirtualNetwork)
object (Vrf)
href
string
tags
Array of strings
object (Meta)
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
object (Href)
href
required
string
total
integer
current_page
integer
last_page
integer

Response samples

Content type
application/json
{
  • "routes": [
    ],
  • "meta": {
    }
}

Create a VRF route

Create a route in a VRF. Currently only static default routes are supported.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

VRF UUID

query Parameters
include
Array of strings

Nested attributes to include. Included objects will return their full attributes. Attribute names can be dotted (up to 3 levels) to included deeply nested objects.

exclude
Array of strings

Nested attributes to exclude. Excluded objects will return only the href attribute. Attribute names can be dotted (up to 3 levels) to exclude deeply nested objects.

Request Body schema: application/json
required
prefix
required
string

The IPv4 prefix for the route, in CIDR-style notation. For a static default route, this will always be "0.0.0.0/0"

next_hop
required
string <ipv4>

The IPv4 address within the VRF of the host that will handle this route

tags
Array of strings

Responses

Response Schema: application/json
id
string <uuid>

The unique identifier for the newly-created resource

status
string
Enum: "pending" "active" "deleting" "error"

The status of the route. Potential values are "pending", "active", "deleting", and "error", representing various lifecycle states of the route and whether or not it has been successfully configured on the network

prefix
string

The IPv4 prefix for the route, in CIDR-style notation

next_hop
string <ipv4>

The next-hop IPv4 address for the route

type
string
Value: "static"

VRF route type, like 'bgp', 'connected', and 'static'. Currently, only static routes are supported

created_at
string <date-time>
updated_at
string <date-time>
object (VrfMetalGateway)
created_at
string <date-time>
object (Href)
href
required
string
href
string
id
string <uuid>
object (VrfIpReservation)
address_family
integer
cidr
integer
created_at
string <date-time>
object (Href)
details
string
href
string
id
string <uuid>
object (MetalGatewayLite)
netmask
string
network
string
object (Project)
state
string
tags
Array of strings
type
required
string
Value: "vrf"
required
object (Vrf)
public
boolean
management
boolean
manageable
boolean
customdata
object
bill
boolean
object (Project)
address
string
gateway
string
object (Metro)
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
object (VirtualNetwork)
object (Project)
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

object (Metro)
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
object (Vrf)
id
string <uuid>
name
string
description
string

Optional field that can be set to describe the VRF

bill
boolean
Default: false

True if the VRF is being billed. Usage will start when the first VRF Virtual Circuit is active, and will only stop when the VRF has been deleted.

bgp_dynamic_neighbors_enabled
boolean

Toggle to enable the dynamic bgp neighbors feature on the VRF

bgp_dynamic_neighbors_export_route_map
boolean

Toggle to export the VRF route-map to the dynamic bgp neighbors

bgp_dynamic_neighbors_bfd_enabled
boolean

Toggle BFD on dynamic bgp neighbors sessions

local_asn
integer <int64> [ 0 .. 4294967295 ]

A 4-byte ASN associated with the VRF.

Array of objects (VrfVirtualCircuit)

Virtual circuits that are in the VRF

ip_ranges
Array of strings

A list of CIDR network addresses. Like ["10.0.0.0/16", "2001:d78::/59"].

object (Project)
object (Metro)
object (User)
href
string
created_at
string <date-time>
updated_at
string <date-time>
tags
Array of strings
object (VirtualNetwork)
object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
assigned_to_virtual_circuit
boolean

True if the virtual network is attached to a virtual circuit. False if not.

description
string
object (Href)
href
required
string
href
string
created_at
string <date-time>
id
string <uuid>
Array of objects (Device)

A list of instances with ports currently associated to this Virtual Network.

Array
always_pxe
boolean
billing_cycle
string
bonding_mode
integer
created_at
string <date-time>
object (Device_created_by)

The user that created the device.

object
Default: {}
description
string
object (Facility)
firmware_set_id
string <uuid>

The UUID of the firmware set to associate with the device.

object (HardwareReservation)
hostname
string
href
string
id
string <uuid>
image_url
string
Array of objects (IPAssignment)
ipxe_script_url
string
iqn
string
locked
boolean

Prevents accidental deletion of this resource when set to true.

object (Device_metro)

The metro the facility is in

network_frozen
boolean

Whether network mode changes such as converting to/from Layer2 or Layer3 networking, bonding or disbonding network interfaces are permitted for the device.

Array of objects (Port)

By default, servers at Equinix Metal are configured in a “bonded” mode using LACP (Link Aggregation Control Protocol). Each 2-NIC server is configured with a single bond (namely bond0) with both interfaces eth0 and eth1 as members of the bond in a default Layer 3 mode. Some device plans may have a different number of ports and bonds available.

object (OperatingSystem)
Array of objects (Device_actions_inner)

Actions supported by the device instance.

object (Plan)
object (Project)
object (Device_project_lite)

Lite version of project object when included

Array of objects (Event)
provisioning_percentage
number <float>

Only visible while device provisioning

root_password
string

Root password is automatically generated when server is provisioned and it is removed after 24 hours

short_id
string
spot_instance
boolean

Whether or not the device is a spot instance.

spot_price_max
number <float>

The maximum price per hour you are willing to pay to keep this spot instance. If you are outbid, the termination will be set allowing two minutes before shutdown.

Array of objects (Href)
state
string
Enum: "queued" "provisioning" "deprovisioning" "reinstalling" "active" "inactive" "failed" "powering_on" "powering_off" "deleted"

The current state the instance is in.

  • When an instance is initially created it will be in the queued state until it is picked up by the provisioner.
  • Once provisioning has begun on the instance it's state will move to provisioning.
  • When an instance is deleted, it will move to deprovisioning state until the deprovision is completed and the instance state moves to deleted.
  • If an instance fails to provision or deprovision it will move to failed state.
  • Once an instance has completed provisioning it will move to active state.
  • If an instance is currently powering off or powering on it will move to powering_off or powering_on states respectively.
  • When the instance is powered off completely it will move to the inactive state.
  • When an instance is powered on completely it will move to the active state.
  • Using the reinstall action to install a new OS on the instance will cause the instance state to change to reinstalling.
  • When the reinstall action is complete the instance will move to active state.
object (Storage)
switch_uuid
string

Switch short id. This can be used to determine if two devices are connected to the same switch, for example.

tags
Array of strings
termination_time
string <date-time>

When the device will be terminated. If you don't supply timezone info, the timestamp is assumed to be in UTC.

This is commonly set in advance for ephemeral spot market instances but this field may also be set with on-demand and reservation instances to automatically delete the resource at a given time. The termination time can also be used to release a hardware reservation instance at a given time, keeping the reservation open for other uses. On a spot market device, the termination time will be set automatically when outbid.

updated_at
string <date-time>
user
string
userdata
string
Array of objects (Href)
sos
string

Hostname used to connect to the instance via the SOS (Serial over SSH) out-of-band console.

Array of objects (MetalGatewayLite)

A list of metal gateways currently associated to this Virtual Network.

Array
created_at
string <date-time>
gateway_address
string

The gateway address with subnet CIDR value for this Metal Gateway. For example, a Metal Gateway using an IP reservation with block 10.1.2.0/27 would have a gateway address of 10.1.2.1/27.

href
string
id
string <uuid>
state
string
Enum: "ready" "active" "deleting"

The current state of the Metal Gateway. 'Ready' indicates the gateway record has been configured, but is currently not active on the network. 'Active' indicates the gateway has been configured on the network. 'Deleting' is a temporary state used to indicate that the gateway is in the process of being un-configured from the network, after which the gateway record will be deleted.

updated_at
string <date-time>
vlan
integer

The VLAN id of the Virtual Network record associated to this Metal Gateway.

object (Metro)
code
string
country
string
id
string <uuid>
name
string
metro_code
string

The Metro code of the metro in which this Virtual Network is defined.

vxlan
integer
tags
Array of strings
object (Vrf)
id
string <uuid>
name
string
description
string

Optional field that can be set to describe the VRF

bill
boolean
Default: false

True if the VRF is being billed. Usage will start when the first VRF Virtual Circuit is active, and will only stop when the VRF has been deleted.

bgp_dynamic_neighbors_enabled
boolean

Toggle to enable the dynamic bgp neighbors feature on the VRF

bgp_dynamic_neighbors_export_route_map
boolean

Toggle to export the VRF route-map to the dynamic bgp neighbors

bgp_dynamic_neighbors_bfd_enabled
boolean

Toggle BFD on dynamic bgp neighbors sessions

local_asn
integer <int64> [ 0 .. 4294967295 ]

A 4-byte ASN associated with the VRF.

Array of objects (VrfVirtualCircuit)

Virtual circuits that are in the VRF

Array
customer_ip
string

An IPv4 address from the subnet that will be used on the Customer side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet as the Metal IP. By default, the last usable IP address in the subnet will be used.

customer_ipv6
string

An IPv6 address from the subnet IPv6 that will be used on the Customer side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet IPv6 as the Metal IPv6. By default, the last usable IP address in the subnet IPv6 will be used.

description
string
id
string <uuid>
md5
string

The MD5 password for the BGP peering in plaintext (not a checksum).

metal_ip
string

An IPv4 address from the subnet that will be used on the Metal side. This parameter is optional, but if supplied, we will use the other usable IP address in the subnet as the Customer IP. By default, the first usable IP address in the subnet will be used.

metal_ipv6
string

An IPv6 address from the subnet IPv6 that will be used on the Metal side. This parameter is optional, but if supplied, we will use the other usable IPv6 address in the subnet IPv6 as the Customer IP. By default, the first usable IPv6 address in the subnet IPv6 will be used.

name
string
object (InterconnectionPort)
nni_vlan
integer
peer_asn
integer <int64> [ 0 .. 4294967295 ]

The peer ASN that will be used with the VRF on the Virtual Circuit.

object (Project)
speed
integer <int64>

integer representing bps speed

status
string
Enum: "pending" "waiting_on_peering_details" "activating" "changing_peering_details" "deactivating" "deleting" "active" "expired" "activation_failed" "changing_peering_details_failed" "deactivation_failed" "delete_failed"

The status changes of a VRF virtual circuit are generally the same as Virtual Circuits that aren't in a VRF. However, for VRF Virtual Circuits on Fabric VCs, the status will change to 'waiting_on_peering_details' once the Fabric service token associated with the virtual circuit has been redeemed on Fabric, and Metal has found the associated Fabric connection. At this point, users can update the subnet, MD5 password, customer IP and/or metal IP accordingly. For VRF Virtual Circuits on Dedicated Ports, we require all peering details to be set on creation of a VRF Virtual Circuit. The status will change to changing_peering_details whenever an active VRF Virtual Circuit has any of its peering details updated.

subnet
string

The /30 or /31 IPv4 subnet of one of the VRF IP Blocks that will be used with the VRF for the Virtual Circuit. This subnet does not have to be an existing VRF IP reservation, as we will create the VRF IP reservation on creation if it does not exist. The Metal IP and Customer IP must be IPs from this subnet. For /30 subnets, the network and broadcast IPs cannot be used as the Metal or Customer IP.

subnet_ipv6
string

The /126 or /127 IPv6 subnet of one of the VRF IP Blocks that will be used with the VRF for the Virtual Circuit. This subnet does not have to be an existing VRF IP reservation, as we will create the VRF IP reservation on creation if it does not exist. The Metal IPv6 and Customer IPv6 must be IPs from this subnet. For /126 subnets, the network and broadcast IPs cannot be used as the Metal IPv6 or Customer IPv6. The subnet specified must be contained within an already-defined IP Range for the VRF.

tags
Array of strings
type
string
Value: "vrf"
vrf
required
object (Vrf) Recursive
created_at
string <date-time>
updated_at
string <date-time>
ip_ranges
Array of strings

A list of CIDR network addresses. Like ["10.0.0.0/16", "2001:d78::/59"].

object (Project)
backend_transfer_enabled
boolean
object (Href)
created_at
string <date-time>
customdata
object
Array of objects (Href)
href
string
id
string <uuid>
Array of objects (Href)
max_devices
object
Array of objects (Href)
Array of objects (Href)
name
string [ 1 .. 80 ] characters

The name of the project. Cannot contain characters encoded in greater than 3 bytes such as emojis.

network_status
object
object (Organization)
object (Href)
Array of objects (Href)
updated_at
string <date-time>
url
string
Array of objects (Href)
type
string
Value: "default"

The type of the project.

tags
Array of strings
object (Metro)
code
string
country
string
id
string <uuid>
name
string
object (User)
avatar_thumb_url
string
avatar_url
string
created_at
string <date-time>
customdata
object
default_organization_id
string <uuid>
default_project_id
string <uuid>
email
string
Array of objects (Href)
first_name
string
fraud_score
string
full_name
string
href
string
id
string <uuid>
last_login_at
string <date-time>
last_name
string
max_organizations
integer
max_projects
integer
phone_number
string
short_id
string
timezone
string
two_factor_auth
string
updated_at
string <date-time>
href
string
created_at
string <date-time>
updated_at
string <date-time>
tags
Array of strings
href
string
tags
Array of strings

Request samples

Content type
application/json
{
  • "prefix": "0.0.0.0/0",
  • "next_hop": "192.168.1.254",
  • "tags": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "e1ff9c2b-051a-4688-965f-153e274f77e0",
  • "status": "active",
  • "prefix": "0.0.0.0/0",
  • "next_hop": "192.168.1.254",
  • "type": "static",
  • "created_at": "2019-08-24T14:15:22Z",
  • "updated_at": "2019-08-24T14:15:22Z",
  • "metal_gateway": {
    },
  • "virtual_network": {
    },
  • "vrf": {
    },
  • "href": "/routes/e1ff9c2b-051a-4688-965f-153e274f77e0",
  • "tags": [
    ]
}

Retrieve learned L3 routes within the VRF

Provides information about learned routes for the VRF. The VRF builds this information dynamically though BGP from other routers in the network.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

VRF UUID

Responses

Response Schema: application/json
Array of objects (VrfLearnedRoutes)
Array
prefix
string
origin_as
integer <int64> [ 0 .. 4294967295 ]

The ASN of the peer that advertised the prefix.

Response samples

Content type
application/json
{
  • "learned_routes": [
    ]
}

Retrieve BGP neighbor states for the VRF

Provides BGP peering information such as the IP and state of the neighbor.

Authorizations:
X-Auth-Token
path Parameters
id
required
string <uuid>

VRF UUID

Responses

Response Schema: application/json
Array of objects (VrfBGPNeighbors)
Array
peer_ip
string
peer_as
integer <int64> [ 0 .. 4294967295 ]

The ASN of the peer that advertised the prefix.

state
string

The current status of the connection to the BGP peer. State is either up or down.

Response samples

Content type
application/json
{
  • "bgp_neighbors": [
    ]
}