F5 Networks website screenshot

F5 Networks

F5 Networks is a leader in application delivery networking technology that specializes in application availability, acceleration, and security solutions.

11 APIs 8 Features
API GatewayApplication DeliveryAutomationEdge ComputingKubernetesLoad BalancingMulti-CloudNGINXSecurityWAF

APIs

F5 BIG-IP iControl REST API

The iControl REST API provides programmatic access to manage and configure F5 BIG-IP devices. Enables automation of network, security, and application delivery services.

F5 Distributed Cloud API

API for F5 Distributed Cloud Services providing multi-cloud networking, application security, and edge computing capabilities.

F5 NGINX Management Suite API

REST API for managing NGINX instances, monitoring performance, and configuring application delivery through NGINX Management Suite.

F5 Essential App Protect API

API for managing F5's application security services including WAF policies, bot defense, and API protection.

F5 BIG-IQ Centralized Management API

REST API for BIG-IQ Centralized Management providing programmatic control over BIG-IP device management, licensing, monitoring, and analytics across your F5 infrastructure.

F5 BIG-IP Application Services 3 Extension API

Declarative API for automating layer 4-7 application services on BIG-IP using JSON declarations. AS3 enables infrastructure-as-code for application delivery configuration.

F5 Declarative Onboarding API

Declarative API for automating layer 1-3 BIG-IP onboarding and initial device configuration using JSON declarations, making BIG-IP available on the network and ready for applica...

F5 Telemetry Streaming API

Declarative API for aggregating, normalizing, and forwarding BIG-IP statistics and events to third-party analytics consumers including Splunk, Azure Log Analytics, AWS CloudWatc...

F5 NGINX Plus API

REST API for NGINX Plus providing real-time live activity monitoring, dynamic upstream configuration, key-value store management, and server health statistics without requiring ...

F5 NGINX One Console API

API for managing and monitoring NGINX instances across environments from a single console, including configuration management, performance metrics, security vulnerability tracki...

F5 NGINX Ingress Controller API

Kubernetes Ingress Controller implementation for NGINX and NGINX Plus providing load balancing, SSL/TLS termination, content-based routing, and advanced traffic management for c...

Collections

Pricing Plans

Rate Limits

F5 Networks Rate Limits

5 limits

RATE LIMITS

FinOps

Features

Multi-Cloud Networking

Connect and secure applications across any cloud, data center, or edge environment with consistent policy and visibility.

Application Delivery Controller

Advanced load balancing, traffic management, and application acceleration for high availability and performance.

Web Application Firewall

Comprehensive protection against OWASP Top 10 threats, bot attacks, and API vulnerabilities.

Infrastructure as Code

Declarative APIs (AS3, DO, TS) for automating BIG-IP configuration and application delivery.

NGINX Reverse Proxy

High-performance reverse proxy, load balancing, and web serving for modern applications.

API Gateway

Secure and manage API traffic with rate limiting, authentication, and traffic shaping.

DDoS Protection

Volumetric and application-layer DDoS mitigation with always-on or on-demand protection.

SSL/TLS Offloading

Centralized SSL/TLS certificate management and encryption offloading for improved performance.

Use Cases

Application Load Balancing

Distribute application traffic across servers for high availability, performance, and fault tolerance.

Zero Trust Security

Implement zero trust architecture with identity-aware proxy, micro-segmentation, and continuous verification.

Kubernetes Ingress

Manage ingress traffic for containerized applications with NGINX Ingress Controller in Kubernetes clusters.

Multi-Cloud Application Delivery

Deliver applications consistently across AWS, Azure, GCP, and on-premises with unified policy management.

API Security

Protect APIs from abuse, injection attacks, and unauthorized access with granular security policies.

DevOps Automation

Automate network and security infrastructure provisioning using declarative APIs and CI/CD pipelines.

Integrations

AWS

Deploy BIG-IP and Distributed Cloud services natively on AWS with CloudFormation templates and marketplace offerings.

Azure

Integrate F5 solutions with Azure services including AKS, App Gateway, and Azure AD for cloud-native security.

Google Cloud

Deploy F5 solutions on GCP with support for GKE, Cloud Load Balancing, and Anthos.

Kubernetes

Native Kubernetes integration through NGINX Ingress Controller, Container Ingress Services, and Helm charts.

Terraform

Infrastructure as Code support with official Terraform providers for BIG-IP and Distributed Cloud.

