FortiAppSec Cloud RESTful API Reference (26.3)

Download OpenAPI specification:Download

Overview

FortiAppSec Cloud provides a powerful and flexible RESTful API that allows developers to access and modify the settings of web applications programmatically. FortiAppSec Cloud's services include Threat Analytics (TA), Web Application Firewall (WAF), Global Server Load Balancing (GSLB) and Advanced Bot Protection (ABP). By leveraging the API, you can integrate these capabilities into your own applications, automate tasks, and manage resources more efficiently.

Changes

Changes after v26.2.b are summarized as below:

  • POST /waf/apps/{ep_id}/authentication_proxy/settings/download_sp_metadata (added)
  • GET /waf/settings/idps (added)
  • POST /waf/settings/idps (added)
  • DELETE /waf/settings/idps/{idp_name} (added)
  • PUT /waf/settings/idps/{idp_name} (added)

REST principles

Programs communicate with the API over HTTPS, the same protocol that your web browser uses to interact securely with web pages.

The API is based on interactions with a web page. Data is treated like a static web page:

  • Add data by POSTing a web page

  • Fetch data by GETing a web page

  • Update data by PUTing a web page

  • Delete data by DELETEing a web page

After the FortiAppSec Cloud API receives a request, it returns an HTTP response code. These codes are discussed later in this reference.

Authentication

FortiAppSec Cloud RESTful API requires API key authorization. An API Key tells our API server that the request it received came from you. Everything that you have access to in FortiAppSec Cloud is accessible with an API Key that is generated by you.

For how to generate the API key, See API Key in Online Help.

Request format

FortiAppSec Cloud RESTful API request is a standard HTTP request, which includes the HTTP header and HTTP body. Expected response can be returned only when the HTTP header and body meet the standard. The HTTP request header of FortiAppSec Cloud RESTful API must include the following header lines:

  • Header authentication field

FortiAppSec Cloud RESTful API requires API key authorization. It is required to add the generated API key from FortiAppSec Cloud GUI in the HTTP request header: Authorization: Basic <api-key-secret>

For how to generate the API key, See API Key in Online Help.

  • Accept field

It is required to use Accept field when sending an RESTful API request to show the accepted format.

The Accept field of most RESTful APIs is: Accept: application/json

Key concepts

The following headers are used by APIs documented.

Header name Value Description
Accept application/Json Used to specify certain media types which are acceptable by the request; the value of the header should be application/json, which is not changeable.
Authorization A random string from API Fetch Authorization Token Used to specify the token for authorization. The token could be obtained through API Fetch Authorization Token, please see API Fetch Authorization for details.
Content-Type application/json Used to specify the content types which are acceptable by the request. The value of the header should be application/json, which is not changeable.

Supported API methods

Method Operation description
GET Retrieves all configuration information of a resource.
POST Creates new configuration information of a resource.
PUT Updates the specified configuration information of a resource.
DELETE Deletes the specified configuration infomration of a resource.
OPTIONS Previews whether the server accepts the request. Once the preview is successful, the browser will send requests such as GET, PUT, etc.

URL format

The URLs that you use to access FortiAppSec Cloud APIs follow the following format:

https://api.appsec.fortinet.com/v2/waf/apps/{ep_id}/{module_name}/

{} stands for variable.

Variable Description
{ep_id} The ID of the apppication.
When you click into an application on FortiAppSec Cloud's Web UI, the ID of this application will show in the URL path. It's a 10-digit number. For example, if the URL path is https://api.appsec.fortinet.com/root/1111122222/dashboard, then 1111122222 is the ep_id.
{module_name} Name of the FortiAppSec Cloud module. For example, "known_attacks".

General query parameters for GSLB

When obtaining a model list, one can utilize the following general query parameters to retrieve the desired and specific data.

  • sort : This specifies the record fields to be used for sorting. In this notation, a minus sign (-) signifies descending order, while the absence of a minus sign indicates ascending order. You can specify multiple fields by separating them with commas, as demonstrated here: -field1,field2
  • last_id : The offset of the current model based on its ID.
  • limit : The number of records to be returned.
  • order: The ordering of records by ID combined with the limit and last_id parameters. This value can be either asc or desc.
  • fields: The fields of records to be returned. If not specified, all fields will be included. For example: field1,field2

System Settings

Global settings of system configuration.

Server Connectivity Test

Test Connectivity of ElasticSearch Server or Syslog Server.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "message": "Invalid request."
}

Get Global Setting Configurations

Get the global setting configurations.

Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
Example
{
  • "AuditEnable": 1,
  • "ESServer": {
    },
  • "NotificationEnable": true,
  • "ServerType": "elasticsearch",
  • "user_perm": "rwa"
}

Update Global Setting Configurations

Modify the global settings.

A body including all parameters and values in the request that conforms to the following JSON schema:

{
    "type": "object",
    "required": ["AuditEnable", "WeeklyEnable", "WeekReport", "AuditLog", "ServerType"],
    "properties": {
        "AuditEnable": {
            "description": "Select 0 to disable exporting audit logs, or select 1 to enable exporting audit logs",
            "type": "int",
            "enum": [0,1],
            "default": 0
        },
        "WeeklyEnable": {
            "description": "Select 0 to disable sending weekly report or select 1 to enable sending weekly report",
            "type": "int",
            "enum": [0,1],
            "default": 0
        },
        "WeekReport": {
            "description": "Configure weekly report configuration",
            "type": "object",
            "properties": {
                "email":{
                	"description": "Configure the email address that receives the weekly report",
         	        "type": "string"
                },
                "email_default":{
                	"description": "Select 0 to define the email address that receives the weekly report or 1 to send the weekly report to the default email address",
         	        "type": "int",
         	        "enum": [0,1]
                }
            }
        },
        "ServerType": {
            "description": "The type of the AuditLog server.",
            "type": "string",
            "enum": ["syslog", "elasticsearch"],
            "default": "syslog"
        },
        "AuditLog": {
            "description": "Configure syslog server for auditing log",
            "type": "object",
            "required": ["server_type", "syslog_type", "address", "port", "protocol", "cert_signed", "type", "value"],
            "properties":{
                "server_type": {
                    "description": "The type of the server, should be 'syslog' here.",
                    "type": "string",
                    "enum": ["syslog", "elasticsearch"]
                },
                "syslog_type": {
                    "description": "The type of the log content, should be 'elog' here.",
                    "type": "string",
                    "enum": ["alog", "elog"]
                },
                "address": {
                    "description": "Configure the syslog server address or domain",
                    "type": "string"
                },
                "port": {
                    "description": "Configure the syslog server listened port.",
                    "type": "int"
                },
                "protocol": {
                    "description": "Select the protocol that connects to syslog server.",
                    "type": "string",
                    "enum": ["TCP","UDP","SSL"],
                    "default": "UDP"
                },
                "cert_signed": {
                    "description": "Use customer cert (0) or default self-signed cert (1)",
                    "type": "string",
                    "enum": [0, 1],
                    "default": "1"
                },
                "pkey": {
                    "description": "Private key of cert",
                    "type": "string"
                },
                "pkey_passwd": {
                    "description": "Enter the password of private key",
                    "type": "string"
                },
                "type": {
                    "description": " The type of the log template",
                    "type": "string",
                    "enum": ["default", "splunk", "cef0_arcsight", "azure_oms", "leef1_qradar", "custom"],
                    "default": "default"
                },
                "value": {
                    "description": "The template content of corresponding type",
                    "type": "string"
                },
                "facility": {
                    "description": "The Syslog facility value",
                    "type": "string",
                    "enum": ["local0", "local1","local2", "local3","local4", "local5","local6", "local7"],
                    "default": "local0"
                }
            }
        },
        "ESServer": {
            "description": "Configure elaseticsearch server for auditing log",
            "type": "object",
            "required": ["server_type", "syslog_type", "address", "port", "username", "password"],
            "properties":{
                "server_type": {
                    "description": "The type of the server, should be 'elasticsearch' here.",
                    "type": "string",
                    "enum": ["syslog", "elasticsearch"]
                },
                "syslog_type": {
                    "description": "The type of the log content, should be 'elog' here.",
                    "type": "string",
                    "enum": ["alog", "elog"]
                },
                "address": {
                    "description": "Configure the elasticsearch address or domain",
                    "type": "string"
                },
                "port": {
                    "description": "Configure the elasticsearch server listened port.",
                    "type": "int"
                },
                "username": {
                    "description": "The username of the elasticsearch server.",
                    "type": "string"
                },
                "password": {
                    "description": "The password of the elasticsearch server",
                    "type": "string"
                }
            }
        }
    }
}
After you update the configuration, the API will return successfully.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
Example
{
  • "AuditEnable": 1,
  • "ESServer": {
    },
  • "ServerType": "elasticsearch"
}

Response samples

Content type
application/json
{
  • "detail": "Global setting change success."
}

Log&Report

Global settings of log and report configuration.

Get Audit Logs List

List the current audit logs.

Authorizations:
ApiRequestAuthorizer
query Parameters
filter
string

Array like string. Each element shall be JSON like object. Basic structure is

[
    {
        "id":"{log_field_name}",
        "logic":{
            "is":{"string":true},
            "NOT":{1 or None},
            "RANGE":{1 or None}
        },
        "value":["{field_value_1}", "field_value_2"]
    }
]

Add NOT:1 to exclude given values. Add RANGE:1 to tell that the given filter value is range type (at least two values). Value is an array containing multiple values. The logic between these values is OR logic.

size
integer

Page size. The range shall be [20, 100].

page
integer

Page number. The page number shall be less than 100.

Responses

Response samples

Content type
application/json
{
  • "hits": [
    ],
  • "total": 2
}

Get Audit Log

Fetch the audit log detail.

Authorizations:
ApiRequestAuthorizer
path Parameters
log_id
required
string

Message ID for each log.

Responses

Response samples

Content type
application/json
{
  • "_id": "a4c9f9d6-dc69-3259-8010-bab5bf9d79f6",
  • "action": "EDIT",
  • "body": "Module Known Attack of application TEST_APP updated",
  • "fc_account_id": "123456",
  • "level": "INFO",
  • "module": "Application",
  • "service": "WAF",
  • "specific": {
    },
  • "timestamp": 1680650258347,
  • "user_uuid": "1234567890",
  • "username": "test@example.com"
}

Get Account Usage Detail

Example Request:

Get Account Usage Detail

/general/reports/account_usage/detail/202402

Authorizations:
ApiRequestAuthorizer
path Parameters
yyyymm
required
string

like 202402

Responses

Response samples

Content type
application/json
{
  • "contract_type": "fortinet",
  • "days": [
    ],
  • "usage_type": "bandwidth"
}

Get Account Usage History

Example Request:

Get Account Usage History

/general/reports/account_usage/history

Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
{
  • "contract_type": "fortinet",
  • "exceeded": false,
  • "months": [
    ],
  • "usage_type": "bandwidth"
}

Delete Report Definition

Delete weekly report definition.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
query Parameters
report_id
required
string

The report ID. Can be found in Report Detail response or Report List Response.

Responses

Response samples

Content type
application/json
{
  • "message": "The operation was successful."
}

Get Report Definitions List

Get report list.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
query Parameters
cursor
string
  • To list the items of the first page, leave the cursor value empty.
  • To go forward to next page, get the value of the "next_cursor" parameter in the result of the current page, then paste it here as the cursor value.
  • To go to the previous page, get the "prev_cursor" value, then paste it here as the cursor value.
filter
string

You can filter by report_name and recipients. It is in JSON format.

forward
string
  • True: the next page;
  • False: the previous page.
size
string

The valid page size range is 10-50.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "next_cursor": null,
  • "prev_cursor": "eyJyZXBvcnRfaWQiOiB7IlMiOiAiNWYwNzc0ZDYtYjhlZi0xMWVhLWI0OTYtNWFkODk4YjEzNDBmIn0sICJvd25lcl9pZCI6IHsiUyI6ICI5MDYyMDMifX0=",
  • "total": 4,
  • "user_perm": "rw"
}

Create New Report Definition

Create a report definition.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
contents
Array of strings

List of report contents

disabled
boolean

Schedule state is started (true) or suspended (false)

recipients
string
report_id
string

report uuid

report_name
string

report name

object

schedule

schedule_str
string

GUI "Schedule" string, e.g., "At 00:00 on Monday of Every Week"

time_range
string

24h|7d|14d|30d

Responses

Request samples

Content type
application/json
{
  • "applications": [
    ],
  • "contents": [
    ],
  • "recipients": "me@my.domain.com",
  • "report_name": "weekly report",
  • "schedule_info": {
    },
  • "time_range": "7d"
}

Response samples

Content type
application/json
{
  • "message": "The operation was successful."
}

Update Report Definition

Update a report definition.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
contents
Array of strings

List of report contents

disabled
boolean

Schedule state is started (true) or suspended (false)

recipients
string
report_id
string

report uuid

report_name
string

report name

object

schedule

schedule_str
string

GUI "Schedule" string, e.g., "At 00:00 on Monday of Every Week"

time_range
string

24h|7d|14d|30d

Responses

Request samples

Content type
application/json
{
  • "applications": [
    ],
  • "contents": [
    ],
  • "recipients": "me@my.domain.com",
  • "report_id": "7bb91fe5-5bd3-447a-9273-bda0c03a096a",
  • "schedule_info": {
    },
  • "time_range": "24h"
}

Response samples

Content type
application/json
{
  • "message": "The operation was successful."
}

Activate/Deactivate Report Schedule

Deactivate a report means to pause the schedule, while activate a report means to recover the schedule.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Example Request:

Activate Report Request Body
{
    "action": "activate",
    "report_id": "6a1ce2b2-b8fd-11ea-954f-d63461e01797"
}
Deactivate Report Request Body
{
    "action": "deactivate"
    "report_id": "6a1ce2b2-b8fd-11ea-954f-d63461e01797"
}
Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
action
string

activate or deactivate

report_id
string

report uuid

report_name
string

report name

Responses

Request samples

Content type
application/json
{
  • "action": "activate|deactivate",
  • "report_id": "{{report_id}}"
}

Response samples

Content type
application/json
Example
{
  • "message": "The operation was successful."
}

Get Report Definition Detail

Get weekly report list.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
report_id
required
string

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get WAF Application Bandwidth Usage Detail

This API only returns information for accounts that use daily WAF bandwidth billing, such as accounts with FortiFlex licenses or subscriptions through AWS, Azure, and GCP marketplaces. Accounts with other license types will not have their application daily 95th percentile bandwidth calculated or returned by this API.
### Example Request:
Get WAF Application Bandwidth Usage Detail

/general/reports/waf_app_usage/202511

Authorizations:
ApiRequestAuthorizer
path Parameters
yyyymm
required
string

Year and month for which to retrieve data (e.g., 202511)

query Parameters
ep_id
string

Optional. A comma-separated list of application IDs to filter the results. Application IDs can be obtained from the List Applications API. If omitted, the response includes usage data for all applications under the account.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "month": "202511"
}

Notifications

Global settings of notifications.

Get notification list

Get notification list

Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Update UFC Notification read status

Change the read status of selected notifications to read.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
notification_ids
Array of strings

Notification ID list to update read status

Responses

Request samples

Content type
application/json
{
  • "notification_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "detail": "Status updated"
}

Delete an audit log notification rule

Delete a rule by ID.

Query Parameters

  • rule_id (string, required): Rule ID (UUID).
Authorizations:
ApiRequestAuthorizer
query Parameters
rule_id
required
string

Rule ID (UUID).

Responses

Response samples

Content type
application/json
Example
{
  • "data": {
    },
  • "message": "Rule deleted successfully",
  • "status": "success"
}

List or get audit log notification rules

List all rules for the account, or fetch a single rule by rule_id.

Query Parameters

  • rule_id (string, optional): Rule ID (UUID). If provided, returns only that rule; if omitted, returns all rules sorted by created_at ascending.

data.max_rules indicates the maximum number of rules allowed for the account (default 10).

Authorizations:
ApiRequestAuthorizer
query Parameters
rule_id
string

Rule ID (UUID).

Responses

Response samples

Content type
application/json
Example
{
  • "data": {
    },
  • "message": "Rules retrieved successfully",
  • "status": "success"
}

Create an audit log notification rule

Request Body JSON Schema

Both POST (create) and PUT (update) share the same structure (PUT additionally requires rule_id).

{
  "type": "object",
  "required": ["rule_name", "status", "delivery"],
  "properties": {
    "rule_id": {"type": "string", "description": "Rule ID for updates (UUID)"},
    "rule_name": {"type": "string", "minLength": 1},
    "status": {"type": "string", "enum": ["enabled", "disabled"]},
    "conditions": {
      "type": "array", "description": "Array of conditions; capped by policy (default 5)",
      "items": {
  "type": "object",
  "required": ["field", "operator", "value"],
  "properties": {
    "field": {
      "type": "string",
      "enum": ["level", "body", "service", "username", "action", "module"],
      "description": "Filter field mapped to backend log attributes (note: 'message' maps to 'body' at sender)."
    },
    "operator": {"type": "string", "enum": ["is", "is_not"], "description": "Match operator"},
    "value": {"type": "string", "maxLength": 100, "description": "Non-empty match value"}
  }
}
    },
    "delivery": {
  "type": "object",
  "required": ["channel", "recipients"],
  "properties": {
    "channel": {"type": "string", "enum": ["email"], "description": "Notification channel; only 'email' supported"},
    "recipients": {
      "type": "array",
      "minItems": 1, "maxItems": 5,
      "items": {"type": "string", "format": "email"},
      "description": "Recipient emails; backend normalizes to lowercase and de-duplicates"
    }
  }
}
  }
}

Limits enforced by backend: up to 10 rules per account (data.max_rules), up to 5 conditions per rule, value max length 100, channel must be email, recipients must contain 1..5 valid emails.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
Example
{
  • "conditions": [
    ],
  • "delivery": {
    },
  • "rule_name": "WAF HealthCheck Alerts",
  • "status": "enabled"
}

Response samples

Content type
application/json
Example
{
  • "data": {
    },
  • "message": "Rule deleted successfully",
  • "status": "success"
}

Update an audit log notification rule

Request Body JSON Schema

Both POST (create) and PUT (update) share the same structure (PUT additionally requires rule_id).

{
  "type": "object",
  "required": ["rule_name", "status", "delivery"],
  "properties": {
    "rule_id": {"type": "string", "description": "Rule ID for updates (UUID)"},
    "rule_name": {"type": "string", "minLength": 1},
    "status": {"type": "string", "enum": ["enabled", "disabled"]},
    "conditions": {
      "type": "array", "description": "Array of conditions; capped by policy (default 5)",
      "items": {
  "type": "object",
  "required": ["field", "operator", "value"],
  "properties": {
    "field": {
      "type": "string",
      "enum": ["level", "body", "service", "username", "action", "module"],
      "description": "Filter field mapped to backend log attributes (note: 'message' maps to 'body' at sender)."
    },
    "operator": {"type": "string", "enum": ["is", "is_not"], "description": "Match operator"},
    "value": {"type": "string", "maxLength": 100, "description": "Non-empty match value"}
  }
}
    },
    "delivery": {
  "type": "object",
  "required": ["channel", "recipients"],
  "properties": {
    "channel": {"type": "string", "enum": ["email"], "description": "Notification channel; only 'email' supported"},
    "recipients": {
      "type": "array",
      "minItems": 1, "maxItems": 5,
      "items": {"type": "string", "format": "email"},
      "description": "Recipient emails; backend normalizes to lowercase and de-duplicates"
    }
  }
}
  }
}

Limits enforced by backend: up to 10 rules per account (data.max_rules), up to 5 conditions per rule, value max length 100, channel must be email, recipients must contain 1..5 valid emails.

PUT requires rule_id in the request body.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
{
  • "conditions": [
    ],
  • "delivery": {
    },
  • "rule_id": "9b2f0f66-6a72-4f1a-9189-0a6b5a6f9a10",
  • "rule_name": "WAF HC Alerts",
  • "status": "disabled"
}

Response samples

Content type
application/json
Example
{
  • "data": {
    },
  • "message": "Rule deleted successfully",
  • "status": "success"
}

List built-in audit log notification rule templates

Return built-in rule templates to help create rules quickly. Templates include template_id, name, description, and conditions only.

Condition object schema:

{
  "type": "object",
  "required": ["field", "operator", "value"],
  "properties": {
    "field": {
      "type": "string",
      "enum": ["level", "body", "service", "username", "action", "module"],
      "description": "Filter field mapped to backend log attributes (note: 'message' maps to 'body' at sender)."
    },
    "operator": {"type": "string", "enum": ["is", "is_not"], "description": "Match operator"},
    "value": {"type": "string", "maxLength": 100, "description": "Non-empty match value"}
  }
}
Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
{
  • "data": {
    },
  • "message": "Templates retrieved successfully",
  • "status": "success"
}

Asset Group

Global settings of asset groups.

Get Asset Group List

Get list of asset groups.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "limit": 16,
  • "total": 2
}

Create Asset Group

Create a new Asset Group with selected WAF assets and administrators.Each user can own at most 16 Asset Groups.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
{
  • "summary": "Create Asset Group with selected application id and user uuid",
  • "value": {
    }
}

Response samples

Content type
application/json
{
  • "detail": "Asset group was created."
}

Delete Asset Group

Delete asset group with given uuid.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "detail": "Delete asset group is successful."
}

Get Asset Group detail

Get detail of Asset Group.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update Asset Group

Update asset group with new data.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
{
  • "summary": "Create Asset Group with selected application id and user uuid",
  • "value": {
    }
}

Response samples

Content type
application/json
{
  • "detail": "Asset group was updated."
}

Settings

This section shows how to configure WAF general settings.

Get WAF Setting Configurations

Get the WAF setting configurations.

Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
{
  • "cr_recipients": "test@example.com",
  • "cr_status": "disabled",
  • "platform_option": "enabled",
  • "preferred_platform": "AWS",
  • "preferred_region": "us-east-1",
  • "support_platform_regions": [
    ]
}

Update WAF Setting Configurations

Modify the WAF settings.

A body including all parameters and values in the request that conforms to the following JSON schema:

```json { "type": "object", "required": [], "properties": {} }

After you update the configuration, the API will return successfully.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
No sample

Response samples

Content type
application/json
{
  • "detail": "WAF setting change success."
}

Delete Custom Block Page Image

Delete a Custom Block Page Image.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
query Parameters
name
required
string

Responses

Response samples

Content type
application/json
{
  • "message": "Operation is successful"
}

Get Custom Block Page Images list

Get the list of Custom Block Page images, including predefined image.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "total": 2,
  • "user_perm": "rw"
}

Upload New Custom Block Page Image

Upload Custom Block Page Image in base64 format.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
content
string

Image content. maximum size 24KB

description
string

Description of image

image_type
string
Enum: "png" "gif" "jpg" "tiff"

image type

name
string

Image name. maximum length is 30

Responses

Request samples

Content type
application/json
{
  • "content": "data:image/png;base64,VBORw0KGgoAAAANSUhEUgAAAEgAAA...",
  • "description": "Used for all blocking pages",
  • "image_type": "png",
  • "name": "Company_wide_block"
}

Response samples

Content type
application/json
{
  • "message": "Image '{{image_name}}' was uploaded successfully."
}

Modify existing Custom Block Page Image

Replace a existing Custom Block Page Image content with new image. Request body schema is same to the one of create.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
content
string

Image content. maximum size 24KB

description
string

Description of image

image_type
string
Enum: "png" "gif" "jpg" "tiff"

image type

name
string

Image name. maximum length is 30

Responses

Request samples

Content type
application/json
{
  • "content": "data:image/png;base64,VBORw0KGgoAAAANSUhEUgAAAEgAAA...",
  • "description": "Used for all blocking pages",
  • "image_type": "png",
  • "name": "Company_wide_block"
}

Response samples

Content type
application/json
{
  • "message": "Image '{{image_name}}' was edited successfully."
}

Delete Custom Block Page Message

Delete a Custom Block Page Message.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
query Parameters
name
required
string

message name. Predefined messages can not be deleted.

Responses

Response samples

Content type
application/json
{
  • "message": "Custom block page was deleted successfully"
}

Get Custom Block Page Messages List

Get the list of custom block page messages

Includes both predefined messages and customized messages.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "limit": 8,
  • "total": 4,
  • "user_perm": "rw"
}

Create Custom Block Page Message

Create a Custom Block Page Message.

Each user can create up to 8 customized messages. Images that is available in messages can be viewed by the image list API.A body including all parameters and values in the request that conforms to the following JSON schema:
{
    "type": "object",
    "properties": {
        "name": {
            "description": "The unique name of the Custom Block Message, with number, letter or underscore. Required. Maximum length is 30.",
            "type": "string"
        },
        "description": {
            "description": "The description of Custom Block Message. optional.",
            "type": "string"
        },
        "content": {
            "description": "The type of the Cloud Connector, required.",
            "type": "array",
            "properties": {
                "name": {
                    "description": "name of page, required.",
                    "type": "string",
                    "enum": ["Attack Block Page", "Server Unavailable Page", "Captcha Enforcement Page", "Captcha Block Page"]
                },
                "id": {
                    "description": "Identity of message, required. ",
                    "type": "string",
                    "enum": ["url-block", "server-inaccessible", "captcha-page", "captcha-block"]
                },
                "group": {
                    "description": "Group name. required.",
                    "type": "string",
                    "enum": ["Security", "Captcha"]
                },
                "http_response_code": {
                    "description": "Response code",
                    "type": "number"
                },
                "description": {
                    "description": "optional",
                    "type": "string"
                },
                "msg": {
                    "description": "Content of message detail, in HTML format. required.",
                    "type": "string",
                }
            }
        }
    }
}

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
content
Array of objects (SingleJsonObject)

In this array, there are 4 fixed items which name, group and http code are not editable

description
string

maximum length 256

name
string

message name. maximum length 30

type
string

Enum values: predefined, custom

Responses

Request samples

Content type
application/json
{
  • "content": [
    ],
  • "description": "for test",
  • "name": "new_page",
  • "type": "Custom"
}

Response samples

Content type
application/json
{
  • "message": "Custom block page was created successfully."
}

Modify Custom Block Page Message

Modify content of a Custom Block Message. Name is not editable.

Request body schema is same to the one of Creating Custom Block Page.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
content
Array of objects (SingleJsonObject)

In this array, there are 4 fixed items which name, group and http code are not editable

description
string

maximum length 256

name
string

message name. maximum length 30

type
string

Enum values: predefined, custom

Responses

Request samples

Content type
application/json
{
  • "content": [
    ],
  • "description": "for test",
  • "name": "new_page",
  • "type": "Custom"
}

Response samples

Content type
application/json
{
  • "message": "Custom block page was updated successfully."
}

Clone Custom Block Page Message

Create a custom block page message from existing one

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
from_name
string

cloned from this message

to_name
string

new message name

Responses

Request samples

Content type
application/json
{
  • "from_name": "Existing message name that is to be cloned",
  • "to_name": "new message name"
}

Response samples

Content type
application/json
{
  • "message": "Operation is successful"
}

Get Custom Block Page Message Detail

Get the detailed information of Custom Block Page Message. Response includes HTML content.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
message_name
required
string

Responses

Response samples

Content type
application/json
{
  • "content": [
    ],
  • "description": "Block and display error",
  • "name": "new_block_url",
  • "type": "Custom"
}

Delete Cloud Connector

Delete a Cloud Connector.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
query Parameters
name
required
string

connector name

Responses

Response samples

Content type
application/json
{
  • "detail": "Delete Cloud Connector successfully."
}

Get Cloud Connectors List

Get list of the configuration information of Cloud Connectors.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
{
  • "connectors": [
    ],
  • "total": "3",
  • "user_perm": "rw"
}

Create New Cloud Connector

Create a Cloud Connector.

A body including all parameters and values in the request that conforms to the following JSON schema:
{
    "type": "object",
    "properties": {
        "name": {
            "description": "The unique name of the Cloud Connector, required.",
            "type": "string"
        },
        "status": {
            "description": "The status of the Cloud Connector, required.",
            "type": "string",
            "enum": ["disable", "enable"]
        },
        "type": {
            "description": "The type of the Cloud Connector, required.",
            "type": "string",
            "enum": ["aws", "azure", "gcp"]
        },
        "region": {
            "description": "The region of the AWS Account, required if 'type': 'aws'.",
            "type": "string"
        },
        "access_key_id": {
            "description": "The Access Key ID of the AWS Account, required if 'type': 'aws'.",
            "type": "string"
        },
        "aws_secret_access_key": {
            "description": "The Secret Access Key of the AWS Account, required if 'type': 'aws'.",
            "type": "string"
        },
        "have_vpc_id": {
            "description": "Whether to specify VPC ID, required if 'type': 'aws'.",
            "type": "string",
            "enum": ["disable", "enable"]
        },
        "vpc_id": {
            "description": "The VPC ID of the AWS Account, required if 'type': 'aws' and 'have_vpc_id': 'enable'.",
            "type": "string"
        },
        "server_region": {
            "description": "The region of the Azure Account, required if 'type': 'azure'.",
            "type": "string",
            "enum": ["global", "china", "germany", "us_gov"]
        },
        "tenant_id": {
            "description": "The Tenant ID of the Azure Account, required if 'type': 'azure'.",
            "type": "string"
        },
        "client_id": {
            "description": "The Client ID of the Azure Account, required if 'type': 'azure'.",
            "type": "string"
        },
        "client_secret": {
            "description": "The Client Secret of the Azure Account, required if 'type': 'azure'.",
            "type": "string"
        },
        "have_resource_path": {
            "description": "Whether to specify Subscription ID, required if 'type': 'azure'.",
            "type": "string",
            "enum": ["disable", "enable"]
        },
        "subscription_id": {
            "description": "The Subscription ID of the Azure Account, required if 'type': 'azure' and 'have_resource_path': 'enable'.",
            "type": "string"
        },
        "have_resource_group": {
            "description": "Whether to specify Resource Group, required if 'type': 'azure' and 'have_resource_path': 'enable'.",
            "type": "string",
            "enum": ["disable", "enable"]
        },
        "resource_group": {
            "description": "The Resource Group of the Azure Account, required if 'type': 'azure' and 'have_resource_path': 'enable' and 'have_resource_group': 'enable'.",
            "type": "string"
        },
        "project_id": {
            "description": "The Project ID of the GCP Account, required if 'type': 'gcp'.",
            "type": "string"
        },
        "service_account_email": {
            "description": "The Service Account E-Mail of the GCP Account, required if 'type': 'gcp'.",
            "type": "string"
        },
        "private_key": {
            "description": "The Private Key of the GCP Account, required if 'type': 'gcp'.",
            "type": "string"
        },
        "zone": {
            "description": "The Zone of the GCP Account, required if 'type': 'gcp'.",
            "type": "string"
        }
    }
}

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Example Request:

AWS Request Body
{
    "name": "aws_connector_1",
    "status": "enable",
    "type": "aws",
    "region": "ap-southeast-1",
    "access_key_id": "XXXXXXXXXXXXXXXXXXXX",
    "aws_secret_access_key": "*",
    "have_vpc_id": "enable",
    "vpc_id": "vpc-0a268fa6b745cfb3a" 
}
GCP Request Body
{
    "name": "gcp_connector_1",
    "status": "enable",
    "type": "gcp",
    "project_id": "project-001",
    "service_account_email": "test@project-001.iam.gserviceaccount.com",
    "private_key": "*",
    "zone": "us-west1-a" 
}
Azure Request Body
{
    "name": "azure_connector_1",
    "status": "enable",
    "type": "azure",
    "server_region": "global",
    "tenant_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "client_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "client_secret": "*",
    "have_resource_path": "enable",
    "subscription_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "have_resource_group": "enable",
    "resource_group": "cldwafCluster_koreacentral_4" 
}
Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
Example
{
  • "detail": "Create Cloud Connector successfully."
}

Update Cloud Connector

Modify the Cloud Connector's configuration.

A body including all parameters and values in the request that conforms to the following JSON schema:
{
    "type": "object",
    "properties": {
        "name": {
            "description": "The unique name of the Cloud Connector, required.",
            "type": "string"
        },
        "status": {
            "description": "The status of the Cloud Connector, required.",
            "type": "string",
            "enum": ["disable", "enable"]
        },
        "type": {
            "description": "The type of the Cloud Connector, required.",
            "type": "string",
            "enum": ["aws", "azure", "gcp"]
        },
        "region": {
            "description": "The region of the AWS Account, required if 'type': 'aws'.",
            "type": "string"
        },
        "access_key_id": {
            "description": "The Access Key ID of the AWS Account, required if 'type': 'aws'.",
            "type": "string"
        },
        "aws_secret_access_key": {
            "description": "The Secret Access Key of the AWS Account, required if 'type': 'aws'.",
            "type": "string"
        },
        "have_vpc_id": {
            "description": "Whether to specify VPC ID, required if 'type': 'aws'.",
            "type": "string",
            "enum": ["disable", "enable"]
        },
        "vpc_id": {
            "description": "The VPC ID of the AWS Account, required if 'type': 'aws' and 'have_vpc_id': 'enable'.",
            "type": "string"
        },
        "server_region": {
            "description": "The region of the Azure Account, required if 'type': 'azure'.",
            "type": "string",
            "enum": ["global", "china", "germany", "us_gov"]
        },
        "tenant_id": {
            "description": "The Tenant ID of the Azure Account, required if 'type': 'azure'.",
            "type": "string"
        },
        "client_id": {
            "description": "The Client ID of the Azure Account, required if 'type': 'azure'.",
            "type": "string"
        },
        "client_secret": {
            "description": "The Client Secret of the Azure Account, required if 'type': 'azure'.",
            "type": "string"
        },
        "have_resource_path": {
            "description": "Whether to specify Subscription ID, required if 'type': 'azure'.",
            "type": "string",
            "enum": ["disable", "enable"]
        },
        "subscription_id": {
            "description": "The Subscription ID of the Azure Account, required if 'type': 'azure' and 'have_resource_path': 'enable'.",
            "type": "string"
        },
        "have_resource_group": {
            "description": "Whether to specify Resource Group, required if 'type': 'azure' and 'have_resource_path': 'enable'.",
            "type": "string",
            "enum": ["disable", "enable"]
        },
        "resource_group": {
            "description": "The Resource Group of the Azure Account, required if 'type': 'azure' and 'have_resource_path': 'enable' and 'have_resource_group': 'enable'.",
            "type": "string"
        },
        "project_id": {
            "description": "The Project ID of the GCP Account, required if 'type': 'gcp'.",
            "type": "string"
        },
        "service_account_email": {
            "description": "The Service Account E-Mail of the GCP Account, required if 'type': 'gcp'.",
            "type": "string"
        },
        "private_key": {
            "description": "The Private Key of the GCP Account, required if 'type': 'gcp'.",
            "type": "string"
        },
        "zone": {
            "description": "The Zone of the GCP Account, required if 'type': 'gcp'.",
            "type": "string"
        }
    }
}

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Example Request:

AWS Request Body
{
    "name": "aws_connector_1",
    "status": "enable",
    "type": "aws",
    "region": "ap-southeast-1",
    "access_key_id": "XXXXXXXXXXXXXXXXXXXX",
    "aws_secret_access_key": "*",
    "have_vpc_id": "enable",
    "vpc_id": "vpc-0a268fa6b745cfb3a" 
}
GCP Request Body
{
    "name": "gcp_connector_1",
    "status": "enable",
    "type": "gcp",
    "project_id": "project-001",
    "service_account_email": "test@project-001.iam.gserviceaccount.com",
    "private_key": "*",
    "zone": "us-west1-a" 
}
Azure Request Body
{
    "name": "azure_connector_1",
    "status": "enable",
    "type": "azure",
    "server_region": "global",
    "tenant_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "client_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "client_secret": "*",
    "have_resource_path": "enable",
    "subscription_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "have_resource_group": "enable",
    "resource_group": "cldwafCluster_koreacentral_4" 
}
Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
Example
{
  • "detail": "Update Cloud Connector successfully."
}

Get Filter Options List of a Selected Connector

Used in Origin Servers page. Get the filter options list of a specific cloud connector.

Authorizations:
ApiRequestAuthorizer
query Parameters
cloud_connector
required
string

connector name

Responses

Response samples

Content type
application/json
{
  • "detail": "Invalid request."
}

Get Public IP List of a Selected Resource

Used on Origin Servers page. Retrieve the public IP addresses list of a selected cloud resource.

A body including resource detail with JSON schema:

json {"cloud_connector":"name","filter":[{"Name":"tag:Name","Values":["filter value"]}]}

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
{
  • "cloud_connector": "connector name",
  • "filter": [
    ]
}

Response samples

Content type
application/json
{
  • "public_ip": [
    ],
  • "total": 2
}

Test Cloud Connector Connection

Test the Connector whether its connection can be established.

A body including all parameters and values in the request that conforms to the following JSON schema:
{
    "type": "object",
    "properties": {
        "type": {
            "description": "The type of the Cloud Connector, required.",
            "type": "string",
            "enum": ["aws", "azure", "gcp"]
        },
        "is_encrypted": {
            "description": "Whether it('aws_secret_access_key', 'client_secret', 'private_key') is encrypted or plain text, required.",
            "type": "string",
            "enum": ["true", "false"]
        },
        "region": {
            "description": "The region of the AWS Account, required on 'type': 'aws'.",
            "type": "string"
        },
        "access_key_id": {
            "description": "The Access Key ID of the AWS Account, required on 'type': 'aws'.",
            "type": "string"
        },
        "aws_secret_access_key": {
            "description": "The Secret Access Key of the AWS Account, required on 'type': 'aws'.",
            "type": "string"
        },
        "have_vpc_id": {
            "description": "Whether to specify VPC ID, required on 'type': 'aws'.",
            "type": "string",
            "enum": ["disable", "enable"]
        },
        "vpc_id": {
            "description": "The VPC ID of the AWS Account, required on 'type': 'aws' and 'have_vpc_id': 'enable'.",
            "type": "string"
        },
        "server_region": {
            "description": "The region of the Azure Account, required on 'type': 'azure'.",
            "type": "string",
            "enum": ["global", "china", "germany", "us_gov"]
        },
        "tenant_id": {
            "description": "The Tenant ID of the Azure Account, required on 'type': 'azure'.",
            "type": "string"
        },
        "client_id": {
            "description": "The Client ID of the Azure Account, required on 'type': 'azure'.",
            "type": "string"
        },
        "client_secret": {
            "description": "The Client Secret of the Azure Account, required on 'type': 'azure'.",
            "type": "string"
        },
        "have_resource_path": {
            "description": "Whether to specify Subscription ID, required on 'type': 'azure'.",
            "type": "string",
            "enum": ["disable", "enable"]
        },
        "subscription_id": {
            "description": "The Subscription ID of the Azure Account, required on 'type': 'azure' and 'have_resource_path': 'enable'.",
            "type": "string"
        },
        "have_resource_group": {
            "description": "Whether to specify Resource Group, required on 'type': 'azure' and 'have_resource_path': 'enable'.",
            "type": "string",
            "enum": ["disable", "enable"]
        },
        "resource_group": {
            "description": "The Resource Group of the Azure Account, required on 'type': 'azure' and 'have_resource_path': 'enable' and 'have_resource_group': 'enable'.",
            "type": "string"
        },
        "project_id": {
            "description": "The Project ID of the GCP Account, required on 'type': 'gcp'.",
            "type": "string"
        },
        "service_account_email": {
            "description": "The Service Account E-Mail of the GCP Account, required on 'type': 'gcp'.",
            "type": "string"
        },
        "private_key": {
            "description": "The Private Key of the GCP Account, required on 'type': 'gcp'.",
            "type": "string"
        },
        "zone": {
            "description": "The Zone of the GCP Account, required on 'type': 'gcp'.",
            "type": "string"
        }
    }
}

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Example Request:

AWS Request Body
{
    "type": "aws",
    "region": "ap-southeast-1",
    "access_key_id": "XXXXXXXXXXXXXXXXXXXX",
    "is_encrypted": "false",
    "aws_secret_access_key": "*",
    "have_vpc_id": "enable",
    "vpc_id": "vpc-04168fa6b745cfb3a"
}
GCP Request Body
{
    "type": "gcp",
    "project_id": "project-001",
    "service_account_email": "test@project-001.iam.gserviceaccount.com",
    "is_encrypted": "false",
    "private_key": "*",
    "zone": "us-west1-a" 
}
Azure Request Body
{
    "type": "azure",
    "server_region": "global",
    "tenant_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "client_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "is_encrypted": "false",
    "client_secret": "*",
    "have_resource_path": "enable",
    "subscription_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
    "have_resource_group": "enable",
    "resource_group": "cldwafCluster_koreacentral_4" 
}
Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
Example
{
  • "detail": "Connect the Cloud Connector successfully."
}

Get fabric connector status list

Get fabric connector status list

Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Set fabric connection to FGT

Set fabric connection to FGT. Each user can create at most one connection.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
ip
string

FGT IP

port
string

FGT port

Responses

Request samples

Content type
application/json
{
  • "ip": "string",
  • "port": "string"
}

Response samples

Content type
application/json
{
  • "message": "Success"
}

Delete fabric connector

Delete selected fabric connector. Path parameter ip should be in the format of 1_2_3_4

Authorizations:
ApiRequestAuthorizer
path Parameters
ip
required
string

Responses

Response samples

Content type
application/json
{
  • "message": "Success"
}

Activate/Deactivate Fabric Connector

Change the status of selected Fabric connector to active or inactive. Path parameter ip should be in the format of 1_2_3_4

Authorizations:
ApiRequestAuthorizer
path Parameters
ip
required
string
Request Body schema: application/json
status
boolean

true to enable the connection

Responses

Request samples

Content type
application/json
{
  • "status": false
}

Response samples

Content type
application/json
{
  • "message": "Success"
}

List Identity Providers

List all identity providers for the authenticated user.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
{}

Create Identity Provider

Create a new identity provider for the authenticated user.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
entity_id
string

Entity ID

name
string

Identity provider name

slo_url
string

SLO URL

sso_url
string

SSO URL

type
string

Identity provider type: manual or upload

x509_cert
string

X509 certificate

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "message": "Identity provider was created successfully."
}

Delete Identity Provider

Delete an identity provider for the authenticated user.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
idp_name
required
string
Example: {{idp_name}}

The identity provider name.

Responses

Response samples

Content type
application/json
{
  • "message": "Identity provider was deleted successfully."
}

Update Identity Provider

Update an existing identity provider for the authenticated user.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
idp_name
required
string
Example: {{idp_name}}

The identity provider name.

Request Body schema: application/json
entity_id
string

Entity ID

name
string

Identity provider name

slo_url
string

SLO URL

sso_url
string

SSO URL

type
string

Identity provider type: manual or upload

x509_cert
string

X509 certificate

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "message": "Identity provider was updated successfully."
}

Get SOCaaS status

Get status of SOCaaS.
Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
{ }

Delete Custom Waiting Room Page

Delete a Custom Waiting Room Page.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
query Parameters
name
required
string

page name. Predefined pages can not be deleted.

Responses

Response samples

Content type
application/json
{
  • "message": "Custom waiting room page was deleted successfully"
}

Get Custom Waiting Room Pages List

Get the list of custom waiting room pages

Includes both predefined pages and customized pages.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "limit": 10,
  • "total": 3,
  • "user_perm": "rw"
}

Create Custom Waiting Room Page

Create a Custom Waiting Room Page.

Each user can create up to 10 customized waiting room pages. Images that is available in pages can be viewed by the image list API.A body including all parameters and values in the request that conforms to the following JSON schema:
{
    "type": "object",
    "properties": {
        "name": {
            "description": "The unique name of the Custom Waiting Room Page, with number, letter or underscore. Required. Maximum length is 30.",
            "type": "string"
        },
        "description": {
            "description": "The description of Custom Waiting Room Page. optional.",
            "type": "string"
        },
        "page_content": {
            "description": "The HTML content of the waiting room page.",
            "type": "string"
        }
    }
}

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
description
string

maximum length 256

name
string

waiting room page name. maximum length 30

page_content
string

HTML content of the waiting room page

type
string

Enum values: predefined, custom

Responses

Request samples

Content type
application/json
{
  • "description": "{{constructor.constructor(&#x27;alert(1)&#x27;)()}}aaa",
  • "name": "11",
  • "page_content": "...some HTML/CSS <!DOCTYPE html PUBLIC \"...",
  • "type": "Custom"
}

Response samples

Content type
application/json
{
  • "message": "Custom waiting room page was created successfully."
}

Modify Custom Waiting Room Page

Modify content of a Custom Waiting Room Page. Name is not editable.

Request body schema is same to the one of Creating Custom Waiting Room Page.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
description
string

maximum length 256

name
string

waiting room page name. maximum length 30

page_content
string

HTML content of the waiting room page

type
string

Enum values: predefined, custom

Responses

Request samples

Content type
application/json
{
  • "description": "{{constructor.constructor(&#x27;alert(1)&#x27;)()}}aaa",
  • "name": "11",
  • "page_content": "...some HTML/CSS <!DOCTYPE html PUBLIC \"...",
  • "type": "Custom"
}

Response samples

Content type
application/json
{
  • "message": "Custom waiting room page was updated successfully."
}

Clone Custom Waiting Room Page

Clone a Custom Waiting Room Page.

Create a copy of an existing Custom Waiting Room Page with a new name.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
from_name
required
string

Source waiting room page name

to_name
required
string

Target waiting room page name

Responses

Request samples

Content type
application/json
{
  • "from_name": "test",
  • "to_name": "test_2"
}

Response samples

Content type
application/json
{
  • "message": "Operation is successful"
}

Get Custom Waiting Room Page Detail

Get the detailed information of Custom Waiting Room Page. Response includes HTML content.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
page_name
required
string

Responses

Response samples

Content type
application/json
{
  • "description": "{{constructor.constructor(&#x27;alert(1)&#x27;)()}}aaa",
  • "name": "11",
  • "page_content": "...some HTML/CSS <!DOCTYPE html PUBLIC \"...",
  • "type": "Custom"
}

Template Basic

This section shows how to configure template.

Get Templates List

List the current templates.

Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
{
  • "result": [
    ],
  • "total": 6,
  • "user_perm": "rw"
}

Create Template

Create a new template.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
endpoints
Array of strings

Endpoints list

name
string

Template name

Responses

Request samples

Content type
application/json
{
  • "endpoints": [
    ],
  • "name": "template-name"
}

Response samples

Content type
application/json
{
  • "detail": "Template created"
}

Clone Template

Create a new template from the existing one.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
from_template
string

Source template ID

name
string

Template name

Responses

Request samples

Content type
application/json
{
  • "from_template": "e50cbdc9-e4fa-5aca-963c-f115fb63b7ba",
  • "name": "template-clone-name"
}

Response samples

Content type
application/json
{
  • "detail": "Template cloned"
}

Delete Template

Delete the template.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string

Template ID

Responses

Response samples

Content type
application/json
{
  • "detail": "Template deleted"
}

Get Template

Fetch the template detail.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string

Template ID

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template

Update the template.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string

Template ID

Request Body schema: application/json
endpoints
Array of strings

Endpoint ID

Responses

Request samples

Content type
application/json
{
  • "endpoints": [
    ]
}

Response samples

Content type
application/json
{
  • "detail": "Template updated"
}

Template Modules

This section shows how to configure modules of a template.

Get Template Account Takeover

Get the configuration of account takeover of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template Account Takeover

Update the configuration of account takeover of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (AccountTakeover)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template Anomaly Detection

Get the configuration of anomaly detection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template Anomaly Detection

Update the configuration of anomaly detection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (AnomalyDetection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": true
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template API Gateway Policy

Get the configuration of API gateway policy of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template API Gateway Policy

Update the configuration of API gateway policy of the template.

To add a new API user, a sample body is added to the request that conforms to the following JSON schema:

"api_user": [
  {
    "name": "user1",
    "email": "user1@sina.com",
    "comments": "user1",
    "ip-access-list": ["1.1.1.1"],
    "http-referer-list": ["www.sina.com"]
  },
]

To add a new API policy, a sample body is added to the request that conforms to the following JSON schema:

"api_policy": [
  {
    "api-key-verification": "enable",
    "api-key-location": "http-header",
    "match-url-prefixes": [
      {
        "frontend-prefix": "/front_prefix",
        "backend-prefix": "/back_prefix"
      }
    ],
    "api-user-list": ["he"],
    "rate-limit-period": 1,
    "rate-limit-requests": 60,
    "name": "rule1",
    "header-field-name": "header1"
  },
]

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (APIGateway)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template OpenAPI Validation

Get the configuration of OpenAPI validation policy of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template OpenAPI Validation

Update the configuration of OpenAPI validation policy of the template.

The data format in the request is multipart/form-data. Refer to the Request body for more detail information

The keywords of the form are template_status, _status, action, OpenAPIValidationPolicy.

The keyword format of the uploaded file is: the prefix file_ + the array index of each rule, for example, file_1.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
One of
required
object (ApiProtection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "file_1": "{binary}",
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template Biometrics Based Detection

Get the configuration of biometrics based detection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template Biometrics Based Detection

Update the configuration of biometrics based detection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (BiometricsBasedDetection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template Bot Deception

Get the configuration of bot deception of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template Bot Deception

Update the configuration of bot deception of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (BotDeception)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template Caching and Compression

Get the web cache policy and file compress rule of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template Caching and Compression

Update the web cache policy and file compress rule of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (CachingAndCompression)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template Cookie Security

Get the configuration of cookie security of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template Cookie Security

Update the configuration of cookie security of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (CookieSecurity)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template CORS Protection

Get the configuration of CORS protection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{ }

Update Template CORS Protection

Update the configuration of CORS protection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (CorsProtection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template CSRF Protection

Get the configuration of CSRF protection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template CSRF Protection

Update the configuration of CSRF protection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (CSRFProtection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template Custom Rule

Get the configuration of custom rule of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Get Template DDoS Prevention

Get the configuration of DDoS prevention of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template DDoS Prevention

Update the configuration of DDoS prevention of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (DDoSPrevention)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Export DDoS IP Exception list

Export DDoS IP Exception list of Template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Get Template File Protection

Get the configuration of file protection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template File Protection

Update the configuration of file protection of the template.

The table below shows the keys and values of "file-type-id" and "file-type-name".

file-type-idfile-type-name
00001GIF
00002JPG
00010BMP
00018PNG
00019TIFF/TIF
00023Windows Metafile Format(.wmf)
00024Corel Draw Picture
00028Windows Icon
00030Microsoft Document Image(.mdi)
00032Windows Enhanced Metafile(.emf)
00038Photoshop Image File(.psd)
00050JPEG-2000 Image File Format(.jp2)
00054Multipage PCX Bitmap File(.dcx)
00059XPS
00089TXT
00060Word(.docx)
00061Word Macro-Enabled(.docm)
00062Word Template(.dotx)
00063Word Macro-Enabled Template(.dotm)
00064Excel(.xlsx)
00065Excel Macro-Enabled(.xlsm)
00066Excel Template(.xltx)
00067Excel Macro-Enabled Template(.xltm)
00068Excel Add-In(.xlam)
00069PPT(.pptx)
00070PPT Macro-Enabled(.pptm)
00071PPT Template(.potx)
00072PPT Macro-Enabled Template(.potm)
00073PPT Add-In(.ppam)
00074PPT Show(.ppsx)
00075PPT Macro-Enabled Show(.ppsm)
00076Visio Drawing(.vsdx)
00077Visio Macro-Enabled Drawing(.vsdm)
00078Visio Stencil(.vssx)
00079Visio Macro-Enabled Stencil(.vssm)
00080Visio Template(.vstx)
00081Visio Macro-Enabled Template(.vstm)
00003PDF
00004XML
00021CHM
00022EXE
00026RTF
00036Windows Help File(.hlp)
00042Windows Mobile Note(.pwi)
00043Windows Registry Text(.reg)
00046SQL Server 2000 Database(.mdf)
00047Java Archive(.jar)
00048Windows Printer Spool File(.shd)
00049Windows Shortcut File(.lnk)
00051Quark Express Document(.qxd)
00053Windows MS Info File(.mof)
00055Microsoft Access Database(.MDB)
00056SPSS Data(.SAV)
00083RedHat Package Manager file(.RPM)
00082VMware Virtual Disk File(.vmdk)
00084Lotus WordPro document(.LWP)
00085Adobe encapsulated PostScript file(.EPS)
00086Lotus 1-2-3 spreadsheet(.WK)
00087SkinCrafter skin file(.skf)
00088Nero CD Compilation(.NRI)
00090Microsoft Office Word(.doc)
00091Microsoft Office Excel(.xls)
00092Microsoft Office PowerPoint(.ppt)
00093Hancom Office Hanword(.hwp)
00005MP3
00006MIDI
00007WAVE
00031Apple CoreAudio(.caf)
00037Microsoft Advanced Streaming(.asf)
00039Real Audio File(.ra)
00044Apple Lossless Audio(.m4a)
00052Digital Speech Standard(.dss)
00011Real Media File(.rm)
00012MPEG v4
000133GPP
00015AVI
00020Macromedia Flash
00035Windows Animated Cursor
00045DVD Video Movie File(.vob)
00008RAR
00009ZIP
00017TAR
000257-ZIP
00027Debian Package
00029Microsoft Cabinet File
00033Unix Archiver File(.ar)
00034Installshield Cabinet Archive Data
00040AIN Archive Data(.ain)
00041BZIP2 Archive(.bz2)
00057WinZIP ZIPX Archive(ZIPx)
00058Gzipped Tape Archive(TGZ)
00094TXT(.txt)
00095ZIP(.zip)
000967-ZIP(.7z)
00097Debian Package(.pkg)
00098Unix Archiver File(.ar)
00099AIN Archive Data(.ain)
00100BZIP2 Archive(.bz2)
00101Gzipped Tape Archive(.tgz)
00102Word(.docx)
00103Word Macro-Enabled(.docm)
00104Word Template(.dotx)
00105Word Macro-Enabled Template(.dotm)
00106Excel(.xlsx)
00107Excel Macro-Enabled(.xlsm)
00108Excel Template(.xltx)
00109Excel Macro-Enabled Template(.xltm)
00110Excel Add-In(.xlam)
00111PPT(.pptx)
00112PPT Macro-Enabled(.pptm)
00113PPT Template(.potx)
00114PPT Macro-Enabled Template(.potm)
00115PPT Add-In(.ppam)
00116PPT Show(.ppsx)
00117PPT Macro-Enabled Show(.ppsm)
00118Visio Drawing(.vsdx)
00119Visio Macro-Enabled Drawing(.vsdm)
00120Visio Stencil(.vssx)
00121Visio Macro-Enabled Stencil(.vssm)
00122Visio Template(.vstx)
00123Visio Macro-Enabled Template(.vstm)
00124PDF(.pdf)
00125XML(.xml)
00126EXE(.exe)
00127Rich Text Format(.rtf)
00128Windows Help File(.hlp)
00129Windows Mobile Note(.pwi)
00130Windows Registry Text(.reg)
00131SQL Server 2000 Database(.mdf)
00132Java Archive(.jar)
00133Windows Printer Spool File(.shd)
00134Windows Shortcut File(.lnk)
00135Quark Express Document(.qxd)
00136Windows MS Info File(.mof)
00137Microsoft Access Database(.MDB)
00138SPSS Data(.SAV)
00139RedHat Package Manager file(.RPM)
00140VMware Virtual Disk File(.vmdk)
00141Adobe encapsulated PostScript file(.EPS)
00142SPSS Data(.SAV)
00145Lotus 1-2-3 spreadsheet(.WK)
00146SkinCrafter skin file(.skf)
00147Nero CD Compilation(.NRI)
00148Microsoft Office Word(.doc)
00149Microsoft Office Excel(.xls)
00150Microsoft Office PowerPoint(.ppt)
00151Hancom Office Hanword(.hwp)
00152PHP(.php)
00153JSP(.jsp)
00154ASPX(.aspx)
00155GIF(.gif)
00156JPG(.jpg)
00157BMP(.bmp)
00158SPSS Data(.SAV)
00159Windows Metafile Format(.wmf)
00160Windows Icon(.icon)
00161Microsoft Document Image(.mdi)
00162Windows Enhanced Metafile(.emf)
00163Photoshop Image File(.psd)
00164JPEG-2000 Image File Format(.jp2)
00165Multipage PCX Bitmap File(.dcx)(.SAV)
00166SQL(.sql)

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (FileProtection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Export Geo IP Exception list

Export Geo IP Exception list of Template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Get Template GraphQL protection

Get the configuration of GraphQL protection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template GraphQL protection

Update the configuration of GraphQL protection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (GraphQLProtection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template HTTP Header Security

Get the configuration of HTTP header security of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template HTTP Header Security

Update the configuration of HTTP header security of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (HttpHeaderSecurity)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template Information Leakage

Get the configuration of information leakage of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template Information Leakage

Update the configuration of information leakage of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (InformationLeakage)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template IP Protection

Get the configuration of IP protection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template IP Protection

Update the configuration of IP protection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (IPProtectionPut)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Export IP Protection list

Export IP Protection list of Template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Get Template JSON Protection

Get the configuration of JSON protection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template JSON Protection

Update the configuration of JSON protection of the template.

The data format in the request is multipart/form-data. Refer to the Request body for more detail information

The keywords of the form are template_status, _status, action, jsonsecuritypolicy.

The keyword format of the uploaded file is: the prefix file_ + the name of each rule, for example, file_test1.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (JsonProtection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "file_test_rule1": "{binary}",
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template Known Attacks

Get the configuration of known attacks of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template Known Attacks

Update the configuration of known attacks of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (KnownAttacks)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template Known Bots

Get the configuration of known bots of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template Known Bots

Update the configuration of known bots of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (KnownBots)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template MITB Protection

Get the configuration of MITB protection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{}

Update Template MITB Protection

Update the configuration of MITB protection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (MITBProtection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template ML Based API Protection

Get the configuration of ML baased API protection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template ML Based API Protection

Update the configuration of ML baased API protection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (MlApiProtection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template Machine Learning Bot Detection

Get the configuration of machine learning bot detection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template Machine Learning Bot Detection

Update the configuration of machine learning bot detection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (MLBotDetection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template Mobile API Protection

Get the configuration of mobile API protection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template Mobile API Protection

Update the configuration of mobile API protection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (MobileAPIProtection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template Modules

Get all modues' status of the user's template. A sample response body conforms to the following JSON schema:

  • id: The ID of the module
  • status: If the module is enabled or disabled
    [
    {
      "id": "knownattacks",
      "status": "disable"
    },
    ]
    
    Requires API key secret as Authorization request header. See Request format section for API key secret details.
Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Update Template Modules

Modify Modules configuration of the template. A sample request body conforms to the following JSON schema:

  • id: The ID of the module
  • status: If the module is enabled or disabled
    [
    {
      "id": "urlaccess",
      "status": "enable"
    },
    ]
    
    Requires API key secret as Authorization request header. See Request format section for API key secret details.
Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
Array
id
required
string
Enum: "known_attacks" "anomaly_detection" "information_leakage" "cookie_security" "file_protection" "parameter_validation" "http_header_security" "csrf_protection" "mitb_protection" "request_limits" "url_access" "ip_protection" "known_bots" "threshold_detection" "ml_bot_detection" "biometrics_based_detection" "bot_deception" "ddos_prevention" "custom_rule" "web_socket_security" "api_protection" "api_gateway" "mobile_api_protection" "json_protection" "xml_protection_policy" "ml_api_protection" "graphql_protection" "account_takeover" "rewriting_requests" "caching_compression" "global_trust_list_parameter" "cors_protection" "waiting_room" "advanced_bot_protection"

The ID of the module

status
required
string
Enum: "enable" "disable"

If the module is enabled or disabled

Responses

Request samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Response samples

Content type
application/json
{
  • "detail": "Module configuration changed successfully."
}

Get Template Parameter Validation

Get the configuration of parameter validation of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template Parameter Validation

Update the configuration of parameter validation of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (ParameterValidation)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template Request Limits

Get the configuration of request limits of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template Request Limits

Update the configuration of request limits of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (RequestLimits)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template Rewriting Requests

Get the configuration of rewriting requests of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template Rewriting Requests

Update the configuration of rewriting requests of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (RewritingRequests)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template Threshold Based Detection

Get the configuration of bot detection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template Threshold Based Detection

Update the configuration of bot detection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (BotDetection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template URL Access

Get the configuration of URL access of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template URL Access

Update the configuration of URL access of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (UrlAccess)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template Waiting Room Configuration

Get the configuration of waiting room of an application template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: 4695fb20-ca97-11ea-9281-c24bb2f2e85d

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template Waiting Room Configuration

Update the configuration of waiting room of an application template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: 4695fb20-ca97-11ea-9281-c24bb2f2e85d

The template ID.

Request Body schema: application/json
required
object (WaitingRoom)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template WebSocket Security

Get the configuration of WebSocket security of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template WebSocket Security

Update the configuration of WebSocket security of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (WebSocketSecurity)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    }
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Template XML Protection

Get the configuration of XML protection of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Template XML Protection

Update the configuration of XML protection of the template.

The data format in the request is multipart/form-data. Refer to the Request body for more detail information

The keywords of the form are template_status, _status, action, XMLProtectionPolicy.

The keyword format of the uploaded file is: the prefix file_ + the name of each rule, for example, file_test_xml_01.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (XMLProtection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "file_test_xml_01": "{binary}",
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Application Basic

This section shows how to configure application.

List Applications

List all applications that you own.`/waf/apps?size={{size}}&filter={{filter}}&forward={{forward}}&cursor={{cursor}}`
List all applications with basic information.`/waf/apps?partial={{partial}}`
List predefined custom ports.`/waf/apps?custom_ports={{custom_ports}}`

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
query Parameters
forward
string

True: the next page.

False: the previous page.

filter
string

The filter should like: [{"id":"domain_name", "logic":{}, "value":["www1.demo.com"]}], then URL encode this filter string and put this in filter parameter.

The available "id" of filter are ["app_name", "domain_name", "block_mode", "platform", "owner", "data", "blocked_req", "req", "template_name"].

cursor
string

To list the items of the first page, leave the cursor value empty.

To go forward to next page, get the value of the 'next_cursor' parameter in the result of the current page, then paste it here as the cursor value.

To go to the previous page, get the 'prev_cursor' value, then paste it here as the cursor value.

size
string

An integer, the page size. The value shall be 10, 20, 30.

partial
string

Basic marker.

custom_ports
string

The vaules for the {{custom_ports}} are ['http', 'https', 'all']

Responses

Response samples

Content type
application/json
Example
{
  • "app_list": [
    ],
  • "can_add": 1,
  • "next_cursor": "",
  • "prev_cursor": "",
  • "total": 1
}

Create Application

Create a new application.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
app_name
string

The application name

Responses

Request samples

Content type
application/json
{
  • "app_name": "wl_us1",
  • "block_mode": 0,
  • "cdn_status": 0,
  • "continent": "NA",
  • "custom_port": {
    },
  • "domain_name": "www.example.com",
  • "extra_domains": [
    ],
  • "head_availability": 1,
  • "head_status_code": 404,
  • "is_global_cdn": 1,
  • "oc_gslb": {
    },
  • "platform": "AWS",
  • "region": "us-east-1",
  • "server_address": "93.184.216.34",
  • "server_country": "United States",
  • "server_type": "https",
  • "service": [
    ]
}

Response samples

Content type
application/json
{
  • "detail": "Invalid HTTP method"
}

Delete Application

Delete an application.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "detail": "Get application status failed"
}

Get Application

Get some brief information of an application.`/waf/apps/{{ep_id}}`
Get application DNS status.`/waf/apps/{{ep_id}}?dns_resolve=true`

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

query Parameters
dns_resolve
boolean

Responses

Response samples

Content type
application/json
Example
{
  • "app_name": "wl_us1",
  • "block_mode": 0,
  • "domain_name": "www.example.com",
  • "fsa_status": 1,
  • "waf_regions": [
    ]
}

Update Application

Update application, including app_name, user alias, and CDN status.`/waf/apps/{{ep_id}}`
Update application DNS status.`/waf/apps/{{ep_id}}?dns_resolve=true`

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

query Parameters
dns_resolve
boolean
Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
Example
{
  • "app_name": "test",
  • "cdn_status": 0,
  • "continent": "NA",
  • "is_global_cdn": 0,
  • "region": "us-east-1",
  • "user_name": "foo"
}

Response samples

Content type
application/json
{
  • "detail": "Get application status failed"
}

Get Site Publish Settings

Get site publish settings for an application.

Requires API key secret as Authorization request header.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID.

Responses

Response samples

Content type
application/json
{
  • "rules": [ ],
  • "security_controls": {
    },
  • "status": false
}

Update Site Publish Settings

Update site publish settings for an application.

Requires API key secret as Authorization request header.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID.

Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
{
  • "rules": [
    ],
  • "security_controls": {
    },
  • "status": true
}

Response samples

Content type
application/json
{
  • "detail": "Site publish configuration saved successfully."
}

Download SP SAML Metadata

Generate and download the Service Provider (SP) SAML metadata XML.

The response is a downloadable XML file that can be uploaded directly to the IdP to complete the SAML trust relationship setup.

Requires API key secret as Authorization request header.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID.

Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
{
  • "acs_bind": "POST",
  • "acs_path": "/SAML2/POST",
  • "custom_sp_cert_type": "default",
  • "entity_id": "https://gitlab.acme.com",
  • "idp_name": "okta-corporate",
  • "service_path": "/saml.sso",
  • "slo_bind": "POST",
  • "slo_path": "/SLO/POST"
}

Response samples

Content type
application/samlmetadata+xml
<?xml version="1.0"?><md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" entityID="https://gitlab.acme.com">...</md:EntityDescriptor>

Configure Block Mode

Enable/Disable the block mode.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
block_mode
integer
Enum: 0 1

Select 0 to disable the block mode, or select 1 to enable the block mode

Responses

Request samples

Content type
application/json
{
  • "block_mode": 1
}

Response samples

Content type
application/json
{
  • "detail": "Get application status failed"
}

Get Endpoint Modules

Get all modules' status of the EndPoint. A sample response body conforms to the following JSON schema:

  • id: The ID of the module
  • status: If the module is enabled or disabled
  • inherited: If the module uses the configuration which is inherited from the template
    [
    {
      "id": "knownattacks",
      "status": "disable",
      "inherited": "enable"
    },
    ]
    
    Requires API key secret as Authorization request header. See Request format section for API key secret details.
Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Update Endpoint Modules

Modify Modules configuration of the Endpoints. A sample request body conforms to the following JSON schema:

  • id: The ID of the module
  • status: If the module is enabled or disabled
    [
    {
      "id": "knownattacks",
      "status": "disable"
    },
    ]
    
    After you update the configuration, the API will return successfully.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
Array
id
required
string
Enum: "known_attacks" "anomaly_detection" "information_leakage" "cookie_security" "file_protection" "parameter_validation" "http_header_security" "csrf_protection" "mitb_protection" "request_limits" "url_access" "ip_protection" "known_bots" "threshold_detection" "ml_bot_detection" "biometrics_based_detection" "bot_deception" "ddos_prevention" "custom_rule" "web_socket_security" "api_protection" "api_gateway" "mobile_api_protection" "json_protection" "xml_protection_policy" "ml_api_protection" "graphql_protection" "account_takeover" "rewriting_requests" "caching_compression" "global_trust_list_parameter" "content_routing" "cors_protection" "waiting_room" "advanced_bot_protection"

The ID of the module

inherited
string
Enum: "enable" "disable"

If the module uses the configuration which is inherted from the template

status
required
string
Enum: "enable" "disable"

If the module is enabled or disabled

Responses

Request samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Response samples

Content type
application/json
{
  • "detail": "Module configuration changed successfully."
}

Do Connection Test

Test whether the web service of a server for the protected domain is available or not.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
query Parameters
domain_name
required
string

The fully-qualified domain name (FQDN) of the server.

backend_type
required
string

The IP or Domain which indicates how you want to define the server. The valid values are HTTP and HTTPS.

backend_ip
required
string

The IP address of the origin server.

backend_port
string

The TCP port number where the server listens for connections. The number is an integer, and the valid range is from 1 to 65,535.

Responses

Response samples

Content type
application/json
{
  • "head_availability": 1,
  • "head_status_code": 404,
  • "network_connectivity": 1
}

Do DNS Lookup

Check DNS lookup utility. FortiAppSec Cloud parses the protected domain name specified to obtain the IP and CNAME if any.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
Request Body schema: application/json
domain
string

Responses

Request samples

Content type
application/json
{
  • "domain": "www.kernel.org"
}

Response samples

Content type
application/json
{
  • "A": [
    ],
  • "CNAME": [
    ]
}

Get Known Bot Info

Get the known bad bot list by category name.

Requires API key secret as Authorization request header. See Authentication section for API key secret details.

Authorizations:
ApiRequestAuthorizer
query Parameters
category
required
string

Category of bad bot. Should be one of the categories in DoS Spam Trojan Scanner Crawler

bots-type
required
string

Responses

Response samples

Content type
{
  • "detail": "successfully",
  • "result": {
    }
}

List waf ip address

List allow WAF ip of applications.`/misc/management_ip?filter={{filter}}`

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Dashboard

This section shows how to configure module dashboard.

Get found domains

Retrieve a summary of found domains, grouped by a specified category.`/home/dashboard/csp/domain_found?groupby={{groupby}}`
Available grouping options.'risk': Possible values are: [Low|Medium|High|Very High| No Data] 'status': Possible values are: [Allowed|Blocked] 'category': Get its top 10 count categories and others as 11th category.
Authorizations:
ApiRequestAuthorizer
query Parameters
groupby
string
Enum: "risk" "status" "category"

The field to group the results by. Possible values are 'risk', 'status', 'category'

Responses

Response samples

Content type
application/json
Example
{
  • "high_risk": 10,
  • "low_risk": 70,
  • "medium_risk": 20,
  • "total": 100
}

Get found JS scripts

Retrieve a summary of found JS scripts, grouped by a specified category.`/home/dashboard/csp/js_found?groupby={{groupby}}`
Available grouping options.'risk': Possible values are: [Low|Medium|High|Very High| No Data] 'status': Possible values are: [Allowed|Blocked] 'type': Possible values are: [Inline|3rd Party|origin] 'reviewed': Possible values are: [Needs Review|Reviewed]
Authorizations:
ApiRequestAuthorizer
query Parameters
groupby
string
Enum: "risk" "status" "type" "reviewed"

The field to group the results by. Possible values are 'risk', 'status', 'type', and 'reviewed'.

Responses

Response samples

Content type
application/json
Example
{
  • "allowed": 150,
  • "blocked": 25
}

Get PCI tasks

Retrieve a summary of PCI tasks.`/home/dashboard/csp/pci_tasks`
PCI compliance task categories.
Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
Example
{
  • "alerts": true,
  • "scripts_needs_review": {
    },
  • "security_header_changed": 1
}

Get Server Status Data for Waf Dashboard

Get the information of server status on DASHBOARD tab.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer

Responses

Response samples

Content type
application/json
{
  • "counter": {
    },
  • "servers": [
    ]
}

Get Data of Application Dashboard Widgets

Get request data of widgets on Waf Dashboard page.Requires API key secret as `Authorization` request header. See Request format section for API key secret details.
Authorizations:
ApiRequestAuthorizer
query Parameters
timespan
required
string

['last_hour', 'last_24_hours', 'last_7_days', 'last_14_days']. No default value.

local_timezone
string

Specify your local timezone with minutes format, like -480 (-08:00) or 120(+02:00).

Responses

Response samples

Content type
application/json
{
  • "20190610T023000": {
    },
  • "20190610T024500": {
    },
  • "20190610T030000": {
    },
  • "20190610T031500": {
    },
  • "20190610T033000": {
    }
}

Get Data of Waf Dashboard Throughput Widgets

Get throughput data of widgets on Waf Dashboard page.Requires API key secret as `Authorization` request header. See Request format section for API key secret details.
Authorizations:
ApiRequestAuthorizer
query Parameters
timespan
required
string

['last_hour', 'last_24_hours', 'last_7_days', 'last_14_days']. No default value.

local_timezone
string

Specify your local timezone with minutes format, like -480 (-08:00) or 120(+02:00).

Responses

Response samples

Content type
application/json
{
  • "20190606T160000": {
    },
  • "20190606T170000": {
    },
  • "20190606T180000": {
    }
}

Get Data of Application Dashboard Widgets

Get data of widgets on Application Dashboard page.Parameter 'category' is required to specify which widget you want to view.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
query Parameters
category
required
string

The values for this variable are ["month_sum", "lic_info", "req", "tp"].It is required parameter and has no default value.

  • month_sum: Return the monthly statistics of the endpoint, such as total throughput, total requests, total blocked requests, the user's subscribed bandwidth, and usage bandwidth, etc.
  • lic_info: Return user's license type and the expiration date.
  • req: Return allowed requests and blocked requests.
  • tp: Return the HTTPS throughput and HTTP throughput.
timespan
required
string

This parameter is required if category equals to 'tp' or 'req'. Value could be one of ['last_hour', 'last_24_hours', 'last_7_days', 'last_14_days']. No default value.

local_timezone
string

Specify your local timezone with minutes format, like -480 (-08:00) or 120(+02:00).

Responses

Response samples

Content type
application/json
Example
{
  • "20190606T160000": {
    },
  • "20190606T170000": {
    },
  • "20190606T180000": {
    }
}

Get OWASP Top 10 Data for Application Dashboard

Get OWASP TOP 10 data for Application Dashboard.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string

The application ID, it can be obtained from List Applications API.

query Parameters
timespan
required
string

Available values include: last_hour, last_24_hours and last_7_days

Responses

Response samples

Content type
application/json
[
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    },
  • {
    }
]

Get Server Status Data for Application Dashboard

Get the information of server status on DASHBOARD tab.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "counter": {
    },
  • "servers": [
    ]
}

Get Threat Level History for Application Dashboard

Get the information of threat level history on DASHBOARD tab.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string

The application ID, it can be obtained from List Applications API.

query Parameters
timespan
required
string
Enum: "last_24_hours" "last_7_days" "last_14_days" "last_30_days"
offset_hours
string

The value should be integer of -11~12, and the default value is 0. This value is required only when {{timespan}} equals to "last_7_days", "last_14_days", "last_30_days".

Responses

Response samples

Content type
application/json
{
  • "20190610T040000": {
    },
  • "20190610T050000": {
    },
  • "20190610T060000": {
    },
  • "20190610T070000": {
    },
  • "20190610T080000": {
    },
  • "20190610T090000": {
    },
  • "20190610T100000": {
    },
  • "20190610T110000": {
    },
  • "20190610T120000": {
    },
  • "20190610T130000": {
    },
  • "20190610T140000": {
    },
  • "20190610T150000": {
    },
  • "20190610T160000": {
    },
  • "20190610T170000": {
    },
  • "20190610T180000": {
    },
  • "20190610T190000": {
    },
  • "20190610T200000": {
    },
  • "20190610T210000": {
    },
  • "20190610T220000": {
    },
  • "20190610T230000": {
    },
  • "20190611T000000": {
    },
  • "20190611T010000": {
    },
  • "20190611T020000": {
    },
  • "20190611T030000": {
    },
  • "20190611T040000": {
    }
}

Get Threat Levels for Application Dashboard

Get the information of threat level values on Application DASHBOARD tab.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "categories": { },
  • "level": 0
}

Get Traffic Log Stats

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
query Parameters
count
string

Return the first N countries data

timespan
required
string

Time range to show the statistic. This parameter is required. No default value. Value could be one of ['last_4_hours', 'last_24_hours', 'last_7_days', 'last_14_days', 'last_30_days'].

Responses

Response samples

Content type
application/json
{
  • "Australia": {
    },
  • "Canada": {
    },
  • "China": {
    },
  • "France": {
    },
  • "Germany": {
    },
  • "India": {
    },
  • "Japan": {
    },
  • "Singapore": {
    },
  • "United Kingdom": {
    },
  • "United States": {
    }
}

Log Settings

This section shows how to configure module log settings.

Get Log Settings Configuration

Get endpoint log server configuration.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "advancedRules": [
    ],
  • "alarmMode": "advanced",
  • "basicRule": {
    },
  • "enableAlarm": true,
  • "logMaskRules": [
    ],
  • "logstash_traffic_config": {
    }
}

Update Log Settings Configuration

Update log server configuration.

A request body including all parameters and values is required. Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
{
  • "advancedRules": [
    ],
  • "alarmMode": "basic",
  • "basicRule": {
    },
  • "enableAlarm": true,
  • "logstash_traffic_config": {
    }
}

Response samples

Content type
application/json
Example
{
  • "detail": "Logs settings were changed successfully."
}

Test accessibility of S3 Bucket or Azure Blob

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Request Body schema: application/json
account_key
string

Azure account key. Required for Azure blob config.

container_name
string

Azure blob container name. Required for Azure blob config.

server_type
string
Enum: "s3" "blob"

server type. Now supports AWS s3 and Azure blob only.

user_access_id
string

Access Key ID. Required for S3 config.

user_account_region
string

Account region. Required for S3 config.

user_bucket_name
string

S3 bucket name. Required for S3 config. S3 bucket name must be 3 to 63 characters, use only lowercase letters, numbers, hyphens, and dots. It must start and end with a letter or number, and cannot contain consecutive special characters.

user_prefix
string

folder name. Optional for S3 config. Please enter between 1 and 512 characters. Your input may contain letters, numbers, dots, underscores, hyphens or forward slashes. However, please note that the input must not start with a forward slash and must not contain consecutive forward slashes (e.g., //).

user_secret_key
string

Secret key. Required for S3 config.

Responses

Request samples

Content type
application/json
Example
{
  • "server_type": "S3",
  • "user_access_id": "xxx",
  • "user_account_region": "us-west-2",
  • "user_bucket_name": "example-bucket1",
  • "user_prefix": "example-folder_name",
  • "user_secret_key": "xxx"
}

Response samples

Content type
application/json
{
  • "detail": "Connect the Cloud Connector successfully."
}

Threat View

This section shows how to configure module threat view.

Release the IP from being period blocked

Release the IP from being period blocked

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string

The application ID, it can be obtained from List Applications API.

query Parameters
ip
required
string

The IP to be released from being period blocked.

Responses

Response samples

Content type
application/json
{
  • "detail": "Invalid IP address."
}

Get period blocked IPs related to the application

Get period blocked IPs related to the application

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string

The application ID, it can be obtained from List Applications API.

query Parameters
filter
string

Array like string. Each element shall be JSON like object. Basic structure is [{"id":"{field_name}","logic":{"is":{"string":true},"NOT":{1 or None} },"value":["{field_value_1}", "field_value_2"]}]. Add NOT:1 to exclude given values. Value is an array containing multiple values. The logic between these values is OR logic.

Responses

Response samples

Content type
application/json
{
  • "detail": [
    ]
}

Get Threat View Statistics Data

Get the statistics information of threats. The result could be aggregated by srccountry or threat type.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string

The application ID, it can be obtained from List Applications API.

query Parameters
report_by
string
Example: report_by=main_type

Log field name that is used to group the result in grid. Supported values include owasp_top10, main_type, src_ip and srccountry.

filter
string
Example: filter=%7B%22http_url%22%3A%22test%22%2C%22main_type%22%3A%22Known%20Attacks%22%7D

A string, it can be deserialized as JSON object. The value shall be URL encoded. For example, filter object is like:

{
    "http_url": "test",
    "main_type": "Known Attacks"
}

and the value for this param here shall be like:

%7B%22http_url%22%3A%22test%22%2C%22main_type%22%3A%22Known%20Attacks%22%7D
end
string
Example: end=1665446400000

The end time of time range in millisecond format.

start
string
Example: start=1665360000000

The beginning time of time range in millisecond format.

count
string
Example: count=20

An integer, the number of logs in one page and the maximum value is 100.

tend_by
string
Example: tend_by=action

Log field name which is used to group data in chart view. The values can be http_method, action, etc.

sort_by
string
Example: sort_by=total_number

The field name which is used to sort the result. It must be present in response, like total_number, score, etc.

Responses

Response samples

Content type
application/json
Example
{
  • "details": [
    ],
  • "summary": {
    }
}

Get Threat Map Data

Get the information of threats by geographic region.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string

The application ID, it can be obtained from List Applications API.

query Parameters
start
required
string

The start time in millisecond format.

end
required
string

The end time in millisecond format.

count
required
integer <= 2000

An integer, log numbers that will be retrieved in one request. The maximum value is 2000.

Responses

Response samples

Content type
application/json
{
  • "details": [ ],
  • "end_time": "1557729179000",
  • "next_msg_id": false,
  • "next_start_time": false,
  • "region": "us-east-1",
  • "total": 0
}

Get Traffic Log Agent Statics

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string

The application ID, it can be obtained from List Applications API.

query Parameters
type
required
string
Enum: "summary" "detail"
Example: type=summary

The type of query result

start_time
required
string
Example: start_time=1660254596243

The start time of timespan

end_time
required
string
Example: end_time=1660340996243

The end time of timespan

page
integer >= 1
Example: page=1

The page number of requested information

size
integer [ 1 .. 100 ]
Default: 20
Example: size=10

The result table size (1-100)

filter
string

For example, for the Agent details table, the filter is {"srccountry": "canada, united state", "http_agent": "Mozilla/5.0*"}

Responses

Response samples

Content type
application/json
Example
{
  • "details": {
    },
  • "summary": {
    }
}

Get Traffic Log IP Statics

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string

The application ID, it can be obtained from List Applications API.

query Parameters
type
required
string
Enum: "summary" "detail"
Example: type=summary

The type of query result

start_time
required
string
Example: start_time=1660326562527

The start time of timespan

end_time
required
string
Example: end_time=1660330162527

The end time of timespan

page
integer >= 1
Example: page=1

The page number of requested information

size
integer [ 1 .. 100 ]
Default: 20
Example: size=10

The result table size (1-100)

sort_by
string
Default: "count_sum"
Enum: "count_sum" "average_http_request_bytes_sum" "average_http_response_bytes_sum"
Example: sort_by=count_sum

The field which will be sorted

dir
required
string
Enum: "req" "res"
Example: dir=req

The direction of the statistics

filter
string

For example, for the IP details table, the filter is {"srccountry": "canada, united state", "src": "207.10.*.*"}

Responses

Response samples

Content type
application/json
Example
{
  • "details": {
    },
  • "summary": {
    }
}

Get Traffic Log Method Statics

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
query Parameters
start_time
string

the start time of timespan

end_time
string

the end time of timespan

type
string

the type of query result only support "summary" and for "detail"

size
string

the result table size

page
string

the page number of requested information

filter
string

For example, for the Agent details table, the filter is{"http_method":"get"}

Responses

Response samples

Content type
application/json
Example
{
  • "details": {
    },
  • "summary": {
    }
}

Get Traffic Log Return Code Statics

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string

The application ID, it can be obtained from List Applications API.

query Parameters
type
required
string
Enum: "summary" "detail"
Example: type=summary

The type of query result

start_time
required
string
Example: start_time=1660326562527

The start time of timespan

end_time
required
string
Example: end_time=1660330162527

The end time of timespan

page
integer >= 1
Example: page=1

The page number of requested information

size
integer [ 1 .. 100 ]
Default: 20
Example: size=10

The result table size (1-100)

filter
string

For example, for the Agent details table, the filter is {"http_retcode":"200"}

Responses

Response samples

Content type
application/json
Example
{
  • "details": {
    },
  • "summary": {
    }
}

Get Traffic Log URL Statics

Example Request:

Get Traffic Log URL Statics

/waf/apps/{ep_id}/traffic_summary/url_statistics?type=summary&start_time=1660254330143&end_time=1660340730143

Get Traffic Log URL Statics Detail 24 Hours

/waf/apps/:ep_id/traffic_summary/traffic_summary/url_statistics?type=details&start_time=1660254450854&end_time=1660340850854&page=1&size=5&sort_by=total_number&filter=%7B%22http_url%22%3A%22%2F%22%7D

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
query Parameters
start_time
string

the start time of timespan

end_time
string

the end time of timespan

type
string

the type of query result only support "summary" and for "detail"

size
string

the result table size

page
string

the page number of requested information

filter
string

For example, for the URL details table, the filter is "{?srccountry": ?canada, united state?, "http_url": ?/ip/*?}"

Responses

Response samples

Content type
application/json
Example
{
  • "details": {
    },
  • "summary": {
    }
}

Network

This section shows how to configure module network.

Get CA Certificate Detail

Get the detail information of CA certificate.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

query Parameters
id
integer
Example: id={{id}}

The ID of the SNI certificate.

Responses

Response samples

Content type
application/json
{ }

Get CA Certificate

Get the information of CA certificates configuration.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

query Parameters
forward
string

True: the next page.

False: the previous page.

cursor
string

To list the items of the first page, leave the cursor value empty.

To go forward to next page, get the value of the 'next_cursor' parameter in the result of the current page, then paste it here as the cursor value.

To go to the previous page, get the 'prev_cursor' value, then paste it here as the cursor value.

size
integer

An integer, the page size. The value shall be 10, 20, 30.

Responses

Response samples

Content type
application/json
{ }

Update CA Certificate

Modify CA certificates configuration.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
No sample

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get CRL Certificate Detail

Get the detail information of CRL certificate.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

query Parameters
id
integer
Example: id={{id}}

The ID of the SNI certificate.

Responses

Response samples

Content type
application/json
{ }

Get CRL Certificate

Get the information of CRL certificates configuration.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

query Parameters
forward
string

True: the next page.

False: the previous page.

cursor
string

To list the items of the first page, leave the cursor value empty.

To go forward to next page, get the value of the 'next_cursor' parameter in the result of the current page, then paste it here as the cursor value.

To go to the previous page, get the 'prev_cursor' value, then paste it here as the cursor value.

size
integer

An integer, the page size. The value shall be 10, 20, 30.

Responses

Response samples

Content type
application/json
{ }

Update CRL Certificate

Modify CRL certificates configuration.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
No sample

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Endpoints

Get the information of endpoints configuration.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "app_name": "wl_us1",
  • "block_mode": 1,
  • "block_url": "/test/block.html",
  • "cert_auto_status": 0,
  • "cert_type": 0,
  • "custom_block_page": "enable",
  • "custom_port": {
    },
  • "domain_name": "www.example.com",
  • "ep_cname": "wl_us1.waasonline-test.54321.waasonline.net",
  • "extra_domains": [
    ],
  • "http2_status": 0,
  • "http_status": 0,
  • "https_status": 1,
  • "ipv6_option": 0,
  • "oc_gslb": {
    },
  • "platform": "AWS",
  • "ssl_options": {
    }
}

Update Endpoints

Modify endpoints configuration.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
app_name
string

The application name

Responses

Request samples

Content type
application/json
{
  • "app_name": "test",
  • "block_mode": 1,
  • "block_url": "PredefinedMsg",
  • "cert_auto_status": 0,
  • "cert_challenge_mode": 1,
  • "cert_type": 0,
  • "client_cert_fwd": true,
  • "client_cert_fwd_cert_header": "X-Client-Cert",
  • "client_cert_fwd_sub_header": "X-Client-DN",
  • "client_cert_verify": true,
  • "custom_http_port": 8080,
  • "custom_https_port": 443,
  • "domain_name": "test.demo.com",
  • "ep_cname": "test.demo.38906.waasonline.net.",
  • "extra_domains": [
    ],
  • "http2_status": 0,
  • "http_status": 1,
  • "https_status": 1,
  • "ipv6_option": 0,
  • "oc_gslb": {
    },
  • "platform": "AWS",
  • "ssl_options": {
    },
  • "strictly_need_cert": true
}

Response samples

Content type
application/json
{
  • "detail": "Request unauthorized"
}

Get Intermediate Certificate Detail

Get the detail information of intermediate certificate.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

query Parameters
id
integer
Example: id={{id}}

The ID of the intermediate certificate.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Get Intermediate Certificate

Get the information of intermediate certificates configuration.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

query Parameters
forward
string

True: the next page.

False: the previous page.

cursor
string

To list the items of the first page, leave the cursor value empty.

To go forward to next page, get the value of the 'next_cursor' parameter in the result of the current page, then paste it here as the cursor value.

To go to the previous page, get the 'prev_cursor' value, then paste it here as the cursor value.

size
integer

An integer, the page size. The value shall be 10, 20, 30.

Responses

Response samples

Content type
application/json
{
  • "hits": [
    ],
  • "next_cursor": "",
  • "prev_cursor": "eyJwb2xpY3lfbm...xIn19",
  • "total": 2
}

Update Intermediate Certificate

Modify intermediate certificates configuration.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
action
string
Enum: "import" "delete"

The type of the update operation

certificate
string

The intermediate certificate to be imported, required on action 'import'

id
integer

The certificate id to be deleted, required on action 'delete'

Responses

Request samples

Content type
application/json
Example
{
  • "action": "import",
  • "certificate": "-----BEGIN CERTIFICATE-----\nMIIETDCCAzSgAw...eCsTo\n-----END CERTIFICATE-----"
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Content Routing

Get the configuration of routings.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Content Routing

Update the configuration of routings.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
Array of objects (RoutingPolicyList)
status
required
boolean
Default: false
Enum: true false

Enable/Disable content routing for current application.

Responses

Request samples

Content type
application/json
{
  • "policy_list": [
    ],
  • "status": true
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Do Pserver Health Check

Do health check on specific server, which helps client locate health check issues. Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
[
  • "18.140.15.165"
]

Response samples

Content type
application/json
{
  • "summary": "Success",
  • "value": {
    }
}

Get Server CA Certificate

Get the information of origin server CA certificates configuration.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

query Parameters
forward
string

True: the next page.

False: the previous page.

cursor
string

To list the items of the first page, leave the cursor value empty.

To go forward to next page, get the value of the 'next_cursor' parameter in the result of the current page, then paste it here as the cursor value.

To go to the previous page, get the 'prev_cursor' value, then paste it here as the cursor value.

size
integer

An integer, the page size. The value shall be 10, 20, 30.

pool_name
string

The server pool name.

server_index
integer

The index of the server.

Responses

Response samples

Content type
application/json
{ }

Update Server CA Certificate

Modify origin server CA certificates configuration.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
action
string
Enum: "import" "delete"

The action.

certificate
string

The CA certificate (for action "import").

id
integer

The CA certificate index (for action "delete").

pool_name
string
Default: "default_pool"

The server pool name.

server_index
integer

The index of the server.

Responses

Request samples

Content type
application/json
No sample

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Server CA Certificate Detail

Get the detail information of origin server CA certificate.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

query Parameters
pool_name
string
Example: pool_name={{pool_name}}

The server pool name.

server_index
integer
Example: server_index={{server_index}}

The index of the server.

id
integer
Example: id={{id}}

The index of the certificate.

Responses

Response samples

Content type
application/json
{ }

Get Server CRL Certificate

Get the information of origin server CRL certificates configuration.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

query Parameters
forward
string

True: the next page.

False: the previous page.

cursor
string

To list the items of the first page, leave the cursor value empty.

To go forward to next page, get the value of the 'next_cursor' parameter in the result of the current page, then paste it here as the cursor value.

To go to the previous page, get the 'prev_cursor' value, then paste it here as the cursor value.

size
integer

An integer, the page size. The value shall be 10, 20, 30.

pool_name
string

The server pool name.

server_index
integer

The index of the server.

Responses

Response samples

Content type
application/json
{ }

Update Server CRL Certificate

Modify origin server CRL certificates configuration.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
action
string
Enum: "import" "delete"

The action.

certificate
string

The CRL certificate (for action "import").

id
integer

The index of the CRL certificate (for action "delete").

pool_name
string
Default: "default_pool"

The server pool name.

server_index
integer

The server index.

Responses

Request samples

Content type
application/json
No sample

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Server CRL Certificate Detail

Get the detail information of origin server CRL certificate.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

query Parameters
pool_name
string
Example: pool_name={{pool_name}}

The server pool name.

server_index
integer
Example: server_index={{server_index}}

The index of the server.

id
integer
Example: id={{id}}

The index of the certificate.

Responses

Response samples

Content type
application/json
{ }

Update Server Lock Status

Update the status of origin server lock.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
object (SingleJsonObject)

Responses

Request samples

Content type
application/json
{
  • "op": "lock",
  • "server": "3.2.1.1"
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Servers

Get the configuration of servers.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Servers

Update the configuration of servers.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
Array of objects (ServerPool)

Responses

Request samples

Content type
application/json
{
  • "server_pools": [
    ]
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get SNI Certificate Detail

Get the detail information of SNI certificate.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

query Parameters
id
integer
Example: id={{id}}

The ID of the SNI certificate.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Get SNI Certificate

Get the information of SNI certificates configuration.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

query Parameters
forward
string

True: the next page.

False: the previous page.

cursor
string

To list the items of the first page, leave the cursor value empty.

To go forward to next page, get the value of the 'next_cursor' parameter in the result of the current page, then paste it here as the cursor value.

To go to the previous page, get the 'prev_cursor' value, then paste it here as the cursor value.

size
integer

An integer, the page size. The value shall be 10, 20, 30.

Responses

Response samples

Content type
application/json
{
  • "hits": [
    ],
  • "next_cursor": "",
  • "prev_cursor": "eyJwb2xpY3lfbmFtZ....IxIn19",
  • "total": 3
}

Update SNI Certificate

Modify SNI certificates configuration.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
action
string
Enum: "import" "delete"

The type of the update operation

certificate
string

The certificate to be imported, required on action 'import'

id
integer

The certificate id to be deleted, required on action 'delete'

passwd
string

The password of the encrypted private key, optional on action 'import'

private_key
string

The private key of the certificate, required on action 'import'

Responses

Request samples

Content type
application/json
Example
{
  • "action": "import",
  • "certificate": "-----BEGIN CERTIFICATE-----\nMIIETDCCAzSgAw...eCsTo\n-----END CERTIFICATE-----",
  • "private_key": "-----BEGIN RSA PRIVATE KEY-----\nMIIEpAIBAAKCA...6I6Bw\n-----END RSA PRIVATE KEY-----"
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Security Rules

This section shows how to configure module security rules.

Get Signature Info

Get the signature information.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
query Parameters
attack_category
string

The signature category name such as 'Cross Site Scripting', 'Generic Attacks'.

signature_id
string
sensitivity_level
string
cve_number
string
keywords
string

Responses

Response samples

Content type
application/json
Example
{
  • "Trojans": [
    ]
}

Get Anomaly Detection

Get the configuration of anomaly detection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Anomaly Detection

Update the configuration of anomaly detection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (AnomalyDetection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Cookie Security

Get the configuration of cookie security.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Cookie Security

Update the configuration of cookie security.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (CookieSecurity)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get File Protection

Get the configuration of file protection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update File Protection

Update the configuration of file protection.

The table below shows the keys and values of "file-type-id" and "file-type-name".

file-type-idfile-type-name
00001GIF
00002JPG
00010BMP
00018PNG
00019TIFF/TIF
00023Windows Metafile Format(.wmf)
00024Corel Draw Picture
00028Windows Icon
00030Microsoft Document Image(.mdi)
00032Windows Enhanced Metafile(.emf)
00038Photoshop Image File(.psd)
00050JPEG-2000 Image File Format(.jp2)
00054Multipage PCX Bitmap File(.dcx)
00059XPS
00089TXT
00060Word(.docx)
00061Word Macro-Enabled(.docm)
00062Word Template(.dotx)
00063Word Macro-Enabled Template(.dotm)
00064Excel(.xlsx)
00065Excel Macro-Enabled(.xlsm)
00066Excel Template(.xltx)
00067Excel Macro-Enabled Template(.xltm)
00068Excel Add-In(.xlam)
00069PPT(.pptx)
00070PPT Macro-Enabled(.pptm)
00071PPT Template(.potx)
00072PPT Macro-Enabled Template(.potm)
00073PPT Add-In(.ppam)
00074PPT Show(.ppsx)
00075PPT Macro-Enabled Show(.ppsm)
00076Visio Drawing(.vsdx)
00077Visio Macro-Enabled Drawing(.vsdm)
00078Visio Stencil(.vssx)
00079Visio Macro-Enabled Stencil(.vssm)
00080Visio Template(.vstx)
00081Visio Macro-Enabled Template(.vstm)
00003PDF
00004XML
00021CHM
00022EXE
00026RTF
00036Windows Help File(.hlp)
00042Windows Mobile Note(.pwi)
00043Windows Registry Text(.reg)
00046SQL Server 2000 Database(.mdf)
00047Java Archive(.jar)
00048Windows Printer Spool File(.shd)
00049Windows Shortcut File(.lnk)
00051Quark Express Document(.qxd)
00053Windows MS Info File(.mof)
00055Microsoft Access Database(.MDB)
00056SPSS Data(.SAV)
00083RedHat Package Manager file(.RPM)
00082VMware Virtual Disk File(.vmdk)
00084Lotus WordPro document(.LWP)
00085Adobe encapsulated PostScript file(.EPS)
00086Lotus 1-2-3 spreadsheet(.WK)
00087SkinCrafter skin file(.skf)
00088Nero CD Compilation(.NRI)
00090Microsoft Office Word(.doc)
00091Microsoft Office Excel(.xls)
00092Microsoft Office PowerPoint(.ppt)
00093Hancom Office Hanword(.hwp)
00005MP3
00006MIDI
00007WAVE
00031Apple CoreAudio(.caf)
00037Microsoft Advanced Streaming(.asf)
00039Real Audio File(.ra)
00044Apple Lossless Audio(.m4a)
00052Digital Speech Standard(.dss)
00011Real Media File(.rm)
00012MPEG v4
000133GPP
00015AVI
00020Macromedia Flash
00035Windows Animated Cursor
00045DVD Video Movie File(.vob)
00008RAR
00009ZIP
00017TAR
000257-ZIP
00027Debian Package
00029Microsoft Cabinet File
00033Unix Archiver File(.ar)
00034Installshield Cabinet Archive Data
00040AIN Archive Data(.ain)
00041BZIP2 Archive(.bz2)
00057WinZIP ZIPX Archive(ZIPx)
00058Gzipped Tape Archive(TGZ)
00094TXT(.txt)
00095ZIP(.zip)
000967-ZIP(.7z)
00097Debian Package(.pkg)
00098Unix Archiver File(.ar)
00099AIN Archive Data(.ain)
00100BZIP2 Archive(.bz2)
00101Gzipped Tape Archive(.tgz)
00102Word(.docx)
00103Word Macro-Enabled(.docm)
00104Word Template(.dotx)
00105Word Macro-Enabled Template(.dotm)
00106Excel(.xlsx)
00107Excel Macro-Enabled(.xlsm)
00108Excel Template(.xltx)
00109Excel Macro-Enabled Template(.xltm)
00110Excel Add-In(.xlam)
00111PPT(.pptx)
00112PPT Macro-Enabled(.pptm)
00113PPT Template(.potx)
00114PPT Macro-Enabled Template(.potm)
00115PPT Add-In(.ppam)
00116PPT Show(.ppsx)
00117PPT Macro-Enabled Show(.ppsm)
00118Visio Drawing(.vsdx)
00119Visio Macro-Enabled Drawing(.vsdm)
00120Visio Stencil(.vssx)
00121Visio Macro-Enabled Stencil(.vssm)
00122Visio Template(.vstx)
00123Visio Macro-Enabled Template(.vstm)
00124PDF(.pdf)
00125XML(.xml)
00126EXE(.exe)
00127Rich Text Format(.rtf)
00128Windows Help File(.hlp)
00129Windows Mobile Note(.pwi)
00130Windows Registry Text(.reg)
00131SQL Server 2000 Database(.mdf)
00132Java Archive(.jar)
00133Windows Printer Spool File(.shd)
00134Windows Shortcut File(.lnk)
00135Quark Express Document(.qxd)
00136Windows MS Info File(.mof)
00137Microsoft Access Database(.MDB)
00138SPSS Data(.SAV)
00139RedHat Package Manager file(.RPM)
00140VMware Virtual Disk File(.vmdk)
00141Adobe encapsulated PostScript file(.EPS)
00142SPSS Data(.SAV)
00145Lotus 1-2-3 spreadsheet(.WK)
00146SkinCrafter skin file(.skf)
00147Nero CD Compilation(.NRI)
00148Microsoft Office Word(.doc)
00149Microsoft Office Excel(.xls)
00150Microsoft Office PowerPoint(.ppt)
00151Hancom Office Hanword(.hwp)
00152PHP(.php)
00153JSP(.jsp)
00154ASPX(.aspx)
00155GIF(.gif)
00156JPG(.jpg)
00157BMP(.bmp)
00158SPSS Data(.SAV)
00159Windows Metafile Format(.wmf)
00160Windows Icon(.icon)
00161Microsoft Document Image(.mdi)
00162Windows Enhanced Metafile(.emf)
00163Photoshop Image File(.psd)
00164JPEG-2000 Image File Format(.jp2)
00165Multipage PCX Bitmap File(.dcx)(.SAV)
00166SQL(.sql)

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (FileProtection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Information Leakage

Get the configuration of information leakage.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Information Leakage

Update the configuration of information leakage.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (InformationLeakage)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Known Attacks

Get the configuration of known attacks.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Known Attacks

Update the configuration of known attacks.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (KnownAttacks)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Discard argument of Anomaly Detection

Discard http argument of Anomaly Detection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
arg_id
required
integer

HTTP argument ID in model

url_id
required
integer

URL ID in model

Responses

Request samples

Content type
application/json
{
  • "arg_id": 1,
  • "url_id": 1
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Overview of Anomaly Detection

Get the Overview data of of anomaly detection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "categories": [ ],
  • "event_json": [
    ],
  • "event_series": [
    ],
  • "hmm_data": [
    ],
  • "summary_data": {
    },
  • "top10_data": [
    ],
  • "traffic_series": [
    ]
}

Rebuild argument of Anomaly Detection

Rebuild http argument of Anomaly Detection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
arg_id
required
integer

HTTP argument ID in model

url_id
required
integer

URL ID in model

Responses

Request samples

Content type
application/json
{
  • "arg_id": 1,
  • "url_id": 1
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Rebuild directory of Anomaly Detection

Rebuild all URLs under the directory of Anomaly Detection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
path
required
string

URL path in model

Responses

Request samples

Content type
application/json
{
  • "path": "/api/"
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Rebuild URL of Anomaly Detection

Rebuild URL of Anomaly Detection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
url_id
required
integer

URL ID in model

Responses

Request samples

Content type
application/json
{
  • "url_id": 1
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Treeview of Anomaly Detection

Get the Treeview data of anomaly detection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "treeData": [
    ]
}

Get URL Stats of Anomaly Detection

Get the URL Stats data of anomaly detection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

query Parameters
url_id
required
string

URL ID of model, required when get URL Stats detail.

Responses

Response samples

Content type
application/json
{
  • "details": {
    },
  • "summary": {
    }
}

Get Parameter Validation

Get the configuration of parameter validation.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Parameter Validation

Update the configuration of parameter validation.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (ParameterValidation)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Exception

Get the information of signature exception.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

query Parameters
signatureid
string

The signature ID.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Exception

Update the information of signature exception.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
Array of objects (SignatureExceptionItem)

Responses

Request samples

Content type
application/json
{
  • "exception rule": {
    }
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Client Security

This section shows how to configure module client security.

Get CSRF Protection

Get the configuration of CSRF protection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update CSRF Protection

Update the configuration of CSRF protection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (CSRFProtection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get HTTP Header Security

Get the configuration of HTTP header security.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update HTTP Header Security

Update the configuration of HTTP header security.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (HttpHeaderSecurity)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get MITB Protection

Get the configuration of MITB protection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{}

Update MITB Protection

Update the configuration of MITB protection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (MITBProtection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Access Rules

This section shows how to configure module access rules.

Get CORS Protection

Get the configuration of CORS protection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update CORS Protection

Update the configuration of CORS protection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (CorsProtection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Export Geo IP Exception list

Export Geo IP Exception list.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Get IP Protection

Get the configuration of IP protection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update IP Protection

Update the configuration of IP protection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (IPProtectionPut)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Export IP Protection list

Export IP Protection list.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Get Request Limits

Get the configuration of request limits.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Request Limits

Update the configuration of request limits.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (RequestLimits)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get URL Access

Get the configuration of URL access.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update URL Access

Update the configuration of URL access.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (UrlAccess)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Bot Mitgation

This section shows how to configure module bot mitgation.

Get Biometrics Based Detection

Get the configuration of biometrics based detection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Biometrics Based Detection

Update the configuration of biometrics based detection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (BiometricsBasedDetection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Bot Deception

Get the configuration of bot deception.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Bot Deception

Update the configuration of bot deception.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (BotDeception)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Known Bots

Get the configuration of known bots.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Known Bots

Update the configuration of known bots.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (KnownBots)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Machine Learning Bot Detection

Get the configuration of machine learning bot detection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Machine Learning Bot Detection

Update the configuration of machine learning bot detection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (MLBotDetection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get Threshold Based Detection

Get the configuration of bot detection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Threshold Based Detection

Update the configuration of bot detection.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (BotDetection)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

DDoS Prevention

This section shows how to configure module DDos prevention.

Get DDoS Prevention

Get the configuration of DDoS prevention.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update DDoS Prevention

Update the configuration of DDoS prevention.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (DDoSPrevention)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Export DDoS IP Exception list

Export DDoS IP Exception list.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Advanced Applications

This section shows how to configure module advanced application.

Get Custom Rule

Get the configuration of custom rule.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update Custom Rule

Update the configuration of custom rule.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (CustomRule)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Get WebSocket Security

Get the configuration of WebSocket security.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update WebSocket Security

Update the configuration of WebSocket security.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Request Body schema: application/json
required
object (WebSocketSecurity)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    },
  • "template": false
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

Update Template Custom Rule

Update the configuration of custom rule of the template.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
template_id
required
string
Example: {{template_id}}

The template ID.

Request Body schema: application/json
required
object (CustomRule)
template
required
boolean
Enum: true false

Enable to inherit configuration from template

Responses

Request samples

Content type
application/json
{
  • "configs": {
    }
}

Response samples

Content type
application/json
{
  • "detail": "Module updated"
}

API Protection

This section shows how to configure module api protection.

Get API Gateway Policy

Get the configuration of API gateway policy.

Requires API key secret as Authorization request header. See Request format section for API key secret details.

Authorizations:
ApiRequestAuthorizer
path Parameters
ep_id
required
string
Example: {{ep_id}}

The application ID, it can be obtained from List Applications API.

Responses

Response samples

Content type
application/json
{
  • "result": {
    }
}

Update API Gateway Policy

Update the configuration of API gateway policy.

To add a new API user, a sample body is added to the request that conforms to the following JSON schema:

"api_user": [
  {
    "name": "user1",
    "email": "user1@sina.com",
    "comments": "user1",
    "ip-access-list": ["1.1.1.1"],
    "http-referer-list": ["www.sina.com"]
  },
]

To add a new API policy, a sample body is added to the request that conforms to the following JSON schema:

"api_policy": [
  {
    "api-key-verification": "enable",
    "api-key-location": "http-header",
    "match-url-prefixes": [
      {
        "frontend-prefix": "/front_prefix",
        "backend-prefix": "/back_prefix"
      }
    ],
    "api-user-list": ["he"],
    "rate-limit-period":