HAProxy Data Plane API

The HAProxy Data Plane API is a REST API for managing HAProxy configuration dynamically. It allows runtime configuration of frontends, backends, servers, ACLs, and other HAProxy objects without requiring configuration file changes or restarts.

Operations 557

Showing the first 250 of 557. The full set is in the contract, and via get_provider_operations.

GET / Return list of root endpoints #
GET /specification Data Plane API Specification #
GET /specification_openapiv3 Data Plane API v3 Specification #
GET /info Return API, hardware and OS information #
GET /health Return managed services health #
GET /service_discovery/aws Return an array of all configured AWS regions #
POST /service_discovery/aws Add a new AWS region #
DELETE /service_discovery/aws/{id} Delete an AWS region #
GET /service_discovery/aws/{id} Return an AWS region #
PUT /service_discovery/aws/{id} Replace an AWS region #
GET /service_discovery/consul Return an array of all configured Consul servers #
POST /service_discovery/consul Add a new Consul server #
DELETE /service_discovery/consul/{id} Delete a Consul server #
GET /service_discovery/consul/{id} Return one Consul server #
PUT /service_discovery/consul/{id} Replace a Consul server #
GET /services Return list of service endpoints #
GET /services/haproxy Return list of HAProxy related endpoints #
GET /services/haproxy/sites Return an array of sites #
POST /services/haproxy/sites Add a site #
DELETE /services/haproxy/sites/{name} Delete a site #
GET /services/haproxy/sites/{name} Return a site #
PUT /services/haproxy/sites/{name} Replace a site #
GET /services/haproxy/stats Return list of HAProxy stats endpoints #
GET /services/haproxy/stats/native Gets stats #
GET /services/haproxy/transactions Return list of HAProxy configuration transactions. #
POST /services/haproxy/transactions Start a new transaction #
DELETE /services/haproxy/transactions/{id} Delete a transaction #
GET /services/haproxy/transactions/{id} Return one HAProxy configuration transactions #
PUT /services/haproxy/transactions/{id} Commit transaction #
GET /services/haproxy/spoe/spoe_files/{parent_name}/transactions Return list of SPOE configuration transactions. #
POST /services/haproxy/spoe/spoe_files/{parent_name}/transactions Start a new transaction #
DELETE /services/haproxy/spoe/spoe_files/{parent_name}/transactions/{id} Delete a transaction #
GET /services/haproxy/spoe/spoe_files/{parent_name}/transactions/{id} Return one SPOE configuration transactions #
PUT /services/haproxy/spoe/spoe_files/{parent_name}/transactions/{id} Commit transaction #
GET /services/haproxy/reloads Return list of HAProxy Reloads. #
GET /services/haproxy/reloads/{id} Return one HAProxy reload status #
GET /services/haproxy/configuration Return list of HAProxy advanced configuration endpoints #
GET /services/haproxy/configuration/global Return a global part of configuration #
PUT /services/haproxy/configuration/global Replace global #
GET /services/haproxy/configuration/defaults Return an array of defaults #
POST /services/haproxy/configuration/defaults Add a defaults section #
PUT /services/haproxy/configuration/defaults Add a defaults section #
DELETE /services/haproxy/configuration/defaults/{name} Delete a defaults section #
GET /services/haproxy/configuration/defaults/{name} Return a defaults section #
PUT /services/haproxy/configuration/defaults/{name} Replace a defatults section #
GET /services/haproxy/configuration/frontends Return an array of frontends #
POST /services/haproxy/configuration/frontends Add a frontend #
DELETE /services/haproxy/configuration/frontends/{name} Delete a frontend #
GET /services/haproxy/configuration/frontends/{name} Return a frontend #
PUT /services/haproxy/configuration/frontends/{name} Replace a frontend #
GET /services/haproxy/configuration/userlists Return an array of userlists #
POST /services/haproxy/configuration/userlists Add a new userlist #
DELETE /services/haproxy/configuration/userlists/{name} Delete a userlist #
GET /services/haproxy/configuration/userlists/{name} Return one userlist #
GET /services/haproxy/configuration/users Return an array of userlist users #
POST /services/haproxy/configuration/users Add a new userlist user #
DELETE /services/haproxy/configuration/users/{username} Delete a user #
GET /services/haproxy/configuration/users/{username} Return one userlist user #
PUT /services/haproxy/configuration/users/{username} Replace a user #
GET /services/haproxy/configuration/groups Return an array of userlist groups #
POST /services/haproxy/configuration/groups Add a new userlist group #
DELETE /services/haproxy/configuration/groups/{name} Delete a group #
GET /services/haproxy/configuration/groups/{name} Return one userlist group #
PUT /services/haproxy/configuration/groups/{name} Replace a group #
GET /services/haproxy/configuration/mailers_section Return an array of mailers sections #
POST /services/haproxy/configuration/mailers_section Add a new Mailers section #
DELETE /services/haproxy/configuration/mailers_section/{name} Delete a Mailers section #
GET /services/haproxy/configuration/mailers_section/{name} Return a Mailers section #
PUT /services/haproxy/configuration/mailers_section/{name} Modify a Mailers section #
GET /services/haproxy/configuration/mailer_entries Return an array of mailer_entries #
POST /services/haproxy/configuration/mailer_entries Add a new mailer_entry #
DELETE /services/haproxy/configuration/mailer_entries/{name} Delete a mailer_entry #
GET /services/haproxy/configuration/mailer_entries/{name} Return one mailer_entry #
PUT /services/haproxy/configuration/mailer_entries/{name} Replace a mailer_entry #
GET /services/haproxy/configuration/peer_section Return an array of peer_section #
POST /services/haproxy/configuration/peer_section Add a peer #
DELETE /services/haproxy/configuration/peer_section/{name} Delete a peer #
GET /services/haproxy/configuration/peer_section/{name} Return a peer #
GET /services/haproxy/configuration/peer_entries Return an array of peer_entries #
POST /services/haproxy/configuration/peer_entries Add a new peer_entry #
DELETE /services/haproxy/configuration/peer_entries/{name} Delete a peer_entry #
GET /services/haproxy/configuration/peer_entries/{name} Return one peer_entry #
PUT /services/haproxy/configuration/peer_entries/{name} Replace a peer_entry #
GET /services/haproxy/configuration/http_errors_sections Return an array of http-error sections #
POST /services/haproxy/configuration/http_errors_sections Add a new http-error section #
DELETE /services/haproxy/configuration/http_errors_sections/{name} Delete a http-error section #
GET /services/haproxy/configuration/http_errors_sections/{name} Return a http-error section #
PUT /services/haproxy/configuration/http_errors_sections/{name} Replace a http-error section #
GET /services/haproxy/configuration/fcgi_apps Return an array of FCGI apps #
POST /services/haproxy/configuration/fcgi_apps Add an FCGI app #
DELETE /services/haproxy/configuration/fcgi_apps/{name} Delete an FCGI app #
GET /services/haproxy/configuration/fcgi_apps/{name} Return a FCGI app #
PUT /services/haproxy/configuration/fcgi_apps/{name} Replace a FCGI app #
GET /services/haproxy/configuration/backends Return an array of backends #
POST /services/haproxy/configuration/backends Add a backend #
DELETE /services/haproxy/configuration/backends/{name} Delete a backend #
GET /services/haproxy/configuration/backends/{name} Return a backend #
PUT /services/haproxy/configuration/backends/{name} Replace a backend #
GET /services/haproxy/configuration/backends/{parent_name}/servers Return an array of servers #
POST /services/haproxy/configuration/backends/{parent_name}/servers Add a new server #
GET /services/haproxy/configuration/peers/{parent_name}/servers Return an array of servers #
POST /services/haproxy/configuration/peers/{parent_name}/servers Add a new server #
GET /services/haproxy/configuration/rings/{parent_name}/servers Return an array of servers #
POST /services/haproxy/configuration/rings/{parent_name}/servers Add a new server #
DELETE /services/haproxy/configuration/backends/{parent_name}/servers/{name} Delete a server #
GET /services/haproxy/configuration/backends/{parent_name}/servers/{name} Return one server #
PUT /services/haproxy/configuration/backends/{parent_name}/servers/{name} Replace a server #
DELETE /services/haproxy/configuration/peers/{parent_name}/servers/{name} Delete a server #
GET /services/haproxy/configuration/peers/{parent_name}/servers/{name} Return one server #
PUT /services/haproxy/configuration/peers/{parent_name}/servers/{name} Replace a server #
DELETE /services/haproxy/configuration/rings/{parent_name}/servers/{name} Delete a server #
GET /services/haproxy/configuration/rings/{parent_name}/servers/{name} Return one server #
PUT /services/haproxy/configuration/rings/{parent_name}/servers/{name} Replace a server #
GET /services/haproxy/configuration/rings Return an array of rings #
POST /services/haproxy/configuration/rings Add a ring #
DELETE /services/haproxy/configuration/rings/{name} Delete a ring #
GET /services/haproxy/configuration/rings/{name} Return a ring #
PUT /services/haproxy/configuration/rings/{name} Replace a ring #
GET /services/haproxy/configuration/frontends/{parent_name}/binds Return an array of binds #
POST /services/haproxy/configuration/frontends/{parent_name}/binds Add a new bind #
GET /services/haproxy/configuration/log_forwards/{parent_name}/binds Return an array of binds #
POST /services/haproxy/configuration/log_forwards/{parent_name}/binds Add a new bind #
GET /services/haproxy/configuration/peers/{parent_name}/binds Return an array of binds #
POST /services/haproxy/configuration/peers/{parent_name}/binds Add a new bind #
DELETE /services/haproxy/configuration/frontends/{parent_name}/binds/{name} Delete a bind #
GET /services/haproxy/configuration/frontends/{parent_name}/binds/{name} Return one bind #
PUT /services/haproxy/configuration/frontends/{parent_name}/binds/{name} Replace a bind #
DELETE /services/haproxy/configuration/log_forwards/{parent_name}/binds/{name} Delete a bind #
GET /services/haproxy/configuration/log_forwards/{parent_name}/binds/{name} Return one bind #
PUT /services/haproxy/configuration/log_forwards/{parent_name}/binds/{name} Replace a bind #
DELETE /services/haproxy/configuration/peers/{parent_name}/binds/{name} Delete a bind #
GET /services/haproxy/configuration/peers/{parent_name}/binds/{name} Return one bind #
PUT /services/haproxy/configuration/peers/{parent_name}/binds/{name} Replace a bind #
GET /services/haproxy/configuration/log_forwards/{parent_name}/dgram_binds Return an array of dgram binds #
POST /services/haproxy/configuration/log_forwards/{parent_name}/dgram_binds Add a new dgram bind #
DELETE /services/haproxy/configuration/log_forwards/{parent_name}/dgram_binds/{name} Delete a dgram bind #
GET /services/haproxy/configuration/log_forwards/{parent_name}/dgram_binds/{name} Return one dgram bind #
PUT /services/haproxy/configuration/log_forwards/{parent_name}/dgram_binds/{name} Replace a dgram bind #
GET /services/haproxy/configuration/log_forwards Return an array of log forwards #
POST /services/haproxy/configuration/log_forwards Add a log forward #
DELETE /services/haproxy/configuration/log_forwards/{name} Delete a log forward #
GET /services/haproxy/configuration/log_forwards/{name} Return a log forward #
PUT /services/haproxy/configuration/log_forwards/{name} Replace a log forward #
GET /services/haproxy/configuration/backends/{parent_name}/server_templates Return an array of server templates #
POST /services/haproxy/configuration/backends/{parent_name}/server_templates Add a new server template #
DELETE /services/haproxy/configuration/backends/{parent_name}/server_templates/{prefix} Delete a server template #
GET /services/haproxy/configuration/backends/{parent_name}/server_templates/{prefix} Return one server template #
PUT /services/haproxy/configuration/backends/{parent_name}/server_templates/{prefix} Replace a server template #
GET /services/haproxy/configuration/backends/{parent_name}/http_checks Return an array of HTTP checks #
PUT /services/haproxy/configuration/backends/{parent_name}/http_checks Replace an HTTP checks list #
GET /services/haproxy/configuration/defaults/{parent_name}/http_checks Return an array of HTTP checks #
PUT /services/haproxy/configuration/defaults/{parent_name}/http_checks Replace an HTTP checks list #
GET /services/haproxy/configuration/healthchecks/{parent_name}/http_checks Return an array of HTTP checks #
PUT /services/haproxy/configuration/healthchecks/{parent_name}/http_checks Replace an HTTP checks list #
DELETE /services/haproxy/configuration/backends/{parent_name}/http_checks/{index} Delete a HTTP check #
GET /services/haproxy/configuration/backends/{parent_name}/http_checks/{index} Return one HTTP check #
POST /services/haproxy/configuration/backends/{parent_name}/http_checks/{index} Add a new HTTP check #
PUT /services/haproxy/configuration/backends/{parent_name}/http_checks/{index} Replace a HTTP check #
DELETE /services/haproxy/configuration/defaults/{parent_name}/http_checks/{index} Delete a HTTP check #
GET /services/haproxy/configuration/defaults/{parent_name}/http_checks/{index} Return one HTTP check #
POST /services/haproxy/configuration/defaults/{parent_name}/http_checks/{index} Add a new HTTP check #
PUT /services/haproxy/configuration/defaults/{parent_name}/http_checks/{index} Replace a HTTP check #
DELETE /services/haproxy/configuration/healthchecks/{parent_name}/http_checks/{index} Delete a HTTP check #
GET /services/haproxy/configuration/healthchecks/{parent_name}/http_checks/{index} Return one HTTP check #
POST /services/haproxy/configuration/healthchecks/{parent_name}/http_checks/{index} Add a new HTTP check #
PUT /services/haproxy/configuration/healthchecks/{parent_name}/http_checks/{index} Replace a HTTP check #
GET /services/haproxy/configuration/backends/{parent_name}/http_request_rules Return an array of all HTTP Request Rules #
PUT /services/haproxy/configuration/backends/{parent_name}/http_request_rules Replace an HTTP Request Rule list #
GET /services/haproxy/configuration/frontends/{parent_name}/http_request_rules Return an array of all HTTP Request Rules #
PUT /services/haproxy/configuration/frontends/{parent_name}/http_request_rules Replace an HTTP Request Rule list #
GET /services/haproxy/configuration/defaults/{parent_name}/http_request_rules Return an array of all HTTP Request Rules #
PUT /services/haproxy/configuration/defaults/{parent_name}/http_request_rules Replace an HTTP Request Rule list #
DELETE /services/haproxy/configuration/backends/{parent_name}/http_request_rules/{index} Delete a HTTP Request Rule #
GET /services/haproxy/configuration/backends/{parent_name}/http_request_rules/{index} Return one HTTP Request Rule #
POST /services/haproxy/configuration/backends/{parent_name}/http_request_rules/{index} Add a new HTTP Request Rule #
PUT /services/haproxy/configuration/backends/{parent_name}/http_request_rules/{index} Replace a HTTP Request Rule #
DELETE /services/haproxy/configuration/frontends/{parent_name}/http_request_rules/{index} Delete a HTTP Request Rule #
GET /services/haproxy/configuration/frontends/{parent_name}/http_request_rules/{index} Return one HTTP Request Rule #
POST /services/haproxy/configuration/frontends/{parent_name}/http_request_rules/{index} Add a new HTTP Request Rule #
PUT /services/haproxy/configuration/frontends/{parent_name}/http_request_rules/{index} Replace a HTTP Request Rule #
DELETE /services/haproxy/configuration/defaults/{parent_name}/http_request_rules/{index} Delete a HTTP Request Rule #
GET /services/haproxy/configuration/defaults/{parent_name}/http_request_rules/{index} Return one HTTP Request Rule #
POST /services/haproxy/configuration/defaults/{parent_name}/http_request_rules/{index} Add a new HTTP Request Rule #
PUT /services/haproxy/configuration/defaults/{parent_name}/http_request_rules/{index} Replace a HTTP Request Rule #
GET /services/haproxy/configuration/backends/{parent_name}/http_response_rules Return an array of all HTTP Response Rules #
PUT /services/haproxy/configuration/backends/{parent_name}/http_response_rules Replace an HTTP Response Rule list #
GET /services/haproxy/configuration/frontends/{parent_name}/http_response_rules Return an array of all HTTP Response Rules #
PUT /services/haproxy/configuration/frontends/{parent_name}/http_response_rules Replace an HTTP Response Rule list #
GET /services/haproxy/configuration/defaults/{parent_name}/http_response_rules Return an array of all HTTP Response Rules #
PUT /services/haproxy/configuration/defaults/{parent_name}/http_response_rules Replace an HTTP Response Rule list #
DELETE /services/haproxy/configuration/backends/{parent_name}/http_response_rules/{index} Delete a HTTP Response Rule #
GET /services/haproxy/configuration/backends/{parent_name}/http_response_rules/{index} Return one HTTP Response Rule #
POST /services/haproxy/configuration/backends/{parent_name}/http_response_rules/{index} Add a new HTTP Response Rule #
PUT /services/haproxy/configuration/backends/{parent_name}/http_response_rules/{index} Replace a HTTP Response Rule #
DELETE /services/haproxy/configuration/frontends/{parent_name}/http_response_rules/{index} Delete a HTTP Response Rule #
GET /services/haproxy/configuration/frontends/{parent_name}/http_response_rules/{index} Return one HTTP Response Rule #
POST /services/haproxy/configuration/frontends/{parent_name}/http_response_rules/{index} Add a new HTTP Response Rule #
PUT /services/haproxy/configuration/frontends/{parent_name}/http_response_rules/{index} Replace a HTTP Response Rule #
DELETE /services/haproxy/configuration/defaults/{parent_name}/http_response_rules/{index} Delete a HTTP Response Rule #
GET /services/haproxy/configuration/defaults/{parent_name}/http_response_rules/{index} Return one HTTP Response Rule #
POST /services/haproxy/configuration/defaults/{parent_name}/http_response_rules/{index} Add a new HTTP Response Rule #
PUT /services/haproxy/configuration/defaults/{parent_name}/http_response_rules/{index} Replace a HTTP Response Rule #
GET /services/haproxy/configuration/backends/{parent_name}/http_after_response_rules Return an array of all HTTP After Response Rules #
PUT /services/haproxy/configuration/backends/{parent_name}/http_after_response_rules Replace an HTTP After Response Rules list #
GET /services/haproxy/configuration/frontends/{parent_name}/http_after_response_rules Return an array of all HTTP After Response Rules #
PUT /services/haproxy/configuration/frontends/{parent_name}/http_after_response_rules Replace an HTTP After Response Rules list #
GET /services/haproxy/configuration/defaults/{parent_name}/http_after_response_rules Return an array of all HTTP After Response Rules #
PUT /services/haproxy/configuration/defaults/{parent_name}/http_after_response_rules Replace an HTTP After Response Rules list #
DELETE /services/haproxy/configuration/backends/{parent_name}/http_after_response_rules/{index} Delete a HTTP After Response Rule #
GET /services/haproxy/configuration/backends/{parent_name}/http_after_response_rules/{index} Return one HTTP After Response Rule #
POST /services/haproxy/configuration/backends/{parent_name}/http_after_response_rules/{index} Add a new HTTP After Response Rule #
PUT /services/haproxy/configuration/backends/{parent_name}/http_after_response_rules/{index} Replace a HTTP After Response Rule #
DELETE /services/haproxy/configuration/frontends/{parent_name}/http_after_response_rules/{index} Delete a HTTP After Response Rule #
GET /services/haproxy/configuration/frontends/{parent_name}/http_after_response_rules/{index} Return one HTTP After Response Rule #
POST /services/haproxy/configuration/frontends/{parent_name}/http_after_response_rules/{index} Add a new HTTP After Response Rule #
PUT /services/haproxy/configuration/frontends/{parent_name}/http_after_response_rules/{index} Replace a HTTP After Response Rule #
DELETE /services/haproxy/configuration/defaults/{parent_name}/http_after_response_rules/{index} Delete a HTTP After Response Rule #
GET /services/haproxy/configuration/defaults/{parent_name}/http_after_response_rules/{index} Return one HTTP After Response Rule #
POST /services/haproxy/configuration/defaults/{parent_name}/http_after_response_rules/{index} Add a new HTTP After Response Rule #
PUT /services/haproxy/configuration/defaults/{parent_name}/http_after_response_rules/{index} Replace a HTTP After Response Rule #
GET /services/haproxy/configuration/backends/{parent_name}/http_error_rules Return an array of all HTTP Error Rules #
PUT /services/haproxy/configuration/backends/{parent_name}/http_error_rules Replace an HTTP Error Rules list #
GET /services/haproxy/configuration/frontends/{parent_name}/http_error_rules Return an array of all HTTP Error Rules #
PUT /services/haproxy/configuration/frontends/{parent_name}/http_error_rules Replace an HTTP Error Rules list #
GET /services/haproxy/configuration/defaults/{parent_name}/http_error_rules Return an array of all HTTP Error Rules #
PUT /services/haproxy/configuration/defaults/{parent_name}/http_error_rules Replace an HTTP Error Rules list #
DELETE /services/haproxy/configuration/backends/{parent_name}/http_error_rules/{index} Delete a HTTP Error Rule #
GET /services/haproxy/configuration/backends/{parent_name}/http_error_rules/{index} Return one HTTP Error Rule #
POST /services/haproxy/configuration/backends/{parent_name}/http_error_rules/{index} Add a new HTTP Error Rule #
PUT /services/haproxy/configuration/backends/{parent_name}/http_error_rules/{index} Replace a HTTP Error Rule #
DELETE /services/haproxy/configuration/frontends/{parent_name}/http_error_rules/{index} Delete a HTTP Error Rule #
GET /services/haproxy/configuration/frontends/{parent_name}/http_error_rules/{index} Return one HTTP Error Rule #
POST /services/haproxy/configuration/frontends/{parent_name}/http_error_rules/{index} Add a new HTTP Error Rule #
PUT /services/haproxy/configuration/frontends/{parent_name}/http_error_rules/{index} Replace a HTTP Error Rule #
DELETE /services/haproxy/configuration/defaults/{parent_name}/http_error_rules/{index} Delete a HTTP Error Rule #
GET /services/haproxy/configuration/defaults/{parent_name}/http_error_rules/{index} Return one HTTP Error Rule #
POST /services/haproxy/configuration/defaults/{parent_name}/http_error_rules/{index} Add a new HTTP Error Rule #
PUT /services/haproxy/configuration/defaults/{parent_name}/http_error_rules/{index} Replace a HTTP Error Rule #
GET /services/haproxy/configuration/frontends/{parent_name}/quic_initial_rules Return an array of all QUIC Initial rules #
PUT /services/haproxy/configuration/frontends/{parent_name}/quic_initial_rules Replace an QUIC Initial rules list #
GET /services/haproxy/configuration/defaults/{parent_name}/quic_initial_rules Return an array of all QUIC Initial rules #
PUT /services/haproxy/configuration/defaults/{parent_name}/quic_initial_rules Replace an QUIC Initial rules list #
DELETE /services/haproxy/configuration/frontends/{parent_name}/quic_initial_rules/{index} Delete a QUIC Initial Rule #
GET /services/haproxy/configuration/frontends/{parent_name}/quic_initial_rules/{index} Return one QUIC Initial Rule #
POST /services/haproxy/configuration/frontends/{parent_name}/quic_initial_rules/{index} Add a new QUIC Initial Rule #
PUT /services/haproxy/configuration/frontends/{parent_name}/quic_initial_rules/{index} Replace a QUIC Initial Rule #
DELETE /services/haproxy/configuration/defaults/{parent_name}/quic_initial_rules/{index} Delete a QUIC Initial Rule #
GET /services/haproxy/configuration/defaults/{parent_name}/quic_initial_rules/{index} Return one QUIC Initial Rule #
POST /services/haproxy/configuration/defaults/{parent_name}/quic_initial_rules/{index} Add a new QUIC Initial Rule #
PUT /services/haproxy/configuration/defaults/{parent_name}/quic_initial_rules/{index} Replace a QUIC Initial Rule #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/haproxy-data-plane-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