Ansible

Ansible modules and roles for automating BIG-IP configuration, deployment, and orchestration.

Splunk

Forward telemetry data to Splunk for centralized logging, analytics, and security monitoring.

ServiceNow

ITSM integration for automated incident management and change control of F5 infrastructure.

Semantic Vocabularies

Bigip Icontrol Rest Context

0 classes · 0 properties

JSON-LD

F5 Networks Context

0 classes · 6 properties

JSON-LD

API Governance Rules

F5 Networks API Rules

7 rules · 7 errors

SPECTRAL

JSON Structure

Bigip Icontrol Rest Error Response Structure

4 properties

JSON STRUCTURE

Bigip Icontrol Rest Http Profile Structure

26 properties

JSON STRUCTURE

Bigip Icontrol Rest Node Create Structure

9 properties

JSON STRUCTURE

Bigip Icontrol Rest Node Structure

18 properties

JSON STRUCTURE

Bigip Icontrol Rest Node Update Structure

8 properties

JSON STRUCTURE

Bigip Icontrol Rest Pool Create Structure

10 properties

JSON STRUCTURE

Bigip Icontrol Rest Pool Member Structure

19 properties

JSON STRUCTURE

Bigip Icontrol Rest Pool Structure

27 properties

JSON STRUCTURE

Bigip Icontrol Rest Pool Update Structure

8 properties

JSON STRUCTURE

Bigip Icontrol Rest Tcp Profile Structure

25 properties

JSON STRUCTURE

Bigip Icontrol Rest Virtual Server Structure

35 properties

JSON STRUCTURE

F5 Networks Structure

0 properties

JSON STRUCTURE

Example Payloads

F5 Networks Getnode Example

6 fields

EXAMPLE

F5 Networks Getpool Example

6 fields

EXAMPLE

Resources

🔗
Documentation
Documentation
🌐
DeveloperPortal
DeveloperPortal
📰
Blog
Blog
👥
GitHubOrganization
GitHubOrganization
👥
F5 DevCentral
GitHubOrganization
💬
Support
Support
🟢
StatusPage
StatusPage
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
📝
Signup
Signup
🔗
Login
Login
🔗
LinkedIn
LinkedIn
🔗
X
X
👥
YouTube
YouTube

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: F5 BIG-IP iControl REST API
  version: 15.1.0
request:
  auth:
    type: basic
    username: '{{username}}'
    password: '{{password}}'
items:
- info:
    name: Virtual Servers
    type: folder
  items:
  - info:
      name: List All Virtual Servers
      type: http
    http:
      method: GET
      url: https://{bigip_host}/mgmt/tm/ltm/virtual
      params:
      - name: $select
        value: name,destination,pool
        type: query
        description: Comma-separated list of property names to include in the response.
      - name: $filter
        value: partition eq Common
        type: query
        description: OData filter expression to restrict returned resources.
      - name: $top
        value: '10'
        type: query
        description: Maximum number of resources to return.
      - name: $skip
        value: '0'
        type: query
        description: Number of resources to skip before returning results.
      - name: expandSubcollections
        value: 'true'
        type: query
        description: When set to true, expands all subcollections inline within the response.
    docs: Returns a collection of all virtual server resources configured on the BIG-IP system.
  - info:
      name: Create a Virtual Server
      type: http
    http:
      method: POST
      url: https://{bigip_host}/mgmt/tm/ltm/virtual
      body:
        type: json
        data: '{}'
    docs: Creates a new virtual server resource on the BIG-IP system. At minimum, a name and destination address:port must
      be specified.
  - info:
      name: Get a Virtual Server
      type: http
    http:
      method: GET
      url: https://{bigip_host}/mgmt/tm/ltm/virtual/:virtualName
      params:
      - name: virtualName
        value: my_virtual_server
        type: path
        description: Name of the virtual server resource. Use ~Common~ prefix for partition-qualified names (e.g., ~Common~my_virtual).
      - name: expandSubcollections
        value: 'true'
        type: query
        description: When set to true, expands all subcollections inline within the response.
    docs: Returns a single virtual server resource identified by name.
  - info:
      name: Update a Virtual Server
      type: http
    http:
      method: PUT
      url: https://{bigip_host}/mgmt/tm/ltm/virtual/:virtualName
      params:
      - name: virtualName
        value: my_virtual_server
        type: path
        description: Name of the virtual server resource. Use ~Common~ prefix for partition-qualified names (e.g., ~Common~my_virtual).
      body:
        type: json
        data: '{}'
    docs: Replaces the entire virtual server resource. All writable properties must be included in the request body.
  - info:
      name: Patch a Virtual Server
      type: http
    http:
      method: PATCH
      url: https://{bigip_host}/mgmt/tm/ltm/virtual/:virtualName
      params:
      - name: virtualName
        value: my_virtual_server
        type: path
        description: Name of the virtual server resource. Use ~Common~ prefix for partition-qualified names (e.g., ~Common~my_virtual).
      body:
        type: json
        data: '{}'
    docs: Partially updates a virtual server resource. Only specified properties are modified.
  - info:
      name: Delete a Virtual Server
      type: http
    http:
      method: DELETE
      url: https://{bigip_host}/mgmt/tm/ltm/virtual/:virtualName
      params:
      - name: virtualName
        value: my_virtual_server
        type: path
        description: Name of the virtual server resource. Use ~Common~ prefix for partition-qualified names (e.g., ~Common~my_virtual).
    docs: Removes a virtual server resource from the BIG-IP system. Active connections will be terminated.
