Scaleway logo
Elastic Metal API

Elastic Metal allow you to order dedicated servers on-demand, like cloud Instances. A server refers to physical server used to provide the service.


Create multiple Elastic Metal servers

POST
https://api.scaleway.com
/baremetal/v1/zones/{zone}/batch-create-servers

Create multiple new Elastic Metal servers. Once the servers are created, proceed with the installation of an OS.

Create multiple Elastic Metal servers › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
pl-waw-2
pl-waw-3

Create multiple Elastic Metal servers › Request Body

​scaleway.baremetal.v1.CreateServerRequest

Configuration wanted for the servers to create.

Create multiple Elastic Metal servers › Responses


List Elastic Metal servers for an Organization

GET
https://api.scaleway.com
/baremetal/v1/zones/{zone}/servers

List Elastic Metal servers for a specific Organization.

List Elastic Metal servers for an Organization › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
pl-waw-2
pl-waw-3

List Elastic Metal servers for an Organization › query Parameters

page
​integer · int32

Page number.

page_size
​integer · uint32

Number of servers per page.

order_by
​scaleway.baremetal.v1.ListServersRequest.OrderBy · enum

Order of the servers.

Enum values:
created_at_asc
created_at_desc
Default: created_at_asc
tags
​string[]

Tags to filter for.

status
​string[]

Status to filter for.

name
​string

Names to filter for.

organization_id
​string

Organization ID to filter for.

project_id
​string

Project ID to filter for.

option_id
​string

Option ID to filter for.

List Elastic Metal servers for an Organization › Responses

200
total_count
​integer · uint32

Total count of matching servers.

Array of Elastic Metal server objects matching the filters in the request.


Create an Elastic Metal server

POST
https://api.scaleway.com
/baremetal/v1/zones/{zone}/servers

Create a new Elastic Metal server. Once the server is created, proceed with the installation of an OS.

Create an Elastic Metal server › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
pl-waw-2
pl-waw-3

Create an Elastic Metal server › Request Body

offer_id
​string · required

Offer ID of the new server.

name
​string · required

Name of the server (≠hostname).

description
​string · required

Description associated with the server, max 255 characters.

project_id
​string | null

Project ID with which the server will be created.

tags
​string[]

Tags to associate to the server.

Object describing the configuration details of the OS installation on the server.

option_ids
​string[]

IDs of options to enable on server.

protected
​boolean

If enabled, the server can not be deleted.

Configuration data to pass to cloud-init such as a YAML cloud config data or a user-data script.

Create an Elastic Metal server › Responses

200
id
​string

ID of the server.

organization_id
​string

Organization ID the server is attached to.

project_id
​string

Project ID the server is attached to.

name
​string

Name of the server.

description
​string

Description of the server.

updated_at
​string | null · date-time

Last modification date of the server. (RFC 3339 format)

created_at
​string | null · date-time

Creation date of the server. (RFC 3339 format)

status
​scaleway.baremetal.v1.Server.Status · enum

Status of the server.

Enum values:
unknown
delivering
ready
stopping
stopped
starting
error
deleting
Default: unknown
offer_id
​string

Offer ID of the server.

offer_name
​string

Offer name of the server.

tags
​string[]

Array of custom tags attached to the server.

Array of IPs attached to the server.

domain
​string

Domain of the server.

boot_type
​scaleway.baremetal.v1.Server.BootType · enum

Boot type of the server.

Enum values:
unknown_boot_type
normal
rescue
Default: unknown_boot_type
zone
​string

Zone in which is the server located.

Configuration of the installation.

ping_status
​scaleway.baremetal.v1.Server.PingStatus · enum

Status of server ping.

Enum values:
ping_status_unknown
ping_status_up
ping_status_down
Default: ping_status_unknown

Options enabled on the server.

Configuration of rescue boot.

protected
​boolean

If enabled, the server can not be deleted.

Optional configuration data passed to cloud-init.


Get a specific Elastic Metal server

GET
https://api.scaleway.com
/baremetal/v1/zones/{zone}/servers/{server_id}

Get full details of an existing Elastic Metal server associated with the ID.

Get a specific Elastic Metal server › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
pl-waw-2
pl-waw-3
server_id
​string · required

ID of the server.

Get a specific Elastic Metal server › Responses

200
id
​string

ID of the server.

organization_id
​string

Organization ID the server is attached to.

project_id
​string

Project ID the server is attached to.

name
​string

Name of the server.

description
​string

Description of the server.

updated_at
​string | null · date-time

Last modification date of the server. (RFC 3339 format)

created_at
​string | null · date-time

Creation date of the server. (RFC 3339 format)

status
​scaleway.baremetal.v1.Server.Status · enum

Status of the server.

Enum values:
unknown
delivering
ready
stopping
stopped
starting
error
deleting
Default: unknown
offer_id
​string

