F5 Networks Profiles API

Manage profiles that define traffic handling behavior for virtual servers, including HTTP, TCP, UDP, client SSL, and persistence profiles.

OpenAPI Specification

f5-networks-profiles-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: F5 BIG-IP iControl REST Nodes Profiles 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, and profiles for application delivery, load balancing, and network management.
  version: 15.1.0
  contact:
    name: F5 Support
    email: support@f5.com
    url: https://www.f5.com/company/contact/regional-offices
  license:
    name: Proprietary
    url: https://www.f5.com/company/policies/terms-of-use
  x-logo:
    url: https://www.f5.com/content/dam/f5-com/global-assets/images/f5-logo.svg
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: Profiles
  description: Manage profiles that define traffic handling behavior for virtual servers, including HTTP, TCP, UDP, client SSL, and persistence profiles.
paths:
  /ltm/profile/http:
    get:
      operationId: listHttpProfiles
      summary: List Http Profiles
      description: Returns a collection of all HTTP profile resources configured on the BIG-IP system.
      tags:
      - Profiles
      parameters:
      - $ref: '#/components/parameters/SelectParam'
      - $ref: '#/components/parameters/FilterParam'
      responses:
        '200':
          description: Successful retrieval of HTTP profile collection.
          content:
            application/json:
              schema:
                type: object
                properties:
                  kind:
                    type: string
                    example: tm:ltm:profile:http:httpcollectionstate
                  selfLink:
                    type: string
                    format: uri
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/HttpProfile'
              examples:
                Listhttpprofiles200Example:
                  summary: Default listHttpProfiles 200 response
                  x-microcks-default: true
                  value:
                    kind: example_value
                    selfLink: https://www.example.com
                    items:
                    - kind: example_value
                      name: Example Title
                      fullPath: example_value
                      generation: 10
                      selfLink: https://www.example.com
                      acceptXff: enabled
                      appService: example_value
                      basicAuthRealm: example_value
                      defaultsFrom: example_value
                      description: A sample description.
                      encryptCookies:
                      - {}
                      enforcement:
                        maxHeaderCount: 10
                        maxHeaderSize: 10
                        pipeline: allow
                      fallbackHost: example_value
                      fallbackStatusCodes:
                      - {}
                      headerErase: example_value
                      headerInsert: example_value
                      insertXforwardedFor: enabled
                      oneconnectTransformations: enabled
                      redirectRewrite: none
                      requestChunking: allow
                      responseChunking: allow
                      serverAgentName: example_value
                      viaHostName: example_value
                      viaRequest: append
                      viaResponse: append
                      xffAlternativeNames:
                      - {}
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ltm/profile/http/{profileName}:
    parameters:
    - $ref: '#/components/parameters/ProfileNameParam'
    get:
      operationId: getHttpProfile
      summary: Get an Http Profile
      description: Returns a single HTTP profile resource identified by name.
      tags:
      - Profiles
      responses:
        '200':
          description: Successful retrieval of the HTTP profile.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HttpProfile'
              examples:
                Gethttpprofile200Example:
                  summary: Default getHttpProfile 200 response
                  x-microcks-default: true
                  value:
                    kind: example_value
                    name: Example Title
                    fullPath: example_value
                    generation: 10
                    selfLink: https://www.example.com
                    acceptXff: enabled
                    appService: example_value
                    basicAuthRealm: example_value
                    defaultsFrom: example_value
                    description: A sample description.
                    encryptCookies:
                    - example_value
                    enforcement:
                      maxHeaderCount: 10
                      maxHeaderSize: 10
                      pipeline: allow
                    fallbackHost: example_value
                    fallbackStatusCodes:
                    - example_value
                    headerErase: example_value
                    headerInsert: example_value
                    insertXforwardedFor: enabled
                    oneconnectTransformations: enabled
                    redirectRewrite: none
                    requestChunking: allow
                    responseChunking: allow
                    serverAgentName: example_value
                    viaHostName: example_value
                    viaRequest: append
                    viaResponse: append
                    xffAlternativeNames:
                    - example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ltm/profile/tcp:
    get:
      operationId: listTcpProfiles
      summary: List Tcp Profiles
      description: Returns a collection of all TCP profile resources configured on the BIG-IP system.
      tags:
      - Profiles
      parameters:
      - $ref: '#/components/parameters/SelectParam'
      - $ref: '#/components/parameters/FilterParam'
      responses:
        '200':
          description: Successful retrieval of TCP profile collection.
          content:
            application/json:
              schema:
                type: object
                properties:
                  kind:
                    type: string
                    example: tm:ltm:profile:tcp:tcpcollectionstate
                  selfLink:
                    type: string
                    format: uri
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/TcpProfile'
              examples:
                Listtcpprofiles200Example:
                  summary: Default listTcpProfiles 200 response
                  x-microcks-default: true
                  value:
                    kind: example_value
                    selfLink: https://www.example.com
                    items:
                    - kind: example_value
                      name: Example Title
                      fullPath: example_value
                      generation: 10
                      selfLink: https://www.example.com
                      abc: enabled
                      ackOnPush: enabled
                      closeWaitTimeout: 10
                      congestionControl: high-speed
                      defaultsFrom: example_value
                      deferredAccept: enabled
                      description: A sample description.
                      finWaitTimeout: 10
                      idleTimeout: 10
                      initCwnd: 10
                      initRwnd: 10
                      keepAliveInterval: 10
                      maxRetrans: 10
                      maxSegmentSize: 10
                      nagle: auto
                      receiveWindowSize: 10
                      sendBufferSize: 10
                      synMaxRetrans: 10
                      timeWaitRecycle: enabled
                      timeWaitTimeout: 10
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ltm/profile/tcp/{profileName}:
    parameters:
    - $ref: '#/components/parameters/ProfileNameParam'
    get:
      operationId: getTcpProfile
      summary: Get a Tcp Profile
      description: Returns a single TCP profile resource identified by name.
      tags:
      - Profiles
      responses:
        '200':
          description: Successful retrieval of the TCP profile.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TcpProfile'
              examples:
                Gettcpprofile200Example:
                  summary: Default getTcpProfile 200 response
                  x-microcks-default: true
                  value:
                    kind: example_value
                    name: Example Title
                    fullPath: example_value
                    generation: 10
                    selfLink: https://www.example.com
                    abc: enabled
                    ackOnPush: enabled
                    closeWaitTimeout: 10
                    congestionControl: high-speed
                    defaultsFrom: example_value
                    deferredAccept: enabled
                    description: A sample description.
                    finWaitTimeout: 10
                    idleTimeout: 10
                    initCwnd: 10
                    initRwnd: 10
                    keepAliveInterval: 10
                    maxRetrans: 10
                    maxSegmentSize: 10
                    nagle: auto
                    receiveWindowSize: 10
                    sendBufferSize: 10
                    synMaxRetrans: 10
                    timeWaitRecycle: enabled
                    timeWaitTimeout: 10
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ltm/profile/client-ssl:
    get:
      operationId: listClientSslProfiles
      summary: List Client Ssl Profiles
      description: Returns a collection of all Client SSL profile resources configured on the BIG-IP system.
      tags:
      - Profiles
      parameters:
      - $ref: '#/components/parameters/SelectParam'
      - $ref: '#/components/parameters/FilterParam'
      responses:
        '200':
          description: Successful retrieval of Client SSL profile collection.
          content:
            application/json:
              schema:
                type: object
                properties:
                  kind:
                    type: string
                    example: tm:ltm:profile:client-ssl:client-sslcollectionstate
                  selfLink:
                    type: string
                    format: uri
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/ClientSslProfile'
              examples:
                Listclientsslprofiles200Example:
                  summary: Default listClientSslProfiles 200 response
                  x-microcks-default: true
                  value:
                    kind: example_value
                    selfLink: https://www.example.com
                    items:
                    - kind: example_value
                      name: Example Title
                      fullPath: example_value
                      generation: 10
                      selfLink: https://www.example.com
                      alertTimeout: example_value
                      allowNonSsl: enabled
                      cert: example_value
                      certKeyChain:
                      - {}
                      ciphers: example_value
                      defaultsFrom: example_value
                      description: A sample description.
                      key: example_value
                      options:
                      - {}
                      peerCertMode: ignore
                      renegotiation: enabled
                      secureRenegotiation: require
                      sniDefault: 'true'
                      sniRequire: 'true'
                      sslForwardProxy: enabled
                      uncleanShutdown: enabled
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ltm/profile/client-ssl/{profileName}:
    parameters:
    - $ref: '#/components/parameters/ProfileNameParam'
    get:
      operationId: getClientSslProfile
      summary: Get a Client Ssl Profile
      description: Returns a single Client SSL profile resource identified by name.
      tags:
      - Profiles
      responses:
        '200':
          description: Successful retrieval of the Client SSL profile.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ClientSslProfile'
              examples:
                Getclientsslprofile200Example:
                  summary: Default getClientSslProfile 200 response
                  x-microcks-default: true
                  value:
                    kind: example_value
                    name: Example Title
                    fullPath: example_value
                    generation: 10
                    selfLink: https://www.example.com
                    alertTimeout: example_value
                    allowNonSsl: enabled
                    cert: example_value
                    certKeyChain:
                    - name: Example Title
                      cert: example_value
                      key: example_value
                      chain: example_value
                    ciphers: example_value
                    defaultsFrom: example_value
                    description: A sample description.
                    key: example_value
                    options:
                    - example_value
                    peerCertMode: ignore
                    renegotiation: enabled
                    secureRenegotiation: require
                    sniDefault: 'true'
                    sniRequire: 'true'
                    sslForwardProxy: enabled
                    uncleanShutdown: enabled
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ltm/persistence/cookie:
    get:
      operationId: listCookiePersistenceProfiles
      summary: List Cookie Persistence Profiles
      description: Returns a collection of all cookie persistence profile resources.
      tags:
      - Profiles
      parameters:
      - $ref: '#/components/parameters/SelectParam'
      - $ref: '#/components/parameters/FilterParam'
      responses:
        '200':
          description: Successful retrieval of cookie persistence profiles.
          content:
            application/json:
              schema:
                type: object
                properties:
                  kind:
                    type: string
                    example: tm:ltm:persistence:cookie:cookiecollectionstate
                  selfLink:
                    type: string
                    format: uri
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/CookiePersistenceProfile'
              examples:
                Listcookiepersistenceprofiles200Example:
                  summary: Default listCookiePersistenceProfiles 200 response
                  x-microcks-default: true
                  value:
                    kind: example_value
                    selfLink: https://www.example.com
                    items:
                    - kind: example_value
                      name: Example Title
                      fullPath: example_value
                      generation: 10
                      selfLink: https://www.example.com
                      alwaysSend: enabled
                      cookieEncryption: required
                      cookieName: example_value
                      defaultsFrom: example_value
                      description: A sample description.
                      expiration: example_value
                      hashLength: 10
                      hashOffset: 10
                      httponly: enabled
                      matchAcrossPools: enabled
                      matchAcrossServices: enabled
                      matchAcrossVirtuals: enabled
                      method: insert
                      mirror: enabled
                      overrideConnectionLimit: enabled
                      secure: enabled
                      timeout: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /ltm/persistence/cookie/{profileName}:
    parameters:
    - $ref: '#/components/parameters/ProfileNameParam'
    get:
      operationId: getCookiePersistenceProfile
      summary: Get a Cookie Persistence Profile
      description: Returns a single cookie persistence profile resource identified by name.
      tags:
      - Profiles
      responses:
        '200':
          description: Successful retrieval of the cookie persistence profile.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CookiePersistenceProfile'
              examples:
                Getcookiepersistenceprofile200Example:
                  summary: Default getCookiePersistenceProfile 200 response
                  x-microcks-default: true
                  value:
                    kind: example_value
                    name: Example Title
                    fullPath: example_value
                    generation: 10
                    selfLink: https://www.example.com
                    alwaysSend: enabled
                    cookieEncryption: required
                    cookieName: example_value
                    defaultsFrom: example_value
                    description: A sample description.
                    expiration: example_value
                    hashLength: 10
                    hashOffset: 10
                    httponly: enabled
                    matchAcrossPools: enabled
                    matchAcrossServices: enabled
                    matchAcrossVirtuals: enabled
                    method: insert
                    mirror: enabled
                    overrideConnectionLimit: enabled
                    secure: enabled
                    timeout: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalServerError'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  parameters:
    ProfileNameParam:
      name: profileName
      in: path
      required: true
      description: Name of the profile resource.
      schema:
        type: string
      example: my_http_profile
    FilterParam:
      name: $filter
      in: query
      required: false
      description: OData filter expression to restrict returned resources.
      schema:
        type: string
      example: partition eq Common
    SelectParam:
      name: $select
      in: query
      required: false
      description: Comma-separated list of property names to include in the response.
      schema:
        type: string
      example: name,destination,pool
  schemas:
    HttpProfile:
      type: object
      description: An HTTP profile that defines how the BIG-IP processes HTTP traffic for a virtual server.
      properties:
        kind:
          type: string
          example: tm:ltm:profile:http:httpstate
          readOnly: true
        name:
          type: string
          example: http
        fullPath:
          type: string
          readOnly: true
          example: example_value
        generation:
          type: integer
          readOnly: true
          example: 10
        selfLink:
          type: string
          format: uri
          readOnly: true
          example: https://www.example.com
        acceptXff:
          type: string
          description: Whether to accept X-Forwarded-For headers from clients.
          enum:
          - enabled
          - disabled
          default: disabled
          example: enabled
        appService:
          type: string
          example: example_value
        basicAuthRealm:
          type: string
          description: Realm for HTTP Basic authentication challenges.
          default: none
          example: example_value
        defaultsFrom:
          type: string
          description: Parent profile from which this profile inherits settings.
          example: /Common/http
        description:
          type: string
          example: A sample description.
        encryptCookies:
          type: array
          description: List of cookie names to encrypt.
          items:
            type: string
          example: []
        enforcement:
          type: object
          properties:
            maxHeaderCount:
              type: integer
              description: Maximum number of HTTP headers.
              default: 64
            maxHeaderSize:
              type: integer
              description: Maximum total header size in bytes.
              default: 32768
            pipeline:
              type: string
              description: Whether HTTP pipelining is allowed.
              enum:
              - allow
              - reject
              - pass-through
          example: example_value
        fallbackHost:
          type: string
          description: Fallback host for HTTP redirects.
          example: example_value
        fallbackStatusCodes:
          type: array
          description: HTTP status codes that trigger fallback redirection.
          items:
            type: string
          example: []
        headerErase:
          type: string
          description: Regular expression for headers to remove from responses.
          example: example_value
        headerInsert:
          type: string
          description: Header to insert into requests.
          example: example_value
        insertXforwardedFor:
          type: string
          description: Whether to insert an X-Forwarded-For header.
          enum:
          - enabled
          - disabled
          default: disabled
          example: enabled
        oneconnectTransformations:
          type: string
          description: Whether to rewrite HTTP connections for OneConnect.
          enum:
          - enabled
          - disabled
          default: enabled
          example: enabled
        redirectRewrite:
          type: string
          description: Redirect rewrite mode.
          enum:
          - none
          - all
          - matching
          - nodes
          example: none
        requestChunking:
          type: string
          description: How to handle chunked requests.
          enum:
          - allow
          - preserve
          - rechunk
          - selective
          example: allow
        responseChunking:
          type: string
          description: How to handle chunked responses.
          enum:
          - allow
          - preserve
          - rechunk
          - selective
          example: allow
        serverAgentName:
          type: string
          description: Server agent string to include in responses.
          example: example_value
        viaHostName:
          type: string
          description: Hostname to use in Via headers.
          example: example_value
        viaRequest:
          type: string
          description: Via header handling for requests.
          enum:
          - append
          - preserve
          - remove
          example: append
        viaResponse:
          type: string
          description: Via header handling for responses.
          enum:
          - append
          - preserve
          - remove
          example: append
        xffAlternativeNames:
          type: array
          description: Alternative header names for X-Forwarded-For.
          items:
            type: string
          example: []
    ClientSslProfile:
      type: object
      description: A Client SSL profile for managing SSL/TLS connections between clients and the BIG-IP system.
      properties:
        kind:
          type: string
          example: tm:ltm:profile:client-ssl:client-sslstate
          readOnly: true
        name:
          type: string
          example: clientssl
        fullPath:
          type: string
          readOnly: true
          example: example_value
        generation:
          type: integer
          readOnly: true
          example: 10
        selfLink:
          type: string
          format: uri
          readOnly: true
          example: https://www.example.com
        alertTimeout:
          type: string
          description: Alert timeout for SSL handshake.
          example: example_value
        allowNonSsl:
          type: string
          description: Whether to allow non-SSL connections.
          enum:
          - enabled
          - disabled
          example: enabled
        cert:
          type: string
          description: Path to the SSL certificate file.
          example: /Common/default.crt
        certKeyChain:
          type: array
          description: Certificate and key chain pairs.
          items:
            type: object
            properties:
              name:
                type: string
              cert:
                type: string
              key:
                type: string
              chain:
                type: string
          example: []
        ciphers:
          type: string
          description: Cipher suite string.
          example: DEFAULT
        defaultsFrom:
          type: string
          description: Parent profile.
          example: /Common/clientssl
        description:
          type: string
          example: A sample description.
        key:
          type: string
          description: Path to the SSL private key file.
          example: /Common/default.key
        options:
          type: array
          description: SSL options.
          items:
            type: string
          example: []
        peerCertMode:
          type: string
          description: Client certificate verification mode.
          enum:
          - ignore
          - require
          - request
          example: ignore
        renegotiation:
          type: string
          description: Whether SSL renegotiation is allowed.
          enum:
          - enabled
          - disabled
          example: enabled
        secureRenegotiation:
          type: string
          description: Secure renegotiation mode.
          enum:
          - require
          - require-strict
          - request
          example: require
        sniDefault:
          type: string
          description: Whether this is the default SNI profile.
          enum:
          - 'true'
          - 'false'
          example: 'true'
        sniRequire:
          type: string
          description: Whether SNI is required.
          enum:
          - 'true'
          - 'false'
          example: 'true'
        sslForwardProxy:
          type: string
          description: Whether SSL forward proxy is enabled.
          enum:
          - enabled
          - disabled
          example: enabled
        uncleanShutdown:
          type: string
          description: How to handle unclean SSL shutdowns.
          enum:
          - enabled
          - disabled
          example: enabled
    ErrorResponse:
      type: object
      description: Standard error response from the iControl REST API.
      properties:
        code:
          type: integer
          description: HTTP status code.
          example: 400
        message:
          type: string
          description: Error message describing what went wrong.
          example: The requested Pool (/Common/my_pool) was not found.
        errorStack:
          type: array
          description: Stack trace for debugging (when available).
          items:
            type: string
          example: []
        apiError:
          type: integer
          description: API-specific error code.
          example: 10
    CookiePersistenceProfile:
      type: object
      description: A cookie persistence profile that maintains session persistence by inserting or reading HTTP cookies.
      properties:
        kind:
          type: string
          example: tm:ltm:persistence:cookie:cookiestate
          readOnly: true
        name:
          type: string
          example: cookie
        fullPath:
          type: string
          readOnly: true
          example: example_value
        generation:
          type: integer
          readOnly: true
          example: 10
        selfLink:
          type: string
          format: uri
          readOnly: true
          example: https://www.example.com
        alwaysSend:
          type: string
          description: Whether to always send the cookie.
          enum:
          - enabled
          - disabled
          example: enabled
        cookieEncryption:
          type: string
          description: Cookie encryption method.
          enum:
          - required
          - preferred
          - disabled
          example: required
        cookieName:
          type: string
          description: Name of the persistence cookie.
          example: example_value
        defaultsFrom:
          type: string
          description: Parent profile.
          example: /Common/cookie
        description:
          type: string
          example: A sample description.
        expiration:
          type: string
          description: Cookie expiration time.
          example: session
        hashLength:
          type: integer
          description: Length of the cookie hash.
          example: 10
        hashOffset:
          type: integer
          description: Offset for the cookie hash.
          example: 10
        httponly:
          type: string
          description: Whether the cookie has the HttpOnly flag.
          enum:
          - enabled
          - disabled
          example: enabled
        matchAcrossPools:
          type: string
          description: Whether to match persistence across pools.
          enum:
          - enabled
          - disabled
          example: enabled
        matchAcrossServices:
          type: string
          description: Whether to match persistence across virtual servers.
          enum:
          - enabled
          - disabled
          example: enabled
        matchAcrossVirtuals:
          type: string
          description: Whether to match persistence across all virtuals.
          enum:
          - enabled
          - disabled
          example: enabled
        method:
          type: string
          description: Cookie persistence method.
          enum:
          - insert
          - rewrite
          - passive
          - hash
          example: insert
        mirror:
          type: string
          description: Whether to mirror persistence records.
          enum:
          - enabled
       

# --- truncated at 32 KB (37 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/f5-networks/refs/heads/main/openapi/f5-networks-profiles-api-openapi.yml