F5 BIG-IP iControl REST API

Primary REST API for managing F5 BIG-IP systems including virtual servers, pools, nodes, and policies for application delivery and load balancing.

OpenAPI Specification

f5-load-balancer-icontrol-rest-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: F5 Load Balancer F5 BIG-IP iControl REST API
  description: >-
    The iControl REST API provides programmatic access to manage and configure
    F5 BIG-IP devices. It enables automation of Local Traffic Manager (LTM)
    resources including virtual servers, pools, nodes, pool members, monitors,
    profiles, and policies for application delivery, load balancing, and
    network management. iControl REST is a RESTful interface that allows
    any configuration or management task achievable through the BIG-IP
    command line to be performed programmatically.
  version: '15.1.0'
  contact:
    name: F5 Networks Support
    email: [email protected]
    url: https://www.f5.com/services/support
  license:
    name: Proprietary
    url: https://www.f5.com/company/policies/terms-of-use
  termsOfService: https://www.f5.com/company/policies/terms-of-use

externalDocs:
  description: F5 iControl REST API Documentation
  url: https://clouddocs.f5.com/api/icontrol-rest/

servers:
  - url: https://{bigip_host}/mgmt/tm
    description: BIG-IP Management Interface
    variables:
      bigip_host:
        default: 192.168.1.245
        description: Hostname or IP address of the BIG-IP device

security:
  - basicAuth: []
  - tokenAuth: []

tags:
  - name: Data Groups
    description: >-
      Manage internal and external data groups used for address, string,
      and integer lookups in traffic processing decisions.
  - name: iRules
    description: >-
      Manage iRules for custom traffic management logic using the F5
      Tcl-based scripting language.
  - name: Monitors
    description: >-
      Configure health monitors that verify the availability and performance
      of nodes, pool members, and services.
    externalDocs:
      url: https://clouddocs.f5.com/api/icontrol-rest/APIRef_tm_ltm_monitor.html
  - name: Nodes
    description: >-
      Manage backend server nodes identified by IP address or FQDN that
      serve as the foundation for pool member definitions.
    externalDocs:
      url: https://clouddocs.f5.com/api/icontrol-rest/APIRef_tm_ltm_node.html
  - name: Policies
    description: >-
      Manage local traffic policies that provide rule-based traffic steering
      and content manipulation capabilities.
  - name: Pool Members
    description: >-
      Manage individual server members within load balancing pools including
      their state, ratio, priority group, and connection limits.
    externalDocs:
      url: https://clouddocs.f5.com/api/icontrol-rest/APIRef_tm_ltm_pool_members.html
  - name: Pools
    description: >-
      Manage pools of backend servers for load distribution and health
      monitoring.
    externalDocs:
      url: https://clouddocs.f5.com/api/icontrol-rest/APIRef_tm_ltm_pool.html
  - name: Profiles
    description: >-
      Manage traffic profiles that define how the BIG-IP processes different
      types of network traffic including HTTP, TCP, SSL, and persistence.
  - name: SNAT Pools
    description: >-
      Manage SNAT (Secure Network Address Translation) pools that define
      translation addresses for outbound connections.
  - name: SSL Certificates
    description: >-
      Manage SSL certificates and keys used for TLS/SSL termination and
      re-encryption on virtual servers.
  - name: System
    description: >-
      Access system-level information and configuration including device
      status, software versions, and global settings.

  - name: Virtual Servers
    description: >-
      Manage virtual servers that direct client traffic to appropriate
      server pools based on configured rules and profiles.
    externalDocs:
      url: https://clouddocs.f5.com/api/icontrol-rest/APIRef_tm_ltm_virtual.html