- info:
    name: Pools
    type: folder
  items:
  - info:
      name: List All Pools
      type: http
    http:
      method: GET
      url: https://{bigip_host}/mgmt/tm/ltm/pool
      params:
      - name: $select
        value: name,destination,pool
        type: query
        description: Comma-separated list of property names to include in the response.
      - name: $filter
        value: partition eq Common
        type: query
        description: OData filter expression to restrict returned resources.
      - name: $top
        value: '10'
        type: query
        description: Maximum number of resources to return.
      - name: $skip
        value: '0'
        type: query
        description: Number of resources to skip before returning results.
      - name: expandSubcollections
        value: 'true'
        type: query
        description: When set to true, expands all subcollections inline within the response.
    docs: Returns a collection of all pool resources configured on the BIG-IP system.
  - info:
      name: Create a Pool
      type: http
    http:
      method: POST
      url: https://{bigip_host}/mgmt/tm/ltm/pool
      body:
        type: json
        data: '{}'
    docs: Creates a new pool resource on the BIG-IP system. The pool name is required; members and monitors can be specified
      during creation.
  - info:
      name: Get a Pool
      type: http
    http:
      method: GET
      url: https://{bigip_host}/mgmt/tm/ltm/pool/:poolName
      params:
      - name: poolName
        value: my_pool
        type: path
        description: Name of the pool resource. Use ~Common~ prefix for partition-qualified names.
      - name: expandSubcollections
        value: 'true'
        type: query
        description: When set to true, expands all subcollections inline within the response.
    docs: Returns a single pool resource identified by name.
  - info:
      name: Update a Pool
      type: http
    http:
      method: PUT
      url: https://{bigip_host}/mgmt/tm/ltm/pool/:poolName
      params:
      - name: poolName
        value: my_pool
        type: path
        description: Name of the pool resource. Use ~Common~ prefix for partition-qualified names.
      body:
        type: json
        data: '{}'
    docs: Replaces the entire pool resource configuration.
  - info:
      name: Patch a Pool
      type: http
    http:
      method: PATCH
      url: https://{bigip_host}/mgmt/tm/ltm/pool/:poolName
      params:
      - name: poolName
        value: my_pool
        type: path
        description: Name of the pool resource. Use ~Common~ prefix for partition-qualified names.
      body:
        type: json
        data: '{}'
    docs: Partially updates a pool resource configuration.
  - info:
      name: Delete a Pool
      type: http
    http:
      method: DELETE
      url: https://{bigip_host}/mgmt/tm/ltm/pool/:poolName
      params:
      - name: poolName
        value: my_pool
        type: path
        description: Name of the pool resource. Use ~Common~ prefix for partition-qualified names.
    docs: Removes a pool resource from the BIG-IP system. The pool must not be referenced by any virtual server.
