Scaleway logo
Load Balancer API

The Load Balancer frontend object. It listens on a configured port and forward requests to one or several backends. You can create multiple frontends for any given Load Balancer, each listening on a different port, and choose to add certificates to them if you wish. Use the frontends endpoint to create, list, manage and delete frontends.


Get a frontend

GET
https://api.scaleway.com
/lb/v1/zones/{zone}/frontends/{frontend_id}

Get the full details of a given frontend, specified by its frontend ID. The response contains the frontend's full configuration parameters including the backend it is attached to, the port it listens on, and any certificates it has.

Get a frontend › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
frontend_id
​string · required

Frontend ID.

Get a frontend › Responses

200
id
​string

Frontend ID.

name
​string

Name of the frontend.

inbound_port
​integer · int32

Port the frontend listens on.

​scaleway.lb.v1.Backend

Backend object the frontend is attached to.

Load Balancer object the frontend is attached to.

timeout_client
​number

Maximum allowed inactivity time on the client side. (in milliseconds)

Default: 300000
certificate_ids
​string[]

List of SSL/TLS certificate IDs to bind to the frontend.

created_at
​string | null · date-time

Date on which the frontend was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date on which the frontend was last updated. (RFC 3339 format)

enable_http3
​boolean

Defines whether to enable HTTP/3 protocol on the frontend.

connection_rate_limit
​integer | null · uint32

Rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.

enable_access_logs
​boolean

Defines whether to enable access logs on the frontend.


Update a frontend

PUT
https://api.scaleway.com
/lb/v1/zones/{zone}/frontends/{frontend_id}

Update a given frontend, specified by its frontend ID. You can update configuration parameters including its name and the port it listens on. Note that the request type is PUT and not PATCH. You must set all parameters.

Update a frontend › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
frontend_id
​string · required

Frontend ID.

Update a frontend › Request Body

name
​string · required

Frontend name.

inbound_port
​integer · int32 · required

Port the frontend should listen on.

backend_id
​string · required

Backend ID (ID of the backend the frontend should pass traffic to).

timeout_client
​number

Maximum allowed inactivity time on the client side. (in milliseconds)

certificate_ids
​array | null

List of SSL/TLS certificate IDs to bind to the frontend.

enable_http3
​boolean

Defines whether to enable HTTP/3 protocol on the frontend.

connection_rate_limit
​integer | null · uint32

Rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.

enable_access_logs
​boolean | null

Defines whether to enable access logs on the frontend.

Update a frontend › Responses

200
id
​string

Frontend ID.

name
​string

Name of the frontend.

inbound_port
​integer · int32

Port the frontend listens on.

​scaleway.lb.v1.Backend

Backend object the frontend is attached to.

Load Balancer object the frontend is attached to.

timeout_client
​number

Maximum allowed inactivity time on the client side. (in milliseconds)

Default: 300000
certificate_ids
​string[]

List of SSL/TLS certificate IDs to bind to the frontend.

created_at
​string | null · date-time

Date on which the frontend was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date on which the frontend was last updated. (RFC 3339 format)

enable_http3
​boolean

Defines whether to enable HTTP/3 protocol on the frontend.

connection_rate_limit
​integer | null · uint32

Rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.

enable_access_logs
​boolean

Defines whether to enable access logs on the frontend.


Delete a frontend

DELETE
https://api.scaleway.com
/lb/v1/zones/{zone}/frontends/{frontend_id}

Delete a given frontend, specified by its frontend ID. This action is irreversible and cannot be undone.

Delete a frontend › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
frontend_id
​string · required

ID of the frontend to delete.

Delete a frontend › Responses

No data returned

List frontends of a given Load Balancer

GET
https://api.scaleway.com
/lb/v1/zones/{zone}/lbs/{lb_id}/frontends

List all the frontends of a Load Balancer, specified by its Load Balancer ID. By default, results are returned in ascending order by the creation date of each frontend. The response is an array of frontend objects, containing full details of each one including the port they listen on and the backend they are attached to.

List frontends of a given Load Balancer › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
lb_id
​string · required

Load Balancer ID.

List frontends of a given Load Balancer › query Parameters

name
​string

Name of the frontend to filter for.

order_by
​scaleway.lb.v1.ListFrontendsRequest.OrderBy · enum

Sort order of frontends in the response.

Enum values:
created_at_asc
created_at_desc
name_asc
name_desc
Default: created_at_asc
page
​integer · int32

The page number to return, from the paginated results.

page_size
​integer · uint32

Number of frontends to return.

List frontends of a given Load Balancer › Responses

200
​scaleway.lb.v1.Frontend[]

List of frontend objects of a given Load Balancer.

total_count
​integer · uint32

Total count of frontend objects, without pagination.


Create a frontend in a given Load Balancer

POST
https://api.scaleway.com
/lb/v1/zones/{zone}/lbs/{lb_id}/frontends

Create a new frontend for a given Load Balancer, specifying its configuration including the port it should listen on and the backend to attach it to.

Create a frontend in a given Load Balancer › path Parameters

zone
​string · enum · required

The zone you want to target

Enum values:
fr-par-1
fr-par-2
nl-ams-1
nl-ams-2
nl-ams-3
pl-waw-1
pl-waw-2
pl-waw-3
lb_id
​string · required

Load Balancer ID (ID of the Load Balancer to attach the frontend to).

Create a frontend in a given Load Balancer › Request Body

name
​string · required

Name for the frontend.

inbound_port
​integer · int32 · required

Port the frontend should listen on.

backend_id
​string · required

Backend ID (ID of the backend the frontend should pass traffic to).

timeout_client
​number

Maximum allowed inactivity time on the client side. (in milliseconds)

certificate_ids
​array | null

List of SSL/TLS certificate IDs to bind to the frontend.

enable_http3
​boolean

Defines whether to enable HTTP/3 protocol on the frontend.

connection_rate_limit
​integer | null · uint32

Rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.

enable_access_logs
​boolean

Defines whether to enable access logs on the frontend.

Create a frontend in a given Load Balancer › Responses

200
id
​string

Frontend ID.

name
​string

Name of the frontend.

inbound_port
​integer · int32

Port the frontend listens on.

​scaleway.lb.v1.Backend

Backend object the frontend is attached to.

Load Balancer object the frontend is attached to.

timeout_client
​number

Maximum allowed inactivity time on the client side. (in milliseconds)

Default: 300000
certificate_ids
​string[]

List of SSL/TLS certificate IDs to bind to the frontend.

created_at
​string | null · date-time

Date on which the frontend was created. (RFC 3339 format)

updated_at
​string | null · date-time

Date on which the frontend was last updated. (RFC 3339 format)

enable_http3
​boolean

Defines whether to enable HTTP/3 protocol on the frontend.

connection_rate_limit
​integer | null · uint32

Rate limit for new connections established on this frontend. Use 0 value to disable, else value is connections per second.

enable_access_logs
​boolean

Defines whether to enable access logs on the frontend.