Scaleway logo
Public Gateways API

Public Gateways are building blocks for your infrastructure on Scaleway's shared public cloud. They provide a set of managed network services and features for Scaleway's Private Networks such NAT and PAT rules.


List Public Gateways

GET
https://api.scaleway.com
/vpc-gw/v2/zones/{zone}/gateways

List Public Gateways in a given Scaleway Organization or Project. By default, results are displayed in ascending order of creation date.

List Public Gateways › path Parameters

zone
​string · enum · required

The zone you want to target

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

List Public Gateways › query Parameters

order_by
​scaleway.vpc_gw.v2.ListGatewaysRequest.OrderBy · enum

Order in which to return results.

Enum values:
created_at_asc
created_at_desc
name_asc
name_desc
type_asc
type_desc
status_asc
status_desc
Default: created_at_asc
page
​integer · int32

Page number to return.

page_size
​integer · uint32

Gateways per page.

organization_id
​string

Include only gateways in this Organization. (UUID format)

project_id
​string

Include only gateways in this Project. (UUID format)

name
​string

Filter for gateways which have this search term in their name.

tags
​string[]

Filter for gateways with these tags.

types
​string[]

Filter for gateways of these types.

Filter for gateways with these status. Use unknown to include all statuses.

Enum values:
unknown_status
stopped
allocating
configuring
running
stopping
failed
deleting
private_network_ids
​string[]

Filter for gateways attached to these Private Networks.

include_legacy
​boolean

Include also legacy gateways.

List Public Gateways › Responses

200

Gateways on this page.

total_count
​integer · uint64

Total count of gateways matching the filter.


Create a Public Gateway

POST
https://api.scaleway.com
/vpc-gw/v2/zones/{zone}/gateways

Create a new Public Gateway in the specified Scaleway Project, defining its name, type and other configuration details such as whether to enable SSH bastion.

Create a Public Gateway › path Parameters

zone
​string · enum · required

The zone you want to target

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

Create a Public Gateway › Request Body

project_id
​string

Scaleway Project to create the gateway in. (UUID format)

name
​string

Name for the gateway.

tags
​string[]

Tags for the gateway.

type
​string

Gateway type (commercial offer type).

ip_id
​string | null

Existing IP address to attach to the gateway. (UUID format)

enable_smtp
​boolean

Defines whether SMTP traffic should be allowed pass through the gateway.

enable_bastion
​boolean

Defines whether SSH bastion should be enabled the gateway.

bastion_port
​integer | null · uint32

Port of the SSH bastion.

Create a Public Gateway › Responses

200
id
​string

ID of the gateway. (UUID format)

srn
​string

The SRN of the gateway.

organization_id
​string

Owning Organization. (UUID format)

project_id
​string

Owning Project. (UUID format)

created_at
​string | null · date-time

Gateway creation date. (RFC 3339 format)

updated_at
​string | null · date-time

Gateway last modification date. (RFC 3339 format)

type
​string

Gateway type name (commercial offer).

bandwidth
​integer · uint64

Bandwidth available of the gateway.

status
​scaleway.vpc_gw.v2.Gateway.Status · enum

Current status of the gateway.

Enum values:
unknown_status
stopped
allocating
configuring
running
stopping
failed
deleting
Default: unknown_status
name
​string

Name of the gateway.

tags
​string[]

Tags associated with the gateway.

Public IPv4 address of the gateway.

​scaleway.vpc_gw.v2.GatewayNetwork[]

GatewayNetwork objects attached to the gateway (each one represents a connection to a Private Network).

version
​string | null

Version of the running gateway software.

can_upgrade_to
​string | null

Newly available gateway software version that can be updated to.

bastion_enabled
​boolean

Defines whether SSH bastion is enabled on the gateway.

bastion_port
​integer · uint32

Port of the SSH bastion.

smtp_enabled
​boolean

Defines whether SMTP traffic is allowed to pass through the gateway.

is_legacy
​boolean

Defines whether the gateway uses non-IPAM IP configurations.

bastion_allowed_ips
​string[]

Ranges of IP addresses allowed to connect to the gateway's SSH bastion. (IP network)

zone
​string

Zone of the gateway.


Get a Public Gateway

GET
https://api.scaleway.com
/vpc-gw/v2/zones/{zone}/gateways/{gateway_id}

Get details of a Public Gateway, specified by its gateway ID. The response object contains full details of the gateway, including its name, type, status and more.

Get a Public Gateway › path Parameters

zone
​string · enum · required

The zone you want to target

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

ID of the gateway to fetch. (UUID format)

Get a Public Gateway › Responses

200
id
​string

ID of the gateway. (UUID format)

srn
​string

The SRN of the gateway.

organization_id
​string

Owning Organization. (UUID format)

project_id
​string

Owning Project. (UUID format)

created_at
​string | null · date-time

Gateway creation date. (RFC 3339 format)

updated_at
​string | null · date-time

Gateway last modification date. (RFC 3339 format)

type
​string

Gateway type name (commercial offer).

bandwidth
​integer · uint64

Bandwidth available of the gateway.

status
​scaleway.vpc_gw.v2.Gateway.Status · enum