Offer ID of the server.

offer_name
​string

Offer name of the server.

tags
​string[]

Array of custom tags attached to the server.

Array of IPs attached to the server.

domain
​string

Domain of the server.

boot_type
​scaleway.baremetal.v1.Server.BootType · enum

Boot type of the server.

Enum values:
unknown_boot_type
normal
rescue
Default: unknown_boot_type
zone
​string

Zone in which is the server located.

Configuration of the installation.

ping_status
​scaleway.baremetal.v1.Server.PingStatus · enum

Status of server ping.

Enum values:
ping_status_unknown
ping_status_up
ping_status_down
Default: ping_status_unknown

Options enabled on the server.

Configuration of rescue boot.

protected
​boolean

If enabled, the server can not be deleted.

Optional configuration data passed to cloud-init.


Update an Elastic Metal server

PATCH
https://api.scaleway.com
/baremetal/v1/zones/{zone}/servers/{server_id}

Update the server associated with the ID. You can update parameters such as the server's name, tags, description and protection flag. Any parameters left null in the request body are not updated.

Update an Elastic Metal server › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
pl-waw-2
pl-waw-3
server_id
​string · required

ID of the server to update.

Update an Elastic Metal server › Request Body

name
​string | null

Name of the server (≠hostname), not updated if null.

description
​string | null

Description associated with the server, max 255 characters, not updated if null.

tags
​array | null

Tags associated with the server, not updated if null.

protected
​boolean | null

If enabled, the server can not be deleted.

Configuration data to pass to cloud-init such as a YAML cloud config data or a user-data script.

Update an Elastic Metal server › Responses

200
id
​string

ID of the server.

organization_id
​string

Organization ID the server is attached to.

project_id
​string

Project ID the server is attached to.

name
​string

Name of the server.

description
​string

Description of the server.

updated_at
​string | null · date-time

Last modification date of the server. (RFC 3339 format)

created_at
​string | null · date-time

Creation date of the server. (RFC 3339 format)

status
​scaleway.baremetal.v1.Server.Status · enum

Status of the server.

Enum values:
unknown
delivering
ready
stopping
stopped
starting
error
deleting
Default: unknown
offer_id
​string

Offer ID of the server.

offer_name
​string

Offer name of the server.

tags
​string[]

Array of custom tags attached to the server.

Array of IPs attached to the server.

domain
​string

Domain of the server.

boot_type
​scaleway.baremetal.v1.Server.BootType · enum

Boot type of the server.

Enum values:
unknown_boot_type
normal
rescue
Default: unknown_boot_type
zone
​string

Zone in which is the server located.

Configuration of the installation.

ping_status
​scaleway.baremetal.v1.Server.PingStatus · enum

Status of server ping.

Enum values:
ping_status_unknown
ping_status_up
ping_status_down
Default: ping_status_unknown

Options enabled on the server.

Configuration of rescue boot.

protected
​boolean

If enabled, the server can not be deleted.

Optional configuration data passed to cloud-init.


Delete an Elastic Metal server

DELETE
https://api.scaleway.com
/baremetal/v1/zones/{zone}/servers/{server_id}

Delete the server associated with the ID.

Delete an Elastic Metal server › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
pl-waw-2
pl-waw-3
server_id
​string · required

ID of the server to delete.

Delete an Elastic Metal server › Responses

200
id
​string

ID of the server.

organization_id
​string

Organization ID the server is attached to.

project_id
​string

Project ID the server is attached to.

name
​string

Name of the server.

description
​string

Description of the server.

updated_at
​string | null · date-time

Last modification date of the server. (RFC 3339 format)

created_at
​string | null · date-time

Creation date of the server. (RFC 3339 format)

status
​scaleway.baremetal.v1.Server.Status · enum

Status of the server.

Enum values:
unknown
delivering
ready
stopping
stopped
starting
error
deleting
Default: unknown
offer_id
​string

Offer ID of the server.

offer_name
​string

Offer name of the server.

tags
​string[]

Array of custom tags attached to the server.

Array of IPs attached to the server.

domain
​string

Domain of the server.

boot_type
​scaleway.baremetal.v1.Server.BootType · enum

Boot type of the server.

Enum values:
unknown_boot_type
normal
rescue
Default: unknown_boot_type
zone
​string

Zone in which is the server located.

Configuration of the installation.

ping_status
​scaleway.baremetal.v1.Server.PingStatus · enum

Status of server ping.

Enum values:
ping_status_unknown
ping_status_up
ping_status_down
Default: ping_status_unknown

Options enabled on the server.

Configuration of rescue boot.

protected
​boolean

If enabled, the server can not be deleted.

Optional configuration data passed to cloud-init.


List server events