paths:
  /ltm/virtual:
    get:
      operationId: listVirtualServers
      summary: F5 Load Balancer List all virtual servers
      description: >-
        Retrieves a collection of all virtual server resources configured
        on the BIG-IP system. Returns virtual server properties including
        destination address, pool assignment, profiles, and operational state.
      tags:
        - Virtual Servers
      parameters:
        - $ref: '#/components/parameters/SelectParam'
        - $ref: '#/components/parameters/FilterParam'
        - $ref: '#/components/parameters/TopParam'
        - $ref: '#/components/parameters/SkipParam'
        - $ref: '#/components/parameters/ExpandSubcollectionsParam'
      responses:
        '200':
          description: Successfully retrieved virtual server collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualServerCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
    post:
      operationId: createVirtualServer
      summary: F5 Load Balancer Create a virtual server
      description: >-
        Creates a new virtual server resource on the BIG-IP system. The
        virtual server defines a traffic destination address and port to
        which the BIG-IP listens for client connections.
      tags:
        - Virtual Servers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualServer'
      responses:
        '200':
          description: Virtual server created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualServer'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          description: Virtual server with the specified name already exists
        '500':
          $ref: '#/components/responses/InternalError'

  /ltm/virtual/{virtualName}:
    parameters:
      - $ref: '#/components/parameters/VirtualNameParam'
    get:
      operationId: getVirtualServer
      summary: F5 Load Balancer Get a specific virtual server
      description: >-
        Retrieves a single virtual server resource identified by name,
        including all of its configuration properties and operational state.
      tags:
        - Virtual Servers
      responses:
        '200':
          description: Successfully retrieved virtual server
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualServer'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateVirtualServer
      summary: F5 Load Balancer Update a virtual server
      description: >-
        Replaces the configuration of an existing virtual server resource.
        All writable properties should be included in the request body.
      tags:
        - Virtual Servers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualServer'
      responses:
        '200':
          description: Virtual server updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualServer'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: patchVirtualServer
      summary: F5 Load Balancer Partially update a virtual server
      description: >-
        Modifies specific properties of an existing virtual server without
        requiring the full resource representation.
      tags:
        - Virtual Servers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VirtualServer'
      responses:
        '200':
          description: Virtual server patched successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VirtualServer'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteVirtualServer
      summary: F5 Load Balancer Delete a virtual server
      description: >-
        Removes a virtual server resource from the BIG-IP system. Existing
        connections may be disrupted depending on the virtual server state.
      tags:
        - Virtual Servers
      responses:
        '200':
          description: Virtual server deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'

  /ltm/pool:
    get:
      operationId: listPools
      summary: F5 Load Balancer List all pools
      description: >-
        Retrieves a collection of all load balancing pool resources configured
        on the BIG-IP system. Pools contain members that receive traffic
        distributed by virtual servers.
      tags:
        - Pools
      parameters:
        - $ref: '#/components/parameters/SelectParam'
        - $ref: '#/components/parameters/FilterParam'
        - $ref: '#/components/parameters/TopParam'
        - $ref: '#/components/parameters/SkipParam'
        - $ref: '#/components/parameters/ExpandSubcollectionsParam'
      responses:
        '200':
          description: Successfully retrieved pool collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PoolCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createPool
      summary: F5 Load Balancer Create a pool
      description: >-
        Creates a new load balancing pool on the BIG-IP system. A pool
        is a collection of backend server members to which the BIG-IP
        distributes client traffic.
      tags:
        - Pools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Pool'
      responses:
        '200':
          description: Pool created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pool'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          description: Pool with the specified name already exists

  /ltm/pool/{poolName}:
    parameters:
      - $ref: '#/components/parameters/PoolNameParam'
    get:
      operationId: getPool
      summary: F5 Load Balancer Get a specific pool
      description: >-
        Retrieves a single pool resource identified by name including its
        configuration and load balancing settings.
      tags:
        - Pools
      responses:
        '200':
          description: Successfully retrieved pool
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pool'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updatePool
      summary: F5 Load Balancer Update a pool
      description: >-
        Replaces the configuration of an existing pool resource.
      tags:
        - Pools
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Pool'
      responses:
        '200':
          description: Pool updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pool'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deletePool
      summary: F5 Load Balancer Delete a pool
      description: >-
        Removes a pool resource from the BIG-IP system. Any virtual servers
        referencing this pool should be updated before deletion.
      tags:
        - Pools
      responses:
        '200':
          description: Pool deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'

  /ltm/pool/{poolName}/members:
    parameters:
      - $ref: '#/components/parameters/PoolNameParam'
    get:
      operationId: listPoolMembers
      summary: F5 Load Balancer List pool members
      description: >-
        Retrieves a collection of all members within a specific pool
        including their addresses, ports, and operational states.
      tags:
        - Pool Members
      parameters:
        - $ref: '#/components/parameters/SelectParam'
        - $ref: '#/components/parameters/FilterParam'
      responses:
        '200':
          description: Successfully retrieved pool member collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PoolMemberCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    post:
      operationId: addPoolMember
      summary: F5 Load Balancer Add a member to a pool
      description: >-
        Adds a new server member to the specified pool. The member is
        identified by its node address and service port.
      tags:
        - Pool Members
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PoolMember'
      responses:
        '200':
          description: Pool member added successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PoolMember'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'

  /ltm/pool/{poolName}/members/{memberName}:
    parameters:
      - $ref: '#/components/parameters/PoolNameParam'
      - $ref: '#/components/parameters/MemberNameParam'
    get:
      operationId: getPoolMember
      summary: F5 Load Balancer Get a specific pool member
      description: >-
        Retrieves a single pool member resource including its configuration,
        health status, and statistics.
      tags:
        - Pool Members
      responses:
        '200':
          description: Successfully retrieved pool member
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PoolMember'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updatePoolMember
      summary: F5 Load Balancer Update a pool member
      description: >-
        Replaces the configuration of a specific pool member.
      tags:
        - Pool Members
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PoolMember'
      responses:
        '200':
          description: Pool member updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PoolMember'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deletePoolMember
      summary: F5 Load Balancer Remove a pool member
      description: >-
        Removes a server member from the specified pool.
      tags:
        - Pool Members
      responses:
        '200':
          description: Pool member removed successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'

  /ltm/node:
    get:
      operationId: listNodes
      summary: F5 Load Balancer List all nodes
      description: >-
        Retrieves a collection of all node resources on the BIG-IP system.
        Nodes represent backend servers identified by their IP addresses
        or FQDNs.
      tags:
        - Nodes
      parameters:
        - $ref: '#/components/parameters/SelectParam'
        - $ref: '#/components/parameters/FilterParam'
        - $ref: '#/components/parameters/TopParam'
        - $ref: '#/components/parameters/SkipParam'
      responses:
        '200':
          description: Successfully retrieved node collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NodeCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createNode
      summary: F5 Load Balancer Create a node
      description: >-
        Creates a new node resource representing a backend server on
        the network. Nodes are the foundation for pool members.
      tags:
        - Nodes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Node'
      responses:
        '200':
          description: Node created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Node'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          description: Node with the specified name already exists

  /ltm/node/{nodeName}:
    parameters:
      - $ref: '#/components/parameters/NodeNameParam'
    get:
      operationId: getNode
      summary: F5 Load Balancer Get a specific node
      description: >-
        Retrieves a single node resource including its address, monitoring
        status, and configuration.
      tags:
        - Nodes
      responses:
        '200':
          description: Successfully retrieved node
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Node'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateNode
      summary: F5 Load Balancer Update a node
      description: >-
        Replaces the configuration of an existing node resource.
      tags:
        - Nodes
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Node'
      responses:
        '200':
          description: Node updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Node'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteNode
      summary: F5 Load Balancer Delete a node
      description: >-
        Removes a node resource from the BIG-IP system. The node must not
        be referenced by any pool members.
      tags:
        - Nodes
      responses:
        '200':
          description: Node deleted successfully
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'

  /ltm/monitor/http:
    get:
      operationId: listHttpMonitors
      summary: F5 Load Balancer List HTTP health monitors
      description: >-
        Retrieves all HTTP health monitors configured on the BIG-IP system.
        HTTP monitors verify availability by sending HTTP requests to pool
        members and evaluating the responses.
      tags:
        - Monitors
      responses:
        '200':
          description: Successfully retrieved HTTP monitor collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createHttpMonitor
      summary: F5 Load Balancer Create an HTTP health monitor
      description: >-
        Creates a new HTTP health monitor that sends HTTP requests to pool
        members to verify their availability and responsiveness.
      tags:
        - Monitors
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/HttpMonitor'
      responses:
        '200':
          description: HTTP monitor created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpMonitor'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'

  /ltm/monitor/https:
    get:
      operationId: listHttpsMonitors
      summary: F5 Load Balancer List HTTPS health monitors
      description: >-
        Retrieves all HTTPS health monitors configured on the BIG-IP system.
        HTTPS monitors verify availability over TLS-encrypted connections.
      tags:
        - Monitors
      responses:
        '200':
          description: Successfully retrieved HTTPS monitor collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'

  /ltm/monitor/tcp:
    get:
      operationId: listTcpMonitors
      summary: F5 Load Balancer List TCP health monitors
      description: >-
        Retrieves all TCP health monitors configured on the BIG-IP system.
        TCP monitors verify that pool members are accepting connections
        on the specified port.
      tags:
        - Monitors
      responses:
        '200':
          description: Successfully retrieved TCP monitor collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MonitorCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'

  /ltm/profile/http:
    get:
      operationId: listHttpProfiles
      summary: F5 Load Balancer List HTTP profiles
      description: >-
        Retrieves all HTTP traffic profiles on the BIG-IP system. HTTP
        profiles configure how the BIG-IP processes HTTP traffic including
        compression, caching, and header manipulation.
      tags:
        - Profiles
      responses:
        '200':
          description: Successfully retrieved HTTP profile collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'

  /ltm/profile/tcp:
    get:
      operationId: listTcpProfiles
      summary: F5 Load Balancer List TCP profiles
      description: >-
        Retrieves all TCP traffic profiles on the BIG-IP system. TCP
        profiles optimize TCP connection behavior for different
        application and network scenarios.
      tags:
        - Profiles
      responses:
        '200':
          description: Successfully retrieved TCP profile collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'

  /ltm/profile/client-ssl:
    get:
      operationId: listClientSslProfiles
      summary: F5 Load Balancer List client SSL profiles
      description: >-
        Retrieves all client-side SSL profiles on the BIG-IP system.
        Client SSL profiles manage TLS/SSL termination for connections
        between clients and the BIG-IP.
      tags:
        - Profiles
      responses:
        '200':
          description: Successfully retrieved client SSL profile collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProfileCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'

  /ltm/policy:
    get:
      operationId: listPolicies
      summary: F5 Load Balancer List local traffic policies
      description: >-
        Retrieves all local traffic policies on the BIG-IP system. Policies
        provide rule-based traffic steering, content manipulation, and
        request/response modification.
      tags:
        - Policies
      responses:
        '200':
          description: Successfully retrieved policy collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PolicyCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'

  /ltm/rule:
    get:
      operationId: listIRules
      summary: F5 Load Balancer List iRules
      description: >-
        Retrieves all iRule resources on the BIG-IP system. iRules are
        Tcl-based scripts that provide custom traffic management logic
        for virtual servers.
      tags:
        - iRules
      responses:
        '200':
          description: Successfully retrieved iRule collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IRuleCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'

  /sys/file/ssl-cert:
    get:
      operationId: listSslCertificates
      summary: F5 Load Balancer List SSL certificates
      description: >-
        Retrieves all SSL certificate files installed on the BIG-IP system
        that are available for use in SSL profiles.
      tags:
        - SSL Certificates
      responses:
        '200':
          description: Successfully retrieved SSL certificate collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SslCertCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'

  /ltm/data-group/internal:
    get:
      operationId: listInternalDataGroups
      summary: F5 Load Balancer List internal data groups
      description: >-
        Retrieves all internal data groups on the BIG-IP system. Data groups
        provide address, string, and integer lookups used in iRules and
        traffic policies for decision-making.
      tags:
        - Data Groups
      responses:
        '200':
          description: Successfully retrieved internal data group collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataGroupCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'

  /ltm/snatpool:
    get:
      operationId: listSnatPools
      summary: F5 Load Balancer List SNAT pools
      description: >-
        Retrieves all SNAT pool resources on the BIG-IP system. SNAT pools
        define collections of translation addresses used for outbound
        connection source address translation.
      tags:
        - SNAT Pools
      responses:
        '200':
          description: Successfully retrieved SNAT pool collection
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SnatPoolCollection'
        '401':
          $ref: '#/components/responses/Unauthorized'

  /sys:
    get:
      operationId: getSystemInfo
      summary: F5 Load Balancer Get system information
      description: >-
        Retrieves top-level system information and available sub-collections
        for the BIG-IP system.
      tags:
        - System
      responses:
        '200':
          description: Successfully retrieved system information
          content:
            application/json:
              schema:
                type: object
        '401':
          $ref: '#/components/responses/Unauthorized'

  /sys/version:
    get:
      operationId: getSystemVersion
      summary: F5 Load Balancer Get system software version
      description: >-
        Retrieves the software version information for the BIG-IP system
        including product name, version, build number, and edition.
      tags:
        - System
      responses:
        '200':
          description: Successfully retrieved system version
          content:
            application/json:
              schema:
                type: object
                properties:
                  kind:
                    type: string
                  selfLink:
                    type: string
                    format: uri
        '401':
          $ref: '#/components/responses/Unauthorized'

  /sys/device:
    get:
      operationId: listDevices
      summary: F5 Load Balancer List BIG-IP devices
      description: >-
        Retrieves information about all BIG-IP devices in the device trust
        group, including hostname, management address, failover state,
        and device group membership.
      tags:
        - System
      responses:
        '200':
          description: Successfully retrieved device collection
          content:
            application/json:
              schema:
                type: object
        '401':
          $ref: '#/components/responses/Unauthorized'

