diff --git a/docs/wafd/api-ref/ALL_META.TXT.json b/docs/wafd/api-ref/ALL_META.TXT.json new file mode 100644 index 00000000..5c2c2f53 --- /dev/null +++ b/docs/wafd/api-ref/ALL_META.TXT.json @@ -0,0 +1,762 @@ +[ + { + "uri":"waf_02_0001.html", + "product_code":"dwaf", + "code":"1", + "des":"Public cloud APIs comply with the RESTful API design principles. REST-based Web services are organized into resources. Each resource is identified by one or more Uniform ", + "doc_type":"api", + "kw":"API Usage Guidelines,API Reference", + "title":"API Usage Guidelines", + "githuburl":"" + }, + { + "uri":"waf_02_0007.html", + "product_code":"dwaf", + "code":"2", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"APIs", + "title":"APIs", + "githuburl":"" + }, + { + "uri":"topic_300000000.html", + "product_code":"dwaf", + "code":"3", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Dedicated Instance Management", + "title":"Dedicated Instance Management", + "githuburl":"" + }, + { + "uri":"CreateInstance.html", + "product_code":"dwaf", + "code":"4", + "des":"This API is used to create a dedicated WAF enginePOST /v1/{project_id}/premium-waf/instanceStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 20", + "doc_type":"api", + "kw":"Creating a Dedicated WAF Engine,Dedicated Instance Management,API Reference", + "title":"Creating a Dedicated WAF Engine", + "githuburl":"" + }, + { + "uri":"ListInstance.html", + "product_code":"dwaf", + "code":"5", + "des":"This API is used to query the list of dedicated WAF engines.GET /v1/{project_id}/premium-waf/instanceStatus code: 200Status code: 400Status code: 401Status code: 500Statu", + "doc_type":"api", + "kw":"Querying the List of Dedicated WAF Engines,Dedicated Instance Management,API Reference", + "title":"Querying the List of Dedicated WAF Engines", + "githuburl":"" + }, + { + "uri":"ShowInstance.html", + "product_code":"dwaf", + "code":"6", + "des":"This API is used to query details about a dedicated WAF engine.GET /v1/{project_id}/premium-waf/instance/{instance_id}Status code: 200Status code: 400Status code: 401Stat", + "doc_type":"api", + "kw":"Querying Details about a Dedicated WAF Engine,Dedicated Instance Management,API Reference", + "title":"Querying Details about a Dedicated WAF Engine", + "githuburl":"" + }, + { + "uri":"RenameInstance.html", + "product_code":"dwaf", + "code":"7", + "des":"This API is used to rename a dedicated WAF enginePUT /v1/{project_id}/premium-waf/instance/{instance_id}Status code: 200Status code: 400Status code: 401Status code: 500St", + "doc_type":"api", + "kw":"Renaming a Dedicated WAF Engine,Dedicated Instance Management,API Reference", + "title":"Renaming a Dedicated WAF Engine", + "githuburl":"" + }, + { + "uri":"DeleteInstance.html", + "product_code":"dwaf", + "code":"8", + "des":"This API is used to delete a dedicated WAF engine.DELETE /v1/{project_id}/premium-waf/instance/{instance_id}Status code: 200Status code: 400Status code: 401Status code: 5", + "doc_type":"api", + "kw":"Deleting a Dedicated WAF Engine,Dedicated Instance Management,API Reference", + "title":"Deleting a Dedicated WAF Engine", + "githuburl":"" + }, + { + "uri":"UpgradeInstance.html", + "product_code":"dwaf", + "code":"9", + "des":"This API is used to operate a dedicated WAF instance.POST /v1/{project_id}/premium-waf/instance/{instance_id}/actionStatus code: 200Status code: 400Status code: 401Status", + "doc_type":"api", + "kw":"Operations on a Dedicated WAF Instance,Dedicated Instance Management,API Reference", + "title":"Operations on a Dedicated WAF Instance", + "githuburl":"" + }, + { + "uri":"topic_300000001.html", + "product_code":"dwaf", + "code":"10", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Managing Websites Protected in Dedicated Mode", + "title":"Managing Websites Protected in Dedicated Mode", + "githuburl":"" + }, + { + "uri":"CreatePremiumHost.html", + "product_code":"dwaf", + "code":"11", + "des":"Adding a Protected Domain NamePOST /v1/{project_id}/premium-waf/hostStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request succeeded.See ", + "doc_type":"api", + "kw":"Adding a Protected Domain Name,Managing Websites Protected in Dedicated Mode,API Reference", + "title":"Adding a Protected Domain Name", + "githuburl":"" + }, + { + "uri":"ListPremiumHost.html", + "product_code":"dwaf", + "code":"12", + "des":"Querying Domain Names Protected by Dedicated WAF EnginesGET /v1/{project_id}/premium-waf/hostStatus code: 200Status code: 400Status code: 401Status code: 500Status code: ", + "doc_type":"api", + "kw":"Querying Domain Names Protected by Dedicated WAF Engines,Managing Websites Protected in Dedicated Mo", + "title":"Querying Domain Names Protected by Dedicated WAF Engines", + "githuburl":"" + }, + { + "uri":"ShowPremiumHost.html", + "product_code":"dwaf", + "code":"13", + "des":"This API is used to query domain name settings in dedicated mode.GET /v1/{project_id}/premium-waf/host/{host_id}Status code: 200Status code: 400Status code: 401Status cod", + "doc_type":"api", + "kw":"Querying Domain Name Settings in Dedicated Mode,Managing Websites Protected in Dedicated Mode,API Re", + "title":"Querying Domain Name Settings in Dedicated Mode", + "githuburl":"" + }, + { + "uri":"UpdatePremiumHost.html", + "product_code":"dwaf", + "code":"14", + "des":"This API is used to modify a domain name protected by a dedicated WAF instance.PUT /v1/{project_id}/premium-waf/host/{host_id}Status code: 200Status code: 400Status code:", + "doc_type":"api", + "kw":"Modifying a Domain Name Protected by a Dedicated WAF Instance,Managing Websites Protected in Dedicat", + "title":"Modifying a Domain Name Protected by a Dedicated WAF Instance", + "githuburl":"" + }, + { + "uri":"DeletePremiumHost.html", + "product_code":"dwaf", + "code":"15", + "des":"This API is used to delete a domain name from a dedicated WAF instance.DELETE /v1/{project_id}/premium-waf/host/{host_id}Status code: 200Status code: 400Status code: 401S", + "doc_type":"api", + "kw":"Deleting a Domain Name from a Dedicated WAF Instance,Managing Websites Protected in Dedicated Mode,A", + "title":"Deleting a Domain Name from a Dedicated WAF Instance", + "githuburl":"" + }, + { + "uri":"topic_300000002.html", + "product_code":"dwaf", + "code":"16", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Policy Management", + "title":"Policy Management", + "githuburl":"" + }, + { + "uri":"ListPolicy.html", + "product_code":"dwaf", + "code":"17", + "des":"This API is used to query the list of protection policies.GET /v1/{project_id}/waf/policyStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200R", + "doc_type":"api", + "kw":"Querying Protection Policies,Policy Management,API Reference", + "title":"Querying Protection Policies", + "githuburl":"" + }, + { + "uri":"CreatePolicy.html", + "product_code":"dwaf", + "code":"18", + "des":"This API is used to create a policyPOST /v1/{project_id}/waf/policyStatus code: 200Status code: 400Status code: 401Status code: 403Status code: 500Status code: 200okSee E", + "doc_type":"api", + "kw":"Creating a Policy,Policy Management,API Reference", + "title":"Creating a Policy", + "githuburl":"" + }, + { + "uri":"ShowPolicy.html", + "product_code":"dwaf", + "code":"19", + "des":"This API is used to query a policy by ID.GET /v1/{project_id}/waf/policy/{policy_id}Status code: 200Status code: 400Status code: 401Status code: 500Status code: 200Reques", + "doc_type":"api", + "kw":"Querying a Policy by ID,Policy Management,API Reference", + "title":"Querying a Policy by ID", + "githuburl":"" + }, + { + "uri":"UpdatePolicy.html", + "product_code":"dwaf", + "code":"20", + "des":"This API is used to update a policy. The request body can contain only the part to be updated.PATCH /v1/{project_id}/waf/policy/{policy_id}Status code: 200Status code: 40", + "doc_type":"api", + "kw":"Updating a Policy,Policy Management,API Reference", + "title":"Updating a Policy", + "githuburl":"" + }, + { + "uri":"DeletePolicy.html", + "product_code":"dwaf", + "code":"21", + "des":"This API is used to delete a policy.DELETE /v1/{project_id}/waf/policy/{policy_id}Status code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request ", + "doc_type":"api", + "kw":"Deleting a Policy,Policy Management,API Reference", + "title":"Deleting a Policy", + "githuburl":"" + }, + { + "uri":"topic_300000003.html", + "product_code":"dwaf", + "code":"22", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Rule Management", + "title":"Rule Management", + "githuburl":"" + }, + { + "uri":"ListWhiteblackipRule.html", + "product_code":"dwaf", + "code":"23", + "des":"This API is used to query the list of blacklist and whitelist rules.GET /v1/{project_id}/waf/policy/{policy_id}/whiteblackipStatus code: 200Status code: 400Status code: 4", + "doc_type":"api", + "kw":"Querying the Blacklist and Whitelist Rule List,Rule Management,API Reference", + "title":"Querying the Blacklist and Whitelist Rule List", + "githuburl":"" + }, + { + "uri":"CreateWhiteblackipRule.html", + "product_code":"dwaf", + "code":"24", + "des":"his API is used to create a blacklist or whitelist rule.POST /v1/{project_id}/waf/policy/{policy_id}/whiteblackipStatus code: 200Status code: 400Status code: 401Status co", + "doc_type":"api", + "kw":"Creating a Blacklist or Whitelist Rule,Rule Management,API Reference", + "title":"Creating a Blacklist or Whitelist Rule", + "githuburl":"" + }, + { + "uri":"ShowWhiteblackipRule.html", + "product_code":"dwaf", + "code":"25", + "des":"This API is used to query a blacklist or whitelist rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}Status code: 200Status code: 400Status cod", + "doc_type":"api", + "kw":"Querying a Blacklist or Whitelist Rule,Rule Management,API Reference", + "title":"Querying a Blacklist or Whitelist Rule", + "githuburl":"" + }, + { + "uri":"UpdateWhiteblackipRule.html", + "product_code":"dwaf", + "code":"26", + "des":"This API is used to update an IP address blacklist or whitelist rule.PUT /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}Status code: 200Status code: 400Sta", + "doc_type":"api", + "kw":"Updating a Blacklist or Whitelist Rule,Rule Management,API Reference", + "title":"Updating a Blacklist or Whitelist Rule", + "githuburl":"" + }, + { + "uri":"DeleteWhiteBlackIpRule.html", + "product_code":"dwaf", + "code":"27", + "des":"This API is used to delete an IP address blacklist or whitelist rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}Status code: 200Status code: 400", + "doc_type":"api", + "kw":"Deleting a Blacklist or Whitelist Rule,Rule Management,API Reference", + "title":"Deleting a Blacklist or Whitelist Rule", + "githuburl":"" + }, + { + "uri":"ListCcRules.html", + "product_code":"dwaf", + "code":"28", + "des":"This API is used to query the list of CC attack protection rules.GET /v1/{project_id}/waf/policy/{policy_id}/ccStatus code: 200Status code: 400Status code: 401Status code", + "doc_type":"api", + "kw":"Querying CC Attack Protection Rules,Rule Management,API Reference", + "title":"Querying CC Attack Protection Rules", + "githuburl":"" + }, + { + "uri":"CreateCcRule.html", + "product_code":"dwaf", + "code":"29", + "des":"This API is used to create a CC attack protection rule.POST /v1/{project_id}/waf/policy/{policy_id}/ccStatus code: 200Status code: 400Status code: 401Status code: 500Stat", + "doc_type":"api", + "kw":"Creating a CC Attack Protection Rule,Rule Management,API Reference", + "title":"Creating a CC Attack Protection Rule", + "githuburl":"" + }, + { + "uri":"ShowCcRule.html", + "product_code":"dwaf", + "code":"30", + "des":"This API is used to query a CC attack protection rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}Status code: 200Status code: 400Status code: 401Status", + "doc_type":"api", + "kw":"Querying a CC Attack Protection Rule by ID,Rule Management,API Reference", + "title":"Querying a CC Attack Protection Rule by ID", + "githuburl":"" + }, + { + "uri":"UpdateCcRule.html", + "product_code":"dwaf", + "code":"31", + "des":"This API is used to update a CC attack protection rule.PUT /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}Status code: 200Status code: 400Status code: 401Status code", + "doc_type":"api", + "kw":"Updating a CC Attack Protection Rule,Rule Management,API Reference", + "title":"Updating a CC Attack Protection Rule", + "githuburl":"" + }, + { + "uri":"DeleteCcRule.html", + "product_code":"dwaf", + "code":"32", + "des":"This API is used to delete a CC attack protection rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}Status code: 200Status code: 400Status code: 401Status c", + "doc_type":"api", + "kw":"Deleting a CC Attack Protection Rule,Rule Management,API Reference", + "title":"Deleting a CC Attack Protection Rule", + "githuburl":"" + }, + { + "uri":"ListCustomRules.html", + "product_code":"dwaf", + "code":"33", + "des":"This API is used to query the list of precise protection rules.GET /v1/{project_id}/waf/policy/{policy_id}/customStatus code: 200Status code: 400Status code: 401Status co", + "doc_type":"api", + "kw":"Querying Precise Protection Rules,Rule Management,API Reference", + "title":"Querying Precise Protection Rules", + "githuburl":"" + }, + { + "uri":"CreateCustomRules.html", + "product_code":"dwaf", + "code":"34", + "des":"This API is used to create a precise protection rule.POST /v1/{project_id}/waf/policy/{policy_id}/customStatus code: 200Status code: 400Status code: 401Status code: 500St", + "doc_type":"api", + "kw":"Creating a Precise Protection Rule,Rule Management,API Reference", + "title":"Creating a Precise Protection Rule", + "githuburl":"" + }, + { + "uri":"ShowCustomRule.html", + "product_code":"dwaf", + "code":"35", + "des":"This API is used to query a precise protection rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}Status code: 200Status code: 400Status code: 401Stat", + "doc_type":"api", + "kw":"Querying a Precise Protection Rule by ID,Rule Management,API Reference", + "title":"Querying a Precise Protection Rule by ID", + "githuburl":"" + }, + { + "uri":"UpdateCustomRule.html", + "product_code":"dwaf", + "code":"36", + "des":"This API is used to update a precise protection rule.PUT /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}Status code: 200Status code: 400Status code: 401Status co", + "doc_type":"api", + "kw":"Updating a Precise Protection Rule,Rule Management,API Reference", + "title":"Updating a Precise Protection Rule", + "githuburl":"" + }, + { + "uri":"DeleteCustomRule.html", + "product_code":"dwaf", + "code":"37", + "des":"This API is used to delete a precise protection rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}Status code: 200Status code: 400Status code: 401Status", + "doc_type":"api", + "kw":"Deleting a Precise Protection Rule,Rule Management,API Reference", + "title":"Deleting a Precise Protection Rule", + "githuburl":"" + }, + { + "uri":"ListPrivacyRules.html", + "product_code":"dwaf", + "code":"38", + "des":"This API is used to query the data masking rule list.GET /v1/{project_id}/waf/policy/{policy_id}/privacyStatus code: 200Status code: 400Status code: 401Status code: 500St", + "doc_type":"api", + "kw":"Querying the Data Masking Rule List,Rule Management,API Reference", + "title":"Querying the Data Masking Rule List", + "githuburl":"" + }, + { + "uri":"CreatePrivacyRules.html", + "product_code":"dwaf", + "code":"39", + "des":"Creating a Data Masking RulePOST /v1/{project_id}/waf/policy/{policy_id}/privacyStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request su", + "doc_type":"api", + "kw":"Creating a Data Masking Rule,Rule Management,API Reference", + "title":"Creating a Data Masking Rule", + "githuburl":"" + }, + { + "uri":"ShowPrivacyRule.html", + "product_code":"dwaf", + "code":"40", + "des":"This API is used to query a data masking rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}Status code: 200Status code: 400Status code: 401Status co", + "doc_type":"api", + "kw":"Querying a Data Masking Rule by ID,Rule Management,API Reference", + "title":"Querying a Data Masking Rule by ID", + "githuburl":"" + }, + { + "uri":"UpdatePrivacyRule.html", + "product_code":"dwaf", + "code":"41", + "des":"This API is used to update the data masking rule list.PUT /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}Status code: 200Status code: 400Status code: 401Status ", + "doc_type":"api", + "kw":"Updating the Data Masking Rule List,Rule Management,API Reference", + "title":"Updating the Data Masking Rule List", + "githuburl":"" + }, + { + "uri":"DeletePrivacyRule.html", + "product_code":"dwaf", + "code":"42", + "des":"This API is used to delete a data masking rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}Status code: 400Status code: 401Status code: 500Status code", + "doc_type":"api", + "kw":"Deleting a Data Masking Rule,Rule Management,API Reference", + "title":"Deleting a Data Masking Rule", + "githuburl":"" + }, + { + "uri":"ListAntitamperRules.html", + "product_code":"dwaf", + "code":"43", + "des":"This api is used to query the list of web tamper protection rules.GET /v1/{project_id}/waf/policy/{policy_id}/antitamperStatus code: 200Status code: 400Status code: 401St", + "doc_type":"api", + "kw":"Querying the List of Web Tamper Protection Rules,Rule Management,API Reference", + "title":"Querying the List of Web Tamper Protection Rules", + "githuburl":"" + }, + { + "uri":"CreateAntitamperRule.html", + "product_code":"dwaf", + "code":"44", + "des":"This API is used to create a web tamper protection rule.POST /v1/{project_id}/waf/policy/{policy_id}/antitamperStatus code: 200Status code: 400Status code: 401Status code", + "doc_type":"api", + "kw":"Creating a Web Tamper Protection Rule,Rule Management,API Reference", + "title":"Creating a Web Tamper Protection Rule", + "githuburl":"" + }, + { + "uri":"ShowAntitamperRule.html", + "product_code":"dwaf", + "code":"45", + "des":"This API is used to query a web tamper protection rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}Status code: 200Status code: 400Status code: ", + "doc_type":"api", + "kw":"Querying a Web Tamper Protection Rule by ID,Rule Management,API Reference", + "title":"Querying a Web Tamper Protection Rule by ID", + "githuburl":"" + }, + { + "uri":"DeleteAntitamperRule.html", + "product_code":"dwaf", + "code":"46", + "des":"This API is used to delete a web tamper protection rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}Status code: 200Status code: 400Status code: 40", + "doc_type":"api", + "kw":"Deleting a Web Tamper Protection Rule,Rule Management,API Reference", + "title":"Deleting a Web Tamper Protection Rule", + "githuburl":"" + }, + { + "uri":"ListIgnoreRules.html", + "product_code":"dwaf", + "code":"47", + "des":"This API is used to query the list of false alarm masking rules.GET /v1/{project_id}/waf/policy/{policy_id}/ignoreStatus code: 200Status code: 400Status code: 401Status c", + "doc_type":"api", + "kw":"Querying the False Alarm Masking Rule List,Rule Management,API Reference", + "title":"Querying the False Alarm Masking Rule List", + "githuburl":"" + }, + { + "uri":"CreateIgnoreRule.html", + "product_code":"dwaf", + "code":"48", + "des":"This API is used to create a false alarm masking rule.POST /v1/{project_id}/waf/policy/{policy_id}/ignoreStatus code: 200Status code: 400Status code: 401Status code: 500S", + "doc_type":"api", + "kw":"Creating a False Alarm Masking Rule,Rule Management,API Reference", + "title":"Creating a False Alarm Masking Rule", + "githuburl":"" + }, + { + "uri":"ShowIgnoreRule.html", + "product_code":"dwaf", + "code":"49", + "des":"This API is used to query a false alarm masking rule.GET /v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}Status code: 200Status code: 400Status code: 401Status co", + "doc_type":"api", + "kw":"Querying a False Alarm Masking Rule,Rule Management,API Reference", + "title":"Querying a False Alarm Masking Rule", + "githuburl":"" + }, + { + "uri":"DeleteIgnoreRule.html", + "product_code":"dwaf", + "code":"50", + "des":"This API is used to query a false alarm masking rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}Status code: 200Status code: 400Status code: 401Status", + "doc_type":"api", + "kw":"Deleting a False Alarm Masking Rule,Rule Management,API Reference", + "title":"Deleting a False Alarm Masking Rule", + "githuburl":"" + }, + { + "uri":"ListGeoipRule.html", + "product_code":"dwaf", + "code":"51", + "des":"This API is used to query the list of geolocation access control rules.GET /v1/{project_id}/waf/policy/{policy_id}/geoipStatus code: 200Status code: 400Status code: 401St", + "doc_type":"api", + "kw":"Querying the List of Geolocation Access Control Rules,Rule Management,API Reference", + "title":"Querying the List of Geolocation Access Control Rules", + "githuburl":"" + }, + { + "uri":"CreateGeoipRule.html", + "product_code":"dwaf", + "code":"52", + "des":"This API is used to create a geolocation access control rule.POST /v1/{project_id}/waf/policy/{policy_id}/geoipStatus code: 200Status code: 400Status code: 401Status code", + "doc_type":"api", + "kw":"Creating a Geolocation Access Control Rule,Rule Management,API Reference", + "title":"Creating a Geolocation Access Control Rule", + "githuburl":"" + }, + { + "uri":"UpdateGeoipRule.html", + "product_code":"dwaf", + "code":"53", + "des":"This API is used to update a geolocation access control rule.PUT /v1/{project_id}/waf/policy/{policy_id}/geoip/{rule_id}Status code: 200Status code: 400Status code: 401St", + "doc_type":"api", + "kw":"Updating a Geolocation Access Control Rule,Rule Management,API Reference", + "title":"Updating a Geolocation Access Control Rule", + "githuburl":"" + }, + { + "uri":"DeleteGeoipRule.html", + "product_code":"dwaf", + "code":"54", + "des":"This API is used to delete a geolocation access control rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/geoip/{rule_id}Status code: 200Status code: 400Status code: 40", + "doc_type":"api", + "kw":"Deleting a Geolocation Access Control Rule,Rule Management,API Reference", + "title":"Deleting a Geolocation Access Control Rule", + "githuburl":"" + }, + { + "uri":"UpdatePolicyRuleStatus.html", + "product_code":"dwaf", + "code":"55", + "des":"This API is used to change the status of a policy rule.PUT /v1/{project_id}/waf/policy/{policy_id}/{ruletype}/{rule_id}/statusStatus code: 400Status code: 401Status code:", + "doc_type":"api", + "kw":"Changing the Status of a Policy Rule,Rule Management,API Reference", + "title":"Changing the Status of a Policy Rule", + "githuburl":"" + }, + { + "uri":"ListValueList.html", + "product_code":"dwaf", + "code":"56", + "des":"This API is used to query the reference table list. A reference table can be referenced by CC attack protection rules and precise protection rules. For details about how ", + "doc_type":"api", + "kw":"Querying the Reference Table List,Rule Management,API Reference", + "title":"Querying the Reference Table List", + "githuburl":"" + }, + { + "uri":"CreateValueList.html", + "product_code":"dwaf", + "code":"57", + "des":"This API is used to create a reference table. A reference table can be referenced by CC attack protection rules and precise protection rules. For details about how to use", + "doc_type":"api", + "kw":"Adding a Reference Table,Rule Management,API Reference", + "title":"Adding a Reference Table", + "githuburl":"" + }, + { + "uri":"UpdateValueList.html", + "product_code":"dwaf", + "code":"58", + "des":"This API is used to modify a reference table.PUT /v1/{project_id}/waf/valuelist/{valuelistid}Status code: 200Status code: 400Status code: 401Status code: 500Status code: ", + "doc_type":"api", + "kw":"Modifying a Reference Table,Rule Management,API Reference", + "title":"Modifying a Reference Table", + "githuburl":"" + }, + { + "uri":"DeleteValueList.html", + "product_code":"dwaf", + "code":"59", + "des":"This API is used to delete a reference table.DELETE /v1/{project_id}/waf/valuelist/{valuelistid}Status code: 200Status code: 400Status code: 401Status code: 500Status cod", + "doc_type":"api", + "kw":"Deleting a Reference Table,Rule Management,API Reference", + "title":"Deleting a Reference Table", + "githuburl":"" + }, + { + "uri":"topic_300000004.html", + "product_code":"dwaf", + "code":"60", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Certificate Management", + "title":"Certificate Management", + "githuburl":"" + }, + { + "uri":"ListCertificates.html", + "product_code":"dwaf", + "code":"61", + "des":"This API is used to query the certificate list.GET /v1/{project_id}/waf/certificateStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request", + "doc_type":"api", + "kw":"Querying the Certificate List,Certificate Management,API Reference", + "title":"Querying the Certificate List", + "githuburl":"" + }, + { + "uri":"CreateCertificate.html", + "product_code":"dwaf", + "code":"62", + "des":"This API is used to create a certificate.POST /v1/{project_id}/waf/certificateStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request succ", + "doc_type":"api", + "kw":"Creating a Certificate,Certificate Management,API Reference", + "title":"Creating a Certificate", + "githuburl":"" + }, + { + "uri":"ShowCertificate.html", + "product_code":"dwaf", + "code":"63", + "des":"This API is used to query a certificate.GET /v1/{project_id}/waf/certificate/{certificate_id}Status code: 200Status code: 400Status code: 401Status code: 500Status code: ", + "doc_type":"api", + "kw":"Querying a Certificate,Certificate Management,API Reference", + "title":"Querying a Certificate", + "githuburl":"" + }, + { + "uri":"DeleteCertificate.html", + "product_code":"dwaf", + "code":"64", + "des":"This API is used to delete a certificate.DELETE /v1/{project_id}/waf/certificate/{certificate_id}Status code: 200Status code: 400Status code: 401Status code: 500Status co", + "doc_type":"api", + "kw":"Deleting a Certificate,Certificate Management,API Reference", + "title":"Deleting a Certificate", + "githuburl":"" + }, + { + "uri":"topic_300000005.html", + "product_code":"dwaf", + "code":"65", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Dashboard", + "title":"Dashboard", + "githuburl":"" + }, + { + "uri":"ListStatistics.html", + "product_code":"dwaf", + "code":"66", + "des":"This API is used to query website request statistics.GET /v1/{project_id}/waf/overviews/statisticsStatus code: 200Status code: 400Status code: 401Status code: 500Status c", + "doc_type":"api", + "kw":"Querying Website Request Statistics,Dashboard,API Reference", + "title":"Querying Website Request Statistics", + "githuburl":"" + }, + { + "uri":"ListQpsTimeline.html", + "product_code":"dwaf", + "code":"67", + "des":"This API is used to query the website QPS statistics.GET /v1/{project_id}/waf/overviews/qps/timelineStatus code: 200Status code: 400Status code: 401Status code: 500Status", + "doc_type":"api", + "kw":"Querying the QPS Statistics,Dashboard,API Reference", + "title":"Querying the QPS Statistics", + "githuburl":"" + }, + { + "uri":"ListBandwidthTimeline.html", + "product_code":"dwaf", + "code":"68", + "des":"This API is used to query bandwidth usage statistics.GET /v1/{project_id}/waf/overviews/bandwidth/timelineStatus code: 200Status code: 400Status code: 401Status code: 500", + "doc_type":"api", + "kw":"Querying Bandwidth Usage Statistics,Dashboard,API Reference", + "title":"Querying Bandwidth Usage Statistics", + "githuburl":"" + }, + { + "uri":"topic_300000006.html", + "product_code":"dwaf", + "code":"69", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Event Management", + "title":"Event Management", + "githuburl":"" + }, + { + "uri":"ListEvent.html", + "product_code":"dwaf", + "code":"70", + "des":"This API is used to query the list of attack events for a specific period. It cannot be used to query all attack events. The pagesize parameter cannot be set to -1.GET /v", + "doc_type":"api", + "kw":"Querying the List of Attack Events,Event Management,API Reference", + "title":"Querying the List of Attack Events", + "githuburl":"" + }, + { + "uri":"ShowEvent.html", + "product_code":"dwaf", + "code":"71", + "des":"This API is used to query the details about an attack event.GET /v1/{project_id}/waf/event/{eventid}Status code: 200Status code: 400Status code: 401Status code: 500Status", + "doc_type":"api", + "kw":"Querying Attack Event Details,Event Management,API Reference", + "title":"Querying Attack Event Details", + "githuburl":"" + }, + { + "uri":"waf_02_0084.html", + "product_code":"dwaf", + "code":"72", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Appendix", + "title":"Appendix", + "githuburl":"" + }, + { + "uri":"waf_02_0085.html", + "product_code":"dwaf", + "code":"73", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Status Codes,Appendix,API Reference", + "title":"Status Codes", + "githuburl":"" + }, + { + "uri":"ErrorCode.html", + "product_code":"dwaf", + "code":"74", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Error Codes,Appendix,API Reference", + "title":"Error Codes", + "githuburl":"" + }, + { + "uri":"waf_02_0086.html", + "product_code":"dwaf", + "code":"75", + "des":"Character Set Specifications for KeyThe key cannot be left blank or be an empty string.In Deutsche Telekom, a tag key can contain uppercase letters, lowercase letters, di", + "doc_type":"api", + "kw":"Character Set Specifications,Appendix,API Reference", + "title":"Character Set Specifications", + "githuburl":"" + }, + { + "uri":"waf_02_0087.html", + "product_code":"dwaf", + "code":"76", + "des":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "doc_type":"api", + "kw":"Change History,API Reference", + "title":"Change History", + "githuburl":"" + } +] \ No newline at end of file diff --git a/docs/wafd/api-ref/CLASS.TXT.json b/docs/wafd/api-ref/CLASS.TXT.json new file mode 100644 index 00000000..70c5aada --- /dev/null +++ b/docs/wafd/api-ref/CLASS.TXT.json @@ -0,0 +1,686 @@ +[ + { + "desc":"Public cloud APIs comply with the RESTful API design principles. REST-based Web services are organized into resources. Each resource is identified by one or more Uniform ", + "product_code":"dwaf", + "title":"API Usage Guidelines", + "uri":"waf_02_0001.html", + "doc_type":"api", + "p_code":"", + "code":"1" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"APIs", + "uri":"waf_02_0007.html", + "doc_type":"api", + "p_code":"", + "code":"2" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Dedicated Instance Management", + "uri":"topic_300000000.html", + "doc_type":"api", + "p_code":"2", + "code":"3" + }, + { + "desc":"This API is used to create a dedicated WAF enginePOST /v1/{project_id}/premium-waf/instanceStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 20", + "product_code":"dwaf", + "title":"Creating a Dedicated WAF Engine", + "uri":"CreateInstance.html", + "doc_type":"api", + "p_code":"3", + "code":"4" + }, + { + "desc":"This API is used to query the list of dedicated WAF engines.GET /v1/{project_id}/premium-waf/instanceStatus code: 200Status code: 400Status code: 401Status code: 500Statu", + "product_code":"dwaf", + "title":"Querying the List of Dedicated WAF Engines", + "uri":"ListInstance.html", + "doc_type":"api", + "p_code":"3", + "code":"5" + }, + { + "desc":"This API is used to query details about a dedicated WAF engine.GET /v1/{project_id}/premium-waf/instance/{instance_id}Status code: 200Status code: 400Status code: 401Stat", + "product_code":"dwaf", + "title":"Querying Details about a Dedicated WAF Engine", + "uri":"ShowInstance.html", + "doc_type":"api", + "p_code":"3", + "code":"6" + }, + { + "desc":"This API is used to rename a dedicated WAF enginePUT /v1/{project_id}/premium-waf/instance/{instance_id}Status code: 200Status code: 400Status code: 401Status code: 500St", + "product_code":"dwaf", + "title":"Renaming a Dedicated WAF Engine", + "uri":"RenameInstance.html", + "doc_type":"api", + "p_code":"3", + "code":"7" + }, + { + "desc":"This API is used to delete a dedicated WAF engine.DELETE /v1/{project_id}/premium-waf/instance/{instance_id}Status code: 200Status code: 400Status code: 401Status code: 5", + "product_code":"dwaf", + "title":"Deleting a Dedicated WAF Engine", + "uri":"DeleteInstance.html", + "doc_type":"api", + "p_code":"3", + "code":"8" + }, + { + "desc":"This API is used to operate a dedicated WAF instance.POST /v1/{project_id}/premium-waf/instance/{instance_id}/actionStatus code: 200Status code: 400Status code: 401Status", + "product_code":"dwaf", + "title":"Operations on a Dedicated WAF Instance", + "uri":"UpgradeInstance.html", + "doc_type":"api", + "p_code":"3", + "code":"9" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Managing Websites Protected in Dedicated Mode", + "uri":"topic_300000001.html", + "doc_type":"api", + "p_code":"2", + "code":"10" + }, + { + "desc":"Adding a Protected Domain NamePOST /v1/{project_id}/premium-waf/hostStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request succeeded.See ", + "product_code":"dwaf", + "title":"Adding a Protected Domain Name", + "uri":"CreatePremiumHost.html", + "doc_type":"api", + "p_code":"10", + "code":"11" + }, + { + "desc":"Querying Domain Names Protected by Dedicated WAF EnginesGET /v1/{project_id}/premium-waf/hostStatus code: 200Status code: 400Status code: 401Status code: 500Status code: ", + "product_code":"dwaf", + "title":"Querying Domain Names Protected by Dedicated WAF Engines", + "uri":"ListPremiumHost.html", + "doc_type":"api", + "p_code":"10", + "code":"12" + }, + { + "desc":"This API is used to query domain name settings in dedicated mode.GET /v1/{project_id}/premium-waf/host/{host_id}Status code: 200Status code: 400Status code: 401Status cod", + "product_code":"dwaf", + "title":"Querying Domain Name Settings in Dedicated Mode", + "uri":"ShowPremiumHost.html", + "doc_type":"api", + "p_code":"10", + "code":"13" + }, + { + "desc":"This API is used to modify a domain name protected by a dedicated WAF instance.PUT /v1/{project_id}/premium-waf/host/{host_id}Status code: 200Status code: 400Status code:", + "product_code":"dwaf", + "title":"Modifying a Domain Name Protected by a Dedicated WAF Instance", + "uri":"UpdatePremiumHost.html", + "doc_type":"api", + "p_code":"10", + "code":"14" + }, + { + "desc":"This API is used to delete a domain name from a dedicated WAF instance.DELETE /v1/{project_id}/premium-waf/host/{host_id}Status code: 200Status code: 400Status code: 401S", + "product_code":"dwaf", + "title":"Deleting a Domain Name from a Dedicated WAF Instance", + "uri":"DeletePremiumHost.html", + "doc_type":"api", + "p_code":"10", + "code":"15" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Policy Management", + "uri":"topic_300000002.html", + "doc_type":"api", + "p_code":"2", + "code":"16" + }, + { + "desc":"This API is used to query the list of protection policies.GET /v1/{project_id}/waf/policyStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200R", + "product_code":"dwaf", + "title":"Querying Protection Policies", + "uri":"ListPolicy.html", + "doc_type":"api", + "p_code":"16", + "code":"17" + }, + { + "desc":"This API is used to create a policyPOST /v1/{project_id}/waf/policyStatus code: 200Status code: 400Status code: 401Status code: 403Status code: 500Status code: 200okSee E", + "product_code":"dwaf", + "title":"Creating a Policy", + "uri":"CreatePolicy.html", + "doc_type":"api", + "p_code":"16", + "code":"18" + }, + { + "desc":"This API is used to query a policy by ID.GET /v1/{project_id}/waf/policy/{policy_id}Status code: 200Status code: 400Status code: 401Status code: 500Status code: 200Reques", + "product_code":"dwaf", + "title":"Querying a Policy by ID", + "uri":"ShowPolicy.html", + "doc_type":"api", + "p_code":"16", + "code":"19" + }, + { + "desc":"This API is used to update a policy. The request body can contain only the part to be updated.PATCH /v1/{project_id}/waf/policy/{policy_id}Status code: 200Status code: 40", + "product_code":"dwaf", + "title":"Updating a Policy", + "uri":"UpdatePolicy.html", + "doc_type":"api", + "p_code":"16", + "code":"20" + }, + { + "desc":"This API is used to delete a policy.DELETE /v1/{project_id}/waf/policy/{policy_id}Status code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request ", + "product_code":"dwaf", + "title":"Deleting a Policy", + "uri":"DeletePolicy.html", + "doc_type":"api", + "p_code":"16", + "code":"21" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Rule Management", + "uri":"topic_300000003.html", + "doc_type":"api", + "p_code":"2", + "code":"22" + }, + { + "desc":"This API is used to query the list of blacklist and whitelist rules.GET /v1/{project_id}/waf/policy/{policy_id}/whiteblackipStatus code: 200Status code: 400Status code: 4", + "product_code":"dwaf", + "title":"Querying the Blacklist and Whitelist Rule List", + "uri":"ListWhiteblackipRule.html", + "doc_type":"api", + "p_code":"22", + "code":"23" + }, + { + "desc":"his API is used to create a blacklist or whitelist rule.POST /v1/{project_id}/waf/policy/{policy_id}/whiteblackipStatus code: 200Status code: 400Status code: 401Status co", + "product_code":"dwaf", + "title":"Creating a Blacklist or Whitelist Rule", + "uri":"CreateWhiteblackipRule.html", + "doc_type":"api", + "p_code":"22", + "code":"24" + }, + { + "desc":"This API is used to query a blacklist or whitelist rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}Status code: 200Status code: 400Status cod", + "product_code":"dwaf", + "title":"Querying a Blacklist or Whitelist Rule", + "uri":"ShowWhiteblackipRule.html", + "doc_type":"api", + "p_code":"22", + "code":"25" + }, + { + "desc":"This API is used to update an IP address blacklist or whitelist rule.PUT /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}Status code: 200Status code: 400Sta", + "product_code":"dwaf", + "title":"Updating a Blacklist or Whitelist Rule", + "uri":"UpdateWhiteblackipRule.html", + "doc_type":"api", + "p_code":"22", + "code":"26" + }, + { + "desc":"This API is used to delete an IP address blacklist or whitelist rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}Status code: 200Status code: 400", + "product_code":"dwaf", + "title":"Deleting a Blacklist or Whitelist Rule", + "uri":"DeleteWhiteBlackIpRule.html", + "doc_type":"api", + "p_code":"22", + "code":"27" + }, + { + "desc":"This API is used to query the list of CC attack protection rules.GET /v1/{project_id}/waf/policy/{policy_id}/ccStatus code: 200Status code: 400Status code: 401Status code", + "product_code":"dwaf", + "title":"Querying CC Attack Protection Rules", + "uri":"ListCcRules.html", + "doc_type":"api", + "p_code":"22", + "code":"28" + }, + { + "desc":"This API is used to create a CC attack protection rule.POST /v1/{project_id}/waf/policy/{policy_id}/ccStatus code: 200Status code: 400Status code: 401Status code: 500Stat", + "product_code":"dwaf", + "title":"Creating a CC Attack Protection Rule", + "uri":"CreateCcRule.html", + "doc_type":"api", + "p_code":"22", + "code":"29" + }, + { + "desc":"This API is used to query a CC attack protection rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}Status code: 200Status code: 400Status code: 401Status", + "product_code":"dwaf", + "title":"Querying a CC Attack Protection Rule by ID", + "uri":"ShowCcRule.html", + "doc_type":"api", + "p_code":"22", + "code":"30" + }, + { + "desc":"This API is used to update a CC attack protection rule.PUT /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}Status code: 200Status code: 400Status code: 401Status code", + "product_code":"dwaf", + "title":"Updating a CC Attack Protection Rule", + "uri":"UpdateCcRule.html", + "doc_type":"api", + "p_code":"22", + "code":"31" + }, + { + "desc":"This API is used to delete a CC attack protection rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}Status code: 200Status code: 400Status code: 401Status c", + "product_code":"dwaf", + "title":"Deleting a CC Attack Protection Rule", + "uri":"DeleteCcRule.html", + "doc_type":"api", + "p_code":"22", + "code":"32" + }, + { + "desc":"This API is used to query the list of precise protection rules.GET /v1/{project_id}/waf/policy/{policy_id}/customStatus code: 200Status code: 400Status code: 401Status co", + "product_code":"dwaf", + "title":"Querying Precise Protection Rules", + "uri":"ListCustomRules.html", + "doc_type":"api", + "p_code":"22", + "code":"33" + }, + { + "desc":"This API is used to create a precise protection rule.POST /v1/{project_id}/waf/policy/{policy_id}/customStatus code: 200Status code: 400Status code: 401Status code: 500St", + "product_code":"dwaf", + "title":"Creating a Precise Protection Rule", + "uri":"CreateCustomRules.html", + "doc_type":"api", + "p_code":"22", + "code":"34" + }, + { + "desc":"This API is used to query a precise protection rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}Status code: 200Status code: 400Status code: 401Stat", + "product_code":"dwaf", + "title":"Querying a Precise Protection Rule by ID", + "uri":"ShowCustomRule.html", + "doc_type":"api", + "p_code":"22", + "code":"35" + }, + { + "desc":"This API is used to update a precise protection rule.PUT /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}Status code: 200Status code: 400Status code: 401Status co", + "product_code":"dwaf", + "title":"Updating a Precise Protection Rule", + "uri":"UpdateCustomRule.html", + "doc_type":"api", + "p_code":"22", + "code":"36" + }, + { + "desc":"This API is used to delete a precise protection rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}Status code: 200Status code: 400Status code: 401Status", + "product_code":"dwaf", + "title":"Deleting a Precise Protection Rule", + "uri":"DeleteCustomRule.html", + "doc_type":"api", + "p_code":"22", + "code":"37" + }, + { + "desc":"This API is used to query the data masking rule list.GET /v1/{project_id}/waf/policy/{policy_id}/privacyStatus code: 200Status code: 400Status code: 401Status code: 500St", + "product_code":"dwaf", + "title":"Querying the Data Masking Rule List", + "uri":"ListPrivacyRules.html", + "doc_type":"api", + "p_code":"22", + "code":"38" + }, + { + "desc":"Creating a Data Masking RulePOST /v1/{project_id}/waf/policy/{policy_id}/privacyStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request su", + "product_code":"dwaf", + "title":"Creating a Data Masking Rule", + "uri":"CreatePrivacyRules.html", + "doc_type":"api", + "p_code":"22", + "code":"39" + }, + { + "desc":"This API is used to query a data masking rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}Status code: 200Status code: 400Status code: 401Status co", + "product_code":"dwaf", + "title":"Querying a Data Masking Rule by ID", + "uri":"ShowPrivacyRule.html", + "doc_type":"api", + "p_code":"22", + "code":"40" + }, + { + "desc":"This API is used to update the data masking rule list.PUT /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}Status code: 200Status code: 400Status code: 401Status ", + "product_code":"dwaf", + "title":"Updating the Data Masking Rule List", + "uri":"UpdatePrivacyRule.html", + "doc_type":"api", + "p_code":"22", + "code":"41" + }, + { + "desc":"This API is used to delete a data masking rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}Status code: 400Status code: 401Status code: 500Status code", + "product_code":"dwaf", + "title":"Deleting a Data Masking Rule", + "uri":"DeletePrivacyRule.html", + "doc_type":"api", + "p_code":"22", + "code":"42" + }, + { + "desc":"This api is used to query the list of web tamper protection rules.GET /v1/{project_id}/waf/policy/{policy_id}/antitamperStatus code: 200Status code: 400Status code: 401St", + "product_code":"dwaf", + "title":"Querying the List of Web Tamper Protection Rules", + "uri":"ListAntitamperRules.html", + "doc_type":"api", + "p_code":"22", + "code":"43" + }, + { + "desc":"This API is used to create a web tamper protection rule.POST /v1/{project_id}/waf/policy/{policy_id}/antitamperStatus code: 200Status code: 400Status code: 401Status code", + "product_code":"dwaf", + "title":"Creating a Web Tamper Protection Rule", + "uri":"CreateAntitamperRule.html", + "doc_type":"api", + "p_code":"22", + "code":"44" + }, + { + "desc":"This API is used to query a web tamper protection rule by ID.GET /v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}Status code: 200Status code: 400Status code: ", + "product_code":"dwaf", + "title":"Querying a Web Tamper Protection Rule by ID", + "uri":"ShowAntitamperRule.html", + "doc_type":"api", + "p_code":"22", + "code":"45" + }, + { + "desc":"This API is used to delete a web tamper protection rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}Status code: 200Status code: 400Status code: 40", + "product_code":"dwaf", + "title":"Deleting a Web Tamper Protection Rule", + "uri":"DeleteAntitamperRule.html", + "doc_type":"api", + "p_code":"22", + "code":"46" + }, + { + "desc":"This API is used to query the list of false alarm masking rules.GET /v1/{project_id}/waf/policy/{policy_id}/ignoreStatus code: 200Status code: 400Status code: 401Status c", + "product_code":"dwaf", + "title":"Querying the False Alarm Masking Rule List", + "uri":"ListIgnoreRules.html", + "doc_type":"api", + "p_code":"22", + "code":"47" + }, + { + "desc":"This API is used to create a false alarm masking rule.POST /v1/{project_id}/waf/policy/{policy_id}/ignoreStatus code: 200Status code: 400Status code: 401Status code: 500S", + "product_code":"dwaf", + "title":"Creating a False Alarm Masking Rule", + "uri":"CreateIgnoreRule.html", + "doc_type":"api", + "p_code":"22", + "code":"48" + }, + { + "desc":"This API is used to query a false alarm masking rule.GET /v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}Status code: 200Status code: 400Status code: 401Status co", + "product_code":"dwaf", + "title":"Querying a False Alarm Masking Rule", + "uri":"ShowIgnoreRule.html", + "doc_type":"api", + "p_code":"22", + "code":"49" + }, + { + "desc":"This API is used to query a false alarm masking rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}Status code: 200Status code: 400Status code: 401Status", + "product_code":"dwaf", + "title":"Deleting a False Alarm Masking Rule", + "uri":"DeleteIgnoreRule.html", + "doc_type":"api", + "p_code":"22", + "code":"50" + }, + { + "desc":"This API is used to query the list of geolocation access control rules.GET /v1/{project_id}/waf/policy/{policy_id}/geoipStatus code: 200Status code: 400Status code: 401St", + "product_code":"dwaf", + "title":"Querying the List of Geolocation Access Control Rules", + "uri":"ListGeoipRule.html", + "doc_type":"api", + "p_code":"22", + "code":"51" + }, + { + "desc":"This API is used to create a geolocation access control rule.POST /v1/{project_id}/waf/policy/{policy_id}/geoipStatus code: 200Status code: 400Status code: 401Status code", + "product_code":"dwaf", + "title":"Creating a Geolocation Access Control Rule", + "uri":"CreateGeoipRule.html", + "doc_type":"api", + "p_code":"22", + "code":"52" + }, + { + "desc":"This API is used to update a geolocation access control rule.PUT /v1/{project_id}/waf/policy/{policy_id}/geoip/{rule_id}Status code: 200Status code: 400Status code: 401St", + "product_code":"dwaf", + "title":"Updating a Geolocation Access Control Rule", + "uri":"UpdateGeoipRule.html", + "doc_type":"api", + "p_code":"22", + "code":"53" + }, + { + "desc":"This API is used to delete a geolocation access control rule.DELETE /v1/{project_id}/waf/policy/{policy_id}/geoip/{rule_id}Status code: 200Status code: 400Status code: 40", + "product_code":"dwaf", + "title":"Deleting a Geolocation Access Control Rule", + "uri":"DeleteGeoipRule.html", + "doc_type":"api", + "p_code":"22", + "code":"54" + }, + { + "desc":"This API is used to change the status of a policy rule.PUT /v1/{project_id}/waf/policy/{policy_id}/{ruletype}/{rule_id}/statusStatus code: 400Status code: 401Status code:", + "product_code":"dwaf", + "title":"Changing the Status of a Policy Rule", + "uri":"UpdatePolicyRuleStatus.html", + "doc_type":"api", + "p_code":"22", + "code":"55" + }, + { + "desc":"This API is used to query the reference table list. A reference table can be referenced by CC attack protection rules and precise protection rules. For details about how ", + "product_code":"dwaf", + "title":"Querying the Reference Table List", + "uri":"ListValueList.html", + "doc_type":"api", + "p_code":"22", + "code":"56" + }, + { + "desc":"This API is used to create a reference table. A reference table can be referenced by CC attack protection rules and precise protection rules. For details about how to use", + "product_code":"dwaf", + "title":"Adding a Reference Table", + "uri":"CreateValueList.html", + "doc_type":"api", + "p_code":"22", + "code":"57" + }, + { + "desc":"This API is used to modify a reference table.PUT /v1/{project_id}/waf/valuelist/{valuelistid}Status code: 200Status code: 400Status code: 401Status code: 500Status code: ", + "product_code":"dwaf", + "title":"Modifying a Reference Table", + "uri":"UpdateValueList.html", + "doc_type":"api", + "p_code":"22", + "code":"58" + }, + { + "desc":"This API is used to delete a reference table.DELETE /v1/{project_id}/waf/valuelist/{valuelistid}Status code: 200Status code: 400Status code: 401Status code: 500Status cod", + "product_code":"dwaf", + "title":"Deleting a Reference Table", + "uri":"DeleteValueList.html", + "doc_type":"api", + "p_code":"22", + "code":"59" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Certificate Management", + "uri":"topic_300000004.html", + "doc_type":"api", + "p_code":"2", + "code":"60" + }, + { + "desc":"This API is used to query the certificate list.GET /v1/{project_id}/waf/certificateStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request", + "product_code":"dwaf", + "title":"Querying the Certificate List", + "uri":"ListCertificates.html", + "doc_type":"api", + "p_code":"60", + "code":"61" + }, + { + "desc":"This API is used to create a certificate.POST /v1/{project_id}/waf/certificateStatus code: 200Status code: 400Status code: 401Status code: 500Status code: 200Request succ", + "product_code":"dwaf", + "title":"Creating a Certificate", + "uri":"CreateCertificate.html", + "doc_type":"api", + "p_code":"60", + "code":"62" + }, + { + "desc":"This API is used to query a certificate.GET /v1/{project_id}/waf/certificate/{certificate_id}Status code: 200Status code: 400Status code: 401Status code: 500Status code: ", + "product_code":"dwaf", + "title":"Querying a Certificate", + "uri":"ShowCertificate.html", + "doc_type":"api", + "p_code":"60", + "code":"63" + }, + { + "desc":"This API is used to delete a certificate.DELETE /v1/{project_id}/waf/certificate/{certificate_id}Status code: 200Status code: 400Status code: 401Status code: 500Status co", + "product_code":"dwaf", + "title":"Deleting a Certificate", + "uri":"DeleteCertificate.html", + "doc_type":"api", + "p_code":"60", + "code":"64" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Dashboard", + "uri":"topic_300000005.html", + "doc_type":"api", + "p_code":"2", + "code":"65" + }, + { + "desc":"This API is used to query website request statistics.GET /v1/{project_id}/waf/overviews/statisticsStatus code: 200Status code: 400Status code: 401Status code: 500Status c", + "product_code":"dwaf", + "title":"Querying Website Request Statistics", + "uri":"ListStatistics.html", + "doc_type":"api", + "p_code":"65", + "code":"66" + }, + { + "desc":"This API is used to query the website QPS statistics.GET /v1/{project_id}/waf/overviews/qps/timelineStatus code: 200Status code: 400Status code: 401Status code: 500Status", + "product_code":"dwaf", + "title":"Querying the QPS Statistics", + "uri":"ListQpsTimeline.html", + "doc_type":"api", + "p_code":"65", + "code":"67" + }, + { + "desc":"This API is used to query bandwidth usage statistics.GET /v1/{project_id}/waf/overviews/bandwidth/timelineStatus code: 200Status code: 400Status code: 401Status code: 500", + "product_code":"dwaf", + "title":"Querying Bandwidth Usage Statistics", + "uri":"ListBandwidthTimeline.html", + "doc_type":"api", + "p_code":"65", + "code":"68" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Event Management", + "uri":"topic_300000006.html", + "doc_type":"api", + "p_code":"2", + "code":"69" + }, + { + "desc":"This API is used to query the list of attack events for a specific period. It cannot be used to query all attack events. The pagesize parameter cannot be set to -1.GET /v", + "product_code":"dwaf", + "title":"Querying the List of Attack Events", + "uri":"ListEvent.html", + "doc_type":"api", + "p_code":"69", + "code":"70" + }, + { + "desc":"This API is used to query the details about an attack event.GET /v1/{project_id}/waf/event/{eventid}Status code: 200Status code: 400Status code: 401Status code: 500Status", + "product_code":"dwaf", + "title":"Querying Attack Event Details", + "uri":"ShowEvent.html", + "doc_type":"api", + "p_code":"69", + "code":"71" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Appendix", + "uri":"waf_02_0084.html", + "doc_type":"api", + "p_code":"", + "code":"72" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Status Codes", + "uri":"waf_02_0085.html", + "doc_type":"api", + "p_code":"72", + "code":"73" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Error Codes", + "uri":"ErrorCode.html", + "doc_type":"api", + "p_code":"72", + "code":"74" + }, + { + "desc":"Character Set Specifications for KeyThe key cannot be left blank or be an empty string.In Deutsche Telekom, a tag key can contain uppercase letters, lowercase letters, di", + "product_code":"dwaf", + "title":"Character Set Specifications", + "uri":"waf_02_0086.html", + "doc_type":"api", + "p_code":"72", + "code":"75" + }, + { + "desc":"HUAWEI CLOUD Help Center presents technical documents to help you quickly get started with HUAWEI CLOUD services. The technical documents include Service Overview, Price Details, Purchase Guide, User Guide, API Reference, Best Practices, FAQs, and Videos.", + "product_code":"dwaf", + "title":"Change History", + "uri":"waf_02_0087.html", + "doc_type":"api", + "p_code":"", + "code":"76" + } +] \ No newline at end of file diff --git a/docs/wafd/api-ref/CreateAntitamperRule.html b/docs/wafd/api-ref/CreateAntitamperRule.html new file mode 100644 index 00000000..ba8d8cb7 --- /dev/null +++ b/docs/wafd/api-ref/CreateAntitamperRule.html @@ -0,0 +1,321 @@ + + +
This API is used to create a web tamper protection rule.
+POST /v1/{project_id}/waf/policy/{policy_id}/antitamper
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+Yes + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
hostname + |
+Yes + |
+String + |
+Protected website. It can be obtained by calling the ListHost API in cloud mode (the value of the hostname field in the response body). + |
+
url + |
+Yes + |
+String + |
+URL protected by the web tamper protection rule. The value must be in the standard URL format, for example, /admin + |
+
description + |
+No + |
+String + |
+Rule description + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID + |
+
timestamp + |
+Long + |
+Timestamp + |
+
description + |
+String + |
+Rule description. + |
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
hostname + |
+String + |
+Domain name protected by the web tamper protection rule + |
+
url + |
+String + |
+URL for the web tamper protection rule. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/antitamper?enterprise_project_id=0 + +{ + "hostname" : "www.domain.com", + "url" : "/login", + "description" : "" +}+
Status code: 200
+Request succeeded.
+{ + "description" : "", + "hostname" : "www.domain.com", + "id" : "0f59185b76c143f884d21cd0d88e6fa8", + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "status" : 1, + "timestamp" : 1656506256928, + "url" : "/login" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to create a CC attack protection rule.
+POST /v1/{project_id}/waf/policy/{policy_id}/cc
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID. It can be obtained by calling the API Querying Protection Policies. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+auth token + |
+
Content-Type + |
+Yes + |
+String + |
+Content type. +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
description + |
+No + |
+String + |
+Rule description + |
+
limit_num + |
+No + |
+Integer + |
+Frequency limits +Minimum: 0 +Maximum: 10000 + |
+
limit_period + |
+No + |
+Integer + |
+Frequency limit unit +Minimum: 0 +Maximum: 10000 + |
+
url + |
+No + |
+String + |
+url +Minimum: 0 +Maximum: 10000 + |
+
mode + |
+No + |
+Integer + |
+Work mode. The value can be 0 (standard) or 1 (advanced). The parameters of the advanced mode cannot be described in the same document of the same API. For details, see this parameter on the console page. +Enumeration values: +
|
+
action + |
+No + |
+action object + |
+Action to take if the number of requests reaches the upper limit. + |
+
tag_type + |
+No + |
+String + |
+Protection mode. +
Enumeration values: +
|
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
category + |
+No + |
+String + |
+Action type: +
|
+
detail + |
+No + |
+String + |
+Action details. If detail is null, the default block page is displayed by default. +
|
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
response + |
+No + |
+response object + |
+Returned page. + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID. + |
+
url + |
+String + |
+When the value of mode is 0, this parameter has a return value. URL to which the rule applies, excluding a domain name. +
|
+
prefix + |
+Boolean + |
+Whether a prefix is used for the path. If the protected URL ends with an asterisk (*), a path prefix is used. + |
+
mode + |
+Integer + |
+Mode. +
|
+
status + |
+Integer + |
+Rule status. The value can be 0 or 1. +
|
+
limit_num + |
+String + |
+Number of requests allowed from a web visitor in a rate limiting period + |
+
limit_period + |
+String + |
+Rate limiting period + |
+
lock_time + |
+String + |
+How long a web visitor will be locked The value range is [0 to 2^32), in seconds. + |
+
tag_type + |
+String + |
+Protection mode. +
|
+
description + |
+String + |
+Rule description + |
+
action + |
+action object + |
+Action to take if the number of requests reaches the upper limit. + |
+
conditions + |
+Array of conditions objects + |
+Condition list. This parameter is returned when mode is set to 1. + |
+
timestamp + |
+Long + |
+Timestamp the rule is created. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Action type: +
|
+
detail + |
+String + |
+Action details. If detail is null, the default block page is displayed by default. +
|
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
response + |
+response object + |
+Returned page + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
content_type + |
+String + |
+Content type. The value can only be application/json, text/html, or text/xml. + |
+
content + |
+String + |
+Contents + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Field type. The options are as follows: ip, cookie, and url + |
+
index + |
+String + |
+Parameter description: +
|
+
logic_operation + |
+String + |
+Condition matching logic. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, not_suffix, equal_any, and not_equal_any, contain_any, and not_contain_any. +
|
+
contents + |
+Array of strings + |
+Content of the conditions. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/cc? + +{ + "action" : { + "category" : "captcha" + }, + "description" : "", + "limit_num" : 10, + "limit_period" : 60, + "mode" : 0, + "tag_type" : "ip", + "url" : "/path" +}+
Status code: 200
+Request succeeded.
+{ + "aging_time" : 0, + "description" : "", + "id" : "a5f3fd28db564696b199228f0ac346b2", + "limit_num" : 10, + "limit_period" : 60, + "lock_time" : 0, + "mode" : 0, + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "prefix" : false, + "status" : 1, + "tag_type" : "ip", + "timestamp" : 1656494435686, + "total_num" : 0, + "unaggregation" : false, + "url" : "/path" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to create a certificate.
+POST /v1/{project_id}/waf/certificate
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+Yes + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
name + |
+Yes + |
+String + |
+Certificate name. The value can contain a maximum of 64 characters. Only digits, letters, hyphens (-), underscores (_), and periods (.) are allowed. + |
+
content + |
+Yes + |
+String + |
+Certificate file. Only certificates and private key files in PEM format are supported, and the newline characters in the file must be replaced with \n. + |
+
key + |
+Yes + |
+String + |
+Certificate private key. Only certificates and private key files in PEM format are supported, and the newline characters in the files must be replaced with \n. + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Certificate ID + |
+
name + |
+String + |
+Certificate name + |
+
expire_time + |
+Long + |
+Timestamp when the certificate expires + |
+
timestamp + |
+Long + |
+Timestamp when the certificate is uploaded + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
POST https://{Endpoint}/v1/{project_id}/waf/certificate? + +{ + "name" : "demo", + "content" : "-----BEGIN CERTIFICATE----- MIIDyzCCArOgAwIBAgIJAN5U0Z4Bh5ccMA0GCSqGSIb3DQEBCwUAMHwxCzAJBgNV BAYTAlpIMRIwEAYDVQQIDAlHVUFOR0RPTkcxETAPBgNVBAcMCERPTkdHVUFOMQ0w CwYDVQQKDARERUtFMQswCQYDVQQLDAJESzELMAkGA1UEAwwCT0QxHTAbBgkqhkiG 9w0BCQEWDk8IZC5odWF3ZWkuY29tMB4XDTIxMTExNTA4MTk0MVoXDTIyMTExNTA4 MTk0MVowfDELMAkGA1UEBhMCWkgxEjAQBgNVBAgMCUdVQU5HRE9ORzERMA8GA1UE BwwIRE9OR0dVQU4xDTALBgNVBAoMBERFS0UxCzAJBgNVBAsMAkRLMQswCQYDVQQD DAJPRDEdMBsGCSqGSIb3DQEJARYOTwhkLmh1YXdlaS5jb20wggEiMA0GCSqGSIb3 DQEBAQUAA4IBDwAwggEKAoIBAQDcoLFK62//r0RHFyweYBj97S4NsJ8Qj0RG+Y02 OgwhQmRiNNjubJwP8Nqqyd86zr+fsSQxKBaBCosn1PcN2Pj2vPJD6NEk4I6VdOWr /kFYMlOcimhSfW4wt6VakniOKIYGrCxxvQe1X2OyBxT+ocTLRgEIB8ZbvJyPNseg feLEUuPYRpQ5kXLgJH2/3NwZFOgBHVv/b07l4fR+sWJMnIA2yIjSBQ0DEAOSusXo FQ/WRbBRH7DrQmxGiXsq4VELEr9Nnc/Kywq+9pYi8L+mKeRL+lcMMbXC/3k6OfMB tVTiwcmS1Mkr3iG03i8u6H7RSvRwyBz9G9sE+tmJZTPH6lYtAgMBAAGjUDBOMB0G A1UdDgQWBBQprUUFXW+gIkpzXdrYlsWjfSahWjAfBgNVHSMEGDAWgBQprUUFXW+g IkpzXdrYlsWjfSahWjAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQA2 603KozsQoIKeLvqDJlcAXwWRfNW8SvlaSJAulhHgneMt9bQgIL+3PJWA/iMniOhU o/kVwkiUIcxw4t7RwP0hVms0OZw59MuqKd3oCSWkYO4vEHs3t40JDWnGDnmQ4sol RkOWJwL4w8tnPe3qY9JSupjlsu6Y1hlvKtEfN2vEKFnsuMhidkUpUAJWodHhWBQH wgIDo4/6yTnWZNGK8JDal86Dm5IchXea1EoYBJsHxiJb7HeWQlkre+MCYi1RHOin 4mIXTr0oT4/jWlgklSz6/ZhGRq+7W7tIl7cvzCe+4XsVZIenAcYoNd/WLfo91PD4 yAsRXrOjW1so1Bj0BkDz -----END CERTIFICATE-----", + "key" : "-----BEGIN PRIVATE KEY----- MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQDcoLFK62//r0RH FyweYBj97S4NsJ8Qj0RG+Y02OgwhQmRiNNjubJwP8Nqqyd86zr+fsSQxKBaBCosn 1PcN2Pj2vPJD6NEk4I6VdOWr/kFYMlOcimhSfW4wt6VakniOKIYGrCxxvQe1X2Oy BxT+ocTLRgEIB8ZbvJyPNsegfeLEUuPYRpQ5kXLgJH2/3NwZFOgBHVv/b07l4fR+ sWJMnIA2yIjSBQ0DEAOSusXoFQ/WRbBRH7DrQmxGiXsq4VELEr9Nnc/Kywq+9pYi 8L+mKeRL+lcMMbXC/3k6OfMBtVTiwcmS1Mkr3iG03i8u6H7RSvRwyBz9G9sE+tmJ ZTPH6lYtAgMBAAECggEBAL+xZxm/QoqXT+2stoqV2GEYaMFASpRqxlocjZMmEE/9 jZa+cBWIjHhVPsjRqYFBDcHEebu0JwlrjcjIAvgnIvnO5XgXm1A9Q+WbscokmcX1 xCvpHgc+MDVn+uWdCd4KW5kEk4EnSsFN5iNSf+1VxNURN+gwSSp/0E+muwA5IISO G6HQ+p6qs52JAitX5t/7ruKoHYXJxBnf7TUs7768qrh++KPKpPlq044qoYlcGO1n 4urPBHuNLy04GgGw+vkaqjqOvZrNLVOMMaFWBxsDWBehgSSBQTj+f3NCxneGYtt8 3SCTZQI5nIkb+r/M455EwKTSXuEsNHoIwx7L6GEPbQECgYEA8IxgK2fYykloICoh TFJaRAvyjyKa2+Aza4qT9SGY9Y30VPClPjBB1vUu5M9KrFufzlv06nGEcHmpEwOe 8vbRu7nLAQTGYFi8VK63q8w6FlFdAyCG6Sx+BWCfWxJzXsZLAJTfklwi8HsOSlqh 6QNv0xbE2fLjXKf8MHvtrufip40CgYEA6sy87eDrkVgtq4ythAik3i1C5Z3v0fvx mTblG52Z21OyocNq3Tf/b1ZwoIc1ik6cyBzY6z1bIrbSzArCqm0sb2iD+kJL81O0 /qqdXjBxZUkKiVAMNNp7xJGZHHFKWUxT2+UX/tlyx4tT4dzrFIkdDXkcMmqfsRxd 1NEVaAaT8SECgYAoU7BPtpIun43YTpfUfr3pSIN6oZeKoxSbw9i4MNC+4fSDRPC+ 80ImcmZRL7taF+Y7p0jxAOTuIkdJC8NbAiv5J9WzrwQ+5MF2BPB/2bYnRa6tNofH kZDy/9bXYsl6qw2p5Ety8wVcgZTMvFMGiG/32IpZ65FYWEU8L5qSRwfFhQKBgQC9 ihjZTj/bTHtRiHZppzCvyYm/Igd+Uwtsy0uXR1n0G1SQENgrTBD/J6AzdfJae6tE P0U8YIM5Oqxf2i/as9ay+IPRecMl4eSxz7jJWAGx6Yx/3AZ+hAB1ZbNbqniCLYNk d0MvjwmA25ATO+ro4OZ7AdEpQbk3l9aG/WFyYBz9AQKBgQCucFPA1l5eslL8196V WMr2Qo0tqzl7CGSoWQk2Sa2HZtZdfofXAaaqo+zvJ6RPHtJh0jgJtx536DVV3egI 37YrdQyJbCPZXQ3SPgqWCorUnXBwq/nxS06uwu6JBxUFc57ijmMU4fWYNrvkkmWb 7keAg/r5Uy1joMAvBN1I6lB8pg== -----END PRIVATE KEY-----" +}+
Status code: 200
+Request succeeded.
+{ + "id" : "6e2be127b79f4a418414952ad5d8c59f", + "name" : "certificatename94319", + "content" : "-----BEGIN CERTIFICATE-----\nMIIB+TCCAaOgAwIBAgIUJP9I8OupQ77w0bGL2yWOQXreM4kwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxDzANBgNVBAoMBkh1YXdlaTEcMBoGA1UEAwwTd2FmLmh1YXdlaWNsb3VkLmNvbTAeFw0yMDA3MDkwNTQ2MDRaFw0yMDA4MDgwNTQ2MDRaMFExCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMQ8wDQYDVQQKDAZIdWF3ZWkxHDAaBgNVBAMME3dhZi5odWF3ZWljbG91ZC5jb20wXDANBgkqhkiG9w0BAQEFAANLADBIAkEA0UEbMzbvgOJTKrKcDUw9xjFqxM7BaQFM3SLsQlmD5hkzygyL1ra+cWajPJlTCxz9Ph6qldna2+OrIuTdvCcpjwIDAQABo1MwUTAdBgNVHQ4EFgQUE7ZQNcgl3lmryx1s5gy9mnC1rsYwHwYDVR0jBBgwFoAUE7ZQNcgl3lmryx1s5gy9mnC1rsYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAANBAM5wGi88jYWLgOnGbae5hH3I9lMBKxGqv17Cbm1tjWuUogVINz86lqvCpuhzLvD/vzJAqPIuDwqM8uvzjgRfZs8=\n-----END CERTIFICATE-----", + "key" : "-----BEGIN RSA PRIVATE KEY-----\nMIIBOQIBAAJBANFBGzM274DiUyqynA1MPcYxasTOwWkBTN0i7EJZg+YZM8oMi9a2vnFmozyZUwsc/T4eqpXZ2tvjqyLk3bwnKY8CAwEAAQJBAI7LMPaH/HQk/b/bVmY0qsr+me9nb9BqFLuqwzKbx0hSmWPOWFsd3rOFlSopyHqgYtAsPfvPumEdGbdnCyU8zAECIQD71768K1ejb+ei2lqZqHaczqdUNQxMh54yot9F2yVWjwIhANS1Y1Jv89WEU/ZvvMS9a4638Msv2c4GGp08RtXNYn0BAiA0H4b+cwoEbZjHf+HYg6Fo+uxu5TvSaw8287a6Qo0LyQIfVZSlYYWplT6oiX5rdLzBiap4N0gJWdsa2ihmV59LAQIgK8N+j1daq63b0bJ9k4HruhQtpgxI6U9nFBemH4zTRYM=\n-----END RSA PRIVATE KEY-----", + "timestamp" : 1650595334578, + "expire_time" : 1596865564000 +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to create a precise protection rule.
+POST /v1/{project_id}/waf/policy/{policy_id}/custom
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID. It can be obtained by calling the API Querying Protection Policies. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+auth token + |
+
Content-Type + |
+Yes + |
+String + |
+Content type. +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
time + |
+No + |
+Boolean + |
+Time the precise protection rule takes effect. +
|
+
start + |
+No + |
+Long + |
+Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true. + |
+
terminal + |
+No + |
+Long + |
+Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true. + |
+
description + |
+No + |
+String + |
+Rule description + |
+
conditions + |
+No + |
+Array of CustomConditions objects + |
+Match condition List + |
+
action + |
+No + |
+CustomAction object + |
+Protective action of the precise protection rule. + |
+
priority + |
+No + |
+Integer + |
+Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: 0 to 1000. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
category + |
+No + |
+String + |
+Field type. The options are url, user-agent, ip, params, cookie, referer, header, request_line, method, and request. + |
+
index + |
+No + |
+String + |
+Subfield +
|
+
logic_operation + |
+No + |
+String + |
+Logic for matching the condition. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix. For more details, see the console UI. + |
+
contents + |
+No + |
+Array of strings + |
+Condition content for matching the rule + |
+
value_list_id + |
+No + |
+String + |
+ID of the reference table + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID. + |
+
description + |
+String + |
+Rule description + |
+
status + |
+Integer + |
+Rule status. The value can be 0 or 1. +
|
+
conditions + |
+Array of conditions objects + |
+List of matching conditions. All conditions must be met. + |
+
action + |
+CustomAction object + |
+Protective action of the precise protection rule. + |
+
action_mode + |
+Boolean + |
+This parameter is reserved and can be ignored. + |
+
priority + |
+Integer + |
+Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: 0 to 1000. + |
+
timestamp + |
+Long + |
+Timestamp when the precise protection rule is created. + |
+
start + |
+Long + |
+Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true. + |
+
terminal + |
+Long + |
+Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Field type. The options are url, user-agent, ip, params, cookie, referer, header, request_line, method, and request. + |
+
index + |
+String + |
+Subfield +
|
+
logic_operation + |
+String + |
+Logic for matching the condition. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix. For more details, see the console UI. + |
+
contents + |
+Array of strings + |
+Content of the conditions. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Action type. +
|
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/custom?enterprise_project_id=0 + +{ + "description": "", + "action": { + "category": "block" + }, + "priority": 50, + "conditions": [ + { + "category": "header", + "logic_operation": "contain", + "index": "demo" + "content" ["demo"] + } + ], + "time": false +}+
Status code: 200
+Request succeeded.
+{ + "items" : [ { + "action" : { + "category" : "block" + }, + "action_mode" : false, + "aging_time" : 0, + "conditions" : [ { + "category" : "header", + "index" : "demo", + "logic_operation" : "contain", + "content" : [ "demo" ] + } ], + "description" : "", + "id" : "2a3caa2bc9814c09ad73d02e3485b4a4", + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "priority" : 50, + "status" : 1, + "time" : false, + "timestamp" : 1656495488880 + } ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to create a geolocation access control rule.
+POST /v1/{project_id}/waf/policy/{policy_id}/geoip
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+Yes + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
geoip + |
+Yes + |
+String + |
+Applicable regions. The value can be the region code. +
|
+
white + |
+Yes + |
+Integer + |
+Protective action. The value can be: +
|
+
description + |
+No + |
+String + |
+Rule description + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID + |
+
geoip + |
+String + |
+Applicable regions. The value can be the region code. +
|
+
white + |
+Integer + |
+Protective action. The value can be: +
|
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
timestamp + |
+Long + |
+Time the rule is created. The value is a 13-digit timestamp in ms. + |
+
description + |
+String + |
+Rule description + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/geoip? + +{ + "white" : 0, + "description" : "demo", + "geoip" : "BR" +}+
Status code: 200
+Request succeeded.
+{ + "id" : "02dafa406c4941368a1037b020f15a53", + "policyid" : "38ff0cb9a10e4d5293c642bc0350fa6d", + "timestamp" : 1650534513775, + "description" : "demo", + "status" : 1, + "geoip" : "BR", + "white" : 0, + "geoTagList" : [ "SH", "Afghanistan" ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to create a false alarm masking rule.
+POST /v1/{project_id}/waf/policy/{policy_id}/ignore
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+Yes + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
description + |
+No + |
+String + |
+Provides supplementary information about the assignment. + |
+
url + |
+Yes + |
+String + |
+URL protected by the web tamper protection rule. The value must be in the standard URL format, for example, /admin. + |
+
rule + |
+Yes + |
+String + |
+Masked rule. The value can be the ID of a rule that is matched, all rules (all), or enumeration value of the attack type. To mask a built-in rule included in Basic Web Protection, set this parameter to the ID of the rule. To obtain the rule ID, go to the WAF console. Then, choose Policies and click the policy name. On the displayed page, find the Basic Web Protection area and click Advanced Settings. On the displayed page, click Protection Rule and view the rule ID. To disable a certain type of rule, the value can be: +
|
+
url_logic + |
+Yes + |
+String + |
+URL match logic: +
|
+
domains + |
+No + |
+Array of strings + |
+Protected domain name + |
+
advanced + |
+No + |
+advanced object + |
+advanced + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
index + |
+No + |
+String + |
+To ignore attacks of a specified field, specify the field in the Advanced Settings area. After you complete the configuration, WAF will stop intercepting attack events of the specified field. The following fields are supported: +
|
+
content + |
+No + |
+String + |
+Specified field (available only for param, cookie, and header) + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID. + |
+
timestamp + |
+Long + |
+Rule creation time. + |
+
description + |
+String + |
+Provides supplementary information about the assignment. + |
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
url + |
+String + |
+URL protected by the web tamper protection rule. The value must be in the standard URL format, for example, /admin. + |
+
rule + |
+String + |
+Masked rule. The value can be the ID of a rule that is matched, all rules (all), or enumeration value of the attack type. To mask a built-in rule included in Basic Web Protection, set this parameter to the ID of the rule. To obtain the rule ID, go to the WAF console. Then, choose Policies and click the policy name. On the displayed page, find the Basic Web Protection area and click Advanced Settings. On the displayed page, click Protection Rule and view the rule ID. To disable a certain type of rule, the value can be: +
|
+
url_logic + |
+String + |
+URL match logic: +
|
+
domains + |
+Array of strings + |
+Protected domain name + |
+
advanced + |
+advanced object + |
+advanced + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
index + |
+String + |
+To ignore attacks of a specified field, specify the field in the Advanced Settings area. After you complete the configuration, WAF will stop intercepting attack events of the specified field. The following fields are supported: +
|
+
content + |
+String + |
+Specified field (available only for param, cookie, and header) + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/ignore? + +{ + "domain" : [ "test3.th.com" ], + "rule" : "webshell", + "url_logic" : "equal", + "url" : "/demo", + "description" : "" +}+
Status code: 200
+Request succeeded.
+{ + "id" : "c20f67b3e1c040c0b0d8866e568ee8bf", + "policyid" : "a75e96d8284c4c4f98ada7d391e8342c", + "timestamp" : 1656507126528, + "description" : "", + "status" : 1, + "rule" : "webshell", + "url_logic" : "equal", + "url" : "/demo", + "domain" : [ "test3.th.com" ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to create a dedicated WAF engine
+POST /v1/{project_id}/premium-waf/instance
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+No + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+Yes + |
+String + |
+Content type. +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
chargemode + |
+No + |
+Integer + |
+Billing mode. Currently, only pay-per-use billing (30) is supported. Make sure your account balance is enough, or the dedicated WAF engine will forward requests directly to the origin server without inspection. + |
+
region + |
+Yes + |
+String + |
+Region where a dedicated engine is to be created. Its value is EU-DE. + |
+
available_zone + |
+Yes + |
+String + |
+AZ where the dedicated engine is to be created. + |
+
arch + |
+Yes + |
+String + |
+Dedicated engine CPU architecture. Its value can be x86 . + |
+
instancename + |
+Yes + |
+String + |
+Prefix of the dedicated WAF engine name, which is user-defined. + |
+
specification + |
+Yes + |
+String + |
+Specifications of the dedicated engine version. The value can be waf.instance.enterprise or waf.instance.professional. An enterprise edition dedicated engine has more functions than a professional edition one. For more details, see the Web Application Firewall (WAF) User Guide. + |
+
cpu_flavor + |
+Yes + |
+String + |
+ID of the specifications of the ECS hosting the dedicated engine. It can be obtained by calling the ECS ListFlavors API. For the enterprise edition, ECS specifications with 8 vCPUs and 16 GB memory are used. For the professional edition, ECS specifications with 2 vCPUs and 4 GB memory are used. + |
+
vpc_id + |
+Yes + |
+String + |
+ID of the VPC where the dedicated engine is located. It can be obtained by calling the ListVpcs API. + |
+
subnet_id + |
+Yes + |
+String + |
+ID of the VPC subnet where the dedicated engine is located. It can be obtained by calling the ListSubnets API. subnet_id has the same value as network_id obtained by calling the OpenStack APIs + |
+
security_group + |
+Yes + |
+Array of strings + |
+ID of the security group where the dedicated engine is located. It can be obtained by calling the ListSecurityGroups API. + |
+
count + |
+Yes + |
+Integer + |
+Number of dedicated engines to be provisioned + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
instances + |
+Array of instanceInfo objects + |
+instances + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+id + |
+
name + |
+String + |
+Name + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
POST https://{endpoint}/v1/{project_id}/premium-waf/instance + +{ + "chargemode" : 30, + "region" : "region-01-4", + "available_zone" : "region-01-4a", + "arch" : "x86", + "instancename" : "demo", + "specification\"" : "waf.instance.enterprise", + "cpu_flavor" : "c3ne.2xlarge.2", + "vpc_id" : "d7b6a5ff-6c53-4cd4-9d57-f20ee8753056", + "subnet_id" : "e59ccd18-7e15-4588-b689-04b856f4e78b", + "security_group" : [ "09b156a2-f0f0-41fd-9891-60e594601cfd" ], + "count" : 1 +}+
Status code: 200
+Information about the created dedicated WAF engine.
+{ + "instances" : [ { + "id" : "50a6b6c9bdb643f9a8038976fc58ad02", + "name" : "demo-6wvl" + } ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Information about the created dedicated WAF engine. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to create a policy
+POST /v1/{project_id}/waf/policy
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+Yes + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
name + |
+Yes + |
+String + |
+Policy name. The policy name can contain only digits, letters, and underscores (_) and cannot exceed 64 characters. + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Policy ID. This is the unique identifier generated by WAF. + |
+
name + |
+String + |
+Policy name. + |
+
action + |
+PolicyAction object + |
+PolicyAction + |
+
options + |
+PolicyOption object + |
+PolicyOption + |
+
level + |
+Integer + |
+Protection level. A low protection level may result in a lower false-positive rate, but also a lower attack detection rate. A high protection level may result in a higher attack detection rate, but also a higher false-positive rate. A medium protection level can balance both. Protection levels: +
|
+
full_detection + |
+Boolean + |
+Detection mode in the precise protection rule +
|
+
bind_host + |
+Array of BindHost objects + |
+Array of protected domain names for which the policy is used. Each policy can be used to one or more domain names. You can specify a policy for a domain name when you add the domain name to WAF by calling the API Adding a Protected Domain Name. + |
+
host + |
+Array of strings + |
+Array of IDs of protected domain names. The ID of a protected domain name is unique and generated by WAF when you add the domain name to WAF. To obtain the IDs, call the API Querying Domain Names Protected by Dedicated WAF Engines. To add a domain name to WAF, call the API Adding a Protected Domain Name. + |
+
timestamp + |
+Long + |
+Time the policy is created. The value is a 13-digit timestamp, in ms. + |
+
extend + |
+Map<String,String> + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Protection level. The value can be: +
Enumeration values: +
|
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
webattack + |
+Boolean + |
+Basic web protection includes many specific checks under Advanced Settings, and there is a specific parameter allocated for each check, for example, common for General Check. To enabled any of these checks, keep this parameter enabled first. The value can be: +
|
+
common + |
+Boolean + |
+Whether general check is enabled. The value can be: +
|
+
anticrawler + |
+Boolean + |
+Whether anti-crawler protection is enabled. Anti-crawler protection includes many specific anti-crawler checks, such as crawler_engine, crawler_scanner, crawler_script, and crawler_other. To enable any of these checks, keep anti-crawler protection enabled. The value can be: +
|
+
crawler + |
+Boolean + |
+Whether feature-based anti-crawler is enabled. This parameter is fixed at true. +
|
+
crawler_engine + |
+Boolean + |
+Whether the search engine is enabled. The value can be: +
|
+
crawler_scanner + |
+Boolean + |
+Whether the scanner check in anti-crawler detection is enabled. The value can be: +
|
+
crawler_script + |
+Boolean + |
+Whether the JavaScript anti-crawler is enabled. The value can be: +
|
+
crawler_other + |
+Boolean + |
+Whether other crawler check is enabled. The value can be: +
|
+
webshell + |
+Boolean + |
+Whether other crawler check is enabled. The value can be: +
|
+
cc + |
+Boolean + |
+Whether the CC attack protection rule is enabled. The value can be: +
|
+
custom + |
+Boolean + |
+Whether precise protection is enabled. The value can be: +
|
+
whiteblackip + |
+Boolean + |
+Whether blacklist and whitelist protection is enabled. The value can be: +
|
+
geoip + |
+Boolean + |
+Whether geolocation access control is enabled. The value can be: +
|
+
ignore + |
+Boolean + |
+Whether false alarm masking is enabled. The value can be: +
|
+
privacy + |
+Boolean + |
+Whether data masking is enabled. The value can be: +
|
+
antitamper + |
+Boolean + |
+Whether the web tamper protection is enabled. The value can be: +
|
+
antileakage + |
+Boolean + |
+Whether the information leakage prevention is enabled. The value can be: +
|
+
bot_enable + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
precise + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
followed_action + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Domain name ID. It is the unique identifier generated by WAF for a domain name when you add the domain name to WAF + |
+
hostname + |
+String + |
+Domain name + |
+
waf_type + |
+String + |
+WAF mode of the domain name. The value is premium. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 403
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
POST https://{Endpoint}/v1/{project_id}/waf/policy? + +{ + "name" : "demo" +}+
Status code: 200
+ok
+{ + "id" : "38ff0cb9a10e4d5293c642bc0350fa6d", + "name" : "demo", + "level" : 2, + "action" : { + "category" : "log" + }, + "options" : { + "webattack" : true, + "common" : true, + "crawler" : true, + "crawler_engine" : false, + "crawler_scanner" : true, + "crawler_script" : false, + "crawler_other" : false, + "webshell" : false, + "cc" : true, + "custom" : true, + "precise" : false, + "whiteblackip" : true, + "geoip" : true, + "ignore" : true, + "privacy" : true, + "antitamper" : true, + "anticrawler" : false, + "antileakage" : false, + "followed_action" : false, + "bot_enable" : true + }, + "hosts" : [ ], + "extend" : { }, + "timestamp" : 1650529538732, + "full_detection" : false, + "bind_host" : [ ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+ok + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
403 + |
+Insufficient resource quota. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+Adding a Protected Domain Name
+POST /v1/{project_id}/premium-waf/host
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
Content-Type + |
+Yes + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
certificateid + |
+No + |
+String + |
+HTTPS certificate ID. It can be obtained by calling the ListCertificates API.This parameter is not required when the client protocol is HTTP, but it is mandatory when the client protocol is HTTPS. + |
+
certificatename + |
+No + |
+String + |
+Certificate name. Certifacteid and certificatename are required at the same. If certificateid does not match certificatename, an error is reported.This parameter is not required when the client protocol is HTTP, but it is mandatory when the client protocol is HTTPS. + |
+
hostname + |
+Yes + |
+String + |
+Protected domain name or IP address (port allowed) + |
+
proxy + |
+Yes + |
+Boolean + |
+Whether a proxy is used for the domain name. If your website has no layer-7 proxy server such as CDN and cloud acceleration service deployed in front of WAF and uses only layer-4 load balancers (or NAT), set Proxy Configured to No. Otherwise, Proxy Configured must be set to Yes. This ensures that WAF obtains real IP addresses of website visitors and takes protective actions configured in protection policies. + |
+
policyid + |
+No + |
+String + |
+ID of the policy initially used to the domain name. It can be obtained by calling the API described in 2.1.1 Querying Protection Policies. + |
+
server + |
+Yes + |
+Array of PremiumWafServer objects + |
+Server configuration in dedicated mode + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
front_protocol + |
+Yes + |
+String + |
+Client protocol +Enumeration values: +
|
+
back_protocol + |
+Yes + |
+String + |
+Server protocol +Enumeration values: +
|
+
address + |
+Yes + |
+String + |
+IP address or domain name of the origin server that the client accesses. + |
+
port + |
+Yes + |
+Integer + |
+Server port + |
+
type + |
+Yes + |
+String + |
+The origin server address is an IPv4 or IPv6 address. Default value: ipv4 +Enumeration values: +
|
+
vpc_id + |
+Yes + |
+String + |
+VPC ID. Perform the following steps to obtain the VPC ID: +
|
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Protected domain name ID + |
+
policyid + |
+String + |
+Policy ID + |
+
hostname + |
+String + |
+Protected domain name + |
+
domainid + |
+String + |
+Tenant ID + |
+
projectid + |
+String + |
+Project ID + |
+
protocol + |
+String + |
+HTTP protocol + |
+
protect_status + |
+Integer + |
+WAF status of the protected domain name. +
|
+
access_status + |
+Integer + |
+Whether a domain name is connected to WAF. +
|
+
proxy + |
+Boolean + |
+Whether a proxy is used. +
|
+
server + |
+Array of PremiumWafServer objects + |
+Origin server list + |
+
flag + |
+Flag object + |
+Special domain name identifier, which is used to store additional domain name configuration. + |
+
block_page + |
+BlockPage object + |
+Alarm configuration page + |
+
extend + |
+Map<String,String> + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
timestamp + |
+Long + |
+Creation time. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
front_protocol + |
+String + |
+Client protocol +Enumeration values: +
|
+
back_protocol + |
+String + |
+Server protocol +Enumeration values: +
|
+
address + |
+String + |
+IP address or domain name of the origin server that the client accesses. + |
+
port + |
+Integer + |
+Server port + |
+
type + |
+String + |
+The origin server address is an IPv4 or IPv6 address. Default value: ipv4 +Enumeration values: +
|
+
vpc_id + |
+String + |
+VPC ID. Perform the following steps to obtain the VPC ID: +
|
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
pci_3ds + |
+String + |
+Whether PCI 3DS certification check is enabled for the domain name. Currently, this function is not supported. The default value is false. You can ignore this parameter. +
|
+
pci_dss + |
+String + |
+Whether PCI DDS certification check is enabled for the domain name. +
|
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
template + |
+String + |
+Template name + |
+
custom_page + |
+CustomPage object + |
+Custom alarm page + |
+
redirect_url + |
+String + |
+Redirection URL + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
status_code + |
+String + |
+Status Codes + |
+
content_type + |
+String + |
+Content type of alarm page + |
+
content + |
+String + |
+Page content + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
POST https://{Endpoint}/v1/{project_id}/premium-waf/host?enterprise_project_id=0 + +{ + "hostname" : "www.demo.com", + "server" : [ { + "front_protocol" : "HTTP", + "back_protocol" : "HTTP", + "vpc_id" : "cf6dbace-b36a-4d51-ae04-52a3319ae247", + "type" : "ipv4", + "address" : "1.1.1.1", + "port" : 80 + } ], + "proxy" : false, + "description" : "" +}+
Status code: 200
+Request succeeded.
+{ + "id" : "51a5649e52d341a9bb802044950969dc", + "policyid" : "1607df035bc847b582ce9c838c083b88", + "hostname" : "www.demo.com", + "protocol" : "HTTP", + "server" : [ { + "address" : "1.1.1.1", + "port" : 80, + "type" : "ipv4", + "weight" : 1, + "front_protocol" : "HTTP", + "back_protocol" : "HTTP", + "vpc_id" : "cf6dbace-b36a-4d51-ae04-52a3319ae247" + } ], + "proxy" : false, + "locked" : 0, + "timestamp" : 1650596007113, + "flag" : { + "pci_3ds" : "false", + "pci_dss" : "false" + }, + "description" : "", + "projectid" : "550500b49078408682d0d4f7d923f3e1", + "domainid" : "d4ecb00b031941ce9171b7bc3386883f", + "protect_status" : 1, + "access_status" : 0, + "extend" : { }, + "block_page" : { + "template" : "default" + } +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have the required permission. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+Creating a Data Masking Rule
+POST /v1/{project_id}/waf/policy/{policy_id}/privacy
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+Yes + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
url + |
+Yes + |
+String + |
+URL protected by the data masking rule. The value must be in the standard URL format, for example, /admin. + |
+
category + |
+Yes + |
+String + |
+Masked field +Enumeration values: +
|
+
index + |
+Yes + |
+String + |
+Name of the masked field + |
+
description + |
+No + |
+String + |
+Rule description + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID + |
+
policyid + |
+String + |
+Policy ID + |
+
timestamp + |
+Long + |
+Time the rule is created. The value is a 13-digit timestamp in ms. + |
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
url + |
+String + |
+URL protected by the data masking rule + |
+
category + |
+String + |
+Masked field +Enumeration values: +
|
+
index + |
+String + |
+Name of the masked field + |
+
description + |
+String + |
+Rule description + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/privacy? + +{ + "url" : "/login", + "category" : "params", + "index" : "password", + "description" : "" +}+
Status code: 200
+Request succeeded.
+{ + "category" : "params", + "description" : "", + "id" : "41a5674e03a1470a90ac4761ec4657b4", + "index" : "password", + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "status" : 1, + "timestamp" : 1656504425319, + "url" : "/login" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to create a reference table. A reference table can be referenced by CC attack protection rules and precise protection rules. For details about how to use reference tables, see "Adding a Reference Table" under "Rule Configurations" in Web Application Firewall User Guide.
+POST /v1/{project_id}/waf/valuelist
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+No + |
+String + |
+Content type. +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
name + |
+Yes + |
+String + |
+Reference table name. The value can contain a maximum of 64 characters. Only digits, letters, hyphens (-), underscores (_), and periods (.) are allowed. + |
+
type + |
+Yes + |
+String + |
+Reference table type. For details, see the enumeration list +Enumeration values: +
|
+
values + |
+Yes + |
+Array of strings + |
+Value of the reference table + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+ID of a reference table + |
+
name + |
+String + |
+Reference table name + |
+
type + |
+String + |
+The value can be: +
|
+
timestamp + |
+String + |
+Reference table timestamp + |
+
values + |
+Array of strings + |
+Value of the reference table + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
POST https://{Endpoint}/v1/{project_id}/waf/valuelist? + +{ + "name" : "demo", + "type" : "url", + "values" : [ "/demo" ] +}+
Status code: 200
+Request succeeded.
+{ + "id" : "3978ca9403844a62bbd24bb5b8d16d4e", + "name" : "demo", + "type" : "url", + "values" : [ "/demo" ], + "timestamp" : 1656495488880 +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+his API is used to create a blacklist or whitelist rule.
+POST /v1/{project_id}/waf/policy/{policy_id}/whiteblackip
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User Token + |
+
Content-Type + |
+Yes + |
+String + |
+Conten type. +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
description + |
+No + |
+String + |
+Rule description. + |
+
addr + |
+Yes + |
+String + |
+lacklisted or whitelisted IP addresses + |
+
white + |
+Yes + |
+Object + |
+Protective action. The value can be: +
|
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID + |
+
policyid + |
+String + |
+Policy ID. + |
+
timestamp + |
+Long + |
+Rule creation time + |
+
description + |
+String + |
+Rule description. + |
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
addr + |
+String + |
+lacklisted or whitelisted IP addresses + |
+
white + |
+Integer + |
+Protective action. The value can be: +
|
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
POST https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/whiteblackip? + +{ + "white" : 0, + "description" : "demo", + "addr" : "x.x.x.x" +}+
Status code: 200
+Request succeeded.
+{ + "id" : "5d43af25404341058d5ab17b7ba78b56", + "policyid" : "38ff0cb9a10e4d5293c642bc0350fa6d", + "timestamp" : 1650531872900, + "description" : "demo", + "status" : 1, + "addr" : "x.x.x.x", + "white" : 0, + "size" : 1 +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to delete a web tamper protection rule.
+DELETE /v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
rule_id + |
+Yes + |
+String + |
+Rule ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+No + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID + |
+
timestamp + |
+Long + |
+Timestamp + |
+
description + |
+String + |
+Rule description. + |
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
hostname + |
+String + |
+Domain name protected by the web tamper protection rule + |
+
url + |
+String + |
+URL for the web tamper protection rule. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
DELETE https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}?+
Status code: 200
+Request succeeded.
+{ + "description" : "", + "hostname" : "www.domain.com", + "id" : "0f59185b76c143f884d21cd0d88e6fa8", + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "status" : 1, + "timestamp" : 1656506256928, + "url" : "/login" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to delete a CC attack protection rule.
+DELETE /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Content type. + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID. It can be obtained by calling the API Querying Protection Policies. + |
+
rule_id + |
+Yes + |
+String + |
+ccRuleId + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+No + |
+String + |
+Content type. +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID. + |
+
url + |
+String + |
+When the value of mode is 0, this parameter has a return value. URL to which the rule applies, excluding a domain name. +
|
+
prefix + |
+Boolean + |
+Whether a prefix is used for the path. If the protected URL ends with an asterisk (*), a path prefix is used. + |
+
mode + |
+Integer + |
+Mode. +
|
+
limit_num + |
+String + |
+Number of requests allowed from a web visitor in a rate limiting period + |
+
limit_period + |
+String + |
+Rate limiting period + |
+
lock_time + |
+String + |
+How long a web visitor will be locked The value range is [0 to 2^32), in seconds. + |
+
tag_type + |
+String + |
+Protection mode. +
|
+
status + |
+Integer + |
+Rule status. The value can be 0 or 1. +
|
+
description + |
+String + |
+Rule description + |
+
action + |
+action object + |
+Action to take if the number of requests reaches the upper limit. + |
+
conditions + |
+Array of conditions objects + |
+Condition list. This parameter is returned when mode is set to 1. + |
+
timestamp + |
+Long + |
+Time the rule is created. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Action type: +
|
+
detail + |
+String + |
+Action details. If detail is null, the default block page is displayed by default. +
|
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
response + |
+response object + |
+Returned page. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
content_type + |
+String + |
+Content type. The value can only be application/json, text/html, or text/xml. + |
+
content + |
+String + |
+Contents + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Field type. The options are as follows: ip, cookie, and url + |
+
index + |
+String + |
+Parameter description: +
|
+
logic_operation + |
+String + |
+Condition matching logic. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, not_suffix, equal_any, and not_equal_any, contain_any, and not_contain_any. +
|
+
contents + |
+Array of strings + |
+Content of the conditions. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
DELETE https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}?+
Status code: 200
+Request succeeded.
+{ + "aging_time" : 0, + "description" : "", + "id" : "a5f3fd28db564696b199228f0ac346b2", + "limit_num" : 10, + "limit_period" : 60, + "lock_time" : 0, + "mode" : 0, + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "prefix" : false, + "producer" : 1, + "status" : 1, + "tag_type" : "ip", + "timestamp" : 1656494435686, + "total_num" : 0, + "unaggregation" : false, + "url" : "/path1" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to delete a certificate.
+DELETE /v1/{project_id}/waf/certificate/{certificate_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
certificate_id + |
+Yes + |
+String + |
+HTTPS certificate ID. It can be obtained by calling the 2.3.1 Querying the Certificate List API. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+No + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Certificate ID + |
+
name + |
+String + |
+Certificate name + |
+
expire_time + |
+Long + |
+Timestamp when the certificate expires + |
+
timestamp + |
+Long + |
+Timestamp when the certificate is uploaded + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
DELETE https://{Endpoint}/v1/{project_id}/waf/certificate/{certificate_id}?+
Status code: 200
+Request succeeded.
+{ + "id" : "e1d87ba2d88d4ee4a3b0c829e935e5e0", + "name" : "certificatename29556", + "timestamp" : 1650594410630, + "expire_time" : 1596865564000 +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to delete a precise protection rule.
+DELETE /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID. + |
+
rule_id + |
+Yes + |
+String + |
+customRuleId + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+Yes + |
+String + |
+Content type. +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID. + |
+
description + |
+String + |
+Rule description + |
+
status + |
+Integer + |
+Rule status. The value can be 0 or 1. +
|
+
conditions + |
+Array of conditions objects + |
+List of matching conditions. All conditions must be met. + |
+
action + |
+CustomAction object + |
+Protective action of the precise protection rule. + |
+
action_mode + |
+Boolean + |
+This parameter is reserved and can be ignored. + |
+
priority + |
+Integer + |
+Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: 0 to 1000. + |
+
timestamp + |
+Long + |
+Timestamp when the precise protection rule is created. + |
+
start + |
+Long + |
+Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true. + |
+
terminal + |
+Long + |
+Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Field type. The options are url, user-agent, ip, params, cookie, referer, header, request_line, method, and request. + |
+
index + |
+String + |
+Subfield +
|
+
logic_operation + |
+String + |
+Logic for matching the condition. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix. For more details, see the console UI. + |
+
contents + |
+Array of strings + |
+Content of the conditions. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Action type. +
|
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
DELETE https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}?+
Status code: 200
+Request succeeded.
+{ + "action" : { + "category" : "block" + }, + "action_mode" : false, + "aging_time" : 0, + "conditions" : [ { + "category" : "header", + "index" : "demo", + "logic_operation" : "contain", + "content" : [ "demo" ] + } ], + "description" : "", + "id" : "2a3caa2bc9814c09ad73d02e3485b4a4", + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "priority" : 50, + "status" : 1, + "time" : false, + "timestamp" : 1656495488880 +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to delete a geolocation access control rule.
+DELETE /v1/{project_id}/waf/policy/{policy_id}/geoip/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
rule_id + |
+Yes + |
+String + |
+Rule ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+No + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID + |
+
geoip + |
+String + |
+Applicable regions. The value can be the region code. +
|
+
white + |
+Integer + |
+Protective action. The value can be: +
|
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
timestamp + |
+Long + |
+Time the rule is created. The value is a 13-digit timestamp in ms. + |
+
description + |
+String + |
+Rule description + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
DELETE https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/geoip/{rule_id}?enterprise_project_id=0+
Status code: 200
+Request succeeded.
+{ + "id" : "02dafa406c4941368a1037b020f15a53", + "policyid" : "38ff0cb9a10e4d5293c642bc0350fa6d", + "name" : "demo", + "timestamp" : 1650534513775, + "description" : "demo", + "status" : 1, + "geoip" : "BR", + "white" : 0 +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query a false alarm masking rule.
+DELETE /v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
rule_id + |
+Yes + |
+String + |
+Rule ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+No + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID. + |
+
timestamp + |
+Long + |
+Rule creation time. + |
+
description + |
+String + |
+Provides supplementary information about the assignment. + |
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
url + |
+String + |
+URL protected by the web tamper protection rule. The value must be in the standard URL format, for example, /admin. + |
+
rule + |
+String + |
+Masked rule. The value can be the ID of a rule that is matched, all rules (all), or enumeration value of the attack type. To mask a built-in rule included in Basic Web Protection, set this parameter to the ID of the rule. To obtain the rule ID, go to the WAF console. Then, choose Policies and click the policy name. On the displayed page, find the Basic Web Protection area and click Advanced Settings. On the displayed page, click Protection Rule and view the rule ID. To disable a certain type of rule, the value can be: +
|
+
url_logic + |
+String + |
+URL match logic: +
|
+
domains + |
+Array of strings + |
+Protected domain name + |
+
advanced + |
+advanced object + |
+advanced + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
index + |
+String + |
+To ignore attacks of a specified field, specify the field in the Advanced Settings area. After you complete the configuration, WAF will stop intercepting attack events of the specified field. The following fields are supported: +
|
+
content + |
+String + |
+Specified field (available only for param, cookie, and header) + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
DELETE https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/ignore?+
Status code: 200
+Request succeeded.
+{ + "id" : "c20f67b3e1c040c0b0d8866e568ee8bf", + "policyid" : "a75e96d8284c4c4f98ada7d391e8342c", + "timestamp" : 1656507126528, + "description" : "", + "status" : 1, + "domain" : [ "test3.th.com" ], + "rule" : "webshell", + "url_logic" : "equal", + "url" : "/demo" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to delete a dedicated WAF engine.
+DELETE /v1/{project_id}/premium-waf/instance/{instance_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
instance_id + |
+Yes + |
+String + |
+ID of the dedicated WAF instance. It can be obtained by calling the WAF ListInstance API + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+No + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+Yes + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+ID of the dedicated WAF engine + |
+
instance_name + |
+String + |
+Name of the dedicated WAF engine. + |
+
instancename + |
+String + |
+Name of the dedicated WAF engine. This parameter is repeated and can be ignored. + |
+
region + |
+String + |
+Region where a dedicated engine is to be created. Its value is EU-DE. + |
+
zone + |
+String + |
+AZ ID. + |
+
arch + |
+String + |
+CPU architecture + |
+
cpu_flavor + |
+String + |
+ECS specification ID + |
+
vpc_id + |
+String + |
+ID of the VPC where the dedicated engine is located + |
+
subnet_id + |
+String + |
+Subnet ID of the VPC where the dedicated engine is located. + |
+
service_ip + |
+String + |
+Service plane IP address of the dedicated engine + |
+
service_ipv6 + |
+String + |
+IPv6 address of the service plane of the dedicated engine + |
+
security_group_ids + |
+Array of strings + |
+Security groups bound to the dedicated engine ECS + |
+
status + |
+Integer + |
+Billing status of dedicated WAF engine. The value can be 0, 1, or 2. +
|
+
run_status + |
+Integer + |
+unning status of the dedicated engine. The value can be 0 (creating), 1 (running), 2 (deleting), 3 (deleted), 4 (creation failed), 5 (frozen), 6 (abnormal), 7 (updating), or 8 (update failed). + |
+
access_status + |
+Integer + |
+Access status of the dedicated engine. The value can be 0 or 1. +
|
+
upgradable + |
+Integer + |
+Whether the dedicated engine can be upgraded. The value can be 0 for no or 1 for yes. + |
+
cloudServiceType + |
+String + |
+Cloud service code. This is a unique code used to distinguish cloud services from each other. You can ignore it. + |
+
resourceType + |
+String + |
+Cloud service resource type. Cloud services are purchased by resource type. You can ignore it. + |
+
resourceSpecCode + |
+String + |
+Resource specifications code. This code is used to identify the resource specifications the dedicated engine uses. You can ignore it. + |
+
specification + |
+String + |
+Dedicated engine ECS specifications, for example, 8 vCPUs | 16 GB. + |
+
hosts + |
+Array of IdHostnameEntry objects + |
+Domain name protected by the dedicated engine. + |
+
server_id + |
+String + |
+ID of the ECS hosting the dedicated engine. + |
+
serverId + |
+String + |
+ID of the ECS hosting the dedicated engine. This parameter is the same as server_id, and will be deleted. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+ID of the protected domain name. This is a unique ID automatically generated by the system. + |
+
hostname + |
+String + |
+Protected domain name + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
DELETE https://{endpoint}z/v1/{project_id}/premium-waf/instance/{instance_id}+
Status code: 200
+Request succeeded.
+{ + "id" : "0619871acb764d48a112695e8f7cbb10", + "region" : "region-01-7", + "zone" : "region-01-7a", + "specification" : "8vCPUs | 16GB", + "arch" : "x86", + "upgradable" : 0, + "status" : 0, + "serverId" : "477353dc-8687-4bf4-b45b-1d7fee74fa63", + "server_id" : "477353dc-8687-4bf4-b45b-1d7fee74fa63", + "cloudServiceType" : "hws.service.type.waf", + "resourceType" : "hws.resource.type.waf.instance", + "resourceSpecCode" : "waf.instance.enterprise", + "vpc_id" : "13718074-a3f9-408d-82aa-3c41ef55e589", + "subnet_id" : "74d1b5a6-c7eb-4e9a-8372-181212552fcc", + "service_ip" : "192.168.10.68", + "security_group_ids" : [ "34287bdb-7aba-471a-b041-27427f1af76a" ], + "cpu_flavor" : "Si2.2xlarge.2", + "run_status" : 2, + "access_status" : 1, + "hosts" : [ { + "id" : "c3be17bbe3a641c7a1ded6019c377402", + "hostname" : "demo.www.com" + } ], + "instancename" : "0412elb", + "instance_name" : "0412elb" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to delete a policy.
+DELETE /v1/{project_id}/waf/policy/{policy_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID. It can be obtained by calling the API Querying Protection Policies. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+No + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Policy ID + |
+
name + |
+String + |
+Array of details of policies + |
+
action + |
+PolicyAction object + |
+PolicyAction + |
+
options + |
+PolicyOption object + |
+PolicyOption + |
+
level + |
+Integer + |
+Protection level +
|
+
full_detection + |
+Boolean + |
+Detection mode in the precise protection rule +
|
+
bind_host + |
+Array of BindHost objects + |
+Basic information about the protected domain. + |
+
timestamp + |
+Integer + |
+Time a policy is created + |
+
extend + |
+Map<String,String> + |
+Extended field + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Protection level. The value can be: +
Enumeration values: +
|
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
webattack + |
+Boolean + |
+Basic web protection includes many specific checks under Advanced Settings, and there is a specific parameter allocated for each check, for example, common for General Check. To enabled any of these checks, keep this parameter enabled first. The value can be: +
|
+
common + |
+Boolean + |
+Whether general check is enabled. The value can be: +
|
+
anticrawler + |
+Boolean + |
+Whether anti-crawler protection is enabled. Anti-crawler protection includes many specific anti-crawler checks, such as crawler_engine, crawler_scanner, crawler_script, and crawler_other. To enable any of these checks, keep anti-crawler protection enabled. The value can be: +
|
+
crawler + |
+Boolean + |
+Whether feature-based anti-crawler is enabled. This parameter is fixed at true. +
|
+
crawler_engine + |
+Boolean + |
+Whether the search engine is enabled. The value can be: +
|
+
crawler_scanner + |
+Boolean + |
+Whether the scanner check in anti-crawler detection is enabled. The value can be: +
|
+
crawler_script + |
+Boolean + |
+Whether the JavaScript anti-crawler is enabled. The value can be: +
|
+
crawler_other + |
+Boolean + |
+Whether other crawler check is enabled. The value can be: +
|
+
webshell + |
+Boolean + |
+Whether other crawler check is enabled. The value can be: +
|
+
cc + |
+Boolean + |
+Whether the CC attack protection rule is enabled. The value can be: +
|
+
custom + |
+Boolean + |
+Whether precise protection is enabled. The value can be: +
|
+
whiteblackip + |
+Boolean + |
+Whether blacklist and whitelist protection is enabled. The value can be: +
|
+
geoip + |
+Boolean + |
+Whether geolocation access control is enabled. The value can be: +
|
+
ignore + |
+Boolean + |
+Whether false alarm masking is enabled. The value can be: +
|
+
privacy + |
+Boolean + |
+Whether data masking is enabled. The value can be: +
|
+
antitamper + |
+Boolean + |
+Whether the web tamper protection is enabled. The value can be: +
|
+
antileakage + |
+Boolean + |
+Whether the information leakage prevention is enabled. The value can be: +
|
+
bot_enable + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
precise + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
followed_action + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Domain name ID. It is the unique identifier generated by WAF for a domain name when you add the domain name to WAF + |
+
hostname + |
+String + |
+Domain name + |
+
waf_type + |
+String + |
+WAF mode of the domain name. The value is premium. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
DELETE https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}?+
Status code: 200
+Request succeeded.
+{ + "id" : "62169e2fc4e64148b775ec01b24a1947", + "name" : "demo", + "level" : 2, + "action" : { + "category" : "log", + "modulex_category" : "log" + }, + "options" : { + "webattack" : true, + "common" : true, + "crawler" : true, + "crawler_engine" : false, + "crawler_scanner" : true, + "crawler_script" : false, + "crawler_other" : false, + "webshell" : false, + "cc" : true, + "custom" : true, + "precise" : false, + "whiteblackip" : true, + "geoip" : true, + "ignore" : true, + "privacy" : true, + "antitamper" : true, + "anticrawler" : false, + "antileakage" : false, + "followed_action" : false, + "bot_enable" : true + }, + "hosts" : [ ], + "extend" : { }, + "timestamp" : 1649316510603, + "full_detection" : false, + "bind_host" : [ ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to delete a domain name from a dedicated WAF instance.
+DELETE /v1/{project_id}/premium-waf/host/{host_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
host_id + |
+Yes + |
+String + |
+ID of the domain name protected by the dedicated WAF engine + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
keepPolicy + |
+No + |
+Boolean + |
+Whether to retain the rule +Default: false + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
Content-Type + |
+No + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Domain name ID + |
+
hostname + |
+String + |
+Domain name + |
+
policyid + |
+String + |
+Policy ID + |
+
protect_status + |
+Integer + |
+WAF status of the protected domain name. The value can be: +
|
+
access_status + |
+Integer + |
+Domain name access status. The value can be 0 or 1. +
|
+
flag + |
+Flag object + |
+Special domain name identifier, which is used to store additional domain name configurations. + |
+
hostid + |
+String + |
+Domain name ID. This parameter has the same meaning as parameter id and will be deleted. + |
+
hostId + |
+String + |
+Domain name ID. This parameter has the same meaning as parameter id and will be deleted. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
pci_3ds + |
+String + |
+Whether PCI 3DS certification check is enabled for the domain name. Currently, this function is not supported. The default value is false. You can ignore this parameter. +
|
+
pci_dss + |
+String + |
+Whether PCI DDS certification check is enabled for the domain name. +
|
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
DELETE https://{Endpoint}/v1/{project_id}/premium-waf/host/{host_id}?+
Status code: 200
+Request succeeded.
+{ + "id" : "ee896796e1a84f3f85865ae0853d8974", + "hostname" : "www.demo.com", + "flag" : { + "pci_3ds" : "false", + "pci_dss" : "false" + }, + "description" : "", + "policyid" : "df15d0eb84194950a8fdc615b6c012dc", + "protect_status" : 1, + "access_status" : 0, + "hostid" : "ee896796e1a84f3f85865ae0853d8974" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Invalid request + |
+
401 + |
+The token does not have the required permission. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to delete a data masking rule.
+DELETE /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
rule_id + |
+Yes + |
+String + |
+Rule ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+auth token + |
+
Content-Type + |
+Yes + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
DELETE https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}?+
Status code: 200
+Request succeeded.
+{ + "category" : "header", + "description" : "", + "id" : "41a5674e03a1470a90ac4761ec4657b4", + "index" : "token", + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "status" : 1, + "timestamp" : 1656504425319, + "url" : "/login" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to delete a reference table.
+DELETE /v1/{project_id}/waf/valuelist/{valuelistid}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
valuelistid + |
+Yes + |
+String + |
+Reference table ID. It can be obtained by calling the API Querying the Reference Table List + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+No + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+ID of a reference table + |
+
name + |
+String + |
+Reference table name + |
+
type + |
+String + |
+The value can be: +
|
+
timestamp + |
+String + |
+Reference table timestamp + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
DELETE https://{Endpoint}/v1/{project_id}/waf/valuelist/{valuelistid}?+
Status code: 200
+Request succeeded.
+{ + "id" : "3978ca9403844a62bbd24bb5b8d16d4e", + "name" : "demo2", + "type" : "url", + "values" : [ "/demo" ], + "timestamp" : 1656495488880 +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to delete an IP address blacklist or whitelist rule.
+DELETE /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
rule_id + |
+Yes + |
+String + |
+Rule ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User Token. + |
+
Content-Type + |
+Yes + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID + |
+
policyid + |
+String + |
+Policy ID. + |
+
timestamp + |
+Long + |
+Rule creation time + |
+
description + |
+String + |
+Rule description. + |
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
addr + |
+String + |
+lacklisted or whitelisted IP addresses + |
+
white + |
+Integer + |
+Protective action. The value can be: +
|
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
DELETE https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/whiteblackip?+
Status code: 200
+Request succeeded.
+{ + "id" : "5d43af25404341058d5ab17b7ba78b56", + "policyid" : "38ff0cb9a10e4d5293c642bc0350fa6d", + "timestamp" : 1650531872900, + "description" : "demo", + "status" : 1, + "addr" : "10.1.1.2", + "white" : 0 +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+Status Code + |
+Error Codes + |
+Error Message + |
+Description + |
+Solution + |
+
---|---|---|---|---|
400 + |
+WAF.00011001 + |
+bad.request + |
+Bad request + |
+Check param + |
+
400 + |
+WAF.00011002 + |
+url.param.illegal + |
+The URL format is incorrect + |
+Check URL format + |
+
400 + |
+WAF.00011003 + |
+request.body.illegal + |
+Request body format error: missing parameter and illegal value in body + |
+Check request body + |
+
400 + |
+WAF.00011004 + |
+id.illegal + |
+Illegal ID + |
+Check ID + |
+
400 + |
+WAF.00011005 + |
+name.illegal + |
+Illegal name + |
+Check name + |
+
400 + |
+WAF.00011006 + |
+host.illegal + |
+Illegal domain name + |
+Check domain name + |
+
400 + |
+WAF.00011007 + |
+port.illegal + |
+Illegal port + |
+Check port + |
+
400 + |
+WAF.00011007 + |
+ip.illegal + |
+Illegal IP + |
+Check IP + |
+
400 + |
+WAF.00011008 + |
+protect.status.illegal + |
+Illegal protection status + |
+Check whether the protection state is in the range of enumeration value + |
+
400 + |
+WAF.00011009 + |
+access.status.illegal + |
+Illegal access status + |
+Check whether the access status is in the range of enumeration value + |
+
400 + |
+WAF.00011010 + |
+offsetOrLimit.illegal + |
+Illegal offset or limit number + |
+Check whether the starting line or limit number is within the range + |
+
400 + |
+WAF.00011011 + |
+pageOrPageSize.illegal + |
+Illegal page number or number of entries per page + |
+Check if page number or number of items per page are in range + |
+
400 + |
+WAF.00011012 + |
+standard.violated + |
+Invalid parameter + |
+Check the parameters + |
+
400 + |
+WAF.00011013 + |
+description.illegal + |
+Illegal description format + |
+Check description format + |
+
400 + |
+WAF.00011014 + |
+request.header.illegal + |
+Request header format error: missing parameter and illegal value in header + |
+Check header required parameters + |
+
400 + |
+WAF.00011014 + |
+website.not.register + |
+The website has not been put on record + |
+Filing website + |
+
400 + |
+WAF.00012001 + |
+invalid.token + |
+Illegal token + |
+Check whether the token is correct + |
+
400 + |
+WAF.00012002 + |
+invalid.project + |
+Inconsistency between project_id and token + |
+Check Consistency of project_id and token + |
+
400 + |
+WAF.00012003 + |
+permission.denied + |
+No permission + |
+Assign WAF required permissions to account + |
+
400 + |
+WAF.00012004 + |
+account.frozen + |
+Account freezing + |
+Account unfreezing + |
+
400 + |
+WAF.00012005 + |
+not.subscribe + |
+Unsubscribed + |
+Subscribe to WAF service first + |
+
400 + |
+WAF.00012006 + |
+pdp.permission.denied + |
+No permission + |
+Check the PDP authority of the account + |
+
400 + |
+WAF.00012007 + |
+jwt.authentication.disabled + |
+JWT certification off + |
+Open JWT certification + |
+
400 + |
+WAF.00012008 + |
+jwt.authentication.invalid.token + |
+Illegal JWT token + |
+Check whether the account has JWT permission + |
+
400 + |
+WAF.00012009 + |
+jwt.authentication.failed + |
+JWT authentication failed + |
+Give the account authorization first + |
+
400 + |
+WAF.00012010 + |
+eps.all.not.support + |
+eps.all.not.support + |
+Open the write permission of enterprise project + |
+
400 + |
+WAF.00013001 + |
+insufficient.quota + |
+Insufficient function quota + |
+Purchase function quota upgrade package + |
+
400 + |
+WAF.00013002 + |
+feature.not.support + |
+Function not supported + |
+nothing + |
+
400 + |
+WAF.00013003 + |
+port.not.support + |
+Port not supported + |
+Port conversion via ELB + |
+
400 + |
+WAF.00013004 + |
+protocol.not.support + |
+Protocol not supported + |
+Through ELB conversion protocol + |
+
400 + |
+WAF.00013005 + |
+wildcard.domain.not.support + |
+Pan domain name not supported + |
+Use specific domain names + |
+
400 + |
+WAF.00013006 + |
+ipv6.not.support + |
+IPv6 is not supported + |
+The current version does not support IPv6 + |
+
400 + |
+WAF.00013007 + |
+insufficient.tenant.quota + |
+insufficient.tenant.quota + |
+Purchase quota upgrade package + |
+
400 + |
+WAF.00014001 + |
+resource.not.found + |
+Resource not found + |
+The resource has been deleted or does not exist + |
+
400 + |
+WAF.00014002 + |
+resource.already.exists + |
+Resource already exists + |
+Resource already exists + |
+
400 + |
+WAF.00014003 + |
+open.protect.failed + |
+Failed to open protection + |
+Check domain name protection status + |
+
400 + |
+WAF.00014004 + |
+access.failed + |
+Failed to access WAF + |
+Modify DNS resolution + |
+
400 + |
+WAF.00014005 + |
+bypass.failed + |
+Bypasswaf failed + |
+Check the protection status and try again + |
+
400 + |
+WAF.00014006 + |
+proxy.config.error + |
+Agent configuration error + |
+Reconfigure the agent correctly and try again + |
+
400 + |
+WAF.00014007 + |
+host.conflict + |
+Domain name conflict + |
+Check that the domain name already exists in the website configuration + |
+
400 + |
+WAF.00014008 + |
+cert.inconsistent + |
+The same domain name, but the certificate is inconsistent + |
+Use the same certificate + |
+
400 + |
+WAF.00014009 + |
+api.not.found + |
+The interface does not exist + |
+Check interface URL + |
+
400 + |
+WAF.00014010 + |
+port.protocol.mismatch + |
+Port and protocol mismatch + |
+Select the matching protocol and port + |
+
400 + |
+WAF.00014011 + |
+host.blacklist + |
+It is forbidden to add the protection website, and the domain name is blacklisted + |
++ |
400 + |
+WAF.00014012 + |
+insufficient.tenant.quota + |
+Insufficient tenant quota + |
+Purchase quota upgrade package + |
+
400 + |
+WAF.00014013 + |
+exclusive.ip.config.error + |
+Exclusive IP configuration error + |
+Check exclusive IP configuration + |
+
400 + |
+WAF.00014014 + |
+exclusive.ip.config.error + |
+exclusive.ip.config.error + |
+Check exclusive IP configuration + |
+
400 + |
+WAF.00021002 + |
+url.param.illegal + |
+The URL format is incorrect + |
+It is recommended to modify the URL in the request body parameter to the standard URL and debug again + |
+
400 + |
+WAF.00021003 + |
+request.body.illegal + |
+The request body parameter is incorrect + |
+It is recommended that you verify the parameters according to the document before initiating debugging + |
+
400 + |
+WAF.00021004 + |
+id.illegal + |
+The unique identifier ID format is incorrect + |
+It is recommended to follow the correct instructions in the documentation to obtain the ID + |
+
400 + |
+WAF.00021005 + |
+name.illegal + |
+The name parameter format is incorrect + |
+Check the format of name, which can only be composed of letters, numbers, -_ And. Cannot exceed 64 characters in length + |
+
400 + |
+WAF.00021006 + |
+host.illegal + |
+The domain name format is incorrect + |
+Domain name can only be composed of letters, numbers, -_ And. Cannot exceed 64 characters in length + |
+
400 + |
+WAF.00021007 + |
+protocol.illegal + |
+The back-end protocol format is incorrect + |
+The back-end protocol can only be configured as HTTP or HTTPS and must be capitalized + |
+
400 + |
+WAF.00021008 + |
+port.illegal + |
+The source port format is incorrect + |
+Check whether the configured port is empty and whether the target port is in the range of 0-65535 + |
+
400 + |
+WAF.00021009 + |
+ip.illegal + |
+Incorrect IP format + |
+Check whether the IP format meets the standard format of IPv4 or IPv6 + |
+
400 + |
+WAF.00021010 + |
+server.address.illegal + |
+Server configuration exception + |
+Check whether the server configuration is empty and whether the quantity is in the range of 1-80 + |
+
400 + |
+WAF.00021012 + |
+path.illegal + |
+The URL format in the rule configuration is incorrect + |
+It is recommended to modify the URL in the request body parameter to the standard URL and debug again + |
+
400 + |
+WAF.00021013 + |
+cert.illegal + |
+The HTTPS certificate has expired + |
+It is recommended to upload the unexpired certificate again + |
+
400 + |
+WAF.00021014 + |
+action.illegal + |
+Illegal protective action + |
+It is recommended to configure protection actions according to the enumerated values in the document + |
+
400 + |
+WAF.00021015 + |
+rule.status.illegal + |
+Illegal rule status + |
+It is recommended to modify the rule status according to the rule status enumeration value in the document + |
+
400 + |
+WAF.00021016 + |
+description.illegal + |
+Description exception + |
+It is recommended to use standard English grammar for description + |
+
400 + |
+WAF.00021017 + |
+incorrect.rule.config + |
+Incorrect rule configuration + |
+It is recommended to configure protection rules according to the documentation in the help center + |
+
400 + |
+WAF.00021018 + |
+incorrect.reference.table.config + |
+Incorrect reference table configuration + |
+It is recommended to configure the reference table according to the documentation in the help center + |
+
400 + |
+WAF.00021019 + |
+incorrect.route.config + |
+Incorrect line configuration + |
+It is recommended to configure the line according to the documentation in the help center + |
+
400 + |
+WAF.00021020 + |
+offsetOrLimit.illegal + |
+Paging parameter error + |
+It is recommended to fill in pagination parameters according to the documents in the help center + |
+
400 + |
+WAF.00021021 + |
+param.exceed.limit + |
+Parameter exceeds limit + |
+It is recommended to view the parameter limits according to the documentation in the help center + |
+
400 + |
+WAF.00022002 + |
+resource.already.exists + |
+Resource already exists + |
+It is recommended to check whether the created resource already exists in the console + |
+
400 + |
+WAF.00022003 + |
+resource.is.being.used + |
+The resource is in use + |
+Remove the relationship between the resource and the user before deleting the resource + |
+
400 + |
+WAF.00022004 + |
+rule.conflict + |
+Rule conflict + |
+Check whether the target rule conflicts with the existing rule + |
+
403 + |
+WAF.00022005 + |
+insufficient.quota + |
+Insufficient resources + |
+It is recommended to purchase the upgrade package of corresponding resources + |
+
404 + |
+WAF.00022001 + |
+resource.not.found + |
+Resource does not exist + |
+It is recommended to check the resource status on the console or ask for technical support + |
+
500 + |
+WAF.00010001 + |
+internal.error + |
+Internal error + |
+Contact technical support + |
+
500 + |
+WAF.00010002 + |
+system.busy + |
+Internal error + |
+Contact technical support + |
+
500 + |
+WAF.00010003 + |
+cname.failed + |
+Failed to create or modify CNAME + |
+Contact technical support + |
+
500 + |
+WAF.00010004 + |
+cname.failed + |
+Failed to get OBS file download link + |
+Contact technical support + |
+
500 + |
+WAF.00020001 + |
+internal.error + |
+Service internal exception + |
+It is recommended to try again in five minutes + |
+
500 + |
+WAF.00020002 + |
+system.busy + |
+System busy + |
+It is recommended to try again in five minutes + |
+
This api is used to query the list of web tamper protection rules.
+GET /v1/{project_id}/waf/policy/{policy_id}/antitamper
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Prroject ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
page + |
+No + |
+Integer + |
+Page +Default: 1 + |
+
pagesize + |
+No + |
+Integer + |
+Number of records on each page. The maximum value is 100. +Default: 10 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+No + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
total + |
+Integer + |
+Total number of rules + |
+
items + |
+Array of AntiTamperRuleResponseBody objects + |
+Rules + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID + |
+
timestamp + |
+Long + |
+Timestamp + |
+
description + |
+String + |
+Rule description. + |
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
hostname + |
+String + |
+Domain name protected by the web tamper protection rule + |
+
url + |
+String + |
+URL for the web tamper protection rule. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/antitamper?+
Status code: 200
+Request succeeded.
+{ + "total" : 1, + "items" : [ { + "description" : "", + "hostname" : "www.domain.com", + "id" : "0f59185b76c143f884d21cd0d88e6fa8", + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "status" : 1, + "timestamp" : 1656506256928, + "url" : "/login" + } ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query bandwidth usage statistics.
+GET /v1/{project_id}/waf/overviews/bandwidth/timeline
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
from + |
+Yes + |
+Long + |
+Start time (13-digit timestamp in millisecond). This parameter must be used together with to. + |
+
to + |
+Yes + |
+Long + |
+End time (13-digit timestamp in millisecond). This parameter must be used together with from. + |
+
hosts + |
+No + |
+String + |
+List of domain names to query, which can be obtained by calling the ListHost API + |
+
instances + |
+No + |
+String + |
+List of instance to query (only for the instantiation mode). + |
+
group_by + |
+No + |
+String + |
+Display dimension. For example, the value is DAY if data is displayed by the day. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+No + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
[items] + |
+Array of ListBandwidthTimelineItem objects + |
+ListBandwidthTimelineResponseBody + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
key + |
+String + |
+The following statistics can be included: +
|
+
timeline + |
+Array of TimeLineItem objects + |
+Timeline corresponding to the key value + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
time + |
+Long + |
+Time-point + |
+
num + |
+Integer + |
+Quantity. Aggregated data is returned. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/overviews/bandwidth/timeline?from=1650470400196&to=1650522936196+
Status code: 200
+Request succeeded.
+[ { + "key" : "IN_BANDWIDTH", + "timeline" : [ { + "time" : 1650470400000, + "num" : 0 + } ] +}, { + "key" : "OUT_BANDWIDTH", + "timeline" : [ { + "time" : 1650470400000, + "num" : 0 + } ] +}, { + "key" : "BANDWIDTH", + "timeline" : [ { + "time" : 1650470400000, + "num" : 0 + } ] +} ]+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query the list of CC attack protection rules.
+GET /v1/{project_id}/waf/policy/{policy_id}/cc
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID. It can be obtained by calling the API Querying Protection Policies. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
page + |
+No + |
+Integer + |
+Page number. +Default: 1 + |
+
pagesize + |
+No + |
+Integer + |
+Number of records on each page. The maximum value is 100. Default value: 10 +Default: 10 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+Yes + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
total + |
+Integer + |
+Number of rules in the policy + |
+
items + |
+Array of CcrulesListInfo objects + |
+Array of Cc rules + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID. + |
+
url + |
+String + |
+When the value of mode is 0, this parameter has a return value. URL to which the rule applies, excluding a domain name. +
|
+
prefix + |
+Boolean + |
+Whether a prefix is used for the path. If the protected URL ends with an asterisk (*), a path prefix is used. + |
+
mode + |
+Integer + |
+Mode. +
|
+
limit_num + |
+String + |
+Number of requests allowed from a web visitor in a rate limiting period + |
+
limit_period + |
+String + |
+Rate limiting period + |
+
lock_time + |
+String + |
+How long a web visitor will be locked The value range is [0 to 2^32), in seconds. + |
+
tag_type + |
+String + |
+Protection mode. +
|
+
status + |
+Integer + |
+Rule status. The value can be 0 or 1. +
|
+
description + |
+String + |
+Rule description + |
+
action + |
+action object + |
+Action to take if the number of requests reaches the upper limit. + |
+
conditions + |
+Array of conditions objects + |
+Condition list. This parameter is returned when mode is set to 1. + |
+
timestamp + |
+Long + |
+Time the rule is created. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Action type: +
|
+
detail + |
+String + |
+Action details. If detail is null, the default block page is displayed by default. +
|
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
response + |
+response object + |
+Returned page + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
content_type + |
+String + |
+Content type. The value can only be application/json, text/html, or text/xml. + |
+
content + |
+String + |
+Contents + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Field type. The options are as follows: ip, cookie, and url + |
+
index + |
+String + |
+Parameter description: +
|
+
logic_operation + |
+String + |
+Condition matching logic. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, not_suffix, equal_any, and not_equal_any, contain_any, and not_contain_any. +
|
+
contents + |
+Array of strings + |
+Content of the conditions. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/cc?+
Status code: 200
+Request succeeded.
+{ + "total" : 1, + "items" : [ { + "description" : "", + "id" : "a5f3fd28db564696b199228f0ac346b2", + "limit_num" : 10, + "limit_period" : 60, + "lock_time" : 0, + "mode" : 0, + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "prefix" : false, + "status" : 1, + "tag_type" : "ip", + "timestamp" : 1656494435686, + "total_num" : 0, + "unaggregation" : false, + "url" : "/path", + "action" : { + "category" : "captcha" + } + } ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query the certificate list.
+GET /v1/{project_id}/waf/certificate
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
page + |
+No + |
+Integer + |
+Page. +Default: 1 + |
+
pagesize + |
+No + |
+Integer + |
+Number of records on each page. The maximum value is 100. If this parameter is not specified, the default value -1 is used. All certificates are queried regardless of the value of Page. +Default: 10 + |
+
name + |
+No + |
+String + |
+Certificate name. Fuzzy search is supported. + |
+
host + |
+No + |
+Boolean + |
+Whether to obtain the domain name associated with the certificate. The value can be true or false. +
Default: false + |
+
exp_status + |
+No + |
+Integer + |
+Certificate status. The value can be: +
|
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+No + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
items + |
+Array of ListCertificateBody objects + |
+Certificate list + |
+
total + |
+Integer + |
+Total number of certificates + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Certificate ID + |
+
name + |
+String + |
+Certificate name + |
+
expire_time + |
+Long + |
+Timestamp when the certificate expire + |
+
exp_status + |
+Integer + |
+Certificate expiration status. The value can be: +
|
+
timestamp + |
+Long + |
+Timestamp when the certificate is uploaded + |
+
bind_host + |
+Array of BindHost objects + |
+Domain name associated with the certificate + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Domain name ID. It is the unique identifier generated by WAF for a domain name when you add the domain name to WAF + |
+
hostname + |
+String + |
+Domain name + |
+
waf_type + |
+String + |
+WAF mode of the domain name. The value is premium. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/certificate?+
Status code: 200
+Request succeeded.
+{ + "total" : 1, + "items" : [ { + "id" : "dc443ca4f29c4f7e8d4adaf485be317b", + "name" : "demo", + "timestamp" : 1643181401751, + "expire_time" : 1650794100000, + "bind_host" : [ ], + "exp_status" : 2 + } ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query the list of precise protection rules.
+GET /v1/{project_id}/waf/policy/{policy_id}/custom
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID. It can be obtained by calling the API Querying Protection Policies. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
page + |
+No + |
+Integer + |
+Page number. +Default: 1 + |
+
pagesize + |
+No + |
+Integer + |
+Number of records on each page. The maximum value is 100. +Default: 10 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+auth token + |
+
Content-Type + |
+No + |
+String + |
+Content type. +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
total + |
+Integer + |
+Number of rules in the policy + |
+
items + |
+Array of objects + |
+Array of custom rules + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID. + |
+
description + |
+String + |
+Rule description + |
+
status + |
+Integer + |
+Rule status. The value can be 0 or 1. +
|
+
conditions + |
+Array of conditions objects + |
+List of matching conditions. All conditions must be met. + |
+
action + |
+CustomAction object + |
+Protective action of the precise protection rule. + |
+
action_mode + |
+Boolean + |
+This parameter is reserved and can be ignored. + |
+
priority + |
+Integer + |
+Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: 0 to 1000. + |
+
timestamp + |
+Long + |
+Timestamp when the precise protection rule is created. + |
+
start + |
+Long + |
+Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true. + |
+
terminal + |
+Long + |
+Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Field type. The options are url, user-agent, ip, params, cookie, referer, header, request_line, method, and request. + |
+
index + |
+String + |
+Subfield +
|
+
logic_operation + |
+String + |
+Logic for matching the condition. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix. For more details, see the console UI. + |
+
contents + |
+Array of strings + |
+Content of the conditions. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Action type. +
|
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/custom?+
Status code: 200
+Request succeeded.
+{ + "items" : [ { + "category" : "block", + "action_mode" : false, + "conditions" : [ { + "category" : "header", + "index" : "sdfsafsda", + "logic_operation" : "contain", + "content" : [ "demo" ] + } ], + "description" : "", + "id" : "2a3caa2bc9814c09ad73d02e3485b4a4", + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "priority" : 50, + "status" : 1, + "time" : false, + "timestamp" : 1656495488880 + } ], + "total" : 1 +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query the list of attack events for a specific period. It cannot be used to query all attack events. The pagesize parameter cannot be set to -1.
+GET /v1/{project_id}/waf/event
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
recent + |
+No + |
+String + |
+Time range for querying logs. This parameter cannot be used together with from or to. Note that either parameter recent or from and to must be configured. If both of them are configured, recent is preferentially used. +Enumeration values: +
|
+
from + |
+No + |
+Long + |
+Start time (13-digit timestamp). This parameter must be used together with to, but cannot be used together with recent. + |
+
to + |
+No + |
+Long + |
+End time (13-digit timestamp). This parameter must be used together with from but cannot be used together with recent. + |
+
hosts + |
+No + |
+Array + |
+Domain name ID. It can be obtained by calling the ListPremiumHost API. + |
+
page + |
+No + |
+Integer + |
+Page. + |
+
pagesize + |
+No + |
+Integer + |
+Number of records on each page. The maximum value is 100. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+No + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
total + |
+Integer + |
+Number of attack events + |
+
items + |
+Array of ListEventItems objects + |
+Attack event details + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Event ID + |
+
time + |
+Integer + |
+Occurrences + |
+
policyid + |
+String + |
+Policy ID + |
+
sip + |
+String + |
+Source IP address + |
+
host + |
+String + |
+Domain name + |
+
url + |
+String + |
+Attacked URL + |
+
attack + |
+String + |
+Attack type. The value of attack type can be: +
|
+
rule + |
+String + |
+ID of the matched rule. Note that there is no ID for a precise protection. + |
+
payload + |
+String + |
+Hit payload + |
+
payload_location + |
+String + |
+Malicious load location + |
+
action + |
+String + |
+Protective action + |
+
request_line + |
+String + |
+Request method and path + |
+
headers + |
+Headers object + |
+Request header + |
+
cookie + |
+String + |
+Request cookie + |
+
status + |
+String + |
+Response code status + |
+
process_time + |
+Integer + |
+The time of the WAF service processing the request. + |
+
region + |
+String + |
+Geographical location of the source IP address. + |
+
host_id + |
+String + |
+Domain name ID + |
+
response_time + |
+Long + |
+Time to response + |
+
response_size + |
+Integer + |
+Response body size + |
+
response_body + |
+String + |
+Response body content. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
content-length + |
+String + |
+Request length + |
+
host + |
+String + |
+Domain name + |
+
content-type + |
+String + |
+Content type. + |
+
user-agent + |
+String + |
+proxy + |
+
accept + |
+String + |
+Type of the received content + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/event?page=1&pagesize=10&recent=today+
Status code: 200
+Request succeeded.
+{ + "total" : 1, + "items" : [ { + "id" : "04-0000-0000-0000-21120220421152601-2f7a5ceb", + "time" : 1650525961000, + "policyid" : "25f1d179896e4e3d87ceac0598f48d00", + "host" : "x.x.x.x:xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "url" : "/osclass/oc-admin/index.php", + "attack" : "lfi", + "rule" : "040002", + "payload" : " file=../../../../../../../../../../etc/passwd", + "payload_location" : "params", + "sip" : "x.x.x.x", + "action" : "block", + "request_line" : "GET /osclass/oc-admin/index.php?page=appearance&action=render&file=../../../../../../../../../../etc/passwd", + "headers" : { + "host" : "x.x.x.x", + "accept" : "*/*", + "user-agent" : "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.2309.372 Safari/537.36" + }, + "cookie" : "HWWAFSESID=2a1d773f9199d40a53; HWWAFSESTIME=1650525961805", + "status" : "418", + "region" : "Reserved IP", + "host_id" : "6fbe595e7b874dbbb1505da3e8579b54", + "response_time" : 0, + "response_size" : 3318, + "response_body" : "", + "process_time" : 2 + } ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query the list of geolocation access control rules.
+GET /v1/{project_id}/waf/policy/{policy_id}/geoip
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
page + |
+No + |
+Integer + |
+Page +Default: 1 + |
+
pagesize + |
+No + |
+Integer + |
+Number of records on each page. The maximum value is 100. +Default: 10 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+No + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
total + |
+Integer + |
+Number of blocked geographical locations in the policy. + |
+
items + |
+Array of GeOIpItem objects + |
+List of the restricted geographical locations + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID + |
+
geoip + |
+String + |
+Applicable regions. The value can be the region code. +
|
+
white + |
+Integer + |
+Protective action. The value can be: +
|
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
timestamp + |
+Long + |
+Time the rule is created. The value is a 13-digit timestamp in ms. + |
+
description + |
+String + |
+Rule description + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/geoip?+
Status code: 200
+Request succeeded
+{ + "total" : 1, + "items" : [ { + "id" : "06f07f6c229141b9a4a78614751bb687", + "policyid" : "2abeeecefb9840e6bf05efbd80d0fcd7", + "timestamp" : 1636340038062, + "status" : 1, + "geoip" : "BR", + "white" : 1, + "name" : "demo" + } ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query the list of false alarm masking rules.
+GET /v1/{project_id}/waf/policy/{policy_id}/ignore
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
page + |
+No + |
+Integer + |
+Page +Default: 1 + |
+
pagesize + |
+No + |
+Integer + |
+Number of records on each page. The maximum value is 100. +Default: 10 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+No + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
total + |
+Integer + |
+Number of rules in the policy + |
+
items + |
+Array of IgnoreRuleBody objects + |
+Array of false alarm masking rules + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID. + |
+
timestamp + |
+Long + |
+Rule creation time. + |
+
description + |
+String + |
+Provides supplementary information about the assignment. + |
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
url + |
+String + |
+URL protected by the web tamper protection rule. The value must be in the standard URL format, for example, /admin. + |
+
rule + |
+String + |
+Masked rule. The value can be the ID of a rule that is matched, all rules (all), or enumeration value of the attack type. To mask a built-in rule included in Basic Web Protection, set this parameter to the ID of the rule. To obtain the rule ID, go to the WAF console. Then, choose Policies and click the policy name. On the displayed page, find the Basic Web Protection area and click Advanced Settings. On the displayed page, click Protection Rule and view the rule ID. To disable a certain type of rule, the value can be: +
|
+
url_logic + |
+String + |
+URL match logic: +
|
+
domains + |
+Array of strings + |
+Protected domain name + |
+
advanced + |
+advanced object + |
+advanced + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
index + |
+String + |
+To ignore attacks of a specified field, specify the field in the Advanced Settings area. After you complete the configuration, WAF will stop intercepting attack events of the specified field. The following fields are supported: +
|
+
content + |
+String + |
+Specified field (available only for param, cookie, and header) + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/ignore?+
Status code: 200
+Request succeeded.
+{ + "total" : 1, + "items" : [ { + "id" : "c20f67b3e1c040c0b0d8866e568ee8bf", + "policyid" : "a75e96d8284c4c4f98ada7d391e8342c", + "timestamp" : 1656507126528, + "description" : "", + "status" : 1, + "rule" : "webshell", + "url_logic" : "equal", + "url" : "/demo", + "domain" : [ "test3.th.com" ] + } ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query the list of dedicated WAF engines.
+GET /v1/{project_id}/premium-waf/instance
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
page + |
+No + |
+Integer + |
+Page number, which is required for pagination query + |
+
pagesize + |
+No + |
+Integer + |
+Number of records on each page, which is required for pagination query + |
+
instancename + |
+No + |
+String + |
+Fuzzy query for dedicated WAF engine names. Only prefix and suffix match query are supported. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+No + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+No + |
+String + |
+Content-Type +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
total + |
+Integer + |
+Total number of dedicated engines + |
+
purchased + |
+Boolean + |
+Whether any dedicated engine has been created. The value can be false or true. +
|
+
items + |
+Array of ListInstance objects + |
+Details about the dedicated engine + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+ID of the dedicated WAF engine + |
+
instancename + |
+String + |
+Name of the dedicated WAF engine. This parameter is repeated and can be ignored. + |
+
region + |
+String + |
+Region where a dedicated engine is to be created. Its value is EU-DE. + |
+
zone + |
+String + |
+AZ ID. + |
+
arch + |
+String + |
+CPU architecture + |
+
cpu_flavor + |
+String + |
+ECS specification ID + |
+
vpc_id + |
+String + |
+ID of the VPC where the dedicated engine is located + |
+
subnet_id + |
+String + |
+Subnet ID of the VPC where the dedicated engine is located. + |
+
service_ip + |
+String + |
+Service plane IP address of the dedicated engine + |
+
service_ipv6 + |
+String + |
+IPv6 address of the service plane of the dedicated engine + |
+
security_group_ids + |
+Array of strings + |
+Security groups bound to the dedicated engine ECS + |
+
status + |
+Integer + |
+Billing status of dedicated WAF engine. The value can be 0, 1, or 2. +
|
+
run_status + |
+Integer + |
+unning status of the dedicated engine. The value can be 0 (creating), 1 (running), 2 (deleting), 3 (deleted), 4 (creation failed), 5 (frozen), 6 (abnormal), 7 (updating), or 8 (update failed). + |
+
access_status + |
+Integer + |
+Access status of the dedicated engine. The value can be 0 or 1. +
|
+
upgradable + |
+Integer + |
+Whether the dedicated engine can be upgraded. The value can be 0 for no or 1 for yes. + |
+
cloudServiceType + |
+String + |
+Cloud service code. This is a unique code used to distinguish cloud services from each other. You can ignore it. + |
+
resourceType + |
+String + |
+Cloud service resource type. Cloud services are purchased by resource type. You can ignore it. + |
+
resourceSpecCode + |
+String + |
+Resource specifications code. This code is used to identify the resource specifications the dedicated engine uses. You can ignore it. + |
+
specification + |
+String + |
+Dedicated engine ECS specifications, for example, 8 vCPUs | 16 GB. + |
+
hosts + |
+Array of IdHostnameEntry objects + |
+Domain name protected by the dedicated engine. + |
+
server_id + |
+String + |
+ID of the ECS hosting the dedicated engine. + |
+
serverId + |
+String + |
+ID of the ECS hosting the dedicated engine. This parameter is the same as server_id, and will be deleted. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+ID of the protected domain name. This is a unique ID automatically generated by the system. + |
+
hostname + |
+String + |
+Protected domain name + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{endpoint}/v1/{project_id}/premium-waf/instance+
Status code: 200
+Lists of dedicated WAF engines
+{ + "purchased" : true, + "total" : 1, + "items" : [ { + "id" : "0619871acb764d48a112695e8f7cbb10", + "region" : "region-01-7", + "zone" : "region-01-7a", + "specification" : "8vCPUs | 16GB", + "arch" : "x86", + "upgradable" : 0, + "status" : 0, + "serverId" : "477353dc-8687-4bf4-b45b-1d7fee74fa63", + "server_id" : "477353dc-8687-4bf4-b45b-1d7fee74fa63", + "cloudServiceType" : "hws.service.type.waf", + "resourceType" : "hws.resource.type.waf.instance", + "resourceSpecCode" : "waf.instance.enterprise", + "vpc_id" : "13718074-a3f9-408d-82aa-3c41ef55e589", + "subnet_id" : "74d1b5a6-c7eb-4e9a-8372-181212552fcc", + "service_ip" : "192.168.10.68", + "security_group_ids" : [ "34287bdb-7aba-471a-b041-27427f1af76a" ], + "cpu_flavor" : "Si2.2xlarge.2", + "run_status" : 2, + "access_status" : 1, + "hosts" : [ { + "id" : "c3be17bbe3a641c7a1ded6019c377402", + "hostname" : "demo.www.com" + } ], + "instancename" : "0412elb", + "instance_name" : "0412elb" + } ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Lists of dedicated WAF engines + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query the list of protection policies.
+GET /v1/{project_id}/waf/policy
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
page + |
+No + |
+Integer + |
+Page. Default value: 1 +Default: 1 + |
+
pagesize + |
+No + |
+Integer + |
+Number of records on each page. The maximum value is 100. If this parameter is not specified, the default value -1 is used. All policies are queried regardless of the value of Page. + |
+
name + |
+No + |
+String + |
+Policy name. Fuzzy search is supported. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+No + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
total + |
+Integer + |
+Total number of policies + |
+
items + |
+Array of ListPolicyResponse objects + |
+Array of policies. Each item in the array includes details of a specific policy. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Policy ID. This is the unique identifier generated by WAF. + |
+
name + |
+String + |
+Policy name. + |
+
action + |
+PolicyAction object + |
+PolicyAction + |
+
options + |
+PolicyOption object + |
+PolicyOption + |
+
level + |
+Integer + |
+Protection level. A low protection level may result in a lower false-positive rate, but also a lower attack detection rate. A high protection level may result in a higher attack detection rate, but also a higher false-positive rate. A medium protection level can balance both. Protection levels: +
|
+
full_detection + |
+Boolean + |
+Detection mode in the precise protection rule +
|
+
bind_host + |
+Array of BindHost objects + |
+Array of protected domain names for which the policy is used. Each policy can be used to one or more domain names. You can specify a policy for a domain name when you add the domain name to WAF by calling the API Adding a Protected Domain Name. + |
+
host + |
+Array of strings + |
+Array of IDs of protected domain names. The ID of a protected domain name is unique and generated by WAF when you add the domain name to WAF. To obtain the IDs, call the API Querying Domain Names Protected by Dedicated WAF Engines. To add a domain name to WAF, call the API Adding a Protected Domain Name. + |
+
timestamp + |
+Long + |
+Time the policy is created. The value is a 13-digit timestamp, in ms. + |
+
extend + |
+Map<String,String> + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Protection level. The value can be: +
Enumeration values: +
|
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
webattack + |
+Boolean + |
+Basic web protection includes many specific checks under Advanced Settings, and there is a specific parameter allocated for each check, for example, common for General Check. To enabled any of these checks, keep this parameter enabled first. The value can be: +
|
+
common + |
+Boolean + |
+Whether general check is enabled. The value can be: +
|
+
anticrawler + |
+Boolean + |
+Whether anti-crawler protection is enabled. Anti-crawler protection includes many specific anti-crawler checks, such as crawler_engine, crawler_scanner, crawler_script, and crawler_other. To enable any of these checks, keep anti-crawler protection enabled. The value can be: +
|
+
crawler + |
+Boolean + |
+Whether feature-based anti-crawler is enabled. This parameter is fixed at true. +
|
+
crawler_engine + |
+Boolean + |
+Whether the search engine is enabled. The value can be: +
|
+
crawler_scanner + |
+Boolean + |
+Whether the scanner check in anti-crawler detection is enabled. The value can be: +
|
+
crawler_script + |
+Boolean + |
+Whether the JavaScript anti-crawler is enabled. The value can be: +
|
+
crawler_other + |
+Boolean + |
+Whether other crawler check is enabled. The value can be: +
|
+
webshell + |
+Boolean + |
+Whether other crawler check is enabled. The value can be: +
|
+
cc + |
+Boolean + |
+Whether the CC attack protection rule is enabled. The value can be: +
|
+
custom + |
+Boolean + |
+Whether precise protection is enabled. The value can be: +
|
+
whiteblackip + |
+Boolean + |
+Whether blacklist and whitelist protection is enabled. The value can be: +
|
+
geoip + |
+Boolean + |
+Whether geolocation access control is enabled. The value can be: +
|
+
ignore + |
+Boolean + |
+Whether false alarm masking is enabled. The value can be: +
|
+
privacy + |
+Boolean + |
+Whether data masking is enabled. The value can be: +
|
+
antitamper + |
+Boolean + |
+Whether the web tamper protection is enabled. The value can be: +
|
+
antileakage + |
+Boolean + |
+Whether the information leakage prevention is enabled. The value can be: +
|
+
bot_enable + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
precise + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
followed_action + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Domain name ID. It is the unique identifier generated by WAF for a domain name when you add the domain name to WAF + |
+
hostname + |
+String + |
+Domain name + |
+
waf_type + |
+String + |
+WAF mode of the domain name. The value is premium. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/policy?+
Status code: 200
+Request succeeded.
+{ + "total" : 1, + "items" : [ { + "id" : "41cba8aee2e94bcdbf57460874205494", + "name" : "policy_2FHwFOKz", + "level" : 2, + "action" : { + "category" : "log", + "modulex_category" : "log" + }, + "options" : { + "webattack" : true, + "common" : true, + "crawler" : true, + "crawler_engine" : false, + "crawler_scanner" : true, + "crawler_script" : false, + "crawler_other" : false, + "webshell" : false, + "cc" : true, + "custom" : true, + "precise" : false, + "whiteblackip" : true, + "geoip" : true, + "ignore" : true, + "privacy" : true, + "antitamper" : true, + "anticrawler" : false, + "antileakage" : false, + "followed_action" : false, + "bot_enable" : true + }, + "hosts" : [ ], + "extend" : { }, + "timestamp" : 1650527546218, + "full_detection" : false, + "bind_host" : [ ] + } ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+Querying Domain Names Protected by Dedicated WAF Engines
+GET /v1/{project_id}/premium-waf/host
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
page + |
+No + |
+String + |
+Page. Default value: 1 +Default: 1 + |
+
pagesize + |
+No + |
+String + |
+Number of records on each page. The maximum value is 100. Default value: 10 +Default: 10 + |
+
hostname + |
+No + |
+String + |
+Domain name + |
+
policyname + |
+No + |
+String + |
+Policy Name + |
+
protect_status + |
+No + |
+Integer + |
+WAF status of the protected domain name. The value can be: +
|
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
Content-Type + |
+No + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
total + |
+Integer + |
+Total number of protected domain names + |
+
items + |
+Array of SimplePremiumWafHost objects + |
+Details about the protected domain name + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Domain name ID + |
+
hostname + |
+String + |
+Domain name + |
+
policyid + |
+String + |
+Policy ID + |
+
protect_status + |
+Integer + |
+WAF status of the protected domain name. The value can be: +
|
+
access_status + |
+Integer + |
+Domain name access status. The value can be 0 or 1. +
|
+
flag + |
+Flag object + |
+Special domain name identifier, which is used to store additional domain name configurations. + |
+
hostid + |
+String + |
+Domain name ID. This parameter has the same meaning as parameter id and will be deleted. + |
+
hostId + |
+String + |
+Domain name ID. This parameter has the same meaning as parameter id and will be deleted. + |
+
waf_type + |
+String + |
+WAF mode. The value is premium, indicating the dedicated WAF engine. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
pci_3ds + |
+String + |
+Whether PCI 3DS certification check is enabled for the domain name. Currently, this function is not supported. The default value is false. You can ignore this parameter. +
|
+
pci_dss + |
+String + |
+Whether PCI DDS certification check is enabled for the domain name. +
|
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/premium-waf/host?+
Status code: 200
+Request succeeded.
+{ + "total" : 1, + "items" : [ { + "id" : "ee896796e1a84f3f85865ae0853d8974", + "hostname" : "www.demo.com", + "flag" : { + "pci_3ds" : "false", + "pci_dss" : "false" + }, + "policyid" : "df15d0eb84194950a8fdc615b6c012dc", + "protect_status" : 1, + "access_status" : 0, + "hostid" : "ee896796e1a84f3f85865ae0853d8974", + "hostId" : "262d200fea74406cb0c1a52327122a2c", + "waf_type" : "premium" + } ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Invalid request + |
+
401 + |
+The token does not have the required permission. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query the data masking rule list.
+GET /v1/{project_id}/waf/policy/{policy_id}/privacy
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
page + |
+No + |
+Integer + |
+Page + |
+
pagesize + |
+No + |
+Integer + |
+Number of records on each page. The maximum value is 100. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+No + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
total + |
+Integer + |
+Number of rules + |
+
items + |
+Array of PrivacyResponseBody objects + |
+Rules + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID + |
+
policyid + |
+String + |
+Policy ID + |
+
timestamp + |
+Long + |
+Time the rule is created. The value is a 13-digit timestamp in ms. + |
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
url + |
+String + |
+URL protected by the data masking rule + |
+
category + |
+String + |
+Masked field +Enumeration values: +
|
+
index + |
+String + |
+Name of the masked field + |
+
description + |
+String + |
+Rule description + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/privacy?enterprise_project_id=0+
Status code: 200
+Request succeeded.
+{ + "total" : 1, + "items" : [ { + "category" : "params", + "description" : "", + "id" : "41a5674e03a1470a90ac4761ec4657b4", + "index" : "password", + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "status" : 1, + "timestamp" : 1656504425319, + "url" : "/login" + } ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query the website QPS statistics.
+GET /v1/{project_id}/waf/overviews/qps/timeline
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
from + |
+Yes + |
+Long + |
+Start time (13-digit timestamp in millisecond). This parameter must be used together with to. + |
+
to + |
+Yes + |
+Long + |
+End time (13-digit timestamp in millisecond). This parameter must be used together with from. + |
+
hosts + |
+No + |
+String + |
+IDs of the domain names you want to query. If this parameter is not specified, all protected domain names are queried by default. + |
+
instances + |
+No + |
+String + |
+IDs of the dedicated WAF engine instances you want to query. If this parameter is not specified, all dedicated WAF engine instances are queried by default. + |
+
group_by + |
+No + |
+String + |
+How the queried data is displayed. The data can be displayed by the day or by the minute. For example, if the value is set to DAY, data is displayed by the day. By default, this parameter is not included, and data is displayed by the minute. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+Yes + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
[items] + |
+Array of ListQpsTimelineItem objects + |
+ListQpsTimelineResponseBody + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
key + |
+String + |
+The following statistics can be included: +
|
+
timeline + |
+Array of TimeLineItem objects + |
+TimeLineItem + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
time + |
+Long + |
+Time-point + |
+
num + |
+Integer + |
+Quantity. Aggregated data is returned. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/overviews/qps/timeline?from=1650470400196&to=1650522936196+
Status code: 200
+Request succeeded.
+[ { + "key" : "ACCESS", + "timeline" : [ { + "time" : 1650470400000, + "num" : 0 + } ] +}, { + "key" : "PRECISE", + "timeline" : [ { + "time" : 1650470400000, + "num" : 0 + } ] +}, { + "key" : "CRAWLER", + "timeline" : [ { + "time" : 1650470400000, + "num" : 0 + } ] +}, { + "key" : "CC", + "timeline" : [ { + "time" : 1650470400000, + "num" : 0 + } ] +}, { + "key" : "TOTAL_ATTACK", + "timeline" : [ { + "time" : 1650470400000, + "num" : 0 + } ] +}, { + "key" : "WEB_ATTACK", + "timeline" : [ { + "time" : 1650470400000, + "num" : 0 + } ] +} ]+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Invalid request + |
+
401 + |
+The token does not have the required permission. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query website request statistics.
+GET /v1/{project_id}/waf/overviews/statistics
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
from + |
+Yes + |
+Long + |
+Start time (13-digit timestamp). This parameter must be used together with to. + |
+
to + |
+Yes + |
+Long + |
+End time (13-digit timestamp). This parameter must be used together with from. + |
+
hosts + |
+No + |
+String + |
+IDs of the domain names you want to query. If this parameter is not specified, all protected domain names are queried by default. + |
+
instances + |
+No + |
+String + |
+IDs of the dedicated WAF engine instances you want to query. If this parameter is not specified, all dedicated WAF engine instances are queried by default. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+No + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
[items] + |
+Array of ListStatisticsItem objects + |
+ListStatisticsResponseBody + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
key + |
+String + |
+The following statistics can be included: +
|
+
num + |
+Integer + |
+Quantity + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/overviews/statistics?from=1650470400196&to=1650522936196+
Status code: 200
+Request succeeded.
+[ { + "key" : "ACCESS", + "num" : 1190 +}, { + "key" : "PRECISE", + "num" : 0 +}, { + "key" : "CRAWLER", + "num" : 10 +}, { + "key" : "WEB_ATTACK", + "num" : 22 +}, { + "key" : "CC", + "num" : 0 +}, { + "key" : "ATTACK", + "num" : 32 +} ]+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query the reference table list. A reference table can be referenced by CC attack protection rules and precise protection rules. For details about how to use reference tables, see "Adding a Reference Table" under "Rule Configurations" in Web Application Firewall User Guide.
+GET /v1/{project_id}/waf/valuelist
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
page + |
+No + |
+Integer + |
+Page + |
+
pagesize + |
+No + |
+Integer + |
+Number of records on each page. The maximum value is 100. + |
+
name + |
+No + |
+String + |
+Reference table name, Fuzzy search is supported. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+No + |
+String + |
+Content type. +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
total + |
+Integer + |
+Number of reference tables +Minimum: 0 +Maximum: 500 + |
+
items + |
+Array of ValueList objects + |
+Reference table list + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+ID of a reference table + |
+
name + |
+String + |
+Reference table name + |
+
type + |
+String + |
+The value can be: +
|
+
timestamp + |
+String + |
+Reference table timestamp + |
+
values + |
+Array of strings + |
+Value of the reference table + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/valuelist?+
Status code: 200
+Request succeeded.
+{ + "total" : 1, + "items" : [ { + "id" : "3978ca9403844a62bbd24bb5b8d16d4e", + "name" : "demo", + "type" : "url", + "values" : [ "/demo" ], + "timestamp" : 1656495488880 + } ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query the list of blacklist and whitelist rules.
+GET /v1/{project_id}/waf/policy/{policy_id}/whiteblackip
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
page + |
+No + |
+Integer + |
+Page. +Default: 1 + |
+
pagesize + |
+No + |
+Integer + |
+Number of records on each page. The maximum value is 100. +Default: 10 + |
+
name + |
+No + |
+String + |
+Rule name, Fuzzy search is supported. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User Token + |
+
Content-Type + |
+No + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
total + |
+Integer + |
+Number of rules + |
+
items + |
+Array of WhiteBlackIpResponseBody objects + |
+Rules + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID + |
+
policyid + |
+String + |
+Policy ID. + |
+
timestamp + |
+Long + |
+Rule creation time + |
+
description + |
+String + |
+Rule description. + |
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
addr + |
+String + |
+lacklisted or whitelisted IP addresses + |
+
white + |
+Integer + |
+Protective action. The value can be: +
|
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/whiteblackip?+
Status code: 200
+Request succeeded.
+{ + "total" : 1, + "items" : [ { + "id" : "3c96caf769ca4f57814fcf4259ea89a1", + "policyid" : "4dddfd44fc89453e9fd9cd6bfdc39db2", + "timestamp" : 1650362891844, + "description" : "demo", + "status" : 1, + "addr" : "x.x.x.x", + "white" : 0 + } ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to rename a dedicated WAF engine
+PUT /v1/{project_id}/premium-waf/instance/{instance_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
instance_id + |
+Yes + |
+String + |
+ID of the dedicated WAF instance. It can be obtained by calling the WAF ListInstance API + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+No + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+Yes + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
instancename + |
+Yes + |
+String + |
+New name of the dedicated WAF engine + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+ID of the dedicated WAF engine + |
+
instance_name + |
+String + |
+Name of the dedicated WAF engine. + |
+
instancename + |
+String + |
+Name of the dedicated WAF engine. This parameter is repeated and can be ignored. + |
+
region + |
+String + |
+Region where a dedicated engine is to be created. Its value is EU-DE. + |
+
zone + |
+String + |
+AZ ID. + |
+
arch + |
+String + |
+CPU architecture + |
+
cpu_flavor + |
+String + |
+ECS specification ID + |
+
vpc_id + |
+String + |
+ID of the VPC where the dedicated engine is located + |
+
subnet_id + |
+String + |
+Subnet ID of the VPC where the dedicated engine is located. + |
+
service_ip + |
+String + |
+Service plane IP address of the dedicated engine + |
+
service_ipv6 + |
+String + |
+IPv6 address of the service plane of the dedicated engine + |
+
security_group_ids + |
+Array of strings + |
+Security groups bound to the dedicated engine ECS + |
+
status + |
+Integer + |
+Billing status of dedicated WAF engine. The value can be 0, 1, or 2. +
|
+
run_status + |
+Integer + |
+unning status of the dedicated engine. The value can be 0 (creating), 1 (running), 2 (deleting), 3 (deleted), 4 (creation failed), 5 (frozen), 6 (abnormal), 7 (updating), or 8 (update failed). + |
+
access_status + |
+Integer + |
+Access status of the dedicated engine. The value can be 0 or 1. +
|
+
upgradable + |
+Integer + |
+Whether the dedicated engine can be upgraded. The value can be 0 for no or 1 for yes. + |
+
cloudServiceType + |
+String + |
+Cloud service code. This is a unique code used to distinguish cloud services from each other. You can ignore it. + |
+
resourceType + |
+String + |
+Cloud service resource type. Cloud services are purchased by resource type. You can ignore it. + |
+
resourceSpecCode + |
+String + |
+Resource specifications code. This code is used to identify the resource specifications the dedicated engine uses. You can ignore it. + |
+
specification + |
+String + |
+Dedicated engine ECS specifications, for example, 8 vCPUs | 16 GB. + |
+
hosts + |
+Array of IdHostnameEntry objects + |
+Domain name protected by the dedicated engine. + |
+
server_id + |
+String + |
+ID of the ECS hosting the dedicated engine. + |
+
serverId + |
+String + |
+ID of the ECS hosting the dedicated engine. This parameter is the same as server_id, and will be deleted. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+ID of the protected domain name. This is a unique ID automatically generated by the system. + |
+
hostname + |
+String + |
+Protected domain name + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
PUT https://{endpoint}/v1/{project_id}/premium-waf/instance/{instance_id} + +{ + "instancename" : "0412elb" +}+
Status code: 200
+Request succeeded.
+{ + "id" : "0619871acb764d48a112695e8f7cbb10", + "region" : "region-01-7", + "zone" : "region-01-7a", + "specification" : "8vCPUs | 16GB", + "arch" : "x86", + "upgradable" : 0, + "status" : 0, + "serverId" : "477353dc-8687-4bf4-b45b-1d7fee74fa63", + "server_id" : "477353dc-8687-4bf4-b45b-1d7fee74fa63", + "cloudServiceType" : "hws.service.type.waf", + "resourceType" : "hws.resource.type.waf.instance", + "resourceSpecCode" : "waf.instance.enterprise", + "vpc_id" : "13718074-a3f9-408d-82aa-3c41ef55e589", + "subnet_id" : "74d1b5a6-c7eb-4e9a-8372-181212552fcc", + "service_ip" : "192.168.10.68", + "security_group_ids" : [ "34287bdb-7aba-471a-b041-27427f1af76a" ], + "cpu_flavor" : "Si2.2xlarge.2", + "run_status" : 2, + "access_status" : 1, + "hosts" : [ { + "id" : "c3be17bbe3a641c7a1ded6019c377402", + "hostname" : "demo.www.com" + } ], + "instancename" : "0412elb", + "instance_name" : "0412elb" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query a web tamper protection rule by ID.
+GET /v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
rule_id + |
+Yes + |
+String + |
+Rule ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+No + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID + |
+
timestamp + |
+Long + |
+Timestamp + |
+
description + |
+String + |
+Rule description. + |
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
hostname + |
+String + |
+Domain name protected by the web tamper protection rule + |
+
url + |
+String + |
+URL for the web tamper protection rule. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/antitamper/{rule_id}?+
Status code: 200
+Request succeeded.
+{ + "description" : "", + "hostname" : "www.domain.com", + "id" : "0f59185b76c143f884d21cd0d88e6fa8", + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "status" : 1, + "timestamp" : 1656506256928, + "url" : "/login" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query a CC attack protection rule by ID.
+GET /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID. It can be obtained by calling the API Querying Protection Policies. + |
+
rule_id + |
+Yes + |
+String + |
+ccRuleId + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+auth token + |
+
Content-Type + |
+No + |
+String + |
+Content type. +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID. + |
+
url + |
+String + |
+When the value of mode is 0, this parameter has a return value. URL to which the rule applies, excluding a domain name. +
|
+
prefix + |
+Boolean + |
+Whether a prefix is used for the path. If the protected URL ends with an asterisk (*), a path prefix is used. + |
+
mode + |
+Integer + |
+Mode. +
|
+
limit_num + |
+String + |
+Number of requests allowed from a web visitor in a rate limiting period + |
+
limit_period + |
+String + |
+Rate limiting period + |
+
lock_time + |
+String + |
+How long a web visitor will be locked The value range is [0 to 2^32), in seconds. + |
+
tag_type + |
+String + |
+Protection mode. +
|
+
status + |
+Integer + |
+Rule status. The value can be 0 or 1. +
|
+
description + |
+String + |
+Rule description + |
+
action + |
+action object + |
+Action to take if the number of requests reaches the upper limit. + |
+
conditions + |
+Array of conditions objects + |
+Condition list. This parameter is returned when mode is set to 1. + |
+
timestamp + |
+Long + |
+Time the rule is created. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Action type: +
|
+
detail + |
+String + |
+Action details. If detail is null, the default block page is displayed by default. +
|
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
response + |
+response object + |
+Returned page. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
content_type + |
+String + |
+Content type. The value can only be application/json, text/html, or text/xml. + |
+
content + |
+String + |
+Contents + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Field type. The options are as follows: ip, cookie, and url + |
+
index + |
+String + |
+Parameter description: +
|
+
logic_operation + |
+String + |
+Condition matching logic. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, not_suffix, equal_any, and not_equal_any, contain_any, and not_contain_any. +
|
+
contents + |
+Array of strings + |
+Content of the conditions. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}?+
Status code: 200
+Request succeeded.
+{ + "aging_time" : 0, + "description" : "", + "id" : "a5f3fd28db564696b199228f0ac346b2", + "limit_num" : 10, + "limit_period" : 60, + "lock_time" : 0, + "mode" : 0, + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "prefix" : false, + "status" : 1, + "tag_type" : "ip", + "timestamp" : 1656494435686, + "total_num" : 0, + "unaggregation" : false, + "url" : "/path" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query a certificate.
+GET /v1/{project_id}/waf/certificate/{certificate_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
certificate_id + |
+Yes + |
+String + |
+HTTPS certificate ID. It can be obtained by calling the Certificate List API. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+No + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Certificate ID + |
+
name + |
+String + |
+Certificate name + |
+
content + |
+String + |
+Certificate file in PEM format + |
+
key + |
+String + |
+Private key of the certificate in PEM format + |
+
expire_time + |
+Long + |
+Timestamp when the certificate expire + |
+
timestamp + |
+Long + |
+Timestamp when the certificate is uploaded + |
+
bind_host + |
+Array of BindHost objects + |
+Domain name associated with the certificate + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Domain name ID. It is the unique identifier generated by WAF for a domain name when you add the domain name to WAF + |
+
hostname + |
+String + |
+Domain name + |
+
waf_type + |
+String + |
+WAF mode of the domain name. The value is premium. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/certificate/{certificate_id}?+
Status code: 200
+Request succeeded.
+{ + "id" : "6e2be127b79f4a418414952ad5d8c59f", + "name" : "certificatename94319", + "content" : "-----BEGIN CERTIFICATE-----\nMIIB+TCCAaOgAwIBAgIUJP9I8OupQ77w0bGL2yWOQXreM4kwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCQVUxEzARBgNVBAgMClNvbWUtU3RhdGUxDzANBgNVBAoMBkh1YXdlaTEcMBoGA1UEAwwTd2FmLmh1YXdlaWNsb3VkLmNvbTAeFw0yMDA3MDkwNTQ2MDRaFw0yMDA4MDgwNTQ2MDRaMFExCzAJBgNVBAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMQ8wDQYDVQQKDAZIdWF3ZWkxHDAaBgNVBAMME3dhZi5odWF3ZWljbG91ZC5jb20wXDANBgkqhkiG9w0BAQEFAANLADBIAkEA0UEbMzbvgOJTKrKcDUw9xjFqxM7BaQFM3SLsQlmD5hkzygyL1ra+cWajPJlTCxz9Ph6qldna2+OrIuTdvCcpjwIDAQABo1MwUTAdBgNVHQ4EFgQUE7ZQNcgl3lmryx1s5gy9mnC1rsYwHwYDVR0jBBgwFoAUE7ZQNcgl3lmryx1s5gy9mnC1rsYwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAANBAM5wGi88jYWLgOnGbae5hH3I9lMBKxGqv17Cbm1tjWuUogVINz86lqvCpuhzLvD/vzJAqPIuDwqM8uvzjgRfZs8=\n-----END CERTIFICATE-----", + "key" : "-----BEGIN RSA PRIVATE KEY-----\nMIIBOQIBAAJBANFBGzM274DiUyqynA1MPcYxasTOwWkBTN0i7EJZg+YZM8oMi9a2vnFmozyZUwsc/T4eqpXZ2tvjqyLk3bwnKY8CAwEAAQJBAI7LMPaH/HQk/b/bVmY0qsr+me9nb9BqFLuqwzKbx0hSmWPOWFsd3rOFlSopyHqgYtAsPfvPumEdGbdnCyU8zAECIQD71768K1ejb+ei2lqZqHaczqdUNQxMh54yot9F2yVWjwIhANS1Y1Jv89WEU/ZvvMS9a4638Msv2c4GGp08RtXNYn0BAiA0H4b+cwoEbZjHf+HYg6Fo+uxu5TvSaw8287a6Qo0LyQIfVZSlYYWplT6oiX5rdLzBiap4N0gJWdsa2ihmV59LAQIgK8N+j1daq63b0bJ9k4HruhQtpgxI6U9nFBemH4zTRYM=\n-----END RSA PRIVATE KEY-----", + "timestamp" : 1650595334578, + "expire_time" : 1596865564000, + "bind_host" : [ { + "id" : "978b411657624c2db069cd5484195d1c", + "hostname" : "www.demo.com", + "waf_type" : "cloud" + } ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query a precise protection rule by ID.
+GET /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID. It can be obtained by calling the API Querying Protection Policies. + |
+
rule_id + |
+Yes + |
+String + |
+customRuleId + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+auth token + |
+
Content-Type + |
+No + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID. + |
+
description + |
+String + |
+Rule description + |
+
status + |
+Integer + |
+Rule status. The value can be 0 or 1. +
|
+
conditions + |
+Array of conditions objects + |
+List of matching conditions. All conditions must be met. + |
+
action + |
+CustomAction object + |
+Protective action of the precise protection rule. + |
+
action_mode + |
+Boolean + |
+This parameter is reserved and can be ignored. + |
+
priority + |
+Integer + |
+Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: 0 to 1000. + |
+
timestamp + |
+Long + |
+Timestamp when the precise protection rule is created. + |
+
start + |
+Long + |
+Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true. + |
+
terminal + |
+Long + |
+Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Field type. The options are url, user-agent, ip, params, cookie, referer, header, request_line, method, and request. + |
+
index + |
+String + |
+Subfield +
|
+
logic_operation + |
+String + |
+Logic for matching the condition. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix. For more details, see the console UI. + |
+
contents + |
+Array of strings + |
+Content of the conditions. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Action type. +
|
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}?+
Status code: 200
+Request succeeded.
+{ + "action" : { + "category" : "block" + }, + "action_mode" : false, + "conditions" : [ { + "category" : "header", + "index" : "demo", + "logic_operation" : "contain", + "content" : [ "demo" ] + } ], + "description" : "", + "id" : "2a3caa2bc9814c09ad73d02e3485b4a4", + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "priority" : 50, + "status" : 1, + "time" : false, + "timestamp" : 1656495488880 +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query the details about an attack event.
+GET /v1/{project_id}/waf/event/{eventid}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
eventid + |
+Yes + |
+String + |
+Event ID. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+No + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
total + |
+Integer + |
+Number of attack events + |
+
items + |
+Array of ShowEventItems objects + |
+Attack event details + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Event ID + |
+
time + |
+Integer + |
+Occurrences + |
+
policyid + |
+String + |
+Policy ID + |
+
sip + |
+String + |
+Source IP address + |
+
host + |
+String + |
+Domain name + |
+
url + |
+String + |
+Attacked URL + |
+
attack + |
+String + |
+Attack type. The value of attack type can be: +
|
+
rule + |
+String + |
+ID of the matched rule. Note that there is no ID for a precise protection. + |
+
payload + |
+String + |
+Hit payload + |
+
payload_location + |
+String + |
+Malicious load location + |
+
action + |
+String + |
+Protective action + |
+
request_line + |
+String + |
+Request method and path + |
+
headers + |
+Headers object + |
+Request header + |
+
cookie + |
+String + |
+Request cookie + |
+
status + |
+String + |
+Response code status + |
+
process_time + |
+Integer + |
+The time of the WAF service processing the request. + |
+
region + |
+String + |
+Geographical location of the source IP address. + |
+
host_id + |
+String + |
+Domain name ID + |
+
response_time + |
+Long + |
+Time to response + |
+
response_size + |
+Integer + |
+Response body size + |
+
response_body + |
+String + |
+Response body content. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
content-length + |
+String + |
+Request length + |
+
host + |
+String + |
+Domain name + |
+
content-type + |
+String + |
+Content type. + |
+
user-agent + |
+String + |
+proxy + |
+
accept + |
+String + |
+Type of the received content + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/event{event_id}?enterprise_project_id=0+
Status code: 200
+Request succeeded.
+{ + "total" : 1, + "items" : [ { + "id" : "09-0000-0000-0000-12120220421093806-a60a6166", + "time" : 1650505086000, + "policyid" : "173ed802272a4b0798049d7edffeff03", + "host" : "x.x.x.x:xxxxxx-xxx-xxx-xxx-xxxxxxxxx", + "url" : "/mobile/DBconfigReader.jsp", + "attack" : "vuln", + "rule" : "091004", + "payload" : " /mobile/dbconfigreader.jsp", + "payload_location" : "uri", + "sip" : "x.x.x.x", + "action" : "block", + "request_line" : "GET /mobile/DBconfigReader.jsp", + "headers" : { + "accept" : "*/*", + "host" : "x.x.x.x:81", + "user-agent" : "Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 CSIRTx/2022" + }, + "cookie" : "HWWAFSESID=2a0bf76a111c93926d; HWWAFSESTIME=1650505086260", + "status" : "418", + "region" : "Reserved IP", + "host_id" : "e093a352fd3a4ddd994c585e2e1dda59", + "response_time" : 0, + "response_size" : 3318, + "response_body" : "", + "process_time" : 0 + } ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query a false alarm masking rule.
+GET /v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
rule_id + |
+Yes + |
+String + |
+Rule ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+No + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID. + |
+
timestamp + |
+Long + |
+Rule creation time. + |
+
description + |
+String + |
+Provides supplementary information about the assignment. + |
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
url + |
+String + |
+URL protected by the web tamper protection rule. The value must be in the standard URL format, for example, /admin. + |
+
rule + |
+String + |
+Masked rule. The value can be the ID of a rule that is matched, all rules (all), or enumeration value of the attack type. To mask a built-in rule included in Basic Web Protection, set this parameter to the ID of the rule. To obtain the rule ID, go to the WAF console. Then, choose Policies and click the policy name. On the displayed page, find the Basic Web Protection area and click Advanced Settings. On the displayed page, click Protection Rule and view the rule ID. To disable a certain type of rule, the value can be: +
|
+
url_logic + |
+String + |
+URL match logic: +
|
+
domains + |
+Array of strings + |
+Protected domain name + |
+
advanced + |
+advanced object + |
+advanced + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
index + |
+String + |
+To ignore attacks of a specified field, specify the field in the Advanced Settings area. After you complete the configuration, WAF will stop intercepting attack events of the specified field. The following fields are supported: +
|
+
content + |
+String + |
+Specified field (available only for param, cookie, and header) + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/ignore/{rule_id}?+
Status code: 200
+Request succeeded.
+{ + "id" : "c20f67b3e1c040c0b0d8866e568ee8bf", + "policyid" : "a75e96d8284c4c4f98ada7d391e8342c", + "timestamp" : 1656507126528, + "description" : "", + "status" : 1, + "domain" : [ "test3.th.com" ], + "rule" : "webshell", + "url_logic" : "equal", + "url" : "/demo" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query details about a dedicated WAF engine.
+GET /v1/{project_id}/premium-waf/instance/{instance_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
instance_id + |
+Yes + |
+String + |
+ID of the dedicated WAF instance. It can be obtained by calling the WAF ListInstance API + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+No + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+No + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+ID of the dedicated WAF engine + |
+
instance_name + |
+String + |
+Name of the dedicated WAF engine. + |
+
instancename + |
+String + |
+Name of the dedicated WAF engine. This parameter is repeated and can be ignored. + |
+
region + |
+String + |
+Region where a dedicated engine is to be created. Its value is EU-DE. + |
+
zone + |
+String + |
+AZ ID. + |
+
arch + |
+String + |
+CPU architecture + |
+
cpu_flavor + |
+String + |
+ECS specification ID + |
+
vpc_id + |
+String + |
+ID of the VPC where the dedicated engine is located + |
+
subnet_id + |
+String + |
+Subnet ID of the VPC where the dedicated engine is located. + |
+
service_ip + |
+String + |
+Service plane IP address of the dedicated engine + |
+
service_ipv6 + |
+String + |
+IPv6 address of the service plane of the dedicated engine + |
+
security_group_ids + |
+Array of strings + |
+Security groups bound to the dedicated engine ECS + |
+
status + |
+Integer + |
+Billing status of dedicated WAF engine. The value can be 0, 1, or 2. +
|
+
run_status + |
+Integer + |
+unning status of the dedicated engine. The value can be 0 (creating), 1 (running), 2 (deleting), 3 (deleted), 4 (creation failed), 5 (frozen), 6 (abnormal), 7 (updating), or 8 (update failed). + |
+
access_status + |
+Integer + |
+Access status of the dedicated engine. The value can be 0 or 1. +
|
+
upgradable + |
+Integer + |
+Whether the dedicated engine can be upgraded. The value can be 0 for no or 1 for yes. + |
+
cloudServiceType + |
+String + |
+Cloud service code. This is a unique code used to distinguish cloud services from each other. You can ignore it. + |
+
resourceType + |
+String + |
+Cloud service resource type. Cloud services are purchased by resource type. You can ignore it. + |
+
resourceSpecCode + |
+String + |
+Resource specifications code. This code is used to identify the resource specifications the dedicated engine uses. You can ignore it. + |
+
specification + |
+String + |
+Dedicated engine ECS specifications, for example, 8 vCPUs | 16 GB. + |
+
hosts + |
+Array of IdHostnameEntry objects + |
+Domain name protected by the dedicated engine. + |
+
server_id + |
+String + |
+ID of the ECS hosting the dedicated engine. + |
+
serverId + |
+String + |
+ID of the ECS hosting the dedicated engine. This parameter is the same as server_id, and will be deleted. + |
+
create_time + |
+Long + |
+Timestamp when the dedicated WAF engine was created. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+ID of the protected domain name. This is a unique ID automatically generated by the system. + |
+
hostname + |
+String + |
+Protected domain name + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{endpoint}/v1/{project_id}/premium-waf/instance/{instance_id}+
Status code: 200
+Request succeeded.
+{ + "id" : "0619871acb764d48a112695e8f7cbb10", + "region" : "region-01-7", + "zone" : "region-01-7a", + "specification" : "8vCPUs | 16GB", + "arch" : "x86", + "upgradable" : 0, + "status" : 0, + "serverId" : "477353dc-8687-4bf4-b45b-1d7fee74fa63", + "server_id" : "477353dc-8687-4bf4-b45b-1d7fee74fa63", + "cloudServiceType" : "hws.service.type.waf", + "resourceType" : "hws.resource.type.waf.instance", + "resourceSpecCode" : "waf.instance.enterprise", + "vpc_id" : "13718074-a3f9-408d-82aa-3c41ef55e589", + "subnet_id" : "74d1b5a6-c7eb-4e9a-8372-181212552fcc", + "service_ip" : "192.168.10.68", + "security_group_ids" : [ "34287bdb-7aba-471a-b041-27427f1af76a" ], + "cpu_flavor" : "Si2.2xlarge.2", + "run_status" : 2, + "access_status" : 1, + "hosts" : [ { + "id" : "c3be17bbe3a641c7a1ded6019c377402", + "hostname" : "demo.www.com" + } ], + "instancename" : "0412elb", + "instance_name" : "0412elb", + "create_time" : 1649217360674 +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query a policy by ID.
+GET /v1/{project_id}/waf/policy/{policy_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID. It can be obtained by calling the API Querying Protection Policies. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+No + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Policy ID. This is the unique identifier generated by WAF. + |
+
name + |
+String + |
+Policy name. + |
+
action + |
+PolicyAction object + |
+PolicyAction + |
+
options + |
+PolicyOption object + |
+PolicyOption + |
+
level + |
+Integer + |
+Protection level. A low protection level may result in a lower false-positive rate, but also a lower attack detection rate. A high protection level may result in a higher attack detection rate, but also a higher false-positive rate. A medium protection level can balance both. Protection levels: +
|
+
full_detection + |
+Boolean + |
+Detection mode in the precise protection rule +
|
+
bind_host + |
+Array of BindHost objects + |
+Array of protected domain names for which the policy is used. Each policy can be used to one or more domain names. You can specify a policy for a domain name when you add the domain name to WAF by calling the API Adding a Protected Domain Name. + |
+
host + |
+Array of strings + |
+Array of IDs of protected domain names. The ID of a protected domain name is unique and generated by WAF when you add the domain name to WAF. To obtain the IDs, call the API Querying Domain Names Protected by Dedicated WAF Engines. To add a domain name to WAF, call the API Adding a Protected Domain Name. + |
+
timestamp + |
+Long + |
+Time the policy is created. The value is a 13-digit timestamp, in ms. + |
+
extend + |
+Map<String,String> + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Protection level. The value can be: +
Enumeration values: +
|
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
webattack + |
+Boolean + |
+Basic web protection includes many specific checks under Advanced Settings, and there is a specific parameter allocated for each check, for example, common for General Check. To enabled any of these checks, keep this parameter enabled first. The value can be: +
|
+
common + |
+Boolean + |
+Whether general check is enabled. The value can be: +
|
+
anticrawler + |
+Boolean + |
+Whether anti-crawler protection is enabled. Anti-crawler protection includes many specific anti-crawler checks, such as crawler_engine, crawler_scanner, crawler_script, and crawler_other. To enable any of these checks, keep anti-crawler protection enabled. The value can be: +
|
+
crawler + |
+Boolean + |
+Whether feature-based anti-crawler is enabled. This parameter is fixed at true. +
|
+
crawler_engine + |
+Boolean + |
+Whether the search engine is enabled. The value can be: +
|
+
crawler_scanner + |
+Boolean + |
+Whether the scanner check in anti-crawler detection is enabled. The value can be: +
|
+
crawler_script + |
+Boolean + |
+Whether the JavaScript anti-crawler is enabled. The value can be: +
|
+
crawler_other + |
+Boolean + |
+Whether other crawler check is enabled. The value can be: +
|
+
webshell + |
+Boolean + |
+Whether other crawler check is enabled. The value can be: +
|
+
cc + |
+Boolean + |
+Whether the CC attack protection rule is enabled. The value can be: +
|
+
custom + |
+Boolean + |
+Whether precise protection is enabled. The value can be: +
|
+
whiteblackip + |
+Boolean + |
+Whether blacklist and whitelist protection is enabled. The value can be: +
|
+
geoip + |
+Boolean + |
+Whether geolocation access control is enabled. The value can be: +
|
+
ignore + |
+Boolean + |
+Whether false alarm masking is enabled. The value can be: +
|
+
privacy + |
+Boolean + |
+Whether data masking is enabled. The value can be: +
|
+
antitamper + |
+Boolean + |
+Whether the web tamper protection is enabled. The value can be: +
|
+
antileakage + |
+Boolean + |
+Whether the information leakage prevention is enabled. The value can be: +
|
+
bot_enable + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
precise + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
followed_action + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Domain name ID. It is the unique identifier generated by WAF for a domain name when you add the domain name to WAF + |
+
hostname + |
+String + |
+Domain name + |
+
waf_type + |
+String + |
+WAF mode of the domain name. The value is premium. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}?+
Status code: 200
+Request succeeded.
+{ + "id" : "38ff0cb9a10e4d5293c642bc0350fa6d", + "name" : "demo", + "level" : 2, + "action" : { + "category" : "log" + }, + "options" : { + "webattack" : true, + "common" : true, + "crawler" : true, + "crawler_engine" : false, + "crawler_scanner" : true, + "crawler_script" : false, + "crawler_other" : false, + "webshell" : false, + "cc" : true, + "custom" : true, + "precise" : false, + "whiteblackip" : true, + "geoip" : true, + "ignore" : true, + "privacy" : true, + "antitamper" : true, + "anticrawler" : false, + "antileakage" : false, + "followed_action" : false, + "bot_enable" : true + }, + "hosts" : [ ], + "extend" : { }, + "timestamp" : 1650529538732, + "full_detection" : false, + "bind_host" : [ ] +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query domain name settings in dedicated mode.
+GET /v1/{project_id}/premium-waf/host/{host_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
host_id + |
+Yes + |
+String + |
+ID of the domain name protected by the dedicated WAF engine + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
Content-Type + |
+No + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Domain name ID + |
+
policyid + |
+String + |
+ID of the policy initially used to the domain name. It can be obtained by calling the API described in 2.1.1 Querying Protection Policies. + |
+
hostname + |
+String + |
+Domain name added to cloud WAF. + |
+
domainid + |
+String + |
+User domain ID + |
+
project_id + |
+String + |
+Project ID + |
+
protocol + |
+String + |
+HTTP protocol + |
+
tls + |
+String + |
+Minimum TLS version supported. +
|
+
cipher + |
+String + |
+Cipher suite. The value can be: +
|
+
server + |
+Array of PremiumWafServer objects + |
+Origin server details + |
+
certificateid + |
+String + |
+HTTPS certificate ID. It can be obtained by calling the ListCertificates API. n - This parameter is not required when the client protocol is HTTP. n - This parameter is mandatory when the client protocol is HTTPS. + |
+
certificatename + |
+String + |
+Certificate name. n - This parameter is not required when the client protocol is HTTP. n - This parameter is mandatory when the client protocol is HTTPS. + |
+
proxy + |
+Boolean + |
+Whether the proxy is enabled + |
+
locked + |
+Integer + |
+Lock status. This parameter is redundant and can be ignored. Default value: 0 +Default: 0 + |
+
protect_status + |
+Integer + |
+WAF status of the protected domain name. The value can be: +
|
+
access_status + |
+Integer + |
+Whether a domain name is connected to WAF. +
|
+
timestamp + |
+Long + |
+Time a domain name is added to WAF + |
+
flag + |
+Flag object + |
+Special domain name identifier, which is used to store additional domain name configurations + |
+
block_page + |
+BlockPage object + |
+Alarm configuration page + |
+
extend + |
+Map<String,String> + |
+Extended attribute + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
front_protocol + |
+String + |
+Client protocol +Enumeration values: +
|
+
back_protocol + |
+String + |
+Server protocol +Enumeration values: +
|
+
address + |
+String + |
+IP address or domain name of the origin server that the client accesses. + |
+
port + |
+Integer + |
+Server port + |
+
type + |
+String + |
+The origin server address is an IPv4 or IPv6 address. Default value: ipv4 +Enumeration values: +
|
+
vpc_id + |
+String + |
+VPC ID. Perform the following steps to obtain the VPC ID: +
|
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
pci_3ds + |
+String + |
+Whether PCI 3DS certification check is enabled for the domain name. Currently, this function is not supported. The default value is false. You can ignore this parameter. +
|
+
pci_dss + |
+String + |
+Whether PCI DDS certification check is enabled for the domain name. +
|
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
template + |
+String + |
+Template name + |
+
custom_page + |
+CustomPage object + |
+Custom alarm page + |
+
redirect_url + |
+String + |
+Redirection URL + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
status_code + |
+String + |
+Status Codes + |
+
content_type + |
+String + |
+Content type of alarm page + |
+
content + |
+String + |
+Page content + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/premium-waf/host/{host_id}?+
Status code: 200
+Request succeeded.
+{ + "id" : "ee896796e1a84f3f85865ae0853d8974", + "hostname" : "www.demo.com", + "protocol" : "HTTPS", + "server" : [ { + "address" : "1.2.3.4", + "port" : 443, + "type" : "ipv4", + "weight" : 1, + "front_protocol" : "HTTPS", + "back_protocol" : "HTTPS", + "vpc_id" : "ebfc553a-386d-4746-b0c2-18ff3f0e903d" + } ], + "proxy" : false, + "locked" : 0, + "timestamp" : 1650593801380, + "flag" : { + "pci_3ds" : "false", + "pci_dss" : "false" + }, + "extend" : { }, + "block_page" : { + "template" : "default" + }, + "description" : "", + "policyid" : "df15d0eb84194950a8fdc615b6c012dc", + "domainid" : "0ee78615ca08419f81f539d97c9ee353", + "projectid" : "550500b49078408682d0d4f7d923f3e1", + "protect_status" : 1, + "access_status" : 0, + "certificateid" : "360f992501a64de0a65c50a64d1ca7b3", + "certificatename" : "certificatename75315" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Invalid request + |
+
401 + |
+The token does not have the required permission. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query a data masking rule by ID.
+GET /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
rule_id + |
+Yes + |
+String + |
+Rule ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+No + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID + |
+
policyid + |
+String + |
+Policy ID + |
+
timestamp + |
+Long + |
+Time the rule is created. The value is a 13-digit timestamp in ms. + |
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
url + |
+String + |
+URL protected by the data masking rule + |
+
category + |
+String + |
+Masked field +Enumeration values: +
|
+
index + |
+String + |
+Name of the masked field + |
+
description + |
+String + |
+Rule description + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}?+
Status code: 200
+Request succeeded.
+{ + "category" : "params", + "description" : "", + "id" : "41a5674e03a1470a90ac4761ec4657b4", + "index" : "password", + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "status" : 1, + "timestamp" : 1656504425319, + "url" : "/login" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to query a blacklist or whitelist rule by ID.
+GET /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
rule_id + |
+Yes + |
+String + |
+Rule ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+auth token + |
+
Content-Type + |
+No + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID + |
+
policyid + |
+String + |
+Policy ID. + |
+
timestamp + |
+Long + |
+Rule creation time + |
+
description + |
+String + |
+Rule description. + |
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
addr + |
+String + |
+lacklisted or whitelisted IP addresses + |
+
white + |
+Integer + |
+Protective action. The value can be: +
|
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
GET https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}?+
None
+Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to update a CC attack protection rule.
+PUT /v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+policyid + |
+
rule_id + |
+Yes + |
+String + |
+ccRuleId + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+auth token + |
+
Content-Type + |
+Yes + |
+String + |
+Content type. +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
description + |
+No + |
+String + |
+Rule description + |
+
limit_num + |
+No + |
+Integer + |
+Frequency limits +Minimum: 0 +Maximum: 10000 + |
+
limit_period + |
+No + |
+Integer + |
+Frequency limit unit +Minimum: 0 +Maximum: 10000 + |
+
url + |
+No + |
+String + |
+url +Minimum: 0 +Maximum: 10000 + |
+
mode + |
+No + |
+Integer + |
+Work mode. The value can be 0 (standard) or 1 (advanced). The parameters of the advanced mode cannot be described in the same document of the same API. For details, see this parameter on the console page. +Enumeration values: +
|
+
action + |
+No + |
+action object + |
+Action to take if the number of requests reaches the upper limit. + |
+
tag_type + |
+No + |
+String + |
+Protection mode. +
Enumeration values: +
|
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
category + |
+No + |
+String + |
+Action type: +
|
+
detail + |
+No + |
+String + |
+Action details. If detail is null, the default block page is displayed by default. +
|
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
response + |
+No + |
+response object + |
+Returned page. + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID. + |
+
url + |
+String + |
+When the value of mode is 0, this parameter has a return value. URL to which the rule applies, excluding a domain name. +
|
+
prefix + |
+Boolean + |
+Whether a prefix is used for the path. If the protected URL ends with an asterisk (*), a path prefix is used. + |
+
mode + |
+Integer + |
+Mode. +
|
+
limit_num + |
+String + |
+Number of requests allowed from a web visitor in a rate limiting period + |
+
limit_period + |
+String + |
+Rate limiting period + |
+
lock_time + |
+String + |
+How long a web visitor will be locked The value range is [0 to 2^32), in seconds. + |
+
tag_type + |
+String + |
+Protection mode. +
|
+
status + |
+Integer + |
+Rule status. The value can be 0 or 1. +
|
+
description + |
+String + |
+Rule description + |
+
action + |
+action object + |
+Action to take if the number of requests reaches the upper limit. + |
+
conditions + |
+Array of conditions objects + |
+Condition list. This parameter is returned when mode is set to 1. + |
+
timestamp + |
+Long + |
+Time the rule is created. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Action type: +
|
+
detail + |
+String + |
+Action details. If detail is null, the default block page is displayed by default. +
|
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
response + |
+response object + |
+Returned page. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
content_type + |
+String + |
+Content type. The value can only be application/json, text/html, or text/xml. + |
+
content + |
+String + |
+Contents + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Field type. The options are as follows: ip, cookie, and url + |
+
index + |
+String + |
+Parameter description: +
|
+
logic_operation + |
+String + |
+Condition matching logic. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, not_suffix, equal_any, and not_equal_any, contain_any, and not_contain_any. +
|
+
contents + |
+Array of strings + |
+Content of the conditions. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/cc/{rule_id}? + +{ + "action" : { + "category" : "captcha" + }, + "description" : "", + "limit_num" : 10, + "limit_period" : 60, + "mode" : 0, + "tag_type" : "ip", + "url" : "/path1" +}+
Status code: 200
+Request succeeded.
+{ + "aging_time" : 0, + "description" : "", + "id" : "a5f3fd28db564696b199228f0ac346b2", + "limit_num" : 10, + "limit_period" : 60, + "lock_time" : 0, + "mode" : 0, + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "prefix" : false, + "status" : 1, + "tag_type" : "ip", + "total_num" : 0, + "unaggregation" : false, + "url" : "/path1" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to update a precise protection rule.
+PUT /v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID. It can be obtained by calling the API Querying Protection Policies. + |
+
rule_id + |
+Yes + |
+String + |
+rule id + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+auth token + |
+
Content-Type + |
+Yes + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
time + |
+No + |
+Boolean + |
+Time the precise protection rule takes effect. +
|
+
start + |
+No + |
+Long + |
+Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true. + |
+
terminal + |
+No + |
+Long + |
+Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true. + |
+
description + |
+No + |
+String + |
+Rule description + |
+
conditions + |
+No + |
+Array of CustomConditions objects + |
+Match condition List + |
+
action + |
+No + |
+CustomAction object + |
+Protective action of the precise protection rule. + |
+
priority + |
+No + |
+Integer + |
+Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: 0 to 1000. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
category + |
+No + |
+String + |
+Field type. The options are url, user-agent, ip, params, cookie, referer, header, request_line, method, and request. + |
+
index + |
+No + |
+String + |
+Subfield +
|
+
logic_operation + |
+No + |
+String + |
+Logic for matching the condition. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix. For more details, see the console UI. + |
+
contents + |
+No + |
+Array of strings + |
+Condition content for matching the rule + |
+
value_list_id + |
+No + |
+String + |
+ID of the reference table + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID. + |
+
description + |
+String + |
+Rule description + |
+
status + |
+Integer + |
+Rule status. The value can be 0 or 1. +
|
+
conditions + |
+Array of conditions objects + |
+List of matching conditions. All conditions must be met. + |
+
action + |
+CustomAction object + |
+Protective action of the precise protection rule. + |
+
action_mode + |
+Boolean + |
+This parameter is reserved and can be ignored. + |
+
priority + |
+Integer + |
+Priority of a rule. A small value indicates a high priority. If two rules are assigned with the same priority, the rule added earlier has higher priority. Value range: 0 to 1000. + |
+
timestamp + |
+Long + |
+Timestamp when the precise protection rule is created. + |
+
start + |
+Long + |
+Timestamp (ms) when the precise protection rule takes effect. This parameter is returned only when time is true. + |
+
terminal + |
+Long + |
+Timestamp (ms) when the precise protection rule expires. This parameter is returned only when time is true. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Field type. The options are url, user-agent, ip, params, cookie, referer, header, request_line, method, and request. + |
+
index + |
+String + |
+Subfield +
|
+
logic_operation + |
+String + |
+Logic for matching the condition. The options are contain, not_contain, equal, not_equal, prefix, not_prefix, suffix, and not_suffix. For more details, see the console UI. + |
+
contents + |
+Array of strings + |
+Content of the conditions. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Action type. +
|
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/custom/{rule_id}? + +{ + "description": "", + "action": { + "category": "block" + }, + "priority": 50, + "conditions": [ + { + "category": "header", + "logic_operation": "contain", + "index": "demo2" + "content" ["demo"] + } + ], + ], + "time": false +}+
Status code: 200
+Request succeeded.
+{ + "action" : { + "category" : "block" + }, + "action_mode" : false, + "aging_time" : 0, + "conditions" : [ { + "category" : "header", + "index" : "demo2", + "logic_operation" : "contain", + "content" : [ "demo" ] + } ], + "description" : "", + "id" : "2a3caa2bc9814c09ad73d02e3485b4a4", + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "priority" : 50, + "status" : 1, + "time" : false +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to update a geolocation access control rule.
+PUT /v1/{project_id}/waf/policy/{policy_id}/geoip/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
rule_id + |
+Yes + |
+String + |
+Rule ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+Yes + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
geoip + |
+Yes + |
+String + |
+Applicable regions. The value can be the region code. +
|
+
white + |
+Yes + |
+Integer + |
+Protective action. The value can be: +
|
+
description + |
+No + |
+String + |
+Rule description + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID. + |
+
policyid + |
+String + |
+Policy ID + |
+
geoip + |
+String + |
+Applicable regions. The value can be the region code. +
|
+
white + |
+Integer + |
+Protective action. The value can be: +
|
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
timestamp + |
+Long + |
+Time the rule is created. The value is a 13-digit timestamp in ms. + |
+
description + |
+String + |
+Rule description + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/geoip/{rule_id}? + +{ + "white" : 1, + "geoip" : "BR" +}+
Status code: 200
+Request succeeded.
+{ + "id" : "02dafa406c4941368a1037b020f15a53", + "policyid" : "38ff0cb9a10e4d5293c642bc0350fa6d", + "name" : "demo", + "description" : "demo", + "geoip" : "BR", + "white" : 1 +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to update a policy. The request body can contain only the part to be updated.
+PATCH /v1/{project_id}/waf/policy/{policy_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID. It can be obtained by calling the API Querying Protection Policies. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Content-Type + |
+Yes + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
name + |
+No + |
+String + |
+Array of details of policies + |
+
action + |
+No + |
+PolicyAction object + |
+PolicyAction + |
+
options + |
+No + |
+PolicyOption object + |
+PolicyOption + |
+
level + |
+No + |
+Integer + |
+Protection level +
|
+
full_detection + |
+No + |
+Boolean + |
+Detection mode in the precise protection rule +
|
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
category + |
+No + |
+String + |
+Protection level. The value can be: +
Enumeration values: +
|
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
webattack + |
+No + |
+Boolean + |
+Basic web protection includes many specific checks under Advanced Settings, and there is a specific parameter allocated for each check, for example, common for General Check. To enabled any of these checks, keep this parameter enabled first. The value can be: +
|
+
common + |
+No + |
+Boolean + |
+Whether general check is enabled. The value can be: +
|
+
anticrawler + |
+No + |
+Boolean + |
+Whether anti-crawler protection is enabled. Anti-crawler protection includes many specific anti-crawler checks, such as crawler_engine, crawler_scanner, crawler_script, and crawler_other. To enable any of these checks, keep anti-crawler protection enabled. The value can be: +
|
+
crawler + |
+No + |
+Boolean + |
+Whether feature-based anti-crawler is enabled. This parameter is fixed at true. +
|
+
crawler_engine + |
+No + |
+Boolean + |
+Whether the search engine is enabled. The value can be: +
|
+
crawler_scanner + |
+No + |
+Boolean + |
+Whether the scanner check in anti-crawler detection is enabled. The value can be: +
|
+
crawler_script + |
+No + |
+Boolean + |
+Whether the JavaScript anti-crawler is enabled. The value can be: +
|
+
crawler_other + |
+No + |
+Boolean + |
+Whether other crawler check is enabled. The value can be: +
|
+
webshell + |
+No + |
+Boolean + |
+Whether other crawler check is enabled. The value can be: +
|
+
cc + |
+No + |
+Boolean + |
+Whether the CC attack protection rule is enabled. The value can be: +
|
+
custom + |
+No + |
+Boolean + |
+Whether precise protection is enabled. The value can be: +
|
+
whiteblackip + |
+No + |
+Boolean + |
+Whether blacklist and whitelist protection is enabled. The value can be: +
|
+
geoip + |
+No + |
+Boolean + |
+Whether geolocation access control is enabled. The value can be: +
|
+
ignore + |
+No + |
+Boolean + |
+Whether false alarm masking is enabled. The value can be: +
|
+
privacy + |
+No + |
+Boolean + |
+Whether data masking is enabled. The value can be: +
|
+
antitamper + |
+No + |
+Boolean + |
+Whether the web tamper protection is enabled. The value can be: +
|
+
antileakage + |
+No + |
+Boolean + |
+Whether the information leakage prevention is enabled. The value can be: +
|
+
bot_enable + |
+No + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
precise + |
+No + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
followed_action + |
+No + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Policy ID + |
+
name + |
+String + |
+Array of details of policies + |
+
action + |
+PolicyAction object + |
+PolicyAction + |
+
options + |
+PolicyOption object + |
+PolicyOption + |
+
level + |
+Integer + |
+Protection level +
|
+
full_detection + |
+Boolean + |
+Detection mode in the precise protection rule +
|
+
bind_host + |
+Array of BindHost objects + |
+Basic information about the protected domain. + |
+
timestamp + |
+Integer + |
+Time a policy is created + |
+
extend + |
+Map<String,String> + |
+Extended field + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
category + |
+String + |
+Protection level. The value can be: +
Enumeration values: +
|
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
webattack + |
+Boolean + |
+Basic web protection includes many specific checks under Advanced Settings, and there is a specific parameter allocated for each check, for example, common for General Check. To enabled any of these checks, keep this parameter enabled first. The value can be: +
|
+
common + |
+Boolean + |
+Whether general check is enabled. The value can be: +
|
+
anticrawler + |
+Boolean + |
+Whether anti-crawler protection is enabled. Anti-crawler protection includes many specific anti-crawler checks, such as crawler_engine, crawler_scanner, crawler_script, and crawler_other. To enable any of these checks, keep anti-crawler protection enabled. The value can be: +
|
+
crawler + |
+Boolean + |
+Whether feature-based anti-crawler is enabled. This parameter is fixed at true. +
|
+
crawler_engine + |
+Boolean + |
+Whether the search engine is enabled. The value can be: +
|
+
crawler_scanner + |
+Boolean + |
+Whether the scanner check in anti-crawler detection is enabled. The value can be: +
|
+
crawler_script + |
+Boolean + |
+Whether the JavaScript anti-crawler is enabled. The value can be: +
|
+
crawler_other + |
+Boolean + |
+Whether other crawler check is enabled. The value can be: +
|
+
webshell + |
+Boolean + |
+Whether other crawler check is enabled. The value can be: +
|
+
cc + |
+Boolean + |
+Whether the CC attack protection rule is enabled. The value can be: +
|
+
custom + |
+Boolean + |
+Whether precise protection is enabled. The value can be: +
|
+
whiteblackip + |
+Boolean + |
+Whether blacklist and whitelist protection is enabled. The value can be: +
|
+
geoip + |
+Boolean + |
+Whether geolocation access control is enabled. The value can be: +
|
+
ignore + |
+Boolean + |
+Whether false alarm masking is enabled. The value can be: +
|
+
privacy + |
+Boolean + |
+Whether data masking is enabled. The value can be: +
|
+
antitamper + |
+Boolean + |
+Whether the web tamper protection is enabled. The value can be: +
|
+
antileakage + |
+Boolean + |
+Whether the information leakage prevention is enabled. The value can be: +
|
+
bot_enable + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
precise + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
followed_action + |
+Boolean + |
+This parameter is redundant in this version. It will be used in the later versions. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Domain name ID. It is the unique identifier generated by WAF for a domain name when you add the domain name to WAF + |
+
hostname + |
+String + |
+Domain name + |
+
waf_type + |
+String + |
+WAF mode of the domain name. The value is premium. + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
PATCH https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}? + +{ + "options" : { + "whiteblackip" : true + } +}+
Status code: 200
+Request succeeded.
+{ + "id" : "38ff0cb9a10e4d5293c642bc0350fa6d", + "name" : "demo", + "level" : 2, + "action" : { + "category" : "log" + }, + "options" : { + "webattack" : true, + "common" : true, + "crawler" : true, + "crawler_engine" : false, + "crawler_scanner" : true, + "crawler_script" : false, + "crawler_other" : false, + "webshell" : false, + "cc" : true, + "custom" : true, + "precise" : false, + "whiteblackip" : true, + "geoip" : true, + "ignore" : true, + "privacy" : true, + "antitamper" : true, + "anticrawler" : false, + "antileakage" : false, + "followed_action" : false, + "bot_enable" : true + }, + "hosts" : [ "c0268b883a854adc8a2cd352193b0e13" ], + "timestamp" : 1650529538732, + "full_detection" : false, + "bind_host" : [ { + "id" : "c0268b883a854adc8a2cd352193b0e13", + "hostname" : "www.demo.com", + "waf_type" : "cloud" + } ], + "share_info" : { + "is_receiver" : false, + "provider_display" : { + "share_count" : 0, + "accept_count" : 0, + "process_status" : 0 + } + } +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to change the status of a policy rule.
+PUT /v1/{project_id}/waf/policy/{policy_id}/{ruletype}/{rule_id}/status
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
ruletype + |
+Yes + |
+String + |
+Rule type +
|
+
rule_id + |
+Yes + |
+String + |
+Rule ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User Token. + |
+
Content-Type + |
+Yes + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
status + |
+No + |
+Integer + |
+Rule status. The value can be: +
Enumeration values: +
|
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/{ruletype}/{rule_id}/status? + +{ + "status" : 0 +}+
Status code: 200
+Request succeeded.
+{ + "action" : { + "category" : "block" + }, + "action_mode" : false, + "conditions" : [ { + "category" : "header", + "index" : "demo", + "logic_operation" : "contain", + "content" : [ "demo" ] + } ], + "description" : "", + "id" : "2a3caa2bc9814c09ad73d02e3485b4a4", + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "priority" : 50, + "status" : 0, + "time" : false, + "timestamp" : 1656495488880 +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to modify a domain name protected by a dedicated WAF instance.
+PUT /v1/{project_id}/premium-waf/host/{host_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
host_id + |
+Yes + |
+String + |
+This API is used to modify a domain name protected by a dedicated WAF instance. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
Content-Type + |
+Yes + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
X-Auth-Token + |
+Yes + |
+String + |
+User token. It can be obtained by calling the IAM API (value of X-Subject-Token in the response header). + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
proxy + |
+No + |
+Boolean + |
+Whether a proxy is used for the domain name. If your website has no layer-7 proxy server such as CDN and cloud acceleration service deployed in front of WAF and uses only layer-4 load balancers (or NAT), set Proxy Configured to No. Otherwise, Proxy Configured must be set to Yes. This ensures that WAF obtains real IP addresses of website visitors and takes protective actions configured in protection policies. + |
+
certificateid + |
+No + |
+String + |
+HTTPS certificate ID. It can be obtained by calling the ListCertificates API. + |
+
certificatename + |
+No + |
+String + |
+HTTPS certificate name. It can be obtained by calling the ListCertificates API. Certifacteid and certificatename are required at the same. If certificateid does not match certificatename, an error is reported. + |
+
tls + |
+No + |
+String + |
+Minimum TLS version supported. +
|
+
cipher + |
+No + |
+String + |
+Cipher suite. The value can be: +
|
+
protect_status + |
+No + |
+Integer + |
+WAF status of the protected domain name. +
|
+
block_page + |
+No + |
+BlockPage object + |
+Alarm configuration page + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
template + |
+Yes + |
+String + |
+Template name + |
+
custom_page + |
+No + |
+CustomPage object + |
+Custom alarm page + |
+
redirect_url + |
+No + |
+String + |
+Redirection URL + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Domain name ID + |
+
policyid + |
+String + |
+ID of the policy initially used to the domain name. It can be obtained by calling the API described in 2.1.1 Querying Protection Policies. + |
+
hostname + |
+String + |
+Domain name added to cloud WAF. + |
+
domainid + |
+String + |
+User domain ID + |
+
project_id + |
+String + |
+Project ID + |
+
protocol + |
+String + |
+HTTP protocol + |
+
tls + |
+String + |
+Minimum TLS version supported. +
|
+
cipher + |
+String + |
+Cipher suite. The value can be: +
|
+
server + |
+Array of PremiumWafServer objects + |
+Origin server details + |
+
certificateid + |
+String + |
+HTTPS certificate ID. It can be obtained by calling the ListCertificates API. n - This parameter is not required when the client protocol is HTTP. n - This parameter is mandatory when the client protocol is HTTPS. + |
+
certificatename + |
+String + |
+Certificate name. n - This parameter is not required when the client protocol is HTTP. n - This parameter is mandatory when the client protocol is HTTPS. + |
+
proxy + |
+Boolean + |
+Whether the proxy is enabled + |
+
locked + |
+Integer + |
+Lock status. This parameter is redundant and can be ignored. Default value: 0 +Default: 0 + |
+
protect_status + |
+Integer + |
+WAF status of the protected domain name. The value can be: +
|
+
access_status + |
+Integer + |
+Whether a domain name is connected to WAF. +
|
+
timestamp + |
+Long + |
+Time a domain name is added to WAF + |
+
flag + |
+Flag object + |
+Special domain name identifier, which is used to store additional domain name configurations + |
+
block_page + |
+BlockPage object + |
+Alarm configuration page + |
+
extend + |
+Map<String,String> + |
+Extended attribute + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
front_protocol + |
+String + |
+Client protocol +Enumeration values: +
|
+
back_protocol + |
+String + |
+Server protocol +Enumeration values: +
|
+
address + |
+String + |
+IP address or domain name of the origin server that the client accesses. + |
+
port + |
+Integer + |
+Server port + |
+
type + |
+String + |
+The origin server address is an IPv4 or IPv6 address. Default value: ipv4 +Enumeration values: +
|
+
vpc_id + |
+String + |
+VPC ID. Perform the following steps to obtain the VPC ID: +
|
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
pci_3ds + |
+String + |
+Whether PCI 3DS certification check is enabled for the domain name. Currently, this function is not supported. The default value is false. You can ignore this parameter. +
|
+
pci_dss + |
+String + |
+Whether PCI DDS certification check is enabled for the domain name. +
|
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
template + |
+String + |
+Template name + |
+
custom_page + |
+CustomPage object + |
+Custom alarm page + |
+
redirect_url + |
+String + |
+Redirection URL + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
status_code + |
+String + |
+Status Codes + |
+
content_type + |
+String + |
+Content type of alarm page + |
+
content + |
+String + |
+Page content + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
PUT https://{Endpoint}/v1/{project_id}/premium-waf/host/{host_id}? + +{ + "proxy" : true +}+
Status code: 200
+Request succeeded.
+{ + "id" : "ee896796e1a84f3f85865ae0853d8974", + "hostname" : "www.demo.com", + "protocol" : "HTTPS", + "server" : [ { + "address" : "1.2.3.4", + "port" : 443, + "type" : "ipv4", + "weight" : 1, + "front_protocol" : "HTTPS", + "back_protocol" : "HTTPS", + "vpc_id" : "ebfc553a-386d-4746-b0c2-18ff3f0e903d" + } ], + "proxy" : true, + "locked" : 0, + "timestamp" : 1650593801380, + "flag" : { + "pci_3ds" : "false", + "pci_dss" : "false" + }, + "extend" : { }, + "block_page" : { + "template" : "default" + }, + "description" : "", + "policyid" : "df15d0eb84194950a8fdc615b6c012dc", + "domainid" : "0ee78615ca08419f81f539d97c9ee353", + "projectid" : "550500b49078408682d0d4f7d923f3e1", + "protect_status" : 1, + "access_status" : 0, + "certificateid" : "360f992501a64de0a65c50a64d1ca7b3", + "certificatename" : "certificatename75315" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Invalid request + |
+
401 + |
+The token does not have the required permission. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to update the data masking rule list.
+PUT /v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
rule_id + |
+Yes + |
+String + |
+Rule ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+auth token + |
+
Content-Type + |
+Yes + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
url + |
+Yes + |
+String + |
+URL protected by the data masking rule. The value must be in the standard URL format, for example, /admin. + |
+
category + |
+Yes + |
+String + |
+Masked field +Enumeration values: +
|
+
index + |
+Yes + |
+String + |
+Name of the masked field + |
+
description + |
+No + |
+String + |
+Rule description + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID + |
+
policyid + |
+String + |
+Policy ID + |
+
timestamp + |
+Long + |
+Time the rule is created. The value is a 13-digit timestamp in ms. + |
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
url + |
+String + |
+URL protected by the data masking rule + |
+
category + |
+String + |
+Masked field +Enumeration values: +
|
+
index + |
+String + |
+Name of the masked field + |
+
description + |
+String + |
+Rule description + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/privacy/{rule_id}?enterprise_project_id=0 + +{ + "url" : "/login", + "category" : "header", + "index" : "token", + "description" : "" +}+
Status code: 200
+Request succeeded.
+{ + "category" : "header", + "description" : "", + "id" : "41a5674e03a1470a90ac4761ec4657b4", + "index" : "token", + "policyid" : "1f016cde588646aca3fb19f277c44d03", + "status" : 1, + "timestamp" : 1656504425319, + "url" : "/login" +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to modify a reference table.
+PUT /v1/{project_id}/waf/valuelist/{valuelistid}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
valuelistid + |
+Yes + |
+String + |
+Reference table ID. It can be obtained by calling the API Querying the Reference Table List + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User token + |
+
Content-Type + |
+Yes + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
name + |
+Yes + |
+String + |
+Reference table name. The value can contain a maximum of 64 characters. Only digits, letters, hyphens (-), underscores (_), and periods (.) are allowed. + |
+
type + |
+Yes + |
+String + |
+Reference table type. For details, see the enumeration list +Enumeration values: +
|
+
values + |
+No + |
+Array of strings + |
+Value of the reference table + |
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+ID of a reference table + |
+
name + |
+String + |
+Reference table name + |
+
type + |
+String + |
+The value can be: +
|
+
timestamp + |
+String + |
+Reference table timestamp + |
+
values + |
+Array of strings + |
+Value of the reference table + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
PUT https://{Endpoint}/v1/{project_id}/waf/valuelist/{valuelistid}? + +{ + "name" : "demo2", + "type" : "url", + "values" : [ "/demo" ] +}+
Status code: 200
+Request succeeded.
+{ + "id" : "3978ca9403844a62bbd24bb5b8d16d4e", + "name" : "demo2", + "type" : "url", + "values" : [ "/demo" ], + "timestamp" : 1656495488880 +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to update an IP address blacklist or whitelist rule.
+PUT /v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID + |
+
policy_id + |
+Yes + |
+String + |
+Policy ID + |
+
rule_id + |
+Yes + |
+String + |
+Rule ID + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
X-Auth-Token + |
+Yes + |
+String + |
+User Token + |
+
Content-Type + |
+Yes + |
+String + |
+Content type +Default: application/json;charset=utf8 + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
description + |
+No + |
+String + |
+Rule description. + |
+
addr + |
+Yes + |
+String + |
+lacklisted or whitelisted IP addresses + |
+
white + |
+Yes + |
+Object + |
+Protective action. The value can be: +
|
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+Rule ID + |
+
policyid + |
+String + |
+Policy ID. + |
+
timestamp + |
+Long + |
+Rule creation time + |
+
description + |
+String + |
+Rule description. + |
+
status + |
+Integer + |
+Rule status. The value can be: +
|
+
addr + |
+String + |
+lacklisted or whitelisted IP addresses + |
+
white + |
+Integer + |
+Protective action. The value can be: +
|
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
PUT https://{Endpoint}/v1/{project_id}/waf/policy/{policy_id}/whiteblackip/{rule_id}? + +{ + "white" : 0, + "description" : "demo", + "addr" : "10.1.1.2" +}+
Status code: 200
+Request succeeded.
+{ + "id" : "5d43af25404341058d5ab17b7ba78b56", + "policyid" : "38ff0cb9a10e4d5293c642bc0350fa6d", + "timestamp" : 1650531872900, + "description" : "demo", + "status" : 1, + "addr" : "10.1.1.2", + "white" : 0 +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
+This API is used to operate a dedicated WAF instance.
+POST /v1/{project_id}/premium-waf/instance/{instance_id}/action
+ +Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
project_id + |
+Yes + |
+String + |
+Project ID. + |
+
instance_id + |
+Yes + |
+String + |
+ID of the dedicated WAF engine + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
Content-Type + |
+Yes + |
+String + |
+Content type. Default value: application/json;charset=utf8 +Default: application/json;charset=utf8 + |
+
X-Auth-Token + |
+No + |
+String + |
+User token. + |
+
Parameter + |
+Mandatory + |
+Type + |
+Description + |
+
---|---|---|---|
action + |
+Yes + |
+String + |
+peration name. +
|
+
Status code: 200
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+ID of the dedicated WAF engine + |
+
instance_name + |
+String + |
+Name of the dedicated WAF engine. + |
+
instancename + |
+String + |
+Name of the dedicated WAF engine. This parameter is repeated and can be ignored. + |
+
region + |
+String + |
+Region where a dedicated engine is to be created. Its value is EU-DE. + |
+
zone + |
+String + |
+AZ ID. + |
+
arch + |
+String + |
+CPU architecture + |
+
cpu_flavor + |
+String + |
+ECS specification ID + |
+
vpc_id + |
+String + |
+ID of the VPC where the dedicated engine is located + |
+
subnet_id + |
+String + |
+Subnet ID of the VPC where the dedicated engine is located. + |
+
service_ip + |
+String + |
+Service plane IP address of the dedicated engine + |
+
service_ipv6 + |
+String + |
+IPv6 address of the service plane of the dedicated engine + |
+
security_group_ids + |
+Array of strings + |
+Security groups bound to the dedicated engine ECS + |
+
status + |
+Integer + |
+Billing status of dedicated WAF engine. The value can be 0, 1, or 2. +
|
+
run_status + |
+Integer + |
+unning status of the dedicated engine. The value can be 0 (creating), 1 (running), 2 (deleting), 3 (deleted), 4 (creation failed), 5 (frozen), 6 (abnormal), 7 (updating), or 8 (update failed). + |
+
access_status + |
+Integer + |
+Access status of the dedicated engine. The value can be 0 or 1. +
|
+
upgradable + |
+Integer + |
+Whether the dedicated engine can be upgraded. The value can be 0 for no or 1 for yes. + |
+
cloudServiceType + |
+String + |
+Cloud service code. This is a unique code used to distinguish cloud services from each other. You can ignore it. + |
+
resourceType + |
+String + |
+Cloud service resource type. Cloud services are purchased by resource type. You can ignore it. + |
+
resourceSpecCode + |
+String + |
+Resource specifications code. This code is used to identify the resource specifications the dedicated engine uses. You can ignore it. + |
+
specification + |
+String + |
+Dedicated engine ECS specifications, for example, 8 vCPUs | 16 GB. + |
+
hosts + |
+Array of IdHostnameEntry objects + |
+Domain name protected by the dedicated engine. + |
+
server_id + |
+String + |
+ID of the ECS hosting the dedicated engine. + |
+
serverId + |
+String + |
+ID of the ECS hosting the dedicated engine. This parameter is the same as server_id, and will be deleted. + |
+
Parameter + |
+Type + |
+Description + |
+
---|---|---|
id + |
+String + |
+ID of the protected domain name. This is a unique ID automatically generated by the system. + |
+
hostname + |
+String + |
+Protected domain name + |
+
Status code: 400
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 401
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
Status code: 500
+ +Parameter + |
+Type + |
+Description + |
+
---|---|---|
error_code + |
+String + |
+Error code + |
+
error_msg + |
+String + |
+Error message + |
+
POST https://{endpoint}/v1/{project_id}/premium-waf/instance/{instance_id}/action + +{ + "action" : "upgrade" +}+
Status code: 200
+Request succeeded.
+{ + "id" : "0619871acb764d48a112695e8f7cbb10", + "region" : "region-01-7", + "zone" : "region-01-7a", + "specification" : "8vCPUs | 16GB", + "arch" : "x86", + "upgradable" : 0, + "status" : 0, + "serverId" : "477353dc-8687-4bf4-b45b-1d7fee74fa63", + "server_id" : "477353dc-8687-4bf4-b45b-1d7fee74fa63", + "cloudServiceType" : "hws.service.type.waf", + "resourceType" : "hws.resource.type.waf.instance", + "resourceSpecCode" : "waf.instance.enterprise", + "vpc_id" : "13718074-a3f9-408d-82aa-3c41ef55e589", + "subnet_id" : "74d1b5a6-c7eb-4e9a-8372-181212552fcc", + "service_ip" : "192.168.10.68", + "security_group_ids" : [ "34287bdb-7aba-471a-b041-27427f1af76a" ], + "cpu_flavor" : "Si2.2xlarge.2", + "run_status" : 2, + "access_status" : 1, + "hosts" : [ { + "id" : "c3be17bbe3a641c7a1ded6019c377402", + "hostname" : "demo.www.com" + } ], + "instancename" : "0412elb", + "instance_name" : "0412elb", + "create_time" : 1649923548548 +}+
Status Code + |
+Description + |
+
---|---|
200 + |
+Request succeeded. + |
+
400 + |
+Request failed. + |
+
401 + |
+The token does not have required permissions. + |
+
500 + |
+Internal server error. + |
+
See Error Codes.
++
+
+
+
+
+
+
Public cloud APIs comply with the RESTful API design principles. REST-based Web services are organized into resources. Each resource is identified by one or more Uniform Resource Identifiers (URIs). An application accesses a resource based on the resource's Unified Resource Locator (URL). A URL is usually in the following format: https://Endpoint/uri. In the URL, uri indicates the resource path, that is, the API access path.
+Public cloud APIs use HTTPS as the transmission protocol. Requests/Responses are transmitted by using JSON messages, with media type represented by Application/json.
+For details about how to use APIs, see API Usage Guidelines.
+The following table lists the additional request header fields required for the POST, PUT, PATCH, and DELETE methods.
+Parameter + |
+Description + |
+Mandatory + |
+Example + |
+
---|---|---|---|
x-request-source-type + |
+Type of a request resource +
|
+Yes + |
+ApiCall + |
+
Status Code + |
+Description + |
+Meaning + |
+
---|---|---|
200 + |
+OK + |
+The request has succeeded. + |
+
204 + |
+No Content + |
+The server successfully processed the request and is not returning any content. + |
+
400 + |
+Bad Request + |
+Incorrect parameter + |
+
401 + |
+Unauthorized + |
+Authentication failed. + |
+
403 + |
+Forbidden + |
+No permission. The access is denied. + |
+
404 + |
+Not Found + |
+The requested resource could not be found. + |
+
406 + |
+Not Acceptable + |
+The request is unacceptable. + |
+
409 + |
+Conflict + |
+The request could not be processed because of conflict in the current state of the resource. + |
+
500 + |
+Internal Error + |
+Internal server error + |
+
503 + |
+Server Unavailable + |
+The server is currently unavailable. + |
+
The key cannot be left blank or be an empty string.
+The value cannot be left blank but can be an empty string.
+Released On + |
+Description + |
+
---|---|
2022-10-30 + |
+This is the first official release. + |
+