Current status of the gateway.

Enum values:
unknown_status
stopped
allocating
configuring
running
stopping
failed
deleting
Default: unknown_status
name
​string

Name of the gateway.

tags
​string[]

Tags associated with the gateway.

Public IPv4 address of the gateway.

​scaleway.vpc_gw.v2.GatewayNetwork[]

GatewayNetwork objects attached to the gateway (each one represents a connection to a Private Network).

version
​string | null

Version of the running gateway software.

can_upgrade_to
​string | null

Newly available gateway software version that can be updated to.

bastion_enabled
​boolean

Defines whether SSH bastion is enabled on the gateway.

bastion_port
​integer · uint32

Port of the SSH bastion.

smtp_enabled
​boolean

Defines whether SMTP traffic is allowed to pass through the gateway.

is_legacy
​boolean

Defines whether the gateway uses non-IPAM IP configurations.

bastion_allowed_ips
​string[]

Ranges of IP addresses allowed to connect to the gateway's SSH bastion. (IP network)

zone
​string

Zone of the gateway.


Delete a Public Gateway

DELETE
https://api.scaleway.com
/vpc-gw/v2/zones/{zone}/gateways/{gateway_id}

Delete an existing Public Gateway, specified by its gateway ID. This action is irreversible.

Delete a Public Gateway › path Parameters

zone
​string · enum · required

The zone you want to target

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

ID of the gateway to delete. (UUID format)

Delete a Public Gateway › query Parameters

delete_ip
​boolean · required

Defines whether the PGW's IP should be deleted.

Delete a Public Gateway › Responses

200
id
​string

ID of the gateway. (UUID format)

srn
​string

The SRN of the gateway.

organization_id
​string

Owning Organization. (UUID format)

project_id
​string

Owning Project. (UUID format)

created_at
​string | null · date-time

Gateway creation date. (RFC 3339 format)

updated_at
​string | null · date-time

Gateway last modification date. (RFC 3339 format)

type
​string

Gateway type name (commercial offer).

bandwidth
​integer · uint64

Bandwidth available of the gateway.

status
​scaleway.vpc_gw.v2.Gateway.Status · enum

Current status of the gateway.

Enum values:
unknown_status
stopped
allocating
configuring
running
stopping
failed
deleting
Default: unknown_status
name
​string

Name of the gateway.

tags
​string[]

Tags associated with the gateway.

Public IPv4 address of the gateway.

​scaleway.vpc_gw.v2.GatewayNetwork[]

GatewayNetwork objects attached to the gateway (each one represents a connection to a Private Network).

version
​string | null

Version of the running gateway software.

can_upgrade_to
​string | null

Newly available gateway software version that can be updated to.

bastion_enabled
​boolean

Defines whether SSH bastion is enabled on the gateway.

bastion_port
​integer · uint32

Port of the SSH bastion.

smtp_enabled
​boolean

Defines whether SMTP traffic is allowed to pass through the gateway.

is_legacy
​boolean

Defines whether the gateway uses non-IPAM IP configurations.

bastion_allowed_ips
​string[]

Ranges of IP addresses allowed to connect to the gateway's SSH bastion. (IP network)

zone
​string

Zone of the gateway.


Update a Public Gateway

PATCH
https://api.scaleway.com
/vpc-gw/v2/zones/{zone}/gateways/{gateway_id}

Update the parameters of an existing Public Gateway, for example, its name, tags, SSH bastion configuration, and DNS servers.

Update a Public Gateway › path Parameters

zone
​string · enum · required

The zone you want to target

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

ID of the gateway to update. (UUID format)

Update a Public Gateway › Request Body

name
​string | null

Name for the gateway.

tags
​array | null

Tags for the gateway.

enable_bastion
​boolean | null

Defines whether SSH bastion should be enabled the gateway.

bastion_port
​integer | null · uint32

Port of the SSH bastion.

enable_smtp
​boolean | null

Defines whether SMTP traffic should be allowed to pass through the gateway.

Update a Public Gateway › Responses

200
id
​string

ID of the gateway. (UUID format)

srn
​string

The SRN of the gateway.

organization_id
​string

Owning Organization. (UUID format)

project_id
​string

Owning Project. (UUID format)

created_at
​string | null · date-time

Gateway creation date. (RFC 3339 format)

updated_at
​string | null · date-time

Gateway last modification date. (RFC 3339 format)

type
​string

Gateway type name (commercial offer).

bandwidth
​integer · uint64

Bandwidth available of the gateway.

status
​scaleway.vpc_gw.v2.Gateway.Status · enum

Current status of the gateway.

Enum values:
unknown_status
stopped
allocating
configuring
running
stopping
failed
deleting
Default: unknown_status
name
​string

Name of the gateway.

tags
​string[]

Tags associated with the gateway.

Public IPv4 address of the gateway.

​scaleway.vpc_gw.v2.GatewayNetwork[]

GatewayNetwork objects attached to the gateway (each one represents a connection to a Private Network).

version
​string | null

Version of the running gateway software.

can_upgrade_to
​string | null

Newly available gateway software version that can be updated to.

bastion_enabled
​boolean