GET
https://api.scaleway.com
/baremetal/v1/zones/{zone}/servers/{server_id}/events

List event (i.e. start/stop/reboot) associated to the server ID.

List server events › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
pl-waw-2
pl-waw-3
server_id
​string · required

ID of the server events searched.

List server events › query Parameters

page
​integer · int32

Page number.

page_size
​integer · uint32

Number of server events per page.

Order of the server events.

Enum values:
created_at_asc
created_at_desc
Default: created_at_asc

List server events › Responses

200
total_count
​integer · uint32

Total count of matching events.

Server events that match filters.


Install an Elastic Metal server

POST
https://api.scaleway.com
/baremetal/v1/zones/{zone}/servers/{server_id}/install

Install an Operating System (OS) on the Elastic Metal server with a specific ID.

Install an Elastic Metal server › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
pl-waw-2
pl-waw-3
server_id
​string · required

Server ID to install.

Install an Elastic Metal server › Request Body

os_id
​string · required

ID of the OS to installation on the server.

hostname
​string · required

Hostname of the server.

ssh_key_ids
​string[] · required

SSH key IDs authorized on the server.

user
​string | null

User used for the installation.

password
​string | null

Password used for the installation.

service_user
​string | null

User used for the service to install.

service_password
​string | null

Password used for the service to install.

​scaleway.baremetal.v1.Schema

Partitioning schema.

network_boot_url
​string | null

URL of the network service to which the server should forward its boot request.

network_boot_persistent
​boolean | null

Defines whether the network boot forwarding should be applied at every reboot or only once.

Install an Elastic Metal server › Responses

200
id
​string

ID of the server.

organization_id
​string

Organization ID the server is attached to.

project_id
​string

Project ID the server is attached to.

name
​string

Name of the server.

description
​string

Description of the server.

updated_at
​string | null · date-time

Last modification date of the server. (RFC 3339 format)

created_at
​string | null · date-time

Creation date of the server. (RFC 3339 format)

status
​scaleway.baremetal.v1.Server.Status · enum

Status of the server.

Enum values:
unknown
delivering
ready
stopping
stopped
starting
error
deleting
Default: unknown
offer_id
​string

Offer ID of the server.

offer_name
​string

Offer name of the server.

tags
​string[]

Array of custom tags attached to the server.

Array of IPs attached to the server.

domain
​string

Domain of the server.

boot_type
​scaleway.baremetal.v1.Server.BootType · enum

Boot type of the server.

Enum values:
unknown_boot_type
normal
rescue
Default: unknown_boot_type
zone
​string

Zone in which is the server located.

Configuration of the installation.

ping_status
​scaleway.baremetal.v1.Server.PingStatus · enum

Status of server ping.

Enum values:
ping_status_unknown
ping_status_up
ping_status_down
Default: ping_status_unknown

Options enabled on the server.

Configuration of rescue boot.

protected
​boolean

If enabled, the server can not be deleted.

Optional configuration data passed to cloud-init.


Update IP

PATCH
https://api.scaleway.com
/baremetal/v1/zones/{zone}/servers/{server_id}/ips/{ip_id}

Configure the IP address associated with the server ID and IP ID. You can use this method to set a reverse DNS for an IP address.

Update IP › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
pl-waw-2
pl-waw-3
server_id
​string · required

ID of the server.

ip_id
​string · required

ID of the IP to update.

Update IP › Request Body

reverse
​string | null

New reverse IP to update, not updated if null.

Update IP › Responses

200
id
​string

ID of the IP.

address
​string

Address of the IP. (IP address)

reverse
​string

Reverse IP value.

version
​scaleway.baremetal.v1.IP.Version · enum

Version of IP (v4 or v6).

Enum values:
IPv4
IPv6
Default: IPv4
reverse_status
​scaleway.baremetal.v1.IP.ReverseStatus · enum

Status of the reverse.

Enum values:
unknown
pending
active
error
Default: unknown
reverse_status_message
​string

A message related to the reverse status, e.g. in case of an error.


Return server metrics

GET
https://api.scaleway.com
/baremetal/v1/zones/{zone}/servers/{server_id}/metrics

Get the ping status of the server associated with the ID.

Return server metrics › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
pl-waw-2
pl-waw-3
server_id
​string · required

Server ID to get the metrics.

Return server metrics › Responses

200

Timeseries object representing pings on the server.


Migrate server offer

POST
https://api.scaleway.com
/baremetal/v1/zones/{zone}/servers/{server_id}/migrate-offer-monthly

Migrate server with hourly offer to monthly offer.

Migrate server offer › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
pl-waw-2
pl-waw-3
server_id
​string · required

ID of the server.

Migrate server offer › Responses

200
id
​string

ID of the server.

organization_id
​string

Organization ID the server is attached to.

project_id
​string

