SafeLine Websites API
Protected website (application) management
Operations 5
Documentation
Documentation
https://docs.waf.chaitin.com/
GettingStarted
https://docs.waf.chaitin.com/en/getting-started
Protected website (application) management
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-websites-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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 Websites 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: Websites
description: Protected website (application) management
paths:
/api/SoftwareReverseProxyWebsiteAPI:
get:
operationId: listWebsites
summary: List Protected Websites
description: Retrieves a paginated list of all websites (applications) protected by the SafeLine WAF reverse proxy, including their configuration and protection status.
tags:
- Websites
parameters:
- name: page
in: query
schema:
type: integer
default: 1
- name: page_size
in: query
schema:
type: integer
default: 10
responses:
'200':
description: Website list
content:
application/json:
schema:
$ref: '#/components/schemas/WebsiteListResponse'
post:
operationId: createWebsite
summary: Create Protected Website
description: Adds a new website to SafeLine WAF protection with reverse proxy configuration.
tags:
- Websites
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWebsiteRequest'
responses:
'200':
description: Website created
content:
application/json:
schema:
$ref: '#/components/schemas/WebsiteResponse'
put:
operationId: updateWebsite
summary: Update Protected Website
description: Updates the configuration of an existing protected website.
tags:
- Websites
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWebsiteRequest'
responses:
'200':
description: Website updated
content:
application/json:
schema:
$ref: '#/components/schemas/WebsiteResponse'
delete:
operationId: deleteWebsite
summary: Delete Protected Website
description: Removes a website from SafeLine WAF protection.
tags:
- Websites
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
id:
type: integer
responses:
'200':
description: Website deleted
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
/api/EnableDisableWebsiteAPI:
post:
operationId: toggleWebsiteProtection
summary: Enable or Disable Website Protection
description: Enables or disables WAF protection for a specific website.
tags:
- Websites
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- id
- enabled
properties:
id:
type: integer
enabled:
type: boolean
responses:
'200':
description: Website protection state updated
content:
application/json:
schema:
$ref: '#/components/schemas/SuccessResponse'
components:
schemas:
WebsiteResponse:
type: object
properties:
err:
type: string
nullable: true
data:
$ref: '#/components/schemas/Website'
msg:
type: string
nullable: true
CreateWebsiteRequest:
type: object
required:
- name
- upstream
- ports
properties:
name:
type: string
description: Friendly name for the protected website
upstream:
type: string
description: Backend server address (e.g., 192.168.1.100:8080)
ports:
type: array
items:
type: object
properties:
port:
type: integer
protocol:
type: string
enum:
- http
- https
ssl_id:
type: integer
description: SSL certificate ID for HTTPS
policy_group_id:
type: integer
description: Security policy group ID to apply
comment:
type: string
UpdateWebsiteRequest:
type: object
required:
- id
properties:
id:
type: integer
name:
type: string
upstream:
type: string
ports:
type: array
items:
type: object
properties:
port:
type: integer
protocol:
type: string
ssl_id:
type: integer
policy_group_id:
type: integer
comment:
type: string
WebsiteListResponse:
type: object
properties:
err:
type: string
nullable: true
data:
type: array
items:
$ref: '#/components/schemas/Website'
msg:
type: string
nullable: true
Website:
type: object
properties:
id:
type: integer
name:
type: string
upstream:
type: string
ports:
type: array
items:
type: object
properties:
port:
type: integer
protocol:
type: string
enabled:
type: boolean
policy_group_id:
type: integer
ssl_id:
type: integer
create_time:
type: string
comment:
type: string
SuccessResponse:
type: object
properties:
err:
type: string
nullable: true
data:
type: object
nullable: true
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