Defines whether SSH bastion is enabled on the gateway.

bastion_port
​integer · uint32

Port of the SSH bastion.

smtp_enabled
​boolean

Defines whether SMTP traffic is allowed to pass through the gateway.

is_legacy
​boolean

Defines whether the gateway uses non-IPAM IP configurations.

bastion_allowed_ips
​string[]

Ranges of IP addresses allowed to connect to the gateway's SSH bastion. (IP network)

zone
​string

Zone of the gateway.


Refresh a Public Gateway's SSH keys

POST
https://api.scaleway.com
/vpc-gw/v2/zones/{zone}/gateways/{gateway_id}/refresh-ssh-keys

Refresh the SSH keys of a given Public Gateway, specified by its gateway ID. This adds any new SSH keys in the gateway's Scaleway Project to the gateway itself.

Refresh a Public Gateway's SSH keys › path Parameters

zone
​string · enum · required

The zone you want to target

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

ID of the gateway to refresh SSH keys on. (UUID format)

Refresh a Public Gateway's SSH keys › Request Body

Refresh a Public Gateway's SSH keys › Responses

200
id
​string

ID of the gateway. (UUID format)

srn
​string

The SRN of the gateway.

organization_id
​string

Owning Organization. (UUID format)

project_id
​string

Owning Project. (UUID format)

created_at
​string | null · date-time

Gateway creation date. (RFC 3339 format)

updated_at
​string | null · date-time

Gateway last modification date. (RFC 3339 format)

type
​string

Gateway type name (commercial offer).

bandwidth
​integer · uint64

Bandwidth available of the gateway.

status
​scaleway.vpc_gw.v2.Gateway.Status · enum

Current status of the gateway.

Enum values:
unknown_status
stopped
allocating
configuring
running
stopping
failed
deleting
Default: unknown_status
name
​string

Name of the gateway.

tags
​string[]

Tags associated with the gateway.

Public IPv4 address of the gateway.

​scaleway.vpc_gw.v2.GatewayNetwork[]

GatewayNetwork objects attached to the gateway (each one represents a connection to a Private Network).

version
​string | null

Version of the running gateway software.

can_upgrade_to
​string | null

Newly available gateway software version that can be updated to.

bastion_enabled
​boolean

Defines whether SSH bastion is enabled on the gateway.

bastion_port
​integer · uint32

Port of the SSH bastion.

smtp_enabled
​boolean

Defines whether SMTP traffic is allowed to pass through the gateway.

is_legacy
​boolean

Defines whether the gateway uses non-IPAM IP configurations.

bastion_allowed_ips
​string[]

Ranges of IP addresses allowed to connect to the gateway's SSH bastion. (IP network)

zone
​string

Zone of the gateway.


Upgrade a Public Gateway to the latest version and/or to a different commercial offer type

POST
https://api.scaleway.com
/vpc-gw/v2/zones/{zone}/gateways/{gateway_id}/upgrade

Upgrade a given Public Gateway to the newest software version or to a different commercial offer type. This applies the latest bugfixes and features to your Public Gateway. Note that gateway service will be interrupted during the update.

Upgrade a Public Gateway to the latest version and/or to a different commercial offer type › path Parameters

zone
​string · enum · required

The zone you want to target

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

ID of the gateway to upgrade. (UUID format)

Upgrade a Public Gateway to the latest version and/or to a different commercial offer type › Request Body

type
​string | null

Gateway type (commercial offer).

Upgrade a Public Gateway to the latest version and/or to a different commercial offer type › Responses

200
id
​string

ID of the gateway. (UUID format)

srn
​string

The SRN of the gateway.

organization_id
​string

Owning Organization. (UUID format)

project_id
​string

Owning Project. (UUID format)

created_at
​string | null · date-time

Gateway creation date. (RFC 3339 format)

updated_at
​string | null · date-time

Gateway last modification date. (RFC 3339 format)

type
​string

Gateway type name (commercial offer).

bandwidth
​integer · uint64

Bandwidth available of the gateway.

status
​scaleway.vpc_gw.v2.Gateway.Status · enum

Current status of the gateway.

Enum values:
unknown_status
stopped
allocating
configuring
running
stopping
failed
deleting
Default: unknown_status
name
​string

Name of the gateway.

tags
​string[]

Tags associated with the gateway.

Public IPv4 address of the gateway.

​scaleway.vpc_gw.v2.GatewayNetwork[]

GatewayNetwork objects attached to the gateway (each one represents a connection to a Private Network).

version
​string | null

Version of the running gateway software.

can_upgrade_to
​string | null

Newly available gateway software version that can be updated to.

bastion_enabled
​boolean

Defines whether SSH bastion is enabled on the gateway.

bastion_port
​integer · uint32

Port of the SSH bastion.

smtp_enabled
​boolean

Defines whether SMTP traffic is allowed to pass through the gateway.

is_legacy
​boolean

Defines whether the gateway uses non-IPAM IP configurations.

bastion_allowed_ips
​string[]

Ranges of IP addresses allowed to connect to the gateway's SSH bastion. (IP network)

zone
​string

Zone of the gateway.