Project ID the server is attached to.

name
​string

Name of the server.

description
​string

Description of the server.

updated_at
​string | null · date-time

Last modification date of the server. (RFC 3339 format)

created_at
​string | null · date-time

Creation date of the server. (RFC 3339 format)

status
​scaleway.baremetal.v1.Server.Status · enum

Status of the server.

Enum values:
unknown
delivering
ready
stopping
stopped
starting
error
deleting
Default: unknown
offer_id
​string

Offer ID of the server.

offer_name
​string

Offer name of the server.

tags
​string[]

Array of custom tags attached to the server.

Array of IPs attached to the server.

domain
​string

Domain of the server.

boot_type
​scaleway.baremetal.v1.Server.BootType · enum

Boot type of the server.

Enum values:
unknown_boot_type
normal
rescue
Default: unknown_boot_type
zone
​string

Zone in which is the server located.

Configuration of the installation.

ping_status
​scaleway.baremetal.v1.Server.PingStatus · enum

Status of server ping.

Enum values:
ping_status_unknown
ping_status_up
ping_status_down
Default: ping_status_unknown

Options enabled on the server.

Configuration of rescue boot.

protected
​boolean

If enabled, the server can not be deleted.

Optional configuration data passed to cloud-init.


Add server option

POST
https://api.scaleway.com
/baremetal/v1/zones/{zone}/servers/{server_id}/options/{option_id}

Add an option, such as Private Networks, to a specific server.

Add server option › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
pl-waw-2
pl-waw-3
server_id
​string · required

ID of the server.

option_id
​string · required

ID of the option to add.

Add server option › Request Body

expires_at
​string | null · date-time

Auto expire the option after this date. (RFC 3339 format)

Add server option › Responses

200
id
​string

ID of the server.

organization_id
​string

Organization ID the server is attached to.

project_id
​string

Project ID the server is attached to.

name
​string

Name of the server.

description
​string

Description of the server.

updated_at
​string | null · date-time

Last modification date of the server. (RFC 3339 format)

created_at
​string | null · date-time

Creation date of the server. (RFC 3339 format)

status
​scaleway.baremetal.v1.Server.Status · enum

Status of the server.

Enum values:
unknown
delivering
ready
stopping
stopped
starting
error
deleting
Default: unknown
offer_id
​string

Offer ID of the server.

offer_name
​string

Offer name of the server.

tags
​string[]

Array of custom tags attached to the server.

Array of IPs attached to the server.

domain
​string

Domain of the server.

boot_type
​scaleway.baremetal.v1.Server.BootType · enum

Boot type of the server.

Enum values:
unknown_boot_type
normal
rescue
Default: unknown_boot_type
zone
​string

Zone in which is the server located.

Configuration of the installation.

ping_status
​scaleway.baremetal.v1.Server.PingStatus · enum

Status of server ping.

Enum values:
ping_status_unknown
ping_status_up
ping_status_down
Default: ping_status_unknown

Options enabled on the server.

Configuration of rescue boot.

protected
​boolean

If enabled, the server can not be deleted.

Optional configuration data passed to cloud-init.


Delete server option

DELETE
https://api.scaleway.com
/baremetal/v1/zones/{zone}/servers/{server_id}/options/{option_id}

Delete an option from a specific server.

Delete server option › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
pl-waw-2
pl-waw-3
server_id
​string · required

ID of the server.

option_id
​string · required

ID of the option to delete.

Delete server option › Responses

200
id
​string

ID of the server.

organization_id
​string

Organization ID the server is attached to.

project_id
​string

Project ID the server is attached to.

name
​string

Name of the server.

description
​string

Description of the server.

updated_at
​string | null · date-time

Last modification date of the server. (RFC 3339 format)

created_at
​string | null · date-time

Creation date of the server. (RFC 3339 format)

status
​scaleway.baremetal.v1.Server.Status · enum

Status of the server.

Enum values:
unknown
delivering
ready
stopping
stopped
starting
error
deleting
Default: unknown
offer_id
​string

Offer ID of the server.

offer_name
​string

Offer name of the server.

tags
​string[]

Array of custom tags attached to the server.

Array of IPs attached to the server.

domain
​string

Domain of the server.

boot_type
​scaleway.baremetal.v1.Server.BootType · enum

Boot type of the server.

Enum values:
unknown_boot_type
normal
rescue
Default: unknown_boot_type
zone
​string

Zone in which is the server located.

Configuration of the installation.

ping_status
​scaleway.baremetal.v1.Server.PingStatus · enum

Status of server ping.

Enum values:
ping_status_unknown
ping_status_up
ping_status_down
Default: ping_status_unknown

Options enabled on the server.

Configuration of rescue boot.

protected
​boolean

If enabled, the server can not be deleted.

Optional configuration data passed to cloud-init.