---
title: "Create a new Load balancer service"
method: POST
path: "/config/loadbalancer"
---

# Create a new Load balancer service

`POST /config/loadbalancer`

Create a new load balancer service with .

## Request body

- LoadbalanceEntry
  - `serviceArguments` object, required
    - `externalIP` string, required — IP address for external access
    - `privateIP` string — private IP (NAT'd) address for external access
    - `port` integer, required — (Min) port number for the access
    - `portMax` integer — Max port number(range) for the access
    - `protocol` 'tcp' | 'udp' | 'sctp' | 'icmp' — value for access protocol
    - `sel` 0 | 1 | 2 | 3 | 4 | 5 | 6 — value for load balance algorithim(0-rr, 1-hash, 2-priority, 3-persist, 4-lc, 5-n2, 6-n3, 0-default)
    - `bgp` boolean — value for BGP enable or not
    - `monitor` boolean — value for monitoring enabled or not
    - `probetype` 'tcp' | 'udp' | 'sctp' | 'http' | 'https' | 'ping' | 'none' — probe type for any end-point of this entry
    - `probeport` integer — probe port if probetype is tcp/udp/sctp
    - `probereq` string — probe request string
    - `proberesp` string — probe response string
    - `managed` boolean — externally managed rule or not
    - `mode` 0 | 1 | 2 | 3 | 4 | 5 — value for NAT mode (0-DNAT,1-onearm, 2-fullnat, 3-dsr, 4-fullproxy, 5-hostonearm, 0-default)
    - `security` 0 | 1 | 2 — value for Security mode (0-Plain, 1-https, 1-tls, 2-e2ehttps, 0-default)
    - `block` integer — block-number if any of this LB entry
    - `inactiveTimeOut` integer — value for inactivity timeout (in seconds)
    - `probeTimeout` integer — value for probe timer (in seconds)
    - `probeRetries` integer — value for probe retries
    - `name` string — service name
    - `snat` boolean — snat rule
    - `oper` 0 | 1 | 2 — end-point specific op (0-create, 1-attachEP, 2-detachEP)
    - `host` string — Ingress specific host URL path
    - `proxyprotocolv2` boolean — flag to enable proxy protocol v2
    - `egress` boolean — flag to indicate an egress rule
  - `endpoints` object[], required — values of End point servers
    - `endpointIP` string, required — IP address for external access
    - `weight` integer, required — Weight for the load balancing
    - `targetPort` integer, required — port number for access service
    - `state` string — state of the endpoint
    - `counter` string — traffic counters of the endpoint
  - `secondaryIPs` object[] — values of Secondary IPs
    - `secondaryIP` string — IP address for secondary access
  - `allowedSources` object[] — values of allowed source IP
    - `prefix` string — IP address for allowed source access

## Response `200`

OK

- PostSuccess
  - `code` integer
  - `message` string

## Other responses

- `400` — Malformed arguments for API call
- `401` — Invalid authentication credentials
- `403` — Capacity insufficient
- `404` — Resource not found
- `409` — Resource Conflict. VLAN already exists OR dependency VRF/VNET not found
- `500` — Internal service error
- `503` — Maintenance mode

---

[API](https://skmtc.net/loxilb-io/apis/loxilb-rest-api.md) · [All operations](https://skmtc.net/loxilb-io/apis/loxilb-rest-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/loxilb-io/loxilb-rest-api/versions/45e9f0a95af0/schema)
