v1
API
CLI
JS Client

Load Balancers /

Put load balancer

Creates or updates a load balancer

Required permission

Account > LoadBalancers > General > Create

Request body

  • {object}
    • name

      string required
      The name of the load balancer.
      min length
      3
      max length
      39
      pattern
      ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$
    • description

      string
      The description of the load balancer.
      max length
      200
      pattern
      ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$
    • spec

      {object} required
      Load balancer specification

Response body

  • {object}
    Response object.
    • data

      {object} required
      Result data.
      • id

        string required
        ID of the load balancer
        pattern
        ^[A-Za-z0-9-]+$
      • name

        string required
        The name of the load balancer.
        min length
        3
        max length
        39
        pattern
        ^[a-zA-Z]((-|\s)?[a-zA-Z0-9]+((-|\s)[a-zA-Z0-9]+)*)?$
      • description

        string
        The description of the load balancer.
        max length
        200
        pattern
        ^[a-zA-Z0-9.,?\s\\/'"()[\];`%^&*\-_:!]+$
      • spec

        {object} required
        Load balancer specification
      • state

        {object}
        • endpoints

          [array]
          Public IP addresses (endpoints) of the load balancer
          • string
        • status

          string required
          Current status of the load balancer
          one of
          pending, provisioning, provisioned, error, deleting, deleted
        • lastTransitionTime

          string required
          Time of the last status transition
      • createdAt

        string required
        The time the load balancer was created.
      • updatedAt

        string required
        The time the load balancer was last updated.
API
CLI
JS Client

PUT /v1/load-balancers

Example request

Request body
curl --header "Content-Type: application/json" \
  --header "Authorization: Bearer NORTHFLANK_API_TOKEN" \
  --request PUT \
  --data '{"name":"my-load-balancer","description":"This is a new load balancer.","spec":{"type":"tcp","target":{"type":"region","targetId":"europe-west"},"ports":[{"id":"port-80","backends":[{"id":"my-project/my-service","type":"service","port":3000,"weight":1}]}]}}' \
  https://api.northflank.com/v1/load-balancers

Example response

200 OK

Details about the created or updated load balancer.

JSON

{
  "data": {
    "id": "my-load-balancer",
    "name": "my-load-balancer",
    "description": "This is a new load balancer.",
    "spec": {
      "type": "tcp",
      "target": {
        "type": "region",
        "targetId": "europe-west"
      },
      "ports": [
        {
          "id": "port-80",
          "backends": [
            {
              "id": "my-project/my-service",
              "type": "service",
              "port": 3000,
              "weight": 1
            }
          ]
        }
      ]
    },
    "state": {
      "status": "provisioned"
    },
    "createdAt": "2021-01-20T11:19:53.175Z",
    "updatedAt": "2021-01-20T11:19:53.175Z"
  }
}

© 2026 Northflank Ltd. All rights reserved.