Scaleway VP Cs API

A Virtual Private Cloud (VPC) allows you to group your regional Private Networks together. Note that a Private Network can be a part of only one VPC.

Business capability
IT Infrastructure Management BC-600.50

Operations 6

GET /vpc/v2/regions/{region}/vpcs List VPCs #
POST /vpc/v2/regions/{region}/vpcs Create a VPC #
GET /vpc/v2/regions/{region}/vpcs/{vpc_id} Get a VPC #
PATCH /vpc/v2/regions/{region}/vpcs/{vpc_id} Update VPC #
DELETE /vpc/v2/regions/{region}/vpcs/{vpc_id} Delete a VPC #
POST /vpc/v2/regions/{region}/vpcs/{vpc_id}/enable-routing Enable routing on a VPC #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/scaleway-vpcs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

scaleway-vpcs-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: VPCs API
  description: VPC allows you to build your own **V**irtual **P**rivate **C**loud on top of Scaleway’s shared public cloud.
  version: v2
servers:
- url: https://api.scaleway.com
tags:
- name: VPCs
  description: 'A Virtual Private Cloud (VPC) allows you to group your regional

    Private Networks together. Note that a Private Network can be a

    part of only one VPC.'
paths:
  /vpc/v2/regions/{region}/vpcs:
    get:
      tags:
      - VPCs
      operationId: ListVPCs
      summary: List VPCs
      description: List existing VPCs in the specified region.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: query
        name: order_by
        description: Sort order of the returned VPCs.
        schema:
          type: string
          enum:
          - created_at_asc
          - created_at_desc
          - name_asc
          - name_desc
          default: created_at_asc
      - in: query
        name: page
        description: Page number to return, from the paginated results.
        schema:
          type: integer
          format: int32
      - in: query
        name: page_size
        description: Maximum number of VPCs to return per page.
        schema:
          type: integer
          format: uint32
      - in: query
        name: name
        description: Name to filter for. Only VPCs with names containing this string will be returned.
        schema:
          type: string
      - in: query
        name: tags
        description: Tags to filter for. Only VPCs with one or more matching tags will be returned.
        schema:
          type: array
          items:
            type: string
      - in: query
        name: organization_id
        description: Organization ID to filter for. Only VPCs belonging to this Organization will be returned. (UUID format)
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      - in: query
        name: project_id
        description: Project ID to filter for. Only VPCs belonging to this Project will be returned. (UUID format)
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      - in: query
        name: is_default
        description: Defines whether to filter only for VPCs which are the default one for their Project.
        schema:
          type: boolean
      - in: query
        name: routing_enabled
        description: Defines whether to filter only for VPCs which route traffic between their Private Networks.
        schema:
          type: boolean
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.vpc.v2.ListVPCsResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X GET \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  \"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs\""
      - lang: HTTPie
        source: "http GET \"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
    post:
      tags:
      - VPCs
      operationId: CreateVPC
      summary: Create a VPC
      description: Create a new VPC in the specified region.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.vpc.v2.VPC'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name for the VPC.
                project_id:
                  type: string
                  description: Scaleway Project in which to create the VPC. (UUID format)
                  example: 6170692e-7363-616c-6577-61792e636f6d
                tags:
                  type: array
                  description: Tags for the VPC.
                  items:
                    type: string
                enable_routing:
                  type: boolean
                  description: Enable routing between Private Networks in the VPC.
              required:
              - name
              - project_id
              x-properties-order:
              - name
              - project_id
              - tags
              - enable_routing
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X POST \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"enable_routing\": false,\n    \"name\": \"string\",\n    \"project_id\": \"6170692e-7363-616c-6577-61792e636f6d\"\n  }' \\\n  \"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs\""
      - lang: HTTPie
        source: "http POST \"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs\" \\\n  X-Auth-Token:$SCW_SECRET_KEY \\\n  enable_routing:=false \\\n  name=\"string\" \\\n  project_id=\"6170692e-7363-616c-6577-61792e636f6d\""
  /vpc/v2/regions/{region}/vpcs/{vpc_id}:
    get:
      tags:
      - VPCs
      operationId: GetVPC
      summary: Get a VPC
      description: Retrieve details of an existing VPC, specified by its VPC ID.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: vpc_id
        description: VPC ID. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.vpc.v2.VPC'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X GET \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  \"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}\""
      - lang: HTTPie
        source: "http GET \"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
    patch:
      tags:
      - VPCs
      operationId: UpdateVPC
      summary: Update VPC
      description: Update parameters including name and tags of the specified VPC.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: vpc_id
        description: VPC ID. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.vpc.v2.VPC'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Name for the VPC.
                  nullable: true
                tags:
                  type: array
                  description: Tags for the VPC.
                  nullable: true
                  items:
                    type: string
              x-properties-order:
              - name
              - tags
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X PATCH \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{}' \\\n  \"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}\""
      - lang: HTTPie
        source: "http PATCH \"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
    delete:
      tags:
      - VPCs
      operationId: DeleteVPC
      summary: Delete a VPC
      description: Delete a VPC specified by its VPC ID.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: vpc_id
        description: VPC ID. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        '204':
          description: ''
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X DELETE \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  \"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}\""
      - lang: HTTPie
        source: "http DELETE \"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
  /vpc/v2/regions/{region}/vpcs/{vpc_id}/enable-routing:
    post:
      tags:
      - VPCs
      operationId: EnableRouting
      summary: Enable routing on a VPC
      description: Enable routing on an existing VPC. Note that you will not be able to deactivate it afterwards.
      parameters:
      - in: path
        name: region
        description: The region you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par
          - nl-ams
          - pl-waw
      - in: path
        name: vpc_id
        description: VPC ID. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.vpc.v2.VPC'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X POST \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{}' \\\n  \"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}/enable-routing\""
      - lang: HTTPie
        source: "http POST \"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}/enable-routing\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
