Logo
OpenScaler
API DocumentationLoad Balancers

Create a Load Balancer

POST
/v1/lbs

Create a new load balancer. The load balancer will be provisioned in the specified region and VPC.

The request waits until the load balancer is ready, then returns it as JSON.

Progress is a separate Server-Sent Events stream. Subscribe with the same sequence_id from this request body at GET /v1/events/create-load-balancer/{sequence_id}.

Authorization

bearer_auth
AuthorizationBearer <token>

Authentication

Create an API token on Profile, or with osctl auth login. Send it in the Authorization header:

Authorization: Bearer os1_...

Do not use the Keycloak web-session JWT as an API token. Keep the secret secure and do not share it.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Request body for creating a new load balancer.

Response Body

application/json

application/json

text/pain

application/json

application/json

curl -X POST "https://example.com/v1/lbs" \  -H "Content-Type: application/json" \  -d '{    "name": "my-lb",    "project_id": "default",    "region": "alg1",    "size": "small",    "visibility": "public",    "sequence_id": 123456  }'
{  "id": "550e8400-e29b-41d4-a716-446655440000",  "name": "my-lb",  "description": "Production load balancer",  "user_id": "usr_abc123",  "project_id": "default",  "size": "small",  "region": "alg1",  "visibility": "public",  "status": "ready",  "state": "running",  "network": {},  "created_at": "2024-06-01T12:00:00Z",  "updated_at": "2024-06-15T08:30:00Z"}
{  "errors": [    {      "message": "'vcpus' field must be an integer",      "field": "resource_id"    }  ]}
"Access denied"
{  "errors": [    {      "message": "User not initialized. Send POST /v1/init, then retry the request."    }  ]}
{  "errors": [    {      "message": "VM with ID 23 not found"    }  ]}