openapi: 3.2.0 info: title: HAProxy Data Plane Configuration 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: Configuration description: Raw HAProxy configuration management (advanced mode) paths: /services/haproxy/configuration/raw: get: description: Returns HAProxy configuration file in plain text operationId: getHAProxyConfiguration parameters: - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/version' responses: '200': description: Operation successful headers: Configuration-Checksum: description: Configuration file md5 checksum schema: type: string Configuration-Version: description: Configuration file version schema: type: string content: text/plain: schema: type: string default: description: General Error headers: Configuration-Version: description: Configuration file version schema: type: string content: text/plain: schema: type: string summary: Return HAProxy configuration tags: - Configuration post: description: Push a new haproxy configuration file in plain text operationId: postHAProxyConfiguration parameters: - description: If set, no version check will be done and the pushed config will be enforced in: query name: skip_version required: false schema: type: boolean default: false - description: If set, no reload will be initiated and runtime actions from X-Runtime-Actions will be applied in: query name: skip_reload required: false schema: type: boolean default: false - description: If set, only validates configuration, without applying it in: query name: only_validate required: false schema: type: boolean default: false - description: List of Runtime API commands with parameters separated by ';' in: header name: X-Runtime-Actions required: false schema: type: string - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/force_reload' responses: '201': description: New HAProxy configuration pushed headers: Configuration-Checksum: description: Configuration file md5 checksum schema: type: string Configuration-Version: description: Configuration file version schema: type: string content: text/plain: schema: type: string '202': description: Configuration change accepted and reload requested headers: Configuration-Checksum: description: Configuration file md5 checksum schema: type: string Configuration-Version: description: Configuration file version schema: type: string Reload-ID: description: ID of the requested reload schema: type: string content: text/plain: schema: type: string '400': description: Bad request headers: Configuration-Version: description: Configuration file version schema: type: string content: text/plain: schema: type: string default: description: General Error headers: Configuration-Version: description: Configuration file version schema: type: string content: text/plain: schema: type: string summary: Push new haproxy configuration tags: - Configuration requestBody: content: text/plain: schema: type: string required: true /services/haproxy/configuration/version: get: description: Returns configuration version. operationId: getConfigurationVersion parameters: - $ref: '#/components/parameters/transaction_id' responses: '200': description: Configuration version content: application/json: schema: type: integer '404': $ref: '#/components/responses/NotFound' default: $ref: '#/components/responses/DefaultError' summary: Return a configuration version tags: - Configuration 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 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: error: additionalProperties: type: string description: API Error properties: code: type: - integer - 'null' message: type: - string - 'null' required: - code - message title: Error 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' securitySchemes: basic_auth: type: http scheme: basic externalDocs: url: https://docs.haproxy.org/ description: HAProxy Documentation