components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: >-
        HTTP Basic Authentication using BIG-IP admin credentials.
    tokenAuth:
      type: apiKey
      in: header
      name: X-F5-Auth-Token
      description: >-
        Token-based authentication obtained from the /mgmt/shared/authn/login
        endpoint. Tokens expire after a configurable timeout period.

  parameters:
    VirtualNameParam:
      name: virtualName
      in: path
      required: true
      description: >-
        Name of the virtual server resource, optionally prefixed with
        the partition path (e.g., ~Common~my_virtual).
      schema:
        type: string
    PoolNameParam:
      name: poolName
      in: path
      required: true
      description: >-
        Name of the pool resource, optionally prefixed with the partition
        path (e.g., ~Common~my_pool).
      schema:
        type: string
    MemberNameParam:
      name: memberName
      in: path
      required: true
      description: >-
        Name of the pool member in address:port format
        (e.g., ~Common~10.0.0.1:80).
      schema:
        type: string
    NodeNameParam:
      name: nodeName
      in: path
      required: true
      description: >-
        Name of the node resource, optionally prefixed with the partition
        path.
      schema:
        type: string
    SelectParam:
      name: $select
      in: query
      required: false
      description: >-
        Comma-separated list of properties to include in the response.
      schema:
        type: string
    FilterParam:
      name: $filter
      in: query
      required: false
      description: >-
        OData filter expression to restrict returned resources.
      schema:
        type: string
    TopParam:
      name: $top
      in: query
      required: false
      description: >-
        Maximum number of resources to return.
      schema:
        type: integer
        minimum: 1
    SkipParam:
      name: $skip
      in: query
      required: false
      description: >-
        Number of resources to skip before returning results.
      schema:
        type: integer
        minimum: 0
    ExpandSubcollectionsParam:
      name: expandSubcollections
      in: query
      required: false
      description: >-
        When set to true, inline sub-collections in the response.
      schema:
        type: string
        enum:
          - 'true'
          - 'false'

  responses:
    BadRequest:
      description: >-
        The request was malformed or contained invalid parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/f5-load-balancer/refs/heads/main/openapi/f5-load-balancer-icontrol-rest-openapi.yml