Scaleway · Capability
VPC API — VPCs
VPC API — VPCs. 6 operations. Lead operation: List VPCs. Self-contained Naftiko capability covering one Scaleway business surface.
What You Can Do
GET
Listvpcs
— List VPCs
/v1/vpc/v2/regions/{region}/vpcs
POST
Createvpc
— Create a VPC
/v1/vpc/v2/regions/{region}/vpcs
GET
Getvpc
— Get a VPC
/v1/vpc/v2/regions/{region}/vpcs/{vpc-id}
PATCH
Updatevpc
— Update VPC
/v1/vpc/v2/regions/{region}/vpcs/{vpc-id}
DELETE
Deletevpc
— Delete a VPC
/v1/vpc/v2/regions/{region}/vpcs/{vpc-id}
POST
Enablerouting
— Enable routing on a VPC
/v1/vpc/v2/regions/{region}/vpcs/{vpc-id}/enable-routing
MCP Tools
list-vpcs
List VPCs
read-only
idempotent
create-vpc
Create a VPC
get-vpc
Get a VPC
read-only
idempotent
update-vpc
Update VPC
idempotent
delete-vpc
Delete a VPC
idempotent
enable-routing-vpc
Enable routing on a VPC
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: VPC API — VPCs
description: 'VPC API — VPCs. 6 operations. Lead operation: List VPCs. Self-contained Naftiko capability covering one Scaleway
business surface.'
tags:
- Scaleway
- VPCs
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SCALEWAY_API_KEY: SCALEWAY_API_KEY
capability:
consumes:
- type: http
namespace: vpc-vpcs
baseUri: https://api.scaleway.com
description: VPC API — VPCs business capability. Self-contained, no shared references.
resources:
- name: vpc-v2-regions-region-vpcs
path: /vpc/v2/regions/{region}/vpcs
operations:
- name: listvpcs
method: GET
description: List VPCs
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: order_by
in: query
type: string
description: Sort order of the returned VPCs.
- name: page
in: query
type: integer
description: Page number to return, from the paginated results.
- name: page_size
in: query
type: integer
description: Maximum number of VPCs to return per page.
- name: name
in: query
type: string
description: Name to filter for. Only VPCs with names containing this string will be returned.
- name: tags
in: query
type: array
description: Tags to filter for. Only VPCs with one or more matching tags will be returned.
- name: organization_id
in: query
type: string
description: Organization ID to filter for. Only VPCs belonging to this Organization will be returned. (UUID format)
- name: project_id
in: query
type: string
description: Project ID to filter for. Only VPCs belonging to this Project will be returned. (UUID format)
- name: is_default
in: query
type: boolean
description: Defines whether to filter only for VPCs which are the default one for their Project.
- name: routing_enabled
in: query
type: boolean
description: Defines whether to filter only for VPCs which route traffic between their Private Networks.
- name: createvpc
method: POST
description: Create a VPC
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: vpc-v2-regions-region-vpcs-vpc_id
path: /vpc/v2/regions/{region}/vpcs/{vpc_id}
operations:
- name: getvpc
method: GET
description: Get a VPC
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: vpc_id
in: path
type: string
description: VPC ID. (UUID format)
required: true
- name: updatevpc
method: PATCH
description: Update VPC
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: vpc_id
in: path
type: string
description: VPC ID. (UUID format)
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: deletevpc
method: DELETE
description: Delete a VPC
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: vpc_id
in: path
type: string
description: VPC ID. (UUID format)
required: true
- name: vpc-v2-regions-region-vpcs-vpc_id-enable-routing
path: /vpc/v2/regions/{region}/vpcs/{vpc_id}/enable-routing
operations:
- name: enablerouting
method: POST
description: Enable routing on a VPC
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: region
in: path
type: string
description: The region you want to target
required: true
- name: vpc_id
in: path
type: string
description: VPC ID. (UUID format)
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: apikey
key: X-Auth-Token
value: '{{env.SCALEWAY_API_KEY}}'
placement: header
exposes:
- type: rest
namespace: vpc-vpcs-rest
port: 8080
description: REST adapter for VPC API — VPCs. One Spectral-compliant resource per consumed operation, prefixed with /v1.
resources:
- path: /v1/vpc/v2/regions/{region}/vpcs
name: vpc-v2-regions-region-vpcs
description: REST surface for vpc-v2-regions-region-vpcs.
operations:
- method: GET
name: listvpcs
description: List VPCs
call: vpc-vpcs.listvpcs
with:
region: rest.region
order_by: rest.order_by
page: rest.page
page_size: rest.page_size
name: rest.name
tags: rest.tags
organization_id: rest.organization_id
project_id: rest.project_id
is_default: rest.is_default
routing_enabled: rest.routing_enabled
outputParameters:
- type: object
mapping: $.
- method: POST
name: createvpc
description: Create a VPC
call: vpc-vpcs.createvpc
with:
region: rest.region
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/vpc/v2/regions/{region}/vpcs/{vpc-id}
name: vpc-v2-regions-region-vpcs-vpc-id
description: REST surface for vpc-v2-regions-region-vpcs-vpc_id.
operations:
- method: GET
name: getvpc
description: Get a VPC
call: vpc-vpcs.getvpc
with:
region: rest.region
vpc_id: rest.vpc_id
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: updatevpc
description: Update VPC
call: vpc-vpcs.updatevpc
with:
region: rest.region
vpc_id: rest.vpc_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletevpc
description: Delete a VPC
call: vpc-vpcs.deletevpc
with:
region: rest.region
vpc_id: rest.vpc_id
outputParameters:
- type: object
mapping: $.
- path: /v1/vpc/v2/regions/{region}/vpcs/{vpc-id}/enable-routing
name: vpc-v2-regions-region-vpcs-vpc-id-enable-routing
description: REST surface for vpc-v2-regions-region-vpcs-vpc_id-enable-routing.
operations:
- method: POST
name: enablerouting
description: Enable routing on a VPC
call: vpc-vpcs.enablerouting
with:
region: rest.region
vpc_id: rest.vpc_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: vpc-vpcs-mcp
port: 9090
transport: http
description: MCP adapter for VPC API — VPCs. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: list-vpcs
description: List VPCs
hints:
readOnly: true
destructive: false
idempotent: true
call: vpc-vpcs.listvpcs
with:
region: tools.region
order_by: tools.order_by
page: tools.page
page_size: tools.page_size
name: tools.name
tags: tools.tags
organization_id: tools.organization_id
project_id: tools.project_id
is_default: tools.is_default
routing_enabled: tools.routing_enabled
outputParameters:
- type: object
mapping: $.
- name: create-vpc
description: Create a VPC
hints:
readOnly: false
destructive: false
idempotent: false
call: vpc-vpcs.createvpc
with:
region: tools.region
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-vpc
description: Get a VPC
hints:
readOnly: true
destructive: false
idempotent: true
call: vpc-vpcs.getvpc
with:
region: tools.region
vpc_id: tools.vpc_id
outputParameters:
- type: object
mapping: $.
- name: update-vpc
description: Update VPC
hints:
readOnly: false
destructive: false
idempotent: true
call: vpc-vpcs.updatevpc
with:
region: tools.region
vpc_id: tools.vpc_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-vpc
description: Delete a VPC
hints:
readOnly: false
destructive: true
idempotent: true
call: vpc-vpcs.deletevpc
with:
region: tools.region
vpc_id: tools.vpc_id
outputParameters:
- type: object
mapping: $.
- name: enable-routing-vpc
description: Enable routing on a VPC
hints:
readOnly: false
destructive: false
idempotent: false
call: vpc-vpcs.enablerouting
with:
region: tools.region
vpc_id: tools.vpc_id
body: tools.body
outputParameters:
- type: object
mapping: $.