HAProxy Ring API

The Ring API from HAProxy — 2 operation(s) for ring.

Operations 5

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 #

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-ring-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-ring-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: HAProxy Data Plane Ring 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
servers:
- url: /v3
security:
- basic_auth: []
tags:
- name: Ring
paths:
  /services/haproxy/configuration/rings:
    get:
      description: Returns an array of all configured rings.
      operationId: getRings
      parameters:
      - $ref: '#/components/parameters/transaction_id'
      - $ref: '#/components/parameters/full_section'
      responses:
        '200':
          description: Successful operation
          headers:
            Configuration-Version:
              description: Configuration file version
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/rings'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Return an array of rings
      tags:
      - Ring
    post:
      description: Adds a new ring to the configuration file.
      operationId: createRing
      parameters:
      - $ref: '#/components/parameters/transaction_id'
      - $ref: '#/components/parameters/version'
      - $ref: '#/components/parameters/force_reload'
      - $ref: '#/components/parameters/full_section'
      responses:
        '201':
          description: Ring created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ring'
        '202':
          description: Configuration change accepted and reload requested
          headers:
            Reload-ID:
              description: ID of the requested reload
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ring'
        '400':
          $ref: '#/components/responses/BadRequest'
        '409':
          $ref: '#/components/responses/AlreadyExists'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Add a ring
      tags:
      - Ring
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ring'
        required: true
  /services/haproxy/configuration/rings/{name}:
    delete:
      description: Deletes a ring from the configuration by it's name.
      operationId: deleteRing
      parameters:
      - description: Ring name
        in: path
        name: name
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/transaction_id'
      - $ref: '#/components/parameters/version'
      - $ref: '#/components/parameters/force_reload'
      responses:
        '202':
          description: Configuration change accepted and reload requested
          headers:
            Reload-ID:
              description: ID of the requested reload
              schema:
                type: string
        '204':
          description: Ring deleted
        '404':
          $ref: '#/components/responses/NotFound'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Delete a ring
      tags:
      - Ring
    get:
      description: Returns one ring configuration by it's name.
      operationId: getRing
      parameters:
      - description: Ring name
        in: path
        name: name
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/transaction_id'
      - $ref: '#/components/parameters/full_section'
      responses:
        '200':
          description: Successful operation
          headers:
            Configuration-Version:
              description: Configuration file version
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ring'
        '404':
          $ref: '#/components/responses/NotFound'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Return a ring
      tags:
      - Ring
    put:
      description: Replaces a ring configuration by it's name.
      operationId: replaceRing
      parameters:
      - description: Ring name
        in: path
        name: name
        required: true
        schema:
          type: string
      - $ref: '#/components/parameters/transaction_id'
      - $ref: '#/components/parameters/version'
      - $ref: '#/components/parameters/force_reload'
      - $ref: '#/components/parameters/full_section'
      responses:
        '200':
          description: Ring replaced
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ring'
        '202':
          description: Configuration change accepted and reload requested
          headers:
            Reload-ID:
              description: ID of the requested reload
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ring'
        '400':
          $ref: '#/components/responses/BadRequest'
        '404':
          $ref: '#/components/responses/NotFound'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Replace a ring
      tags:
      - Ring
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ring'
        required: true