haproxy-data-plane-api-openapi.yml Raw ↑
---
swagger: "2.0"
info:
  title: HAProxy Data Plane API
  description: |
    API for editing and managing haproxy instances. Provides process information, configuration management,
    haproxy stats and logs.
  version: '3.4'
  contact:
    name: HAProxy Support
    url: https://my.haproxy.com/portal/cust/login
    email: support@haproxy.com
externalDocs:
  url: https://docs.haproxy.org/
  description: HAProxy Documentation
definitions:
  fcgi_app:
    allOf:
      - $ref: '#/definitions/fcgi_app_base'
      - properties:
          acl_list:
            $ref: '#/definitions/acls'
            x-go-name: AclList
        type: object
    description: App with all its children resources
    type: object
    x-go-name: FCGIApp
  fcgi_app_base:
    description: HAProxy FastCGI application configuration
    properties:
      docroot:
        description: Defines the document root on the remote host. The parameter serves to build the default value of FastCGI parameters SCRIPT_FILENAME and PATH_TRANSLATED. It is a mandatory setting.
        type: string
      get_values:
        description: Enables or disables the retrieval of variables related to connection management.
        enum:
          - enabled
          - disabled
        type: string
      index:
        description: Defines the script name to append after a URI that ends with a slash ("/") to set the default value for the FastCGI parameter SCRIPT_NAME. It is an optional setting.
        type: string
      keep_conn:
        description: Tells the FastCGI application whether or not to keep the connection open after it sends a response. If disabled, the FastCGI application closes the connection after responding to this request.
        enum:
          - enabled
          - disabled
        type: string
      log_stderrs:
        items:
          $ref: '#/definitions/fcgi_log_stderr'
          x-go-name: FCGIAppLogStderr
        type: array
        x-omitempty: true
      max_reqs:
        default: 1
        description: Defines the maximum number of concurrent requests this application can accept. If the FastCGI application retrieves the variable FCGI_MAX_REQS during connection establishment, it can override this option. Furthermore, if the application does not do multiplexing, it will ignore this option.
        minimum: 1
        type: integer
      metadata:
        additionalProperties:
          type: object
      mpxs_conns:
        description: Enables or disables the support of connection multiplexing. If the FastCGI application retrieves the variable FCGI_MPXS_CONNS during connection establishment, it can override this option.
        enum:
          - enabled
          - disabled
        type: string
      name:
        description: Declares a FastCGI application
        pattern: ^[^\s]+$
        type: string
        x-nullable: false
      pass_headers:
        items:
          $ref: '#/definitions/fcgi_pass_header'
          x-go-name: FCGIAppLogPassHeader
        type: array
        x-omitempty: true
      path_info:
        description: |-
          Defines a regular expression to extract the script-name and the path-info from the URI.
          Thus, <regex> must have two captures: the first to capture the script name, and the second to capture the path- info.
          If not defined, it does not perform matching on the URI, and does not fill the FastCGI parameters PATH_INFO and PATH_TRANSLATED.
        type: string
      set_params:
        items:
          $ref: '#/definitions/fcgi_set_param'
        type: array
        x-omitempty: true
    required:
      - name
      - docroot
    title: FCGI application base
    type: object
  fcgi_apps:
    type: array
    items:
      $ref: "#/definitions/fcgi_app"
  fcgi_set_param:
    description: |-
      Sets a FastCGI parameter to pass to this application.
      Its value, defined by <format> can take a formatted string, the same as the log directive.
      Optionally, you can follow it with an ACL-based condition, in which case the FastCGI application evaluates it only if the condition is true.
    properties:
      cond:
        enum:
          - if
          - unless
        type: string
        x-display-name: Condition
      cond_test:
        type: string
        x-dependency:
          cond:
            required: true
        x-display-name: Condition Test
      format:
        type: string
      name:
        type: string
    type: object
  fcgi_pass_header:
    description: |-
      Specifies the name of a request header to pass to the FastCGI application.
      Optionally, you can follow it with an ACL-based condition, in which case the FastCGI application evaluates it only if the condition is true.
      Most request headers are already available to the FastCGI application with the prefix "HTTP".
      Thus, you only need this directive to pass headers that are purposefully omitted.
      Currently, the headers "Authorization", "Proxy-Authorization", and hop-by-hop headers are omitted.
      Note that the headers "Content-type" and "Content-length" never pass to the FastCGI application because they are already converted into parameters.
    properties:
      cond:
        enum:
          - if
          - unless
        type: string
        x-display-name: Condition
      cond_test:
        type: string
        x-dependency:
          cond:
            required: true
        x-display-name: Condition Test
      name:
        type: string
    type: object
  fcgi_log_stderr:
    description: |-
      Enables logging of STDERR messages that the FastCGI application reports.
      It is an optional setting. By default, HAProxy Enterprise ignores STDERR messages.
    properties:
      address:
        type: string
      facility:
        title: Facility
        type: string
      format:
        title: Format
        type: string
      global:
        title: Global
        type: boolean
      len:
        title: Length
        type: integer
      level:
        title: Level
        type: string
        x-dependency:
          facility:
            required: true
      minlevel:
        title: Minimum level
        type: string
        x-dependency:
          facility:
            required: true
      sample:
        properties:
          ranges:
            title: Range
            type: string
          size:
            title: Size
            type: integer
        required:
          - ranges
          - size
        title: Sample
        type: object
    type: object
  bind_params:
    additionalProperties: false
    properties:
      accept_netscaler_cip:
        type: integer
      accept_proxy:
        type: boolean
      allow_0rtt:
        type: boolean
      alpn:
        pattern: ^[^\s]+$
        type: string
        x-display-name: ALPN Protocols
      backlog:
        type: string
      ca_ignore_err:
        type: string
        x-dependency:
          ssl:
            value: true
      ca_sign_file:
        type: string
        x-dependency:
          ssl:
            value: true
      ca_sign_pass:
        type: string
        x-dependency:
          ssl:
            value: true
        x-display-name: Passphrase
      ca_verify_file:
        type: string
        x-dependency:
          ca_file:
            value: true
      cc:
        type: string
        x-display-name: TCP Congestion Control Algorithm
      ciphers:
        type: string
        x-dependency:
          ssl:
            value: true
      ciphersuites:
        type: string
        x-dependency:
          ssl:
            value: true
      client_sigalgs:
        type: string
        x-dependency:
          ssl:
            value: true
      crl_file:
        type: string
        x-dependency:
          ssl:
            value: true
      crt_ignore_err:
        type: string
        x-dependency:
          ssl:
            value: true
      crt_list:
        type: string
        x-dependency:
          ssl:
            value: true
      curves:
        type: string
        x-dependency:
          ssl:
            value: true
      default_crt_list:
        items:
          pattern: ^[^\s]+$
          type: string
        type: array
        x-omitempty: true
      defer_accept:
        type: boolean
      ecdhe:
        type: string
        x-dependency:
          ssl:
            value: true
      expose_fd_listeners:
        type: boolean
      force_sslv3:
        description: This field is deprecated in favor of sslv3, and will be removed in a future release
        type: boolean
        x-deprecated: true
      force_strict_sni:
        enum:
          - enabled
          - disabled
        type: string
        x-dependency:
          ssl:
            value: true
      force_tlsv10:
        description: This field is deprecated in favor of tlsv10, and will be removed in a future release
        type: boolean
        x-deprecated: true
      force_tlsv11:
        description: This field is deprecated in favor of tlsv11, and will be removed in a future release
        type: boolean
        x-deprecated: true
      force_tlsv12:
        description: This field is deprecated in favor of tlsv12, and will be removed in a future release
        type: boolean
        x-deprecated: true
      force_tlsv13:
        description: This field is deprecated in favor of tlsv13, and will be removed in a future release
        type: boolean
        x-deprecated: true
      generate_certificates:
        type: boolean
        x-dependency:
          ssl:
            value: true
      gid:
        type: integer
        x-display-name: Group ID
      group:
        type: string
        x-display-name: Group name
      guid_prefix:
        pattern: ^[A-Za-z0-9-_.:]+$
        type: string
      id:
        type: string
        x-display-name: Socket ID
      idle_ping:
        minimum: 0
        type: integer
        x-default-unit: ms
        x-duration: true
        x-nullable: true
      interface:
        type: string
      ktls:
        enum:
          - "on"
          - "off"
        type: string
        x-display-name: |-
          Enables or disables ktls for those sockets. If enabled, kTLS will be used if the kernel supports it and the cipher is compatible.
          This is only available on Linux kernel 4.17 and above.
          EXPERIMENTAL OPTION.
      label:
        type: string
      level:
        enum:
          - user
          - operator
          - admin
        example: user
        type: string
      maxconn:
        example: 1234
        type: integer
      mode:
        type: string
      mss:
        type: string
      namespace:
        example: app
        type: string
      nbconn:
        type: integer
        x-display-name: Number of connection
      nice:
        example: 1
        type: integer
      no_alpn:
        type: boolean
        x-dependency:
          ssl:
            value: true
      no_ca_names:
        type: boolean
        x-dependency:
          ssl:
            value: true
      no_sslv3:
        description: This field is deprecated in favor of sslv3, and will be removed in a future release
        type: boolean
        x-dependency:
          ssl:
            value: true
        x-deprecated: true
      no_strict_sni:
        type: boolean
        x-dependency:
          ssl:
            value: true
        x-deprecated: true
      no_tls_tickets:
        description: This field is deprecated in favor of tls_tickets, and will be removed in a future release
        type: boolean
        x-dependency:
          ssl:
            value: true
        x-deprecated: true
      no_tlsv10:
        description: This field is deprecated in favor of tlsv10, and will be removed in a future release
        type: boolean
        x-dependency:
          ssl:
            value: true
        x-deprecated: true
      no_tlsv11:
        description: This field is deprecated in favor of tlsv11, and will be removed in a future release
        type: boolean
        x-dependency:
          ssl:
            value: true
        x-deprecated: true
      no_tlsv12:
        description: This field is deprecated in favor of tlsv12, and will be removed in a future release
        type: boolean
        x-dependency:
          ssl:
            value: true
        x-deprecated: true
      no_tlsv13:
        description: This field is deprecated in favor of tlsv13, and will be removed in a future release
        type: boolean
        x-dependency:
          ssl:
            value: true
        x-deprecated: true
      npn:
        type: string
      prefer_client_ciphers:
        type: boolean
      proto:
        type: string
        x-display-name: Protocol name
      quic-cc-algo:
        enum:
          - cubic
          - newreno
          - bbr
          - nocc
        type: string
      quic-force-retry:
        type: boolean
      quic-socket:
        enum:
          - connection
          - listener
        type: string
      quic_cc_algo_burst_size:
        maximum: 1024
        minimum: 0
        type: integer
        x-dependency:
          quic-cc-algo: null
        x-nullable: true
      quic_cc_algo_max_window:
        maximum: 4194304
        minimum: 10
        type: integer
        x-default-unit: k
        x-dependency:
          quic-cc-algo: null
        x-nullable: true
        x-size: true
      severity_output:
        enum:
          - none
          - number
          - string
        example: none
        type: string
        x-display-name: Format
      shards:
        pattern: ^(by-thread|by-group|[0-9]+)$
        type: string
        x-display-name: Shards
      sigalgs:
        type: string
        x-dependency:
          ssl:
            value: true
      ssl:
        type: boolean
      ssl_cafile:
        pattern: ^[^\s]+$
        type: string
        x-dependency:
          ssl:
            value: true
        x-display-name: SSL CA File
      ssl_certificate:
        description: All of the certificates delimited by ':' as mentioned as a crt on the bind line.
        pattern: ^[^\s]+$
        type: string
        x-dependency:
          ssl:
            value: true
      ssl_max_ver:
        enum:
          - SSLv3
          - TLSv1.0
          - TLSv1.1
          - TLSv1.2
          - TLSv1.3
        type: string
      ssl_min_ver:
        enum:
          - SSLv3
          - TLSv1.0
          - TLSv1.1
          - TLSv1.2
          - TLSv1.3
        type: string
      sslv3:
        enum:
          - enabled
          - disabled
        type: string
        x-dependency:
          ssl:
            value: true
      strict_sni:
        type: boolean
        x-dependency:
          ssl:
            value: true
        x-deprecated: true
      tcp_md5sig:
        pattern: ^[^\s]+$
        type: string
      tcp_ss:
        description: Sets the TCP Save SYN option for all incoming connections instantiated from this listening socket
        enum:
          - 1
          - 2
          - 3
        type: integer
      tcp_user_timeout:
        type: integer
        x-nullable: true
      tfo:
        type: boolean
      thread:
        type: string
      tls_ticket_keys:
        type: string
      tls_tickets:
        enum:
          - enabled
          - disabled
        type: string
        x-dependency:
          ssl:
            value: true
      tlsv10:
        enum:
          - enabled
          - disabled
        type: string
        x-dependency:
          ssl:
            value: true
      tlsv11:
        enum:
          - enabled
          - disabled
        type: string
        x-dependency:
          ssl:
            value: true
      tlsv12:
        enum:
          - enabled
          - disabled
        type: string
        x-dependency:
          ssl:
            value: true
      tlsv13:
        enum:
          - enabled
          - disabled
        type: string
        x-dependency:
          ssl:
            value: true
      transparent:
        type: boolean
      uid:
        type: string
      user:
        type: string
      v4v6:
        type: boolean
      v6only:
        type: boolean
      verify:
        enum:
          - none
          - optional
          - required
        example: none
        type: string
        x-dependency:
          ssl:
            value: enabled
    type: object
  server_params:
    properties:
      agent-addr:
        pattern: ^[^\s]+$
        type: string
      agent-check:
        enum:
          - enabled
          - disabled
        type: string
        x-dependency:
          agent-port:
            required: true
      agent-inter:
        minimum: 0
        type: integer
        x-default-unit: ms
        x-duration: true
        x-nullable: true
      agent-port:
        maximum: 65535
        minimum: 1
        type: integer
        x-nullable: true
      agent-send:
        type: string
      allow_0rtt:
        type: boolean
      alpn:
        pattern: ^[^\s]+$
        type: string
        x-display-name: ALPN Protocols
      backup:
        enum:
          - enabled
          - disabled
        type: string
      cc:
        type: string
        x-display-name: TCP Congestion Control Algorithm
      check:
        enum:
          - enabled
          - disabled
        type: string
      check-pool-conn-name:
        pattern: ^[^\s]+$
        type: string
      check-reuse-pool:
        enum:
          - enabled
          - disabled
        type: string
      check-send-proxy:
        enum:
          - enabled
          - disabled
        type: string
      check-sni:
        pattern: ^[^\s]+$
        type: string
      check-ssl:
        enum:
          - enabled
          - disabled
        type: string
      check_alpn:
        pattern: ^[^\s]+$
        type: string
        x-display-name: Protocols
      check_proto:
        pattern: ^[^\s]+$
        type: string
        x-display-name: Name
      check_sni_auto:
        enum:
          - enabled
          - disabled
        type: string
      check_via_socks4:
        enum:
          - enabled
          - disabled
        type: string
      ciphers:
        type: string
        x-dependency:
          ssl:
            value: enabled
      ciphersuites:
        type: string
        x-dependency:
          ssl:
            value: enabled
      client_sigalgs:
        type: string
        x-dependency:
          ssl:
            value: true
      cookie:
        pattern: ^[^\s]+$
        type: string
      crl_file:
        type: string
        x-dependency:
          ssl:
            value: enabled
      curves:
        type: string
        x-dependency:
          ssl:
            value: true
      downinter:
        minimum: 0
        type: integer
        x-default-unit: ms
        x-duration: true
        x-nullable: true
      error_limit:
        type: integer
        x-display-name: Error count
      fall:
        type: integer
        x-display-name: Nr. of consecutive failed checks
        x-nullable: true
      fastinter:
        minimum: 0
        type: integer
        x-default-unit: ms
        x-duration: true
        x-nullable: true
      force_sslv3:
        description: This field is deprecated in favor of sslv3, and will be removed in a future release
        enum:
          - enabled
          - disabled
        type: string
        x-deprecated: true
      force_tlsv10:
        description: This field is deprecated in favor of tlsv10, and will be removed in a future release
        enum:
          - enabled
          - disabled
        type: string
        x-deprecated: true
      force_tlsv11:
        description: This field is deprecated in favor of tlsv11, and will be removed in a future release
        enum:
          - enabled
          - disabled
        type: string
        x-deprecated: true
      force_tlsv12:
        description: This field is deprecated in favor of tlsv12, and will be removed in a future release
        enum:
          - enabled
          - disabled
        type: string
        x-deprecated: true
      force_tlsv13:
        description: This field is deprecated in favor of tlsv13, and will be removed in a future release
        enum:
          - enabled
          - disabled
        type: string
        x-deprecated: true
      guid:
        pattern: ^[A-Za-z0-9-_.:]+$
        type: string
      hash_key:
        pattern: ^[^\s]+$
        type: string
      health_check_address:
        pattern: ^[^\s]+$
        type: string
      health_check_port:
        maximum: 65535
        minimum: 1
        type: integer
        x-nullable: true
      idle_ping:
        minimum: 0
        type: integer
        x-default-unit: ms
        x-duration: true
        x-nullable: true
      init-addr:
        pattern: ^[^\s]+$
        type: string
        x-nullable: true
      init-state:
        enum:
          - fully-up
          - up
          - down
          - fully-down
        type: string
      inter:
        minimum: 0
        type: integer
        x-default-unit: ms
        x-duration: true
        x-nullable: true
      ktls:
        enum:
          - "on"
          - "off"
        type: string
        x-display-name: |-
          Enables or disables ktls for those sockets. If enabled, kTLS will be used if the kernel supports it and the cipher is compatible.
          This is only available on Linux kernel 4.17 and above.
          EXPERIMENTAL OPTION.
      log-bufsize:
        type: integer
        x-nullable: true
      log_proto:
        enum:
          - legacy
          - octet-count
        type: string
      maintenance:
        enum:
          - enabled
          - disabled
        type: string
      max_reuse:
        type: integer
        x-nullable: true
      maxconn:
        type: integer
        x-display-name: Max Concurrent Connections
        x-nullable: true
      maxqueue:
        type: integer
        x-display-name: Max Number of Connections
        x-nullable: true
      minconn:
        type: integer
        x-nullable: true
      namespace:
        type: string
      no_sslv3:
        description: This field is deprecated in favor of sslv3, and will be removed in a future release
        enum:
          - enabled
          - disabled
        type: string
        x-deprecated: true
      no_tlsv10:
        description: This field is deprecated in favor of tlsv10, and will be removed in a future release
        enum:
          - enabled
          - disabled
        type: string
        x-deprecated: true
      no_tlsv11:
        description: This field is deprecated in favor of tlsv11, and will be removed in a future release
        enum:
          - enabled
          - disabled
        type: string
        x-deprecated: true
      no_tlsv12:
        description: This field is deprecated in favor of tlsv12, and will be removed in a future release
        enum:
          - enabled
          - disabled
        type: string
        x-deprecated: true
      no_tlsv13:
        description: This field is deprecated in favor of force_tlsv13, and will be removed in a future release
        enum:
          - enabled
          - disabled
        type: string
        x-deprecated: true
      no_verifyhost:
        enum:
          - enabled
          - disabled
        type: string
      npn:
        type: string
        x-dependency:
          ssl:
            value: enabled
      observe:
        enum:
          - layer4
          - layer7
        type: string
        x-dependency:
          ssl:
            value: enabled
      on-error:
        enum:
          - fastinter
          - fail-check
          - sudden-death
          - mark-down
        type: string
      on-marked-down:
        enum:
          - shutdown-sessions
        type: string
      on-marked-up:
        enum:
          - shutdown-backup-sessions
        type: string
      pool_conn_name:
        pattern: ^[^\s]+$
        type: string
      pool_low_conn:
        type: integer
        x-nullable: true
      pool_max_conn:
        type: integer
        x-nullable: true
      pool_purge_delay:
        minimum: 0
        type: integer
        x-default-unit: ms
        x-duration: true
        x-nullable: true
      proto:
        pattern: ^[^\s]+$
        type: string
      proxy-v2-options:
        items:
          enum:
            - authority
            - cert-cn
            - cert-key
            - cert-sig
            - crc32c
            - ssl
            - ssl-cipher
            - unique-id
          type: string
        type: array
        x-omitempty: true
      quic-cc-algo:
        enum:
          - cubic
          - newreno
          - bbr
          - nocc
        type: string
      quic_cc_algo_max_window:
        maximum: 4194304
        minimum: 10
        type: integer
        x-default-unit: k
        x-dependency:
          quic-cc-algo: null
        x-nullable: true
        x-size: true
      redir:
        type: string
        x-display-name: Prefix
      renegotiate:
        description: Toggles the secure renegotiation mechanism for an SSL backend.
        enum:
          - enabled
          - disabled
        type: string
      resolve-net:
        pattern: ^([A-Za-z0-9.:/]+)(,[A-Za-z0-9.:/]+)*$
        type: string
      resolve-prefer:
        enum:
          - ipv4
          - ipv6
        type: string
      resolve_opts:
        pattern: ^(allow-dup-ip|ignore-weight|prevent-dup-ip)(,(allow-dup-ip|ignore-weight|prevent-dup-ip))*$
        type: string
      resolvers:
        pattern: ^[^\s]+$
        type: string
        x-dynamic-enum:
          operation: getResolvers
          property: name
      rise:
        type: integer
        x-nullable: true
      send-proxy:
        enum:
          - enabled
          - disabled
        type: string
      send-proxy-v2:
        enum:
          - enabled
          - disabled
        type: string
      send_proxy_v2_ssl:
        enum:
          - enabled
          - disabled
        type: string
      send_proxy_v2_ssl_cn:
        enum:
          - enabled
          - disabled
        type: string
      set-proxy-v2-tlv-fmt:
        properties:
          id:
            type: string
          value:
            type: string
        required:
          - id
          - value
        type: object
      shard:
        type: integer
      sigalgs:
        type: string
        x-dependency:
          ssl:
            value: true
      slowstart:
        minimum: 0
        type: integer
        x-default-unit: ms
        x-duration: true
        x-nullable: true
      sni:
        pattern: ^[^\s]+$
        type: string
      sni_auto:
        enum:
          - enabled
          - disabled
        type: string
      socks4:
        pattern: ^[^\s]+$
        type: string
        x-dependency:
          check-via-socks4:
            required: true
      source:
        type: string
      ssl:
        enum:
          - enabled
          - disabled
        type: string
      ssl_cafile:
        pattern: ^[^\s]+$
        type: string
        x-dependency:
          ssl:
            value: enabled
        x-display-name: SSL CA File
      ssl_certificate:
        pattern: ^[^\s]+$
        type: string
        x-dependency:
          ssl:
            value: enabled
      ssl_max_ver:
        enum:
          - SSLv3
          - TLSv1.0
          - TLSv1.1
          - TLSv1.2
          - TLSv1.3
        type: string
      ssl_min_ver:
        enum:
          - SSLv3
          - TLSv1.0
          - TLSv1.1
          - TLSv1.2
          - TLSv1.3
        type: string
      ssl_reuse:
        enum:
          - enabled
          - disabled
        type: string
      sslv3:
        enum:
          - enabled
          - disabled
        type: string
      stick:
        enum:
          - enabled
          - disabled
        type: string
      strict-maxconn:
        type: boolean
      tcp_md5sig:
        pattern: ^[^\s]+$
        type: string
      tcp_ut:
        minimum: 0
        type: integer
        x-default-unit: ms
        x-duration: true
        x-nullable: true
      tfo:
        enum:
          - enabled
          - disabled
        type: string
      tls_tickets:
        enum:
          - enabled
          - disabled
        type: string
        x-dependency:
          ssl:
            value: enabled
      tlsv10:
        enum:
          - enabled
          - disabled
        type: string
      tlsv11:
        enum:
          - enabled
          - disabled
        type: string
      tlsv12:
        enum:
          - enabled
          - disabled
        type: string
      tlsv13:
        enum:
          - enabled
          - disabled
        type: string
      track:
        type: string
      verify:
        enum:
          - none
          - required
        type: string
        x-dependency:
          ssl:
            value: enabled
      verifyhost:
        type: string
        x-dependency:
          ssl:
            value: enabled
          verify:
            value: required
      weight:
        type: integer
        x-nullable: true
      ws:
        enum:
          - auto
          - h1
          - h2
        type: string
        x-display-name: Relaying websocket stream protocol
    type: object
  site:
    additionalProperties: false
    description: |
      Site configuration. Sites are considered as one service and all farms connected to that service.
      Farms are connected to service using use-backend and default_backend directives. Sites let you
      configure simple HAProxy configurations, for more advanced options use /haproxy/configuration
      endpoints.
    example:
      farms:
        - balance:
            algorithm: roundrobin
          mode: http
          name: www_backend
          servers:
            - address: 127.0.1.1
              name: www_server
              port: 4567
            - address: 127.0.1.2
              name: www_server_new
              port: 4567
          use_as: default
      name: test_site
      service:
        http_connection_mode: httpclose
        maxconn: 2000
        mode: http
    properties:
      farms:
        items:
          properties:
            balance:
              $ref: '#/definitions/balance'
            cond:
              enum:
                - if
                - unless
              type: string
              x-dependency:
                use_as:
                  required: true
                  value: conditional
              x-display-name: Condition
            cond_test:
              type: string
              x-dependency:
                use_as:
                  required: true
                  value: conditional
              x-display-name: Condition Test
            forwardfor:
              $ref: '#/definitions/forwardfor'
            mode:
              enum:
                - http
                - tcp
              type: string
            name:
              pattern: ^[A-Za-z0-9-_.:]+$
              type: string
              x-nullable: false
            servers:
              items:
                $ref: '#/definitions/server'
              type: array
              x-omitempty: true
            use_as:
              enum:
                - default
                - conditional
              type: string
              x-nullable: false
          required:
            - name
            - use_as
          type: object
          x-go-name: SiteFarm
        type: array
        x-omitempty: true
      name:
        pattern: ^[A-Za-z0-9-_.:]+$
        type: string
        x-nullable: false
      service:
        properties:
          http_connection_mode:
            enum:
              - http-tunnel
              - httpclose
              - forced-close
              - http-server-close
              - http-keep-alive
            type: string
            x-dependency:
              mode:
                value: http
            x-display-name: HTTP Connection Mode
          listeners:
            items:
              $ref: '#/definitions/bind'
            type: array
            x-omitempty: true
          maxconn:
            type: integer
            x-display-name: Max Connections
            x-nullable: true
          mode:
            enum:
              - http
              - tcp
            type: string
        type: object
    required:
      - name
    title: Site
    type: object
  sites:
    title: Sites
    description: |
      Sites array. Sites are considered as one service and all farms connected to that service.
      Farms are connected to service using use-backend and default_backend directives. Sites let you
      configure simple HAProxy configurations, for more advanced opti

# --- truncated at 32 KB (820 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/haproxy/refs/heads/main/openapi/haproxy-data-plane-api-openapi.yml