openapi: 3.2.0 info: title: HAProxy Data Plane ACL 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: ACL paths: /services/haproxy/configuration/backends/{parent_name}/acls: get: description: Returns all ACL lines that are configured in specified parent. operationId: getAllAclBackend parameters: - $ref: '#/components/parameters/parent_name' - description: ACL name in: query name: acl_name schema: type: string - $ref: '#/components/parameters/transaction_id' responses: '200': description: Successful operation headers: Configuration-Version: description: Configuration file version schema: type: string content: application/json: schema: $ref: '#/components/schemas/acls' default: $ref: '#/components/responses/DefaultError' summary: Return an array of all ACL lines tags: - ACL put: description: Replaces a whole list of ACLs with the list given in parameter operationId: replaceAllAclBackend parameters: - $ref: '#/components/parameters/parent_name' - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/force_reload' responses: '200': description: All ACL lines replaced content: application/json: schema: $ref: '#/components/schemas/acls' '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/acls' '400': $ref: '#/components/responses/BadRequest' default: $ref: '#/components/responses/DefaultError' summary: Replace an ACL list tags: - ACL requestBody: content: application/json: schema: $ref: '#/components/schemas/acls' required: true /services/haproxy/configuration/frontends/{parent_name}/acls: get: description: Returns all ACL lines that are configured in specified parent. operationId: getAllAclFrontend parameters: - $ref: '#/components/parameters/parent_name' - description: ACL name in: query name: acl_name schema: type: string - $ref: '#/components/parameters/transaction_id' responses: '200': description: Successful operation headers: Configuration-Version: description: Configuration file version schema: type: string content: application/json: schema: $ref: '#/components/schemas/acls' default: $ref: '#/components/responses/DefaultError' summary: Return an array of all ACL lines tags: - ACL put: description: Replaces a whole list of ACLs with the list given in parameter operationId: replaceAllAclFrontend parameters: - $ref: '#/components/parameters/parent_name' - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/force_reload' responses: '200': description: All ACL lines replaced content: application/json: schema: $ref: '#/components/schemas/acls' '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/acls' '400': $ref: '#/components/responses/BadRequest' default: $ref: '#/components/responses/DefaultError' summary: Replace an ACL list tags: - ACL requestBody: content: application/json: schema: $ref: '#/components/schemas/acls' required: true /services/haproxy/configuration/fcgi_apps/{parent_name}/acls: get: description: Returns all ACL lines that are configured in specified parent. operationId: getAllAclFCGIApp parameters: - $ref: '#/components/parameters/parent_name' - description: ACL name in: query name: acl_name schema: type: string - $ref: '#/components/parameters/transaction_id' responses: '200': description: Successful operation headers: Configuration-Version: description: Configuration file version schema: type: string content: application/json: schema: $ref: '#/components/schemas/acls' default: $ref: '#/components/responses/DefaultError' summary: Return an array of all ACL lines tags: - ACL put: description: Replaces a whole list of ACLs with the list given in parameter operationId: replaceAllAclFCGIApp parameters: - $ref: '#/components/parameters/parent_name' - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/force_reload' responses: '200': description: All ACL lines replaced content: application/json: schema: $ref: '#/components/schemas/acls' '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/acls' '400': $ref: '#/components/responses/BadRequest' default: $ref: '#/components/responses/DefaultError' summary: Replace an ACL list tags: - ACL requestBody: content: application/json: schema: $ref: '#/components/schemas/acls' required: true /services/haproxy/configuration/defaults/{parent_name}/acls: get: description: Returns all ACL lines that are configured in specified parent. operationId: getAllAclDefaults parameters: - $ref: '#/components/parameters/parent_name' - description: ACL name in: query name: acl_name schema: type: string - $ref: '#/components/parameters/transaction_id' responses: '200': description: Successful operation headers: Configuration-Version: description: Configuration file version schema: type: string content: application/json: schema: $ref: '#/components/schemas/acls' default: $ref: '#/components/responses/DefaultError' summary: Return an array of all ACL lines tags: - ACL put: description: Replaces a whole list of ACLs with the list given in parameter operationId: replaceAllAclDefaults parameters: - $ref: '#/components/parameters/parent_name' - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/force_reload' responses: '200': description: All ACL lines replaced content: application/json: schema: $ref: '#/components/schemas/acls' '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/acls' '400': $ref: '#/components/responses/BadRequest' default: $ref: '#/components/responses/DefaultError' summary: Replace an ACL list tags: - ACL requestBody: content: application/json: schema: $ref: '#/components/schemas/acls' required: true /services/haproxy/configuration/backends/{parent_name}/acls/{index}: delete: description: Deletes a ACL line configuration by it's index from the specified parent. operationId: deleteAclBackend parameters: - description: ACL line Index in: path name: index required: true schema: type: integer - $ref: '#/components/parameters/parent_name' - $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: ACL line deleted '404': $ref: '#/components/responses/NotFound' default: $ref: '#/components/responses/DefaultError' summary: Delete a ACL line tags: - ACL get: description: Returns one ACL line configuration by it's index in the specified parent. operationId: getAclBackend parameters: - description: ACL line Index in: path name: index required: true schema: type: integer - $ref: '#/components/parameters/parent_name' - $ref: '#/components/parameters/transaction_id' responses: '200': description: Successful operation headers: Configuration-Version: description: Configuration file version schema: type: string content: application/json: schema: $ref: '#/components/schemas/acl' '404': $ref: '#/components/responses/NotFound' default: $ref: '#/components/responses/DefaultError' summary: Return one ACL line tags: - ACL post: description: Adds a new ACL line of the specified type in the specified parent. operationId: createAclBackend parameters: - description: ACL line Index in: path name: index required: true schema: type: integer - $ref: '#/components/parameters/parent_name' - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/force_reload' responses: '201': description: ACL line created content: application/json: schema: $ref: '#/components/schemas/acl' '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/acl' '400': $ref: '#/components/responses/BadRequest' '409': $ref: '#/components/responses/AlreadyExists' default: $ref: '#/components/responses/DefaultError' summary: Add a new ACL line tags: - ACL requestBody: content: application/json: schema: $ref: '#/components/schemas/acl' required: true put: description: Replaces a ACL line configuration by it's index in the specified parent. operationId: replaceAclBackend parameters: - description: ACL line Index in: path name: index required: true schema: type: integer - $ref: '#/components/parameters/parent_name' - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/force_reload' responses: '200': description: ACL line replaced content: application/json: schema: $ref: '#/components/schemas/acl' '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/acl' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' default: $ref: '#/components/responses/DefaultError' summary: Replace a ACL line tags: - ACL requestBody: content: application/json: schema: $ref: '#/components/schemas/acl' required: true /services/haproxy/configuration/frontends/{parent_name}/acls/{index}: delete: description: Deletes a ACL line configuration by it's index from the specified parent. operationId: deleteAclFrontend parameters: - description: ACL line Index in: path name: index required: true schema: type: integer - $ref: '#/components/parameters/parent_name' - $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: ACL line deleted '404': $ref: '#/components/responses/NotFound' default: $ref: '#/components/responses/DefaultError' summary: Delete a ACL line tags: - ACL get: description: Returns one ACL line configuration by it's index in the specified parent. operationId: getAclFrontend parameters: - description: ACL line Index in: path name: index required: true schema: type: integer - $ref: '#/components/parameters/parent_name' - $ref: '#/components/parameters/transaction_id' responses: '200': description: Successful operation headers: Configuration-Version: description: Configuration file version schema: type: string content: application/json: schema: $ref: '#/components/schemas/acl' '404': $ref: '#/components/responses/NotFound' default: $ref: '#/components/responses/DefaultError' summary: Return one ACL line tags: - ACL post: description: Adds a new ACL line of the specified type in the specified parent. operationId: createAclFrontend parameters: - description: ACL line Index in: path name: index required: true schema: type: integer - $ref: '#/components/parameters/parent_name' - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/force_reload' responses: '201': description: ACL line created content: application/json: schema: $ref: '#/components/schemas/acl' '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/acl' '400': $ref: '#/components/responses/BadRequest' '409': $ref: '#/components/responses/AlreadyExists' default: $ref: '#/components/responses/DefaultError' summary: Add a new ACL line tags: - ACL requestBody: content: application/json: schema: $ref: '#/components/schemas/acl' required: true put: description: Replaces a ACL line configuration by it's index in the specified parent. operationId: replaceAclFrontend parameters: - description: ACL line Index in: path name: index required: true schema: type: integer - $ref: '#/components/parameters/parent_name' - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/force_reload' responses: '200': description: ACL line replaced content: application/json: schema: $ref: '#/components/schemas/acl' '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/acl' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' default: $ref: '#/components/responses/DefaultError' summary: Replace a ACL line tags: - ACL requestBody: content: application/json: schema: $ref: '#/components/schemas/acl' required: true /services/haproxy/configuration/fcgi_apps/{parent_name}/acls/{index}: delete: description: Deletes a ACL line configuration by it's index from the specified parent. operationId: deleteAclFCGIApp parameters: - description: ACL line Index in: path name: index required: true schema: type: integer - $ref: '#/components/parameters/parent_name' - $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: ACL line deleted '404': $ref: '#/components/responses/NotFound' default: $ref: '#/components/responses/DefaultError' summary: Delete a ACL line tags: - ACL get: description: Returns one ACL line configuration by it's index in the specified parent. operationId: getAclFCGIApp parameters: - description: ACL line Index in: path name: index required: true schema: type: integer - $ref: '#/components/parameters/parent_name' - $ref: '#/components/parameters/transaction_id' responses: '200': description: Successful operation headers: Configuration-Version: description: Configuration file version schema: type: string content: application/json: schema: $ref: '#/components/schemas/acl' '404': $ref: '#/components/responses/NotFound' default: $ref: '#/components/responses/DefaultError' summary: Return one ACL line tags: - ACL post: description: Adds a new ACL line of the specified type in the specified parent. operationId: createAclFCGIApp parameters: - description: ACL line Index in: path name: index required: true schema: type: integer - $ref: '#/components/parameters/parent_name' - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/force_reload' responses: '201': description: ACL line created content: application/json: schema: $ref: '#/components/schemas/acl' '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/acl' '400': $ref: '#/components/responses/BadRequest' '409': $ref: '#/components/responses/AlreadyExists' default: $ref: '#/components/responses/DefaultError' summary: Add a new ACL line tags: - ACL requestBody: content: application/json: schema: $ref: '#/components/schemas/acl' required: true put: description: Replaces a ACL line configuration by it's index in the specified parent. operationId: replaceAclFCGIApp parameters: - description: ACL line Index in: path name: index required: true schema: type: integer - $ref: '#/components/parameters/parent_name' - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/force_reload' responses: '200': description: ACL line replaced content: application/json: schema: $ref: '#/components/schemas/acl' '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/acl' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' default: $ref: '#/components/responses/DefaultError' summary: Replace a ACL line tags: - ACL requestBody: content: application/json: schema: $ref: '#/components/schemas/acl' required: true /services/haproxy/configuration/defaults/{parent_name}/acls/{index}: delete: description: Deletes a ACL line configuration by it's index from the specified parent. operationId: deleteAclDefaults parameters: - description: ACL line Index in: path name: index required: true schema: type: integer - $ref: '#/components/parameters/parent_name' - $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: ACL line deleted '404': $ref: '#/components/responses/NotFound' default: $ref: '#/components/responses/DefaultError' summary: Delete a ACL line tags: - ACL get: description: Returns one ACL line configuration by it's index in the specified parent. operationId: getAclDefaults parameters: - description: ACL line Index in: path name: index required: true schema: type: integer - $ref: '#/components/parameters/parent_name' - $ref: '#/components/parameters/transaction_id' responses: '200': description: Successful operation headers: Configuration-Version: description: Configuration file version schema: type: string content: application/json: schema: $ref: '#/components/schemas/acl' '404': $ref: '#/components/responses/NotFound' default: $ref: '#/components/responses/DefaultError' summary: Return one ACL line tags: - ACL post: description: Adds a new ACL line of the specified type in the specified parent. operationId: createAclDefaults parameters: - description: ACL line Index in: path name: index required: true schema: type: integer - $ref: '#/components/parameters/parent_name' - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/force_reload' responses: '201': description: ACL line created content: application/json: schema: $ref: '#/components/schemas/acl' '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/acl' '400': $ref: '#/components/responses/BadRequest' '409': $ref: '#/components/responses/AlreadyExists' default: $ref: '#/components/responses/DefaultError' summary: Add a new ACL line tags: - ACL requestBody: content: application/json: schema: $ref: '#/components/schemas/acl' required: true put: description: Replaces a ACL line configuration by it's index in the specified parent. operationId: replaceAclDefaults parameters: - description: ACL line Index in: path name: index required: true schema: type: integer - $ref: '#/components/parameters/parent_name' - $ref: '#/components/parameters/transaction_id' - $ref: '#/components/parameters/version' - $ref: '#/components/parameters/force_reload' responses: '200': description: ACL line replaced content: application/json: schema: $ref: '#/components/schemas/acl' '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/acl' '400': $ref: '#/components/responses/BadRequest' '404': $ref: '#/components/responses/NotFound' default: $ref: '#/components/responses/DefaultError' summary: Replace a ACL line tags: - ACL requestBody: content: application/json: schema: $ref: '#/components/schemas/acl' 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 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 parent_name: name: parent_name in: path description: Parent name required: true schema: type: string pattern: ^[^\r\n<>*;$#&{}"]+$ 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 acls: title: ACL Lines Array description: HAProxy ACL lines array (corresponds to acl directives) type: array items: $ref: '#/components/schemas/acl' acl: additionalProperties: false description: 'The use of Access Control Lists (ACL) provides a flexible solution to perform content switching and generally to take decisions based on content extracted from the request, the response or any environmental status. ' properties: acl_name: pattern: ^[^\s]+$ type: string criterion: pattern: ^[^\s]+$ type: string metadata: additionalProperties: type: object value: type: string required: - acl_name - criterion title: ACL Lines 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