openapi: 3.1.0 info: title: Linode API v4 Account NodeBalancers API description: The Linode API v4 provides programmatic access to the full range of Akamai Connected Cloud (formerly Linode) products and services. It enables developers to create and manage compute instances, deploy Kubernetes clusters, configure NodeBalancers, manage DNS domains, provision Block Storage volumes, control Object Storage buckets, set up firewalls, and administer account settings. The RESTful API uses OAuth and personal access tokens for authentication and returns JSON responses, with support for filtering and sorting across all resource endpoints. version: 4.189.0 contact: name: Linode Support url: https://www.linode.com/support/ termsOfService: https://www.linode.com/legal-tos/ servers: - url: https://api.linode.com/v4 description: Production Server security: - personalAccessToken: [] - oauth: [] tags: - name: NodeBalancers description: Create and manage NodeBalancer load balancers, their configurations, and backend nodes for distributing traffic across Linode instances. paths: /nodebalancers: get: operationId: getNodeBalancers summary: List NodeBalancers description: Returns a paginated list of NodeBalancers on your account. tags: - NodeBalancers parameters: - $ref: '#/components/parameters/pageParam' - $ref: '#/components/parameters/pageSizeParam' responses: '200': description: NodeBalancers retrieved successfully content: application/json: schema: $ref: '#/components/schemas/PaginatedNodeBalancerList' '401': description: Unauthorized - invalid or missing authentication post: operationId: createNodeBalancer summary: Create a NodeBalancer description: Creates a new NodeBalancer in the specified region. tags: - NodeBalancers requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NodeBalancerRequest' responses: '200': description: NodeBalancer created successfully content: application/json: schema: $ref: '#/components/schemas/NodeBalancer' '400': description: Bad request - invalid parameters '401': description: Unauthorized - invalid or missing authentication /nodebalancers/{nodeBalancerId}: get: operationId: getNodeBalancer summary: Get a NodeBalancer description: Returns the details for a single NodeBalancer. tags: - NodeBalancers parameters: - $ref: '#/components/parameters/nodeBalancerIdParam' responses: '200': description: NodeBalancer retrieved successfully content: application/json: schema: $ref: '#/components/schemas/NodeBalancer' '401': description: Unauthorized - invalid or missing authentication '404': description: NodeBalancer not found put: operationId: updateNodeBalancer summary: Update a NodeBalancer description: Updates the label and other settings for a NodeBalancer. tags: - NodeBalancers parameters: - $ref: '#/components/parameters/nodeBalancerIdParam' requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NodeBalancerUpdateRequest' responses: '200': description: NodeBalancer updated successfully content: application/json: schema: $ref: '#/components/schemas/NodeBalancer' '400': description: Bad request - invalid parameters '401': description: Unauthorized - invalid or missing authentication '404': description: NodeBalancer not found delete: operationId: deleteNodeBalancer summary: Delete a NodeBalancer description: Deletes a NodeBalancer and all associated configurations and nodes. tags: - NodeBalancers parameters: - $ref: '#/components/parameters/nodeBalancerIdParam' responses: '200': description: NodeBalancer deleted successfully '401': description: Unauthorized - invalid or missing authentication '404': description: NodeBalancer not found /nodebalancers/{nodeBalancerId}/configs: get: operationId: getNodeBalancerConfigs summary: List configs description: Returns a paginated list of configurations for a NodeBalancer. tags: - NodeBalancers parameters: - $ref: '#/components/parameters/nodeBalancerIdParam' - $ref: '#/components/parameters/pageParam' - $ref: '#/components/parameters/pageSizeParam' responses: '200': description: NodeBalancer configs retrieved successfully content: application/json: schema: $ref: '#/components/schemas/PaginatedNodeBalancerConfigList' '401': description: Unauthorized - invalid or missing authentication '404': description: NodeBalancer not found components: parameters: nodeBalancerIdParam: name: nodeBalancerId in: path required: true schema: type: integer description: The ID of the NodeBalancer. pageParam: name: page in: query schema: type: integer minimum: 1 default: 1 description: The page number to return. pageSizeParam: name: page_size in: query schema: type: integer minimum: 25 maximum: 500 default: 100 description: The number of items per page. schemas: NodeBalancerRequest: type: object required: - region properties: region: type: string description: The region for the new NodeBalancer. label: type: string minLength: 3 maxLength: 32 description: The label for the new NodeBalancer. client_conn_throttle: type: integer minimum: 0 maximum: 20 description: Throttle connections per second. tags: type: array items: type: string description: Tags for the new NodeBalancer. NodeBalancer: type: object properties: id: type: integer description: The unique ID of this NodeBalancer. label: type: string description: The label for this NodeBalancer. region: type: string description: The region where this NodeBalancer is located. hostname: type: string description: The hostname for this NodeBalancer. ipv4: type: string format: ipv4 description: The public IPv4 address of this NodeBalancer. ipv6: type: string description: The public IPv6 address of this NodeBalancer. client_conn_throttle: type: integer minimum: 0 maximum: 20 description: Throttle connections per second. transfer: type: object properties: in: type: number description: Inbound transfer in MB this month. out: type: number description: Outbound transfer in MB this month. total: type: number description: Total transfer in MB this month. description: Transfer statistics for this NodeBalancer. tags: type: array items: type: string description: Tags for this NodeBalancer. created: type: string format: date-time description: When this NodeBalancer was created. updated: type: string format: date-time description: When this NodeBalancer was last updated. PaginatedNodeBalancerConfigList: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: data: type: array items: type: object properties: id: type: integer port: type: integer protocol: type: string algorithm: type: string stickiness: type: string check: type: string NodeBalancerUpdateRequest: type: object properties: label: type: string minLength: 3 maxLength: 32 description: The label for the NodeBalancer. client_conn_throttle: type: integer minimum: 0 maximum: 20 description: Throttle connections per second. tags: type: array items: type: string description: Tags for the NodeBalancer. PaginatedNodeBalancerList: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: data: type: array items: $ref: '#/components/schemas/NodeBalancer' Pagination: type: object properties: page: type: integer description: The current page number. pages: type: integer description: The total number of pages. results: type: integer description: The total number of results. securitySchemes: personalAccessToken: type: http scheme: bearer description: A personal access token generated from the Linode Cloud Manager that grants access to the API based on the token's scopes. oauth: type: oauth2 description: OAuth 2.0 authentication for third-party applications. flows: authorizationCode: authorizationUrl: https://login.linode.com/oauth/authorize tokenUrl: https://login.linode.com/oauth/token scopes: account:read_only: Read access to account information account:read_write: Read and write access to account information domains:read_only: Read access to domains domains:read_write: Read and write access to domains events:read_only: Read access to events events:read_write: Read and write access to events firewall:read_only: Read access to firewalls firewall:read_write: Read and write access to firewalls images:read_only: Read access to images images:read_write: Read and write access to images ips:read_only: Read access to IP addresses ips:read_write: Read and write access to IP addresses linodes:read_only: Read access to Linodes linodes:read_write: Read and write access to Linodes lke:read_only: Read access to LKE lke:read_write: Read and write access to LKE longview:read_only: Read access to Longview longview:read_write: Read and write access to Longview nodebalancers:read_only: Read access to NodeBalancers nodebalancers:read_write: Read and write access to NodeBalancers object_storage:read_only: Read access to Object Storage object_storage:read_write: Read and write access to Object Storage stackscripts:read_only: Read access to StackScripts stackscripts:read_write: Read and write access to StackScripts volumes:read_only: Read access to Volumes volumes:read_write: Read and write access to Volumes vpc:read_only: Read access to VPCs vpc:read_write: Read and write access to VPCs externalDocs: description: Linode API v4 Documentation url: https://techdocs.akamai.com/linode-api/reference/api