components:
  parameters:
    transaction_id:
      name: transaction_id
      in: query
      description: ID of the transaction where we want to add the operation. Cannot be used when version is specified.
      required: false
      schema:
        type: string
    full_section:
      name: full_section
      in: query
      description: Indicates if the action affects the specified child resources as well
      required: false
      schema:
        type: boolean
        default: false
    version:
      name: version
      in: query
      description: Version used for checking configuration version. Cannot be used when transaction is specified, transaction has it's own version.
      required: false
      schema:
        type: integer
    force_reload:
      name: force_reload
      in: query
      description: If set, do a force reload, do not wait for the configured reload-delay. Cannot be used when transaction is specified, as changes in transaction are not applied directly to configuration.
      required: false
      schema:
        type: boolean
        default: false
  schemas:
    ring:
      allOf:
      - $ref: '#/components/schemas/ring_base'
      - properties:
          servers:
            additionalProperties:
              $ref: '#/components/schemas/server'
        type: object
      description: Ring with all its children resources
      type: object
      x-go-name: Ring
    ring_base:
      additionalProperties: false
      description: HAProxy ring configuration
      properties:
        description:
          description: The description is an optional description string of the ring
          type: string
        format:
          description: Format used to store events into the ring buffer
          enum:
          - iso
          - local
          - raw
          - rfc3164
          - rfc5424
          - short
          - priority
          - timed
          type: string
        maxlen:
          description: The maximum length of an event message stored into the ring
          type:
          - integer
          - 'null'
        metadata:
          additionalProperties:
            type: object
        name:
          pattern: ^[A-Za-z0-9-_.:]+$
          type: string
        size:
          description: Optional size in bytes for the ring-buffer
          minimum: 0
          type:
          - integer
          - 'null'
          x-size: true
        timeout_connect:
          minimum: 0
          type:
          - integer
          - 'null'
          x-default-unit: ms
          x-duration: true
        timeout_server:
          minimum: 0
          type:
          - integer
          - 'null'
          x-default-unit: ms
          x-duration: true
      required:
      - name
      title: Ring Base
      type: object
    error:
      additionalProperties:
        type: string
      description: API Error
      properties:
        code:
          type:
          - integer
          - 'null'
        message:
          type:
          - string
          - 'null'
      required:
      - code
      - message
      title: Error
      type: object
    rings:
      title: Rings
      description: HAProxy rings array
      type: array
      items:
        $ref: '#/components/schemas/ring'
    server:
      additionalProperties: false
      allOf:
      - $ref: '#/components/schemas/server_params'
      - properties:
          address:
            pattern: ^[^\s]+$
            type: string
          id:
            type:
            - integer
            - 'null'
          metadata:
            additionalProperties:
              type: object
          name:
            pattern: ^[^\s]+$
            type: string
          port:
            maximum: 65535
            minimum: 1
            type:
            - integer
            - 'null'
        required:
        - name
        - address
        type: object
      description: HAProxy backend server configuration
      example:
        address: 10.1.1.1
        name: www
        port: 8080
      title: Server
    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
          - 'null'
          x-default-unit: ms
          x-duration: true
        agent-port:
          maximum: 65535
          minimum: 1
          type:
          - integer
          - 'null'
        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
          - 'null'
          x-default-unit: ms
          x-duration: true
        error_limit:
          type: integer
          x-display-name: Error count
        fall:
          type:
          - integer
          - 'null'
          x-display-name: Nr. of consecutive failed checks
        fastinter:
          minimum: 0
          type:
          - integer
          - 'null'
          x-default-unit: ms
          x-duration: 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
          - 'null'
        idle_ping:
          minimum: 0
          type:
          - integer
          - 'null'
          x-default-unit: ms
          x-duration: true
        init-addr:
          pattern: ^[^\s]+$
          type:
          - string
          - 'null'
        init-state:
          enum:
          - fully-up
          - up
          - down
          - fully-down
          type: string
        inter:
          minimum: 0
          type:
          - integer
          - 'null'
          x-default-unit: ms
          x-duration: 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
          - 'null'
        log_proto:
          enum:
          - legacy
          - octet-count
          type: string
        maintenance:
          enum:
          - enabled
          - disabled
          type: string
        max_reuse:
          type:
          - integer
          - 'null'
        maxconn:
          type:
          - integer
          - 'null'
          x-display-name: Max Concurrent Connections
        maxqueue:
          type:
          - integer
          - 'null'
          x-display-name: Max Number of Connections
        minconn:
          type:
          - integer
          - 'null'
        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
          - 'null'
        pool_max_conn:
          type:
          - integer
          - 'null'
        pool_purge_delay:
          minimum: 0
          type:
          - integer
          - 'null'
          x-default-unit: ms
          x-duration: 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
          - 'null'
          x-default-unit: k
          x-dependency:
            quic-cc-algo: null
          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
          - 'null'
        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
          - 'null'
          x-default-unit: ms
          x-duration: 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
          - 'null'
          x-default-unit: ms
          x-duration: 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
          - 'null'
        ws:
          enum:
          - auto
          - h1
          - h2
          type: string
          x-display-name: Relaying websocket stream protocol
      type: object
  responses:
    DefaultError:
      description: General Error
      headers:
        Configuration-Version:
          description: Configuration file version
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
    NotFound:
      description: The specified resource was not found
      headers:
        Configuration-Version:
          description: Configuration file version
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
    BadRequest:
      description: Bad request
      headers:
        Configuration-Version:
          description: Configuration file version
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
    AlreadyExists:
      description: The specified resource already exists
      headers:
        Configuration-Version:
          description: Configuration file version
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/error'
  securitySchemes:
    basic_auth:
      type: http
      scheme: basic
externalDocs:
  url: https://docs.haproxy.org/
  description: HAProxy Documentation