Scaleway instance API can be reach on
https://api.scaleway.com/instance/v1/zones/fr-par-1
https://api.scaleway.com/instance/v1/zones/fr-par-2
https://api.scaleway.com/instance/v1/zones/nl-ams-1
https://api.scaleway.com/instance/v1/zones/pl-waw-1
Older endpoints are still reachable but should not be used for new projects
https://cp-par1.scaleway.com
https://cp-ams1.scaleway.com
The following code is an example request to retrieve detailed information about a volume:
% curl -H 'X-Auth-Token: xxxxxxxx-xxxx-xxxxx-xxxx-xxxxxxxxxxxxx' -H 'Content-Type: application/json' https://api.scaleway.com/instance/v1/zones/fr-par-1/volumes/f929fe39-63f8-4be8-a80e-1e9c8ae22a76 -i
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 22 May 2014 07:55:00 GMT
Content-Type: application/json
Content-Length: 1345
Connection: keep-alive
Strict-Transport-Security: max-age=86400
{
"volumes": [
{
"export_uri": null,
"id": "f929fe39-63f8-4be8-a80e-1e9c8ae22a76",
"name": "volume-0-1",
"organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
"server": null,
"size": 10000000000,
"volume_type": "l_ssd"
},
{
"export_uri": null,
"id": "0facb6b5-b117-441a-81c1-f28b1d723779",
"name": "volume-0-2",
"organization": "000a115d-2852-4b0a-9ce8-47f1134ba95a",
"server": null,
"size": 20000000000,
"volume_type": "l_ssd"
}
]
}
Most of listing requests receive a paginated response.
Paginated request
Requests against paginated endpoints accept two query
arguments:
page
, a positive integer to choose the page to return.per_page
, an positive integer lower or equal to 100 to select the number of
items to return. The default value is 50
.Paginated endpoints usually also accept filters to search and sort results. These filters are documented along each endpoint documentation.
Paginated response
% curl -H 'X-Auth-Token: <token>' 'https://api.scaleway.com/instance/v1/zones/fr-par-1/images/?page=2&per_page=10' -i
HTTP/1.0 200 OK
[...]
X-Total-Count: 209
[...]
The X-Total-Count
header contains the total number of items for the resource.
Server types are denomination of the different instances we provide. Scaleway offers Virtual Cloud and dedicated GPU instances.
Virtual Cloud Instances
Virtual cloud instances are offering the best performance/price ratio for most workloads. Different CPU architectures are proposed: The Development and General Purpose ranges are based on AMD EPYC CPUs. The ARM64 range is based on Cavium Thunder X ARM CPUs.
The Development instances range provides stable and consistent performance for development needs. Spin up a development or test environment within seconds. Refer to the Development Instance offer details for more information.
The General Purpose instances range is the solution for demanding workloads. Powerful AMD EPYC CPUs back those instances and offer up to 48 Cores, 256GB of RAM and 600GB of replicated local NVMe SSD storage. Refer to the General Purpose offer details for more information.
The ARM instances range is based on Cavium ThunderX SoCs and provides up to 64 Cores ARM 64bit, 128GB of RAM and 1TB SSD storage. Refer to the ARM offer details for more information.
Dedicated GPU Instances
GPU instances are very powerful compute instances, providing lots of RAM, vCPU, and storage.
They are equipped with Nvidia Tesla P100 GPUs, which are designed for handling rapidly, a massive amount of data. They are useful for heavy data processing, artificial intelligence and machine learning, video encoding, rendering, and so on. The GPU is dedicated to each instance and directly exposed through PCI-e. For more information, refer to GPU Instances.
50
.running
, stopped
, stopped in place
, starting
, stopping
and locked
. The default value is running
.available
, snapshotting
and error
. The default value is available
.running
, stopped
, stopped in place
, starting
, stopping
and locked
. The default value is running
.local
, bootscript
and rescue
. The default value is local
.available
, snapshotting
and error
. The default value is available
.optional
and enforced
. The default value is optional
.max_availability
and low_latency
. The default value is max_availability
.{
"servers": [
{
"id": "string",
"name": "string",
"organization": "string",
"project": "string",
"allowed_actions": [
"poweron"
],
"tags": [
"string"
],
"commercial_type": "string",
"creation_date": "string",
"dynamic_ip_required": "boolean",
"enable_ipv6": "boolean",
"hostname": "string",
"image": {
"id": "string",
"name": "string",
"arch": "x86_64",
"creation_date": "string",
"modification_date": "string",
"default_bootscript": {
"bootcmdargs": "string",
"default": "boolean",
"dtb": "string",
"id": "string",
"initrd": "string",
"kernel": "string",
"organization": "string",
"project": "string",
"public": "boolean",
"title": "string",
"arch": "x86_64",
"zone": "string"
},
"extra_volumes": {
"<extra_volumeKey>": {
"id": "string",
"name": "string",
"export_uri": "string",
"size": 42,
"volume_type": "l_ssd",
"creation_date": "string",
"modification_date": "string",
"organization": "string",
"project": "string",
"server": {
"id": "string",
"name": "string"
},
"state": "available",
"zone": "string"
}
},
"from_server": "string",
"organization": "string",
"public": "boolean",
"root_volume": {
"id": "string",
"name": "string",
"size": 42,
"volume_type": "l_ssd"
},
"state": "available",
"project": "string",
"zone": "string"
},
"protected": "boolean",
"private_ip": "string",
"public_ip": {
"id": "string",
"address": "1.2.3.4",
"dynamic": "boolean"
},
"modification_date": "string",
"state": "running",
"location": {
"cluster_id": "string",
"hypervisor_id": "string",
"node_id": "string",
"platform_id": "string",
"zone_id": "string"
},
"ipv6": {
"address": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
"gateway": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
"netmask": "string"
},
"bootscript": {
"bootcmdargs": "string",
"default": "boolean",
"dtb": "string",
"id": "string",
"initrd": "string",
"kernel": "string",
"organization": "string",
"project": "string",
"public": "boolean",
"title": "string",
"arch": "x86_64",
"zone": "string"
},
"boot_type": "local",
"volumes": {
"<volumeKey>": {
"id": "string",
"name": "string",
"export_uri": "string",
"size": 42,
"volume_type": "l_ssd",
"creation_date": "string",
"modification_date": "string",
"organization": "string",
"project": "string",
"server": {
"id": "string",
"name": "string"
},
"state": "available",
"zone": "string"
}
},
"security_group": {
"id": "string",
"name": "string"
},
"maintenances": [
{}
],
"state_detail": "string",
"arch": "x86_64",
"placement_group": {
"id": "string",
"name": "string",
"organization": "string",
"project": "string",
"policy_mode": "optional",
"policy_type": "max_availability",
"policy_respected": "boolean",
"zone": "string"
},
"private_nics": [
{
"id": "string",
"server_id": "string",
"private_network_id": "string",
"mac_address": "string"
}
],
"zone": "string"
}
],
"total_count": 42
}
l_ssd
and b_ssd
. The default value is l_ssd
.organization
and project
may be set.local
, bootscript
and rescue
. The default value is local
.organization
and project
may be set.{
"name": "string",
"dynamic_ip_required": "boolean",
"commercial_type": "string",
"image": "string",
"volumes": {
"<volumeKey>": {
"id": "string",
"name": "string",
"size": 42,
"volume_type": "l_ssd",
"organization": "string",
"project": "string"
}
},
"enable_ipv6": "boolean",
"public_ip": "string",
"boot_type": "local",
"bootscript": "string",
"organization": "string",
"project": "string",
"tags": [
"string"
],
"security_group": "string",
"placement_group": "string"
}
available
, snapshotting
and error
. The default value is available
.running
, stopped
, stopped in place
, starting
, stopping
and locked
. The default value is running
.local
, bootscript
and rescue
. The default value is local
.available
, snapshotting
and error
. The default value is available
.optional
and enforced
. The default value is optional
.max_availability
and low_latency
. The default value is max_availability
.{
"server": {
"id": "string",
"name": "string",
"organization": "string",
"project": "string",
"allowed_actions": [
"poweron"
],
"tags": [
"string"
],
"commercial_type": "string",
"creation_date": "string",
"dynamic_ip_required": "boolean",
"enable_ipv6": "boolean",
"hostname": "string",
"image": {
"id": "string",
"name": "string",
"arch": "x86_64",
"creation_date": "string",
"modification_date": "string",
"default_bootscript": {
"bootcmdargs": "string",
"default": "boolean",
"dtb": "string",
"id": "string",
"initrd": "string",
"kernel": "string",
"organization": "string",
"project": "string",
"public": "boolean",
"title": "string",
"arch": "x86_64",
"zone": "string"
},
"extra_volumes": {
"<extra_volumeKey>": {
"id": "string",
"name": "string",
"export_uri": "string",
"size": 42,
"volume_type": "l_ssd",
"creation_date": "string",
"modification_date": "string",
"organization": "string",
"project": "string",
"server": {
"id": "string",
"name": "string"
},
"state": "available",
"zone": "string"
}
},
"from_server": "string",
"organization": "string",
"public": "boolean",
"root_volume": {
"id": "string",
"name": "string",
"size": 42,
"volume_type": "l_ssd"
},
"state": "available",
"project": "string",
"zone": "string"
},
"protected": "boolean",
"private_ip": "string",
"public_ip": {
"id": "string",
"address": "1.2.3.4",
"dynamic": "boolean"
},
"modification_date": "string",
"state": "running",
"location": {
"cluster_id": "string",
"hypervisor_id": "string",
"node_id": "string",
"platform_id": "string",
"zone_id": "string"
},
"ipv6": {
"address": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
"gateway": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
"netmask": "string"
},
"bootscript": {
"bootcmdargs": "string",
"default": "boolean",
"dtb": "string",
"id": "string",
"initrd": "string",
"kernel": "string",
"organization": "string",
"project": "string",
"public": "boolean",
"title": "string",
"arch": "x86_64",
"zone": "string"
},
"boot_type": "local",
"volumes": {
"<volumeKey>": {
"id": "string",
"name": "string",
"export_uri": "string",
"size": 42,
"volume_type": "l_ssd",
"creation_date": "string",
"modification_date": "string",
"organization": "string",
"project": "string",
"server": {
"id": "string",
"name": "string"
},
"state": "available",
"zone": "string"
}
},
"security_group": {
"id": "string",
"name": "string"
},
"maintenances": [
{}
],
"state_detail": "string",
"arch": "x86_64",
"placement_group": {
"id": "string",
"name": "string",
"organization": "string",
"project": "string",
"policy_mode": "optional",
"policy_type": "max_availability",
"policy_respected": "boolean",
"zone": "string"
},
"private_nics": [
{
"id": "string",
"server_id": "string",
"private_network_id": "string",
"mac_address": "string"
}
],
"zone": "string"
}
}
Get the details of a specified Server.
available
, snapshotting
and error
. The default value is available
.running
, stopped
, stopped in place
, starting
, stopping
and locked
. The default value is running
.local
, bootscript
and rescue
. The default value is local
.available
, snapshotting
and error
. The default value is available
.optional
and enforced
. The default value is optional
.max_availability
and low_latency
. The default value is max_availability
.{
"server": {
"id": "string",
"name": "string",
"organization": "string",
"project": "string",
"allowed_actions": [
"poweron"
],
"tags": [
"string"
],
"commercial_type": "string",
"creation_date": "string",
"dynamic_ip_required": "boolean",
"enable_ipv6": "boolean",
"hostname": "string",
"image": {
"id": "string",
"name": "string",
"arch": "x86_64",
"creation_date": "string",
"modification_date": "string",
"default_bootscript": {
"bootcmdargs": "string",
"default": "boolean",
"dtb": "string",
"id": "string",
"initrd": "string",
"kernel": "string",
"organization": "string",
"project": "string",
"public": "boolean",
"title": "string",
"arch": "x86_64",
"zone": "string"
},
"extra_volumes": {
"<extra_volumeKey>": {
"id": "string",
"name": "string",
"export_uri": "string",
"size": 42,
"volume_type": "l_ssd",
"creation_date": "string",
"modification_date": "string",
"organization": "string",
"project": "string",
"server": {
"id": "string",
"name": "string"
},
"state": "available",
"zone": "string"
}
},
"from_server": "string",
"organization": "string",
"public": "boolean",
"root_volume": {
"id": "string",
"name": "string",
"size": 42,
"volume_type": "l_ssd"
},
"state": "available",
"project": "string",
"zone": "string"
},
"protected": "boolean",
"private_ip": "string",
"public_ip": {
"id": "string",
"address": "1.2.3.4",
"dynamic": "boolean"
},
"modification_date": "string",
"state": "running",
"location": {
"cluster_id": "string",
"hypervisor_id": "string",
"node_id": "string",
"platform_id": "string",
"zone_id": "string"
},
"ipv6": {
"address": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
"gateway": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
"netmask": "string"
},
"bootscript": {
"bootcmdargs": "string",
"default": "boolean",
"dtb": "string",
"id": "string",
"initrd": "string",
"kernel": "string",
"organization": "string",
"project": "string",
"public": "boolean",
"title": "string",
"arch": "x86_64",
"zone": "string"
},
"boot_type": "local",
"volumes": {
"<volumeKey>": {
"id": "string",
"name": "string",
"export_uri": "string",
"size": 42,
"volume_type": "l_ssd",
"creation_date": "string",
"modification_date": "string",
"organization": "string",
"project": "string",
"server": {
"id": "string",
"name": "string"
},
"state": "available",
"zone": "string"
}
},
"security_group": {
"id": "string",
"name": "string"
},
"maintenances": [
{}
],
"state_detail": "string",
"arch": "x86_64",
"placement_group": {
"id": "string",
"name": "string",
"organization": "string",
"project": "string",
"policy_mode": "optional",
"policy_type": "max_availability",
"policy_respected": "boolean",
"zone": "string"
},
"private_nics": [
{
"id": "string",
"server_id": "string",
"private_network_id": "string",
"mac_address": "string"
}
],
"zone": "string"
}
}
l_ssd
and b_ssd
. The default value is l_ssd
.organization
and project
may be set.{
"name": "string",
"boot_type": "local",
"tags": [
"string"
],
"volumes": {
"<volumeKey>": {
"id": "string",
"name": "string",
"size": 42,
"volume_type": "l_ssd",
"organization": "string",
"project": "string"
}
},
"bootscript": "string",
"dynamic_ip_required": "boolean",
"enable_ipv6": "boolean",
"protected": "boolean",
"security_group": {
"id": "string",
"name": "string"
},
"placement_group": "string",
"private_nics": [
{
"id": "string",
"server_id": "string",
"private_network_id": "string",
"mac_address": "string"
}
]
}
available
, snapshotting
and error
. The default value is available
.running
, stopped
, stopped in place
, starting
, stopping
and locked
. The default value is running
.local
, bootscript
and rescue
. The default value is local
.available
, snapshotting
and error
. The default value is available
.optional
and enforced
. The default value is optional
.max_availability
and low_latency
. The default value is max_availability
.{
"server": {
"id": "string",
"name": "string",
"organization": "string",
"project": "string",
"allowed_actions": [
"poweron"
],
"tags": [
"string"
],
"commercial_type": "string",
"creation_date": "string",
"dynamic_ip_required": "boolean",
"enable_ipv6": "boolean",
"hostname": "string",
"image": {
"id": "string",
"name": "string",
"arch": "x86_64",
"creation_date": "string",
"modification_date": "string",
"default_bootscript": {
"bootcmdargs": "string",
"default": "boolean",
"dtb": "string",
"id": "string",
"initrd": "string",
"kernel": "string",
"organization": "string",
"project": "string",
"public": "boolean",
"title": "string",
"arch": "x86_64",
"zone": "string"
},
"extra_volumes": {
"<extra_volumeKey>": {
"id": "string",
"name": "string",
"export_uri": "string",
"size": 42,
"volume_type": "l_ssd",
"creation_date": "string",
"modification_date": "string",
"organization": "string",
"project": "string",
"server": {
"id": "string",
"name": "string"
},
"state": "available",
"zone": "string"
}
},
"from_server": "string",
"organization": "string",
"public": "boolean",
"root_volume": {
"id": "string",
"name": "string",
"size": 42,
"volume_type": "l_ssd"
},
"state": "available",
"project": "string",
"zone": "string"
},
"protected": "boolean",
"private_ip": "string",
"public_ip": {
"id": "string",
"address": "1.2.3.4",
"dynamic": "boolean"
},
"modification_date": "string",
"state": "running",
"location": {
"cluster_id": "string",
"hypervisor_id": "string",
"node_id": "string",
"platform_id": "string",
"zone_id": "string"
},
"ipv6": {
"address": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
"gateway": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
"netmask": "string"
},
"bootscript": {
"bootcmdargs": "string",
"default": "boolean",
"dtb": "string",
"id": "string",
"initrd": "string",
"kernel": "string",
"organization": "string",
"project": "string",
"public": "boolean",
"title": "string",
"arch": "x86_64",
"zone": "string"
},
"boot_type": "local",
"volumes": {
"<volumeKey>": {
"id": "string",
"name": "string",
"export_uri": "string",
"size": 42,
"volume_type": "l_ssd",
"creation_date": "string",
"modification_date": "string",
"organization": "string",
"project": "string",
"server": {
"id": "string",
"name": "string"
},
"state": "available",
"zone": "string"
}
},
"security_group": {
"id": "string",
"name": "string"
},
"maintenances": [
{}
],
"state_detail": "string",
"arch": "x86_64",
"placement_group": {
"id": "string",
"name": "string",
"organization": "string",
"project": "string",
"policy_mode": "optional",
"policy_type": "max_availability",
"policy_respected": "boolean",
"zone": "string"
},
"private_nics": [
{
"id": "string",
"server_id": "string",
"private_network_id": "string",
"mac_address": "string"
}
],
"zone": "string"
}
}
Delete a server with the given ID.
Liste all actions that can currently be performed on a server.
Perform power related actions on a server. Be wary that when terminating a server, all the attached volumes (local and block storage) are deleted. So, if you want to keep your local volumes, you must use the archive
action instead of terminate
. And if you want to keep block-storage volumes, you must detach it beforehand you issue the terminate
call. For more information, read the Volumes documentation.
{
"action": "poweron",
"name": "string"
}
pending
, started
, success
, failure
and retry
. The default value is pending
.{
"task": {
"id": "string",
"description": "string",
"progress": 42,
"started_at": "string",
"terminated_at": "string",
"status": "pending",
"href_from": "string",
"href_result": "string",
"zone": "string"
}
}
Images are backups of your instances. You can reuse that image to restore your data or create a series of instances with a predefined configuration.
An image is a complete backup of your server including all volumes.
List all images available in an account.