- info:
    name: Pool Members
    type: folder
  items:
  - info:
      name: List Pool Members
      type: http
    http:
      method: GET
      url: https://{bigip_host}/mgmt/tm/ltm/pool/:poolName/members
      params:
      - name: poolName
        value: my_pool
        type: path
        description: Name of the pool resource. Use ~Common~ prefix for partition-qualified names.
      - name: $select
        value: name,destination,pool
        type: query
        description: Comma-separated list of property names to include in the response.
      - name: $filter
        value: partition eq Common
        type: query
        description: OData filter expression to restrict returned resources.
    docs: Returns a collection of all members within the specified pool.
  - info:
      name: Add a Pool Member
      type: http
    http:
      method: POST
      url: https://{bigip_host}/mgmt/tm/ltm/pool/:poolName/members
      params:
      - name: poolName
        value: my_pool
        type: path
        description: Name of the pool resource. Use ~Common~ prefix for partition-qualified names.
      body:
        type: json
        data: '{}'
    docs: Adds a new member to the specified pool. The member name must be in the format address:port (e.g., 10.0.0.1:80).
  - info:
      name: Get a Pool Member
      type: http
    http:
      method: GET
      url: https://{bigip_host}/mgmt/tm/ltm/pool/:poolName/members/:memberName
      params:
      - name: poolName
        value: my_pool
        type: path
        description: Name of the pool resource. Use ~Common~ prefix for partition-qualified names.
      - name: memberName
        value: 10.0.0.1:80
        type: path
        description: Name of the pool member in the format address:port (e.g., 10.0.0.1:80).
    docs: Returns a single pool member identified by name.
  - info:
      name: Update a Pool Member
      type: http
    http:
      method: PUT
      url: https://{bigip_host}/mgmt/tm/ltm/pool/:poolName/members/:memberName
      params:
      - name: poolName
        value: my_pool
        type: path
        description: Name of the pool resource. Use ~Common~ prefix for partition-qualified names.
      - name: memberName
        value: 10.0.0.1:80
        type: path
        description: Name of the pool member in the format address:port (e.g., 10.0.0.1:80).
      body:
        type: json
        data: '{}'
    docs: Replaces the entire pool member resource configuration.
  - info:
      name: Patch a Pool Member
      type: http
    http:
      method: PATCH
      url: https://{bigip_host}/mgmt/tm/ltm/pool/:poolName/members/:memberName
      params:
      - name: poolName
        value: my_pool
        type: path
        description: Name of the pool resource. Use ~Common~ prefix for partition-qualified names.
      - name: memberName
        value: 10.0.0.1:80
        type: path
        description: Name of the pool member in the format address:port (e.g., 10.0.0.1:80).
      body:
        type: json
        data: '{}'
    docs: Partially updates a pool member resource configuration.
  - info:
      name: Delete a Pool Member
      type: http
    http:
      method: DELETE
      url: https://{bigip_host}/mgmt/tm/ltm/pool/:poolName/members/:memberName
      params:
      - name: poolName
        value: my_pool
        type: path
        description: Name of the pool resource. Use ~Common~ prefix for partition-qualified names.
      - name: memberName
        value: 10.0.0.1:80
        type: path
        description: Name of the pool member in the format address:port (e.g., 10.0.0.1:80).
    docs: Removes a member from the specified pool.
- info:
    name: Nodes
    type: folder
  items:
  - info:
      name: List All Nodes
      type: http
    http:
      method: GET
      url: https://{bigip_host}/mgmt/tm/ltm/node
      params:
      - name: $select
        value: name,destination,pool
        type: query
        description: Comma-separated list of property names to include in the response.
      - name: $filter
        value: partition eq Common
        type: query
        description: OData filter expression to restrict returned resources.
      - name: $top
        value: '10'
        type: query
        description: Maximum number of resources to return.
      - name: $skip
        value: '0'
        type: query
        description: Number of resources to skip before returning results.
    docs: Returns a collection of all node resources configured on the BIG-IP system.
  - info:
      name: Create a Node
      type: http
    http:
      method: POST
      url: https://{bigip_host}/mgmt/tm/ltm/node
      body:
        type: json
        data: '{}'
    docs: Creates a new node resource on the BIG-IP system. The name and address are required for creation.
  - info:
      name: Get a Node
      type: http
    http:
      method: GET
      url: https://{bigip_host}/mgmt/tm/ltm/node/:nodeName
      params:
      - name: nodeName
        value: 10.0.0.1
        type: path
        description: Name of the node resource. Can be the IP address or a user-defined name.
    docs: Returns a single node resource identified by name.
  - info:
      name: Update a Node
      type: http
    http:
      method: PUT
      url: https://{bigip_host}/mgmt/tm/ltm/node/:nodeName
      params:
      - name: nodeName
        value: 10.0.0.1
        type: path
        description: Name of the node resource. Can be the IP address or a user-defined name.
      body:
        type: json
        data: '{}'
    docs: Replaces the entire node resource configuration.
  - info:
      name: Patch a Node
      type: http
    http:
      method: PATCH
      url: https://{bigip_host}/mgmt/tm/ltm/node/:nodeName
      params:
      - name: nodeName
        value: 10.0.0.1
        type: path
        description: Name of the node resource. Can be the IP address or a user-defined name.
      body:
        type: json
        data: '{}'
    docs: Partially updates a node resource configuration.
  - info:
      name: Delete a Node
      type: http
    http:
      method: DELETE
      url: https://{bigip_host}/mgmt/tm/ltm/node/:nodeName
      params:
      - name: nodeName
        value: 10.0.0.1
        type: path
        description: Name of the node resource. Can be the IP address or a user-defined name.
    docs: Removes a node resource from the BIG-IP system. The node must not be referenced by any pool member.
