Skip to main content
POST
Create a listener on this load balancer
Requires the IAM action loadbalancer:CreateListener. See LOADBALANCER permissions for the full list, what each one covers, and an example policy.

Authorizations

Authorization
string
header
required

An OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. This is the recommended way to authenticate.

Get one by exchanging a service account's access key pair at POST /v1/oauth/token with grant_type=client_credentials. It is the standard client-credentials grant, so any OAuth-aware library will obtain and refresh it for you.

Tokens last an hour by default. The same access key pair is separately your AWS SigV4 credential for the S3-compatible object endpoint, which speaks nothing else.

Headers

Idempotency-Key
string

Optional client-generated key that makes a create replay-safe. Retrying a request with the same key returns the original outcome verbatim instead of creating a duplicate resource. Reusing a key with a different request body is rejected (422); a request whose key is still being processed returns 409. Records are honored for 24 hours. Use a UUID or similarly unique token.

Maximum string length: 255

Path Parameters

id
string
required
Example:

"4e1f8c2a-9b3d-4f6e-8a1c-2d5e7f9a0b3c"

Body

application/json

Target group relationships accept UUID, CRN or exact account-scoped names in this region. HTTPS listeners require >=1 certificate, named by CRN, UUID or exact account-scoped name in certificates; the first entry becomes the default (the fallback when SNI doesn't match). No key material is accepted — the agent fetches it from the certificate service against the CRN.

protocol
enum<string>
required
Available options:
http,
https,
tcp,
udp
Example:

"https"

port
integer
required
Required range: 1 <= x <= 65535
Example:

443

certificates
string[]

Certificate UUID, CRN, or exact account-scoped name.

Minimum string length: 1
Example:
default_target_group
string
Example:

"b8c9d0e1-f2a3-4456-b7c8-d9e0f1a2b3c4"

exposure
enum<string>
default:both

Which LB addresses are bound. Defaults to 'both'; pick private_only when the LB has no FIP yet.

Available options:
public_only,
private_only,
both
Example:

"both"

tags
object
Example:

Response

Created

listener
object
required