components:
  schemas:
    scaleway.vpc.v2.VPC:
      type: object
      properties:
        id:
          type: string
          description: VPC ID. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
        name:
          type: string
          description: VPC name.
        organization_id:
          type: string
          description: Scaleway Organization the VPC belongs to. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
        project_id:
          type: string
          description: Scaleway Project the VPC belongs to. (UUID format)
          example: 6170692e-7363-616c-6577-61792e636f6d
        region:
          type: string
          description: Region of the VPC.
        tags:
          type: array
          description: Tags for the VPC.
          items:
            type: string
        is_default:
          type: boolean
          description: Defines whether the VPC is the default one for its Project.
        created_at:
          type: string
          description: Date the VPC was created. (RFC 3339 format)
          format: date-time
          example: '2022-03-22T12:34:56.123456Z'
          nullable: true
        updated_at:
          type: string
          description: Date the VPC was last modified. (RFC 3339 format)
          format: date-time
          example: '2022-03-22T12:34:56.123456Z'
          nullable: true
        private_network_count:
          type: integer
          description: Number of Private Networks within this VPC.
          format: uint32
        routing_enabled:
          type: boolean
          description: Defines whether the VPC routes traffic between its Private Networks.
        custom_routes_propagation_enabled:
          type: boolean
          description: Defines whether the VPC advertises custom routes between its Private Networks.
      x-properties-order:
      - id
      - name
      - organization_id
      - project_id
      - region
      - tags
      - is_default
      - created_at
      - updated_at
      - private_network_count
      - routing_enabled
      - custom_routes_propagation_enabled
    scaleway.vpc.v2.ListVPCsResponse:
      type: object
      properties:
        vpcs:
          type: array
          items:
            $ref: '#/components/schemas/scaleway.vpc.v2.VPC'
        total_count:
          type: integer
          format: uint32
      x-properties-order:
      - vpcs
      - total_count
  securitySchemes:
    scaleway:
      in: header
      name: X-Auth-Token
      type: apiKey