Scaleway · Capability
Load Balancer API — Load Balancer
Load Balancer API — Load Balancer. 6 operations. Lead operation: List Load Balancers. Self-contained Naftiko capability covering one Scaleway business surface.
What You Can Do
GET
Listlbs
— List Load Balancers
/v1/lb/v1/zones/{zone}/lbs
POST
Createlb
— Create a Load Balancer
/v1/lb/v1/zones/{zone}/lbs
GET
Getlb
— Get a Load Balancer
/v1/lb/v1/zones/{zone}/lbs/{lb-id}
PUT
Updatelb
— Update a Load Balancer
/v1/lb/v1/zones/{zone}/lbs/{lb-id}
DELETE
Deletelb
— Delete a Load Balancer
/v1/lb/v1/zones/{zone}/lbs/{lb-id}
POST
Migratelb
— Migrate a Load Balancer
/v1/lb/v1/zones/{zone}/lbs/{lb-id}/migrate
MCP Tools
list-load-balancers
List Load Balancers
read-only
idempotent
create-load-balancer
Create a Load Balancer
get-load-balancer
Get a Load Balancer
read-only
idempotent
update-load-balancer
Update a Load Balancer
idempotent
delete-load-balancer
Delete a Load Balancer
idempotent
migrate-load-balancer
Migrate a Load Balancer
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Load Balancer API — Load Balancer
description: 'Load Balancer API — Load Balancer. 6 operations. Lead operation: List Load Balancers. Self-contained Naftiko
capability covering one Scaleway business surface.'
tags:
- Scaleway
- Load Balancer
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
SCALEWAY_API_KEY: SCALEWAY_API_KEY
capability:
consumes:
- type: http
namespace: load-balancer-load-balancer
baseUri: https://api.scaleway.com
description: Load Balancer API — Load Balancer business capability. Self-contained, no shared references.
resources:
- name: lb-v1-zones-zone-lbs
path: /lb/v1/zones/{zone}/lbs
operations:
- name: listlbs
method: GET
description: List Load Balancers
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: zone
in: path
type: string
description: The zone you want to target
required: true
- name: name
in: query
type: string
description: Load Balancer name to filter for.
- name: order_by
in: query
type: string
description: Sort order of Load Balancers in the response.
- name: page_size
in: query
type: integer
description: Number of Load Balancers to return.
- name: page
in: query
type: integer
description: Page number to return, from the paginated results.
- name: organization_id
in: query
type: string
description: Organization ID to filter for, only Load Balancers from this Organization will be returned.
- name: project_id
in: query
type: string
description: Project ID to filter for, only Load Balancers from this Project will be returned.
- name: tags
in: query
type: array
description: Filter by tag, only Load Balancers with one or more matching tags will be returned.
- name: createlb
method: POST
description: Create a Load Balancer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: zone
in: path
type: string
description: The zone you want to target
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: lb-v1-zones-zone-lbs-lb_id
path: /lb/v1/zones/{zone}/lbs/{lb_id}
operations:
- name: getlb
method: GET
description: Get a Load Balancer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: zone
in: path
type: string
description: The zone you want to target
required: true
- name: lb_id
in: path
type: string
description: Load Balancer ID.
required: true
- name: updatelb
method: PUT
description: Update a Load Balancer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: zone
in: path
type: string
description: The zone you want to target
required: true
- name: lb_id
in: path
type: string
description: Load Balancer ID.
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: deletelb
method: DELETE
description: Delete a Load Balancer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: zone
in: path
type: string
description: The zone you want to target
required: true
- name: lb_id
in: path
type: string
description: ID of the Load Balancer to delete.
required: true
- name: release_ip
in: query
type: boolean
description: Defines whether the Load Balancer's flexible IP should be deleted. Set to true to release the flexible
IP, or false to keep it available in your account for fut
required: true
- name: lb-v1-zones-zone-lbs-lb_id-migrate
path: /lb/v1/zones/{zone}/lbs/{lb_id}/migrate
operations:
- name: migratelb
method: POST
description: Migrate a Load Balancer
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: zone
in: path
type: string
description: The zone you want to target
required: true
- name: lb_id
in: path
type: string
description: Load Balancer ID.
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: load-balancer-load-balancer-rest
port: 8080
description: REST adapter for Load Balancer API — Load Balancer. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/lb/v1/zones/{zone}/lbs
name: lb-v1-zones-zone-lbs
description: REST surface for lb-v1-zones-zone-lbs.
operations:
- method: GET
name: listlbs
description: List Load Balancers
call: load-balancer-load-balancer.listlbs
with:
zone: rest.zone
name: rest.name
order_by: rest.order_by
page_size: rest.page_size
page: rest.page
organization_id: rest.organization_id
project_id: rest.project_id
tags: rest.tags
outputParameters:
- type: object
mapping: $.
- method: POST
name: createlb
description: Create a Load Balancer
call: load-balancer-load-balancer.createlb
with:
zone: rest.zone
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/lb/v1/zones/{zone}/lbs/{lb-id}
name: lb-v1-zones-zone-lbs-lb-id
description: REST surface for lb-v1-zones-zone-lbs-lb_id.
operations:
- method: GET
name: getlb
description: Get a Load Balancer
call: load-balancer-load-balancer.getlb
with:
zone: rest.zone
lb_id: rest.lb_id
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updatelb
description: Update a Load Balancer
call: load-balancer-load-balancer.updatelb
with:
zone: rest.zone
lb_id: rest.lb_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletelb
description: Delete a Load Balancer
call: load-balancer-load-balancer.deletelb
with:
zone: rest.zone
lb_id: rest.lb_id
release_ip: rest.release_ip
outputParameters:
- type: object
mapping: $.
- path: /v1/lb/v1/zones/{zone}/lbs/{lb-id}/migrate
name: lb-v1-zones-zone-lbs-lb-id-migrate
description: REST surface for lb-v1-zones-zone-lbs-lb_id-migrate.
operations:
- method: POST
name: migratelb
description: Migrate a Load Balancer
call: load-balancer-load-balancer.migratelb
with:
zone: rest.zone
lb_id: rest.lb_id
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: load-balancer-load-balancer-mcp
port: 9090
transport: http
description: MCP adapter for Load Balancer API — Load Balancer. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: list-load-balancers
description: List Load Balancers
hints:
readOnly: true
destructive: false
idempotent: true
call: load-balancer-load-balancer.listlbs
with:
zone: tools.zone
name: tools.name
order_by: tools.order_by
page_size: tools.page_size
page: tools.page
organization_id: tools.organization_id
project_id: tools.project_id
tags: tools.tags
outputParameters:
- type: object
mapping: $.
- name: create-load-balancer
description: Create a Load Balancer
hints:
readOnly: false
destructive: false
idempotent: false
call: load-balancer-load-balancer.createlb
with:
zone: tools.zone
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-load-balancer
description: Get a Load Balancer
hints:
readOnly: true
destructive: false
idempotent: true
call: load-balancer-load-balancer.getlb
with:
zone: tools.zone
lb_id: tools.lb_id
outputParameters:
- type: object
mapping: $.
- name: update-load-balancer
description: Update a Load Balancer
hints:
readOnly: false
destructive: false
idempotent: true
call: load-balancer-load-balancer.updatelb
with:
zone: tools.zone
lb_id: tools.lb_id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-load-balancer
description: Delete a Load Balancer
hints:
readOnly: false
destructive: true
idempotent: true
call: load-balancer-load-balancer.deletelb
with:
zone: tools.zone
lb_id: tools.lb_id
release_ip: tools.release_ip
outputParameters:
- type: object
mapping: $.
- name: migrate-load-balancer
description: Migrate a Load Balancer
hints:
readOnly: false
destructive: false
idempotent: false
call: load-balancer-load-balancer.migratelb
with:
zone: tools.zone
lb_id: tools.lb_id
body: tools.body
outputParameters:
- type: object
mapping: $.