Scaleway Network ACLs API

A Network **A**ccess **C**ontrol **L**ist (ACL) is a set of stateless, IP-based rules used to filter packets between Private Networks in a VPC. Each VPC can have a maximum of two Network ACLs: one for IPv4 rules, and one for IPv6 rules. IPv4 and IPv6 rules cannot be mixed in the same ACL.

Business capability
IT Infrastructure Management BC-600.50

Operations 2

GET /vpc/v2/regions/{region}/vpcs/{vpc_id}/acl-rules Get ACL Rules for VPC #
PUT /vpc/v2/regions/{region}/vpcs/{vpc_id}/acl-rules Set VPC ACL rules #

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-network-acls-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-network-acls-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: VPC Network ACLs 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: Network ACLs
  description: 'A Network **A**ccess **C**ontrol **L**ist (ACL) is a set of stateless, IP-based rules

    used to filter packets between Private Networks in a VPC.

    Each VPC can have a maximum of two Network ACLs: one for IPv4 rules,

    and one for IPv6 rules. IPv4 and IPv6 rules cannot be mixed in the same ACL.'
paths:
  /vpc/v2/regions/{region}/vpcs/{vpc_id}/acl-rules:
    get:
      tags:
      - Network ACLs
      operationId: GetAcl
      summary: Get ACL Rules for VPC
      description: Retrieve a list of ACL rules for 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: ID of the Network ACL's VPC. (UUID format)
        required: true
        schema:
          type: string
          example: 6170692e-7363-616c-6577-61792e636f6d
      - in: query
        name: is_ipv6
        description: Defines whether this set of ACL rules is for IPv6 (false = IPv4). Each Network ACL can have rules for only one IP type.
        required: true
        schema:
          type: boolean
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.vpc.v2.GetAclResponse'
      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}/acl-rules?is_ipv6=false\""
      - lang: HTTPie
        source: "http GET \"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}/acl-rules\" \\\n  X-Auth-Token:$SCW_SECRET_KEY \\\n  is_ipv6==false"
    put:
      tags:
      - Network ACLs
      operationId: SetAcl
      summary: Set VPC ACL rules
      description: Set the list of ACL rules and the default routing policy for a 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: ID of the Network ACL's VPC. (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.SetAclResponse'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                rules:
                  type: array
                  description: List of Network ACL rules.
                  items:
                    $ref: '#/components/schemas/scaleway.vpc.v2.AclRule'
                is_ipv6:
                  type: boolean
                  description: Defines whether this set of ACL rules is for IPv6 (false = IPv4). Each Network ACL can have rules for only one IP type.
                default_policy:
                  type: string
                  description: Action to take for packets which do not match any rules.
                  enum:
                  - unknown_action
                  - accept
                  - drop
                  default: unknown_action
              required:
              - rules
              - is_ipv6
              - default_policy
              x-properties-order:
              - rules
              - is_ipv6
              - default_policy
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X PUT \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"default_policy\": \"unknown_action\",\n    \"is_ipv6\": false,\n    \"rules\": [\n        \"\"\n    ]\n  }' \\\n  \"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}/acl-rules\""
      - lang: HTTPie
        source: "http PUT \"https://api.scaleway.com/vpc/v2/regions/{region}/vpcs/{vpc_id}/acl-rules\" \\\n  X-Auth-Token:$SCW_SECRET_KEY \\\n  default_policy=\"unknown_action\" \\\n  is_ipv6:=false \\\n  rules:='[\n    \"\"\n  ]'"
components:
  schemas:
    scaleway.vpc.v2.GetAclResponse:
      type: object
      properties:
        rules:
          type: array
          items:
            $ref: '#/components/schemas/scaleway.vpc.v2.AclRule'
        default_policy:
          $ref: '#/components/schemas/scaleway.vpc.v2.Action'
      x-properties-order:
      - rules
      - default_policy
    scaleway.vpc.v2.Action:
      type: string
      enum:
      - unknown_action
      - accept
      - drop
      default: unknown_action
    scaleway.vpc.v2.AclRule:
      type: object
      properties:
        protocol:
          type: string
          description: Protocol to which this rule applies.
          enum:
          - ANY
          - TCP
          - UDP
          - ICMP
          default: ANY
        source:
          type: string
          description: Source IP range to which this rule applies (CIDR notation with subnet mask). (IP network)
          example: 1.2.3.4/32
        src_port_low:
          type: integer
          description: Starting port of the source port range to which this rule applies (inclusive).
          format: uint32
        src_port_high:
          type: integer
          description: Ending port of the source port range to which this rule applies (inclusive).
          format: uint32
        destination:
          type: string
          description: Destination IP range to which this rule applies (CIDR notation with subnet mask). (IP network)
          example: 1.2.3.4/32
        dst_port_low:
          type: integer
          description: Starting port of the destination port range to which this rule applies (inclusive).
          format: uint32
        dst_port_high:
          type: integer
          description: Ending port of the destination port range to which this rule applies (inclusive).
          format: uint32
        action:
          type: string
          description: Policy to apply to the packet.
          enum:
          - unknown_action
          - accept
          - drop
          default: unknown_action
        description:
          type: string
          description: Rule description.
          nullable: true
      required:
      - protocol
      - source
      - src_port_low
      - src_port_high
      - destination
      - dst_port_low
      - dst_port_high
      - action
      - description
      x-properties-order:
      - protocol
      - source
      - src_port_low
      - src_port_high
      - destination
      - dst_port_low
      - dst_port_high
      - action
      - description
    scaleway.vpc.v2.SetAclResponse:
      type: object
      properties:
        rules:
          type: array
          items:
            $ref: '#/components/schemas/scaleway.vpc.v2.AclRule'
        default_policy:
          $ref: '#/components/schemas/scaleway.vpc.v2.Action'
      x-properties-order:
      - rules
      - default_policy
  securitySchemes:
    scaleway:
      in: header
      name: X-Auth-Token
      type: apiKey