- info:
    name: Profiles
    type: folder
  items:
  - info:
      name: List Http Profiles
      type: http
    http:
      method: GET
      url: https://{bigip_host}/mgmt/tm/ltm/profile/http
      params:
      - name: $select
        value: name,destination,pool
        type: query
        description: Comma-separated list of property names to include in the response.
      - name: $filter
        value: partition eq Common
        type: query
        description: OData filter expression to restrict returned resources.
    docs: Returns a collection of all HTTP profile resources configured on the BIG-IP system.
  - info:
      name: Get an Http Profile
      type: http
    http:
      method: GET
      url: https://{bigip_host}/mgmt/tm/ltm/profile/http/:profileName
      params:
      - name: profileName
        value: my_http_profile
        type: path
        description: Name of the profile resource.
    docs: Returns a single HTTP profile resource identified by name.
  - info:
      name: List Tcp Profiles
      type: http
    http:
      method: GET
      url: https://{bigip_host}/mgmt/tm/ltm/profile/tcp
      params:
      - name: $select
        value: name,destination,pool
        type: query
        description: Comma-separated list of property names to include in the response.
      - name: $filter
        value: partition eq Common
        type: query
        description: OData filter expression to restrict returned resources.
    docs: Returns a collection of all TCP profile resources configured on the BIG-IP system.
  - info:
      name: Get a Tcp Profile
      type: http
    http:
      method: GET
      url: https://{bigip_host}/mgmt/tm/ltm/profile/tcp/:profileName
      params:
      - name: profileName
        value: my_http_profile
        type: path
        description: Name of the profile resource.
    docs: Returns a single TCP profile resource identified by name.
  - info:
      name: List Client Ssl Profiles
      type: http
    http:
      method: GET
      url: https://{bigip_host}/mgmt/tm/ltm/profile/client-ssl
      params:
      - name: $select
        value: name,destination,pool
        type: query
        description: Comma-separated list of property names to include in the response.
      - name: $filter
        value: partition eq Common
        type: query
        description: OData filter expression to restrict returned resources.
    docs: Returns a collection of all Client SSL profile resources configured on the BIG-IP system.
  - info:
      name: Get a Client Ssl Profile
      type: http
    http:
      method: GET
      url: https://{bigip_host}/mgmt/tm/ltm/profile/client-ssl/:profileName
      params:
      - name: profileName
        value: my_http_profile
        type: path
        description: Name of the profile resource.
    docs: Returns a single Client SSL profile resource identified by name.
  - info:
      name: List Cookie Persistence Profiles
      type: http
    http:
      method: GET
      url: https://{bigip_host}/mgmt/tm/ltm/persistence/cookie
      params:
      - name: $select
        value: name,destination,pool
        type: query
        description: Comma-separated list of property names to include in the response.
      - name: $filter
        value: partition eq Common
        type: query
        description: OData filter expression to restrict returned resources.
    docs: Returns a collection of all cookie persistence profile resources.
  - info:
      name: Get a Cookie Persistence Profile
      type: http
    http:
      method: GET
      url: https://{bigip_host}/mgmt/tm/ltm/persistence/cookie/:profileName
      params:
      - name: profileName
        value: my_http_profile
        type: path
        description: Name of the profile resource.
    docs: Returns a single cookie persistence profile resource identified by name.
bundled: true