Scaleway Route API

The Load Balancer route object. It represents a configuration on a particular frontend to direct traffic to a particular backend if certain conditions are fulfilled. Conditions must be based on SNI for direction to TCP backends, or HTTP host headers for direction to HTTP backends. Use the routes endpoint to create, edit, list, get and delete your routes.

Business capability
IT Infrastructure Management BC-600.50

Operations 5

GET /lb/v1/zones/{zone}/routes List all routes #
POST /lb/v1/zones/{zone}/routes Create a route #
GET /lb/v1/zones/{zone}/routes/{route_id} Get a route #
PUT /lb/v1/zones/{zone}/routes/{route_id} Update a route #
DELETE /lb/v1/zones/{zone}/routes/{route_id} Delete a route #

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-route-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-route-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Load Balancer Route API
  description: Load Balancers are highly available and fully managed Instances that facilitate the distribution of incoming traffic across multiple servers.
  version: v1
servers:
- url: https://api.scaleway.com
tags:
- name: Route
  description: The Load Balancer route object. It represents a configuration on a particular frontend to direct traffic to a particular backend if certain conditions are fulfilled. Conditions must be based on SNI for direction to TCP backends, or HTTP host headers for direction to HTTP backends. Use the routes endpoint to create, edit, list, get and delete your routes.
paths:
  /lb/v1/zones/{zone}/routes:
    get:
      tags:
      - Route
      operationId: ListRoutes
      summary: List all routes
      description: List all routes for a given frontend. The response is an array of routes, each one with a specified backend to direct to if a certain condition is matched (based on the value of the SNI field or HTTP Host header).
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - nl-ams-3
          - pl-waw-1
          - pl-waw-2
          - pl-waw-3
      - in: query
        name: order_by
        description: Sort order of routes in the response.
        schema:
          type: string
          enum:
          - created_at_asc
          - created_at_desc
          default: created_at_asc
      - in: query
        name: page_size
        description: The number of route objects to return.
        schema:
          type: integer
          format: uint32
      - in: query
        name: page
        description: The page number to return, from the paginated results.
        schema:
          type: integer
          format: int32
      - in: query
        name: frontend_id
        description: Frontend ID to filter for, only Routes from this Frontend will be returned.
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.lb.v1.ListRoutesResponse'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X GET \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  \"https://api.scaleway.com/lb/v1/zones/{zone}/routes\""
      - lang: HTTPie
        source: "http GET \"https://api.scaleway.com/lb/v1/zones/{zone}/routes\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
    post:
      tags:
      - Route
      operationId: CreateRoute
      summary: Create a route
      description: Create a new route on a given frontend. To configure a route, specify the backend to direct to if a certain condition is matched (based on the value of the SNI field or HTTP Host header).
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - nl-ams-3
          - pl-waw-1
          - pl-waw-2
          - pl-waw-3
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.lb.v1.Route'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                frontend_id:
                  type: string
                  description: ID of the source frontend to create the route on.
                backend_id:
                  type: string
                  description: ID of the target backend for the route.
                match:
                  type: object
                  description: Object defining the match condition for a route to be applied. If an incoming client session matches the specified condition (i.e. it has a matching SNI value or HTTP Host header value), it will be passed to the target backend.
                  properties:
                    sni:
                      type: string
                      description: 'Server Name Indication (SNI) value to match.

                        Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer. This field should be set for routes on TCP Load Balancers.'
                      nullable: true
                      x-one-of: MatchType
                    host_header:
                      type: string
                      description: 'HTTP host header to match.

                        Value to match in the HTTP Host request header from an incoming request. This field should be set for routes on HTTP Load Balancers.'
                      nullable: true
                      x-one-of: MatchType
                    match_subdomains:
                      type: boolean
                      description: If true, all subdomains will match.
                    path_begin:
                      type: string
                      description: 'Path begin value to match.

                        Value to match in the URL beginning path from an incoming request.'
                      nullable: true
                      x-one-of: MatchType
                  x-properties-order:
                  - sni
                  - host_header
                  - match_subdomains
                  - path_begin
              x-properties-order:
              - frontend_id
              - backend_id
              - match
      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 '{\"backend_id\":\"string\",\"frontend_id\":\"string\"}' \\\n  \"https://api.scaleway.com/lb/v1/zones/{zone}/routes\""
      - lang: HTTPie
        source: "http POST \"https://api.scaleway.com/lb/v1/zones/{zone}/routes\" \\\n  X-Auth-Token:$SCW_SECRET_KEY \\\n  backend_id=\"string\" \\\n  frontend_id=\"string\""
  /lb/v1/zones/{zone}/routes/{route_id}:
    get:
      tags:
      - Route
      operationId: GetRoute
      summary: Get a route
      description: Retrieve information about an existing route, specified by its route ID. Its full details, origin frontend, target backend and match condition, are returned in the response object.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - nl-ams-3
          - pl-waw-1
          - pl-waw-2
          - pl-waw-3
      - in: path
        name: route_id
        description: Route ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.lb.v1.Route'
      security:
      - scaleway: []
      x-codeSamples:
      - lang: cURL
        source: "curl -X GET \\\n  -H \"X-Auth-Token: $SCW_SECRET_KEY\" \\\n  \"https://api.scaleway.com/lb/v1/zones/{zone}/routes/{route_id}\""
      - lang: HTTPie
        source: "http GET \"https://api.scaleway.com/lb/v1/zones/{zone}/routes/{route_id}\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
    put:
      tags:
      - Route
      operationId: UpdateRoute
      summary: Update a route
      description: Update the configuration of an existing route, specified by its route ID.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - nl-ams-3
          - pl-waw-1
          - pl-waw-2
          - pl-waw-3
      - in: path
        name: route_id
        description: Route ID.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/scaleway.lb.v1.Route'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                backend_id:
                  type: string
                  description: ID of the target backend for the route.
                match:
                  type: object
                  description: Object defining the match condition for a route to be applied. If an incoming client session matches the specified condition (i.e. it has a matching SNI value or HTTP Host header value), it will be passed to the target backend.
                  properties:
                    sni:
                      type: string
                      description: 'Server Name Indication (SNI) value to match.

                        Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer. This field should be set for routes on TCP Load Balancers.'
                      nullable: true
                      x-one-of: MatchType
                    host_header:
                      type: string
                      description: 'HTTP host header to match.

                        Value to match in the HTTP Host request header from an incoming request. This field should be set for routes on HTTP Load Balancers.'
                      nullable: true
                      x-one-of: MatchType
                    match_subdomains:
                      type: boolean
                      description: If true, all subdomains will match.
                    path_begin:
                      type: string
                      description: 'Path begin value to match.

                        Value to match in the URL beginning path from an incoming request.'
                      nullable: true
                      x-one-of: MatchType
                  x-properties-order:
                  - sni
                  - host_header
                  - match_subdomains
                  - path_begin
              x-properties-order:
              - backend_id
              - match
      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 '{\"backend_id\":\"string\"}' \\\n  \"https://api.scaleway.com/lb/v1/zones/{zone}/routes/{route_id}\""
      - lang: HTTPie
        source: "http PUT \"https://api.scaleway.com/lb/v1/zones/{zone}/routes/{route_id}\" \\\n  X-Auth-Token:$SCW_SECRET_KEY \\\n  backend_id=\"string\""
    delete:
      tags:
      - Route
      operationId: DeleteRoute
      summary: Delete a route
      description: Delete an existing route, specified by its route ID. Deleting a route is permanent, and cannot be undone.
      parameters:
      - in: path
        name: zone
        description: The zone you want to target
        required: true
        schema:
          type: string
          enum:
          - fr-par-1
          - fr-par-2
          - nl-ams-1
          - nl-ams-2
          - nl-ams-3
          - pl-waw-1
          - pl-waw-2
          - pl-waw-3
      - in: path
        name: route_id
        description: Route ID.
        required: true
        schema:
          type: string
      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/lb/v1/zones/{zone}/routes/{route_id}\""
      - lang: HTTPie
        source: "http DELETE \"https://api.scaleway.com/lb/v1/zones/{zone}/routes/{route_id}\" \\\n  X-Auth-Token:$SCW_SECRET_KEY"
components:
  schemas:
    scaleway.lb.v1.Route:
      type: object
      properties:
        id:
          type: string
          description: Route ID.
        frontend_id:
          type: string
          description: ID of the source frontend.
        backend_id:
          type: string
          description: ID of the target backend.
        match:
          type: object
          description: Object defining the match condition for a route to be applied. If an incoming client session matches the specified condition (i.e. it has a matching SNI value or HTTP Host header value), it will be passed to the target backend.
          properties:
            sni:
              type: string
              description: 'Server Name Indication (SNI) value to match.

                Value to match in the Server Name Indication TLS extension (SNI) field from an incoming connection made via an SSL/TLS transport layer. This field should be set for routes on TCP Load Balancers.'
              nullable: true
              x-one-of: MatchType
            host_header:
              type: string
              description: 'HTTP host header to match.

                Value to match in the HTTP Host request header from an incoming request. This field should be set for routes on HTTP Load Balancers.'
              nullable: true
              x-one-of: MatchType
            match_subdomains:
              type: boolean
              description: If true, all subdomains will match.
            path_begin:
              type: string
              description: 'Path begin value to match.

                Value to match in the URL beginning path from an incoming request.'
              nullable: true
              x-one-of: MatchType
          x-properties-order:
          - sni
          - host_header
          - match_subdomains
          - path_begin
        created_at:
          type: string
          description: Date on which the route was created. (RFC 3339 format)
          format: date-time
          example: '2022-03-22T12:34:56.123456Z'
          nullable: true
        updated_at:
          type: string
          description: Date on which the route was last updated. (RFC 3339 format)
          format: date-time
          example: '2022-03-22T12:34:56.123456Z'
          nullable: true
      x-properties-order:
      - id
      - frontend_id
      - backend_id
      - match
      - created_at
      - updated_at
    scaleway.lb.v1.ListRoutesResponse:
      type: object
      properties:
        routes:
          type: array
          description: List of route objects.
          items:
            $ref: '#/components/schemas/scaleway.lb.v1.Route'
        total_count:
          type: integer
          description: The total number of route objects.
          format: uint32
      x-properties-order:
      - routes
      - total_count
  securitySchemes:
    scaleway:
      in: header
      name: X-Auth-Token
      type: apiKey