SafeLine ACL Rules API
Access control list rules for blocking and allowing traffic
Access control list rules for blocking and allowing traffic
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/safeline:safeline-acl-rules-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a 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: 3.2.0
info:
title: SafeLine Management ACL Rules API
description: SafeLine Management API provides programmatic control of the SafeLine WAF (Web Application Firewall) including application/website management, security policy configuration, ACL rules, SSL certificate management, user account management, attack event analysis, and system configuration. SafeLine is an open-source self-hosted WAF built by Chaitin Technology protecting over 1 million websites with over 30 billion daily HTTP requests.
version: 2.0.0
contact:
name: Chaitin Technology
url: https://waf.chaitin.com/
license:
name: GPL-3.0
url: https://github.com/chaitin/SafeLine/blob/main/LICENSE
servers:
- url: https://{host}:9443
description: SafeLine Management API (default port 9443)
variables:
host:
default: localhost
description: SafeLine management server hostname or IP
security:
- APITokenAuth: []
tags:
- name: ACL Rules
description: Access control list rules for blocking and allowing traffic
paths:
/api/ACLRuleAPI:
get:
operationId: listAclRules
summary: List ACL Rules
description: Retrieves configured access control list rules for blocking or allowing traffic.
tags:
- ACL Rules
parameters:
- name: page
in: query
schema:
type: integer
default: 1
- name: page_size
in: query
schema:
type: integer
default: 10
responses:
'200':
description: ACL rule list
content:
application/json:
schema:
$ref: '#/components/schemas/AclRuleListResponse'
post:
operationId: createAclRule
summary: Create ACL Rule
description: Creates a new access control rule for blocking or allowing specific traffic patterns.
tags:
- ACL Rules
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAclRuleRequest'
responses:
'200':
description: ACL rule created
content:
application/json:
schema:
$ref: '#/components/schemas/AclRuleResponse'
put:
operationId: updateAclRule
summary: Update ACL Rule
description: Updates an existing access control rule.
tags:
- ACL Rules
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateAclRuleRequest'
responses:
'200':
description: ACL rule updated
content:
application/json:
schema:
$ref: '#/components/schemas/AclRuleResponse'
delete:
operationId: deleteAclRule
summary: Delete ACL Rule
description: Deletes an access control rule.
tags:
- ACL Rules
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
responses:
'200':
description: Rule deleted
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
/api/ACLWhiteListAPI:
get:
operationId: listAclWhitelist
summary: List ACL Whitelist
description: Retrieves IP addresses and patterns in the ACL whitelist.
tags:
- ACL Rules
responses:
'200':
description: Whitelist entries
content:
application/json:
schema:
$ref: '#/components/schemas/WhitelistResponse'
post:
operationId: addToAclWhitelist
summary: Add to ACL Whitelist
description: Adds an IP address or CIDR block to the ACL whitelist.
tags:
- ACL Rules
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/WhitelistRequest'
responses:
'200':
description: Entry added to whitelist
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
/api/ACLRuleExecutionLogAPI:
get:
operationId: getAclExecutionLogs
summary: Get ACL Rule Execution Logs
description: Retrieves logs of ACL rule executions showing triggered rules and actions taken.
tags:
- ACL Rules
parameters:
- name: page
in: query
schema:
type: integer
default: 1
- name: page_size
in: query
schema:
type: integer
default: 10
- name: start_time
in: query
schema:
type: integer
description: Unix timestamp for log query start
- name: end_time
in: query
schema:
type: integer
description: Unix timestamp for log query end
responses:
'200':
description: ACL execution logs
content:
application/json:
schema:
$ref: '#/components/schemas/LogListResponse'
components:
schemas:
UpdateAclRuleRequest:
type: object
required:
- id
properties:
id:
type: integer
name:
type: string
action:
type: string
enum:
- block
- allow
- log
conditions:
type: array
items:
$ref: '#/components/schemas/AclCondition'
AclRule:
type: object
properties:
id:
type: integer
name:
type: string
action:
type: string
conditions:
type: array
items:
$ref: '#/components/schemas/AclCondition'
enabled:
type: boolean
create_time:
type: string
SuccessResponse:
type: object
properties:
err:
type: string
nullable: true
data:
type: object
nullable: true
msg:
type: string
nullable: true
AclCondition:
type: object
properties:
field:
type: string
enum:
- ip
- url
- method
- header
- body
- user_agent
- referer
operator:
type: string
enum:
- equals
- contains
- startswith
- endswith
- matches
- in_cidr
value:
type: string
LogListResponse:
type: object
properties:
err:
type: string
nullable: true
data:
type: array
items:
type: object
properties:
id:
type: integer
rule_id:
type: integer
rule_name:
type: string
action:
type: string
src_ip:
type: string
dst_host:
type: string
request_method:
type: string
request_url:
type: string
trigger_time:
type: string
msg:
type: string
nullable: true
WhitelistResponse:
type: object
properties:
err:
type: string
nullable: true
data:
type: array
items:
type: object
properties:
id:
type: integer
ip:
type: string
comment:
type: string
msg:
type: string
nullable: true
AclRuleResponse:
type: object
properties:
err:
type: string
nullable: true
data:
$ref: '#/components/schemas/AclRule'
msg:
type: string
nullable: true
CreateAclRuleRequest:
type: object
required:
- name
- action
- conditions
properties:
name:
type: string
action:
type: string
enum:
- block
- allow
- log
conditions:
type: array
items:
$ref: '#/components/schemas/AclCondition'
comment:
type: string
WhitelistRequest:
type: object
required:
- ip
properties:
ip:
type: string
description: IP address or CIDR block to whitelist
example: 192.168.1.0/24
comment:
type: string
AclRuleListResponse:
type: object
properties:
err:
type: string
nullable: true
data:
type: array
items:
$ref: '#/components/schemas/AclRule'
msg:
type: string
nullable: true
securitySchemes:
APITokenAuth:
type: apiKey
in: header
name: X-SLCE-API-Token
description: API token obtained from the SafeLine management interface