From 36f8c1558219e8e16934785a36200571288b7824 Mon Sep 17 00:00:00 2001 From: Azion Github Automation Date: Mon, 29 Jan 2024 13:38:19 +0000 Subject: [PATCH] chore: Auto-Generated Edge-api OpenAPI Schema --- edge.yml | 1609 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1609 insertions(+) create mode 100644 edge.yml diff --git a/edge.yml b/edge.yml new file mode 100644 index 0000000..0185cd3 --- /dev/null +++ b/edge.yml @@ -0,0 +1,1609 @@ +openapi: 3.0.3 +info: + title: edge-api + version: 1.0.0 + description: REST API OpenAPI documentation for the edge-api +paths: + /v4/edge/applications/{edgeApplicationId}/error_responses: + get: + operationId: applicationsErrorResponsesList + description: '' + parameters: + - in: path + name: edgeApplicationId + schema: + type: string + required: true + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + tags: + - applications + security: + - tokenAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedErrorResponsesList' + description: '' + '400': + description: Bad Request + '404': + description: Not Found + '406': + description: Not Acceptable + '429': + description: Too Many Requests + '401': + description: Unauthorized + '403': + description: Forbidden + /v4/edge/applications/{edgeApplicationId}/error_responses/{id}: + get: + operationId: applicationsErrorResponsesRetrieve + description: '' + parameters: + - in: path + name: edgeApplicationId + schema: + type: string + required: true + - in: path + name: id + schema: + type: string + required: true + tags: + - applications + security: + - tokenAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorResponses' + description: '' + '400': + description: Bad Request + '404': + description: Not Found + '406': + description: Not Acceptable + '429': + description: Too Many Requests + '401': + description: Unauthorized + '403': + description: Forbidden + put: + operationId: applicationsErrorResponsesUpdate + description: '' + parameters: + - in: path + name: edgeApplicationId + schema: + type: string + required: true + - in: path + name: id + schema: + type: string + required: true + tags: + - applications + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponsesRequest' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/ErrorResponsesRequest' + multipart/form-data: + schema: + $ref: '#/components/schemas/ErrorResponsesRequest' + required: true + security: + - tokenAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorResponses' + description: '' + '400': + description: Bad Request + '404': + description: Not Found + '406': + description: Not Acceptable + '429': + description: Too Many Requests + '401': + description: Unauthorized + '403': + description: Forbidden + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorResponses' + description: '' + patch: + operationId: applicationsErrorResponsesPartialUpdate + description: '' + parameters: + - in: path + name: edgeApplicationId + schema: + type: string + required: true + - in: path + name: id + schema: + type: string + required: true + tags: + - applications + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedErrorResponsesRequest' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PatchedErrorResponsesRequest' + multipart/form-data: + schema: + $ref: '#/components/schemas/PatchedErrorResponsesRequest' + security: + - tokenAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorResponses' + description: '' + '400': + description: Bad Request + '404': + description: Not Found + '406': + description: Not Acceptable + '429': + description: Too Many Requests + '401': + description: Unauthorized + '403': + description: Forbidden + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseErrorResponses' + description: '' + /v4/edge/certificates/revocations: + get: + operationId: certificatesRevocationsList + description: '' + parameters: + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + tags: + - certificates + security: + - tokenAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedCertificateRevocationListList' + description: '' + '400': + description: Bad Request + '404': + description: Not Found + '406': + description: Not Acceptable + '429': + description: Too Many Requests + '401': + description: Unauthorized + '403': + description: Forbidden + post: + operationId: certificatesRevocationsCreate + description: '' + tags: + - certificates + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateRevocationListRequest' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CertificateRevocationListRequest' + multipart/form-data: + schema: + $ref: '#/components/schemas/CertificateRevocationListRequest' + required: true + security: + - tokenAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseCertificateRevocationList' + description: '' + '400': + description: Bad Request + '404': + description: Not Found + '406': + description: Not Acceptable + '429': + description: Too Many Requests + '401': + description: Unauthorized + '403': + description: Forbidden + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseCertificateRevocationList' + description: '' + /v4/edge/certificates/revocations/{id}: + get: + operationId: certificatesRevocationsRetrieve + description: '' + parameters: + - in: path + name: id + schema: + type: string + required: true + tags: + - certificates + security: + - tokenAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseCertificateRevocationList' + description: '' + '400': + description: Bad Request + '404': + description: Not Found + '406': + description: Not Acceptable + '429': + description: Too Many Requests + '401': + description: Unauthorized + '403': + description: Forbidden + put: + operationId: certificatesRevocationsUpdate + description: '' + parameters: + - in: path + name: id + schema: + type: string + required: true + tags: + - certificates + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateRevocationListRequest' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/CertificateRevocationListRequest' + multipart/form-data: + schema: + $ref: '#/components/schemas/CertificateRevocationListRequest' + required: true + security: + - tokenAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseCertificateRevocationList' + description: '' + '400': + description: Bad Request + '404': + description: Not Found + '406': + description: Not Acceptable + '429': + description: Too Many Requests + '401': + description: Unauthorized + '403': + description: Forbidden + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseCertificateRevocationList' + description: '' + patch: + operationId: certificatesRevocationsPartialUpdate + description: '' + parameters: + - in: path + name: id + schema: + type: string + required: true + tags: + - certificates + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedCertificateRevocationListRequest' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PatchedCertificateRevocationListRequest' + multipart/form-data: + schema: + $ref: '#/components/schemas/PatchedCertificateRevocationListRequest' + security: + - tokenAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseCertificateRevocationList' + description: '' + '400': + description: Bad Request + '404': + description: Not Found + '406': + description: Not Acceptable + '429': + description: Too Many Requests + '401': + description: Unauthorized + '403': + description: Forbidden + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseCertificateRevocationList' + description: '' + delete: + operationId: certificatesRevocationsDestroy + description: '' + parameters: + - in: path + name: id + schema: + type: string + required: true + tags: + - certificates + security: + - tokenAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseDeleteCertificateRevocationList' + description: '' + '400': + description: Bad Request + '404': + description: Not Found + '406': + description: Not Acceptable + '429': + description: Too Many Requests + '401': + description: Unauthorized + '403': + description: Forbidden + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseCertificateRevocationList' + description: '' + /v4/edge/purge/{purgeType}: + post: + operationId: purgeCreate + description: Viewset for the URL purge API. + parameters: + - in: path + name: purgeType + schema: + type: string + enum: + - cachekey + - url + - wildcard + description: 'type of purge: URL, Wildcard or Cachekey' + required: true + tags: + - purge + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PurgeInputRequest' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PurgeInputRequest' + multipart/form-data: + schema: + $ref: '#/components/schemas/PurgeInputRequest' + required: true + security: + - tokenAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponsePurgeInput' + description: '' + '400': + description: Bad Request + '404': + description: Not Found + '406': + description: Not Acceptable + '429': + description: Too Many Requests + '401': + description: Unauthorized + '403': + description: Forbidden + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponsePurgeInput' + description: '' + /v4/edge/waf/{wafId}/allowed_rules: + get: + operationId: wafAllowedRulesList + description: '' + parameters: + - name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + - name: page_size + required: false + in: query + description: Number of results to return per page. + schema: + type: integer + - in: path + name: wafId + schema: + type: string + required: true + tags: + - waf + security: + - tokenAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedWAFRuleList' + description: '' + '400': + description: Bad Request + '404': + description: Not Found + '406': + description: Not Acceptable + '429': + description: Too Many Requests + '401': + description: Unauthorized + '403': + description: Forbidden + post: + operationId: wafAllowedRulesCreate + description: '' + parameters: + - in: path + name: wafId + schema: + type: string + required: true + tags: + - waf + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WAFRuleRequest' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/WAFRuleRequest' + multipart/form-data: + schema: + $ref: '#/components/schemas/WAFRuleRequest' + required: true + security: + - tokenAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseWAFRule' + description: '' + '400': + description: Bad Request + '404': + description: Not Found + '406': + description: Not Acceptable + '429': + description: Too Many Requests + '401': + description: Unauthorized + '403': + description: Forbidden + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseWAFRule' + description: '' + /v4/edge/waf/{wafId}/allowed_rules/{id}: + get: + operationId: wafAllowedRulesRetrieve + description: '' + parameters: + - in: path + name: id + schema: + type: string + required: true + - in: path + name: wafId + schema: + type: string + required: true + tags: + - waf + security: + - tokenAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseWAFRule' + description: '' + '400': + description: Bad Request + '404': + description: Not Found + '406': + description: Not Acceptable + '429': + description: Too Many Requests + '401': + description: Unauthorized + '403': + description: Forbidden + put: + operationId: wafAllowedRulesUpdate + description: '' + parameters: + - in: path + name: id + schema: + type: string + required: true + - in: path + name: wafId + schema: + type: string + required: true + tags: + - waf + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WAFRuleRequest' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/WAFRuleRequest' + multipart/form-data: + schema: + $ref: '#/components/schemas/WAFRuleRequest' + required: true + security: + - tokenAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseWAFRule' + description: '' + '400': + description: Bad Request + '404': + description: Not Found + '406': + description: Not Acceptable + '429': + description: Too Many Requests + '401': + description: Unauthorized + '403': + description: Forbidden + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseWAFRule' + description: '' + patch: + operationId: wafAllowedRulesPartialUpdate + description: '' + parameters: + - in: path + name: id + schema: + type: string + required: true + - in: path + name: wafId + schema: + type: string + required: true + tags: + - waf + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedWAFRuleRequest' + application/x-www-form-urlencoded: + schema: + $ref: '#/components/schemas/PatchedWAFRuleRequest' + multipart/form-data: + schema: + $ref: '#/components/schemas/PatchedWAFRuleRequest' + security: + - tokenAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseWAFRule' + description: '' + '400': + description: Bad Request + '404': + description: Not Found + '406': + description: Not Acceptable + '429': + description: Too Many Requests + '401': + description: Unauthorized + '403': + description: Forbidden + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseWAFRule' + description: '' + delete: + operationId: wafAllowedRulesDestroy + description: '' + parameters: + - in: path + name: id + schema: + type: string + required: true + - in: path + name: wafId + schema: + type: string + required: true + tags: + - waf + security: + - tokenAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseDeleteWAFRule' + description: '' + '400': + description: Bad Request + '404': + description: Not Found + '406': + description: Not Acceptable + '429': + description: Too Many Requests + '401': + description: Unauthorized + '403': + description: Forbidden + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseWAFRule' + description: '' +components: + schemas: + BlankEnum: + enum: + - '' + additionalProperties: false + CertificateRevocationList: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + pattern: .* + maxLength: 250 + minLength: 1 + issuer: + type: string + readOnly: true + minLength: 1 + last_update: + type: string + format: date-time + readOnly: true + next_update: + type: string + format: date-time + readOnly: true + revoked_certificates: + type: object + additionalProperties: {} + readOnly: true + raw_crl: + type: string + pattern: .* + maxLength: 3072000 + minLength: 1 + required: + - id + - issuer + - last_update + - name + - next_update + - raw_crl + - revoked_certificates + additionalProperties: false + CertificateRevocationListRequest: + type: object + properties: + name: + type: string + pattern: .* + maxLength: 250 + minLength: 1 + raw_crl: + type: string + pattern: .* + maxLength: 3072000 + minLength: 1 + required: + - name + - raw_crl + additionalProperties: false + CodeEnum: + enum: + - 400 + - 401 + - 403 + - 404 + - 405 + - 406 + - 408 + - 409 + - 410 + - 411 + - 414 + - 415 + - 416 + - 426 + - 429 + - 431 + - 500 + - 501 + - 502 + - 503 + - 504 + - 505 + - any + additionalProperties: false + ErrorResponses: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + readOnly: true + edge_application_id: + type: integer + readOnly: true + origin_id: + type: integer + nullable: true + error_responses: + type: array + items: + $ref: '#/components/schemas/NestedErrorResponse' + required: + - edge_application_id + - error_responses + - id + - name + additionalProperties: false + ErrorResponsesRequest: + type: object + properties: + origin_id: + type: integer + nullable: true + error_responses: + type: array + items: + $ref: '#/components/schemas/NestedErrorResponseRequest' + required: + - error_responses + additionalProperties: false + LayerEnum: + enum: + - edge_caching + - l2_caching + type: string + additionalProperties: false + MatchZone: + type: object + properties: + zone: + allOf: + - $ref: '#/components/schemas/ZoneEnum' + title: Match Zone + zone_input: + type: string + nullable: true + pattern: '[a-zA-Z0-9<>?()]+' + maxLength: 255 + minLength: 0 + matches_on: + nullable: true + oneOf: + - $ref: '#/components/schemas/MatchesOnEnum' + - $ref: '#/components/schemas/BlankEnum' + - $ref: '#/components/schemas/NullEnum' + required: + - zone + additionalProperties: false + MatchZoneRequest: + type: object + properties: + zone: + allOf: + - $ref: '#/components/schemas/ZoneEnum' + title: Match Zone + zone_input: + type: string + nullable: true + pattern: '[a-zA-Z0-9<>?()]+' + maxLength: 255 + minLength: 0 + matches_on: + nullable: true + oneOf: + - $ref: '#/components/schemas/MatchesOnEnum' + - $ref: '#/components/schemas/BlankEnum' + - $ref: '#/components/schemas/NullEnum' + required: + - zone + additionalProperties: false + MatchesOnEnum: + enum: + - value + - name + type: string + additionalProperties: false + NestedErrorResponse: + type: object + properties: + code: + $ref: '#/components/schemas/CodeEnum' + timeout: + type: integer + maximum: 31536000 + minimum: 0 + uri: + type: string + nullable: true + pattern: ^\/[\/a-zA-Z0-9\-_\.\~@:]*$ + maxLength: 250 + minLength: 1 + custom_status_code: + type: string + nullable: true + pattern: ^[1-5]\d{2}$ + maxLength: 3 + minLength: 1 + required: + - code + - timeout + additionalProperties: false + NestedErrorResponseRequest: + type: object + properties: + code: + $ref: '#/components/schemas/CodeEnum' + timeout: + type: integer + maximum: 31536000 + minimum: 0 + uri: + type: string + nullable: true + pattern: ^\/[\/a-zA-Z0-9\-_\.\~@:]*$ + maxLength: 250 + minLength: 1 + custom_status_code: + type: string + nullable: true + pattern: ^[1-5]\d{2}$ + maxLength: 3 + minLength: 1 + required: + - code + - timeout + additionalProperties: false + NullEnum: + enum: + - null + additionalProperties: false + PaginatedCertificateRevocationListList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?page=4 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?page=2 + results: + type: array + items: + $ref: '#/components/schemas/CertificateRevocationList' + additionalProperties: false + PaginatedErrorResponsesList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?page=4 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?page=2 + results: + type: array + items: + $ref: '#/components/schemas/ErrorResponses' + additionalProperties: false + PaginatedWAFRuleList: + type: object + properties: + count: + type: integer + example: 123 + next: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?page=4 + previous: + type: string + nullable: true + format: uri + example: http://api.example.org/accounts/?page=2 + results: + type: array + items: + $ref: '#/components/schemas/WAFRule' + additionalProperties: false + PatchedCertificateRevocationListRequest: + type: object + properties: + name: + type: string + pattern: .* + maxLength: 250 + minLength: 1 + raw_crl: + type: string + pattern: .* + maxLength: 3072000 + minLength: 1 + additionalProperties: false + PatchedErrorResponsesRequest: + type: object + properties: + origin_id: + type: integer + nullable: true + error_responses: + type: array + items: + $ref: '#/components/schemas/NestedErrorResponseRequest' + additionalProperties: false + PatchedWAFRuleRequest: + type: object + properties: + rule_id: + allOf: + - $ref: '#/components/schemas/RuleIdEnum' + default: 0 + description: |- + 1 - Validation of protocol compliance: weird request, unable to parse
+ 2 - Request too big, stored on disk and not parsed
+ 10 - Validation of protocol compliance: invalid HEX encoding (null bytes)
+ 11 - Validation of protocol compliance: missing or unknown Content-Type header in a POST (this rule applies only to Request Body match zone)
+ 12 - Validation of protocol compliance: invalid formatted URL
+ 13 - Validation of protocol compliance: invalid POST format
+ 14 - Validation of protocol compliance: invalid POST boundary
+ 15 - Validation of protocol compliance: invalid JSON
+ 16 - Validation of protocol compliance: POST with no body
+ 17 - Possible SQL Injection attack: validation with libinjection_sql
+ 18 - Possible XSS attack: validation with libinjection_xss
+ 1000 - Possible SQL Injection attack: SQL keywords found in Body, Path, Query String or Cookies
+ 1001 - Possible SQL Injection or XSS attack: double quote (") found in Body, Path, Query String or Cookies
+ 1002 - Possible SQL Injection attack: possible hex encoding (0x) found in Body, Path, Query String or Cookies
+ 1003 - Possible SQL Injection attack: MySQL comment (/*) found in Body, Path, Query String or Cookies
+ 1004 - Possible SQL Injection attack: MySQL comment (*/) found in Body, Path, Query String or Cookies
+ 1005 - Possible SQL Injection attack: MySQL keyword (|) found in Body, Path, Query String or Cookies
+ 1006 - Possible SQL Injection attack: MySQL keyword (&&) found in Body, Path, Query String or Cookies
+ 1007 - Possible SQL Injection attack: MySQL comment (--) found in Body, Path, Query String or Cookies
+ 1008 - Possible SQL Injection or XSS attack: semicolon (;) found in Body, Path or Query String
+ 1009 - Possible SQL Injection attack: equal sign (=) found in Body or Query String
+ 1010 - Possible SQL Injection or XSS attack: open parenthesis [(] found in Body, Path, Query String or Cookies
+ 1011 - Possible SQL Injection or XSS attack: close parenthesis [)] found in Body, Path, Query String or Cookies
+ 1013 - Possible SQL Injection or XSS attack: apostrophe (') found in Body, Path, Query String or Cookies
+ 1015 - Possible SQL Injection attack: comma (,) found in Body, Path, Query String or Cookies
+ 1016 - Possible SQL Injection attack: MySQL comment (#) found in Body, Path, Query String or Cookies
+ 1017 - Possible SQL Injection attack: double at sign (@@) found in Body, Path, Query String or Cookies
+ 1100 - Possible RFI attack: scheme "http://" found in Body, Query String or Cookies
+ 1101 - Possible RFI attack: scheme "https://" found in Body, Query String or Cookies
+ 1102 - Possible RFI attack: scheme "ftp://" found in Body, Query String or Cookies
+ 1103 - Possible RFI attack: scheme "php://" found in Body, Query String or Cookies
+ 1104 - Possible RFI attack: scheme "sftp://" found in Body, Query String or Cookies
+ 1105 - Possible RFI attack: scheme "zlib://" found in Body, Query String or Cookies
+ 1106 - Possible RFI attack: scheme "data://" found in Body, Query String or Cookies
+ 1107 - Possible RFI attack: scheme "glob://" found in Body, Query String or Cookies
+ 1108 - Possible RFI attack: scheme "phar://" found in Body, Query String or Cookies
+ 1109 - Possible RFI attack: scheme "file://" found in Body, Query String or Cookies
+ 1110 - Possible RFI attack: scheme "gopher://" found in Body, Query String or Cookies
+ 1200 - Possible Directory Traversal attack: double dot (..) found in Body, Path, Query String or Cookies
+ 1202 - Possible Directory Traversal attack: obvious probe (/etc/passwd) found in Body, Path, Query String or Cookies
+ 1203 - Possible Directory Traversal attack: obvious windows path (c:\) found in Body, Path, Query String or Cookies
+ 1204 - Possible Directory Traversal attack: obvious probe (cmd.exe) found in Body, Path, Query String or Cookies
+ 1205 - Possible Directory Traversal attack: backslash (\) found in Body, Path, Query String or Cookies
+ 1206 - Possible Directory Traversal attack: slash (/) found in Body, Query String or Cookies
+ 1302 - Possible XSS attack: html open tag (<) found in Body, Path, Query String or Cookies
+ 1303 - Possible XSS attack: html close tag (>) found in Body, Path, Query String or Cookies
+ 1310 - Possible XSS attack: open square bracket ([) found in Body, Path, Query String or Cookies
+ 1311 - Possible XSS attack: close square bracket (]) found in Body, Path, Query String or Cookies
+ 1312 - Possible XSS attack: tilde character (~) found in Body, Path, Query String or Cookies
+ 1314 - Possible XSS attack: back quote ( `) found in Body, Path, Query String or Cookies
+ 1315 - Possible XSS attack: double encoding (%[2|3]) found in Body, Path, Query String or Cookies
+ 1400 - Possible trick to evade protection: UTF7/8 encoding (&#) found in Body, Path, Query String or Cookies
+ 1401 - Possible trick to evade protection: MS encoding (%U) found in Body, Path, Query String or Cookies
+ 1500 - Possible File Upload attempt: asp/php (.ph, .asp or .ht) found in filename in a multipart POST containing a file
+ 0 - All Rules
+ 1199 - Possible RCE attack: validation with log4j (Log4Shell) in Body, Path, Query String, Headers or Cookies
+ 1198 - Possible RCE attack: validation with log4j (Log4Shell) in HEADERS_VAR
+ 2001 - Possible CVE-2022-22965 attack: Tomcat Pipeline Context tampering
+ 1208 - Possible Directory Traversal attack: obvious path probe (/.;/) found in Body, Query String or Cookies
+ 1209 - Possible Directory Traversal attack: obvious path probe (/.%2e/) found in Body, Query String or Cookies
+ 1210 - Possible Directory Traversal attack: obvious path probe (/%2e./) found in Body, Query String or Cookies
+ 1402 - Possible trick to evade protection: encoded chars (%20-%3F) found in Body, Query String or Cookies
+ 1207 - Possible Directory Traversal attack: obvious path probe (/..;/) found in Body, Query String or Cookies + reason: + type: string + pattern: ^[a-zA-Z0-9_ ]+$ + maxLength: 255 + minLength: 0 + path: + type: string + nullable: true + pattern: .* + maxLength: 255 + minLength: 0 + match_zones: + type: array + items: + $ref: '#/components/schemas/MatchZoneRequest' + use_regex: + type: boolean + default: false + status: + type: boolean + default: true + additionalProperties: false + PurgeInput: + type: object + description: Serialize the incoming purge request. + properties: + items: + type: array + items: + type: string + layer: + allOf: + - $ref: '#/components/schemas/LayerEnum' + default: edge_caching + required: + - items + additionalProperties: false + PurgeInputRequest: + type: object + description: Serialize the incoming purge request. + properties: + items: + type: array + items: + type: string + layer: + allOf: + - $ref: '#/components/schemas/LayerEnum' + default: edge_caching + required: + - items + additionalProperties: false + ResponseCertificateRevocationList: + type: object + properties: + state: + $ref: '#/components/schemas/StateEnum' + data: + $ref: '#/components/schemas/CertificateRevocationList' + required: + - data + - state + additionalProperties: false + ResponseDeleteCertificateRevocationList: + type: object + properties: + state: + $ref: '#/components/schemas/StateEnum' + data: + allOf: + - $ref: '#/components/schemas/CertificateRevocationList' + nullable: true + required: + - data + - state + additionalProperties: false + ResponseDeleteWAFRule: + type: object + properties: + state: + $ref: '#/components/schemas/StateEnum' + data: + allOf: + - $ref: '#/components/schemas/WAFRule' + nullable: true + required: + - data + - state + additionalProperties: false + ResponseErrorResponses: + type: object + properties: + state: + $ref: '#/components/schemas/StateEnum' + data: + $ref: '#/components/schemas/ErrorResponses' + required: + - data + - state + additionalProperties: false + ResponsePurgeInput: + type: object + properties: + state: + $ref: '#/components/schemas/StateEnum' + data: + $ref: '#/components/schemas/PurgeInput' + required: + - data + - state + additionalProperties: false + ResponseWAFRule: + type: object + properties: + state: + $ref: '#/components/schemas/StateEnum' + data: + $ref: '#/components/schemas/WAFRule' + required: + - data + - state + additionalProperties: false + RuleIdEnum: + enum: + - 1 + - 2 + - 10 + - 11 + - 12 + - 13 + - 14 + - 15 + - 16 + - 17 + - 18 + - 1000 + - 1001 + - 1002 + - 1003 + - 1004 + - 1005 + - 1006 + - 1007 + - 1008 + - 1009 + - 1010 + - 1011 + - 1013 + - 1015 + - 1016 + - 1017 + - 1100 + - 1101 + - 1102 + - 1103 + - 1104 + - 1105 + - 1106 + - 1107 + - 1108 + - 1109 + - 1110 + - 1200 + - 1202 + - 1203 + - 1204 + - 1205 + - 1206 + - 1302 + - 1303 + - 1310 + - 1311 + - 1312 + - 1314 + - 1315 + - 1400 + - 1401 + - 1500 + - 0 + - 1199 + - 1198 + - 2001 + - 1208 + - 1209 + - 1210 + - 1402 + - 1207 + type: integer + additionalProperties: false + StateEnum: + enum: + - pending + - executed + type: string + additionalProperties: false + WAFRule: + type: object + properties: + id: + type: integer + readOnly: true + rule_id: + allOf: + - $ref: '#/components/schemas/RuleIdEnum' + default: 0 + description: |- + 1 - Validation of protocol compliance: weird request, unable to parse
+ 2 - Request too big, stored on disk and not parsed
+ 10 - Validation of protocol compliance: invalid HEX encoding (null bytes)
+ 11 - Validation of protocol compliance: missing or unknown Content-Type header in a POST (this rule applies only to Request Body match zone)
+ 12 - Validation of protocol compliance: invalid formatted URL
+ 13 - Validation of protocol compliance: invalid POST format
+ 14 - Validation of protocol compliance: invalid POST boundary
+ 15 - Validation of protocol compliance: invalid JSON
+ 16 - Validation of protocol compliance: POST with no body
+ 17 - Possible SQL Injection attack: validation with libinjection_sql
+ 18 - Possible XSS attack: validation with libinjection_xss
+ 1000 - Possible SQL Injection attack: SQL keywords found in Body, Path, Query String or Cookies
+ 1001 - Possible SQL Injection or XSS attack: double quote (") found in Body, Path, Query String or Cookies
+ 1002 - Possible SQL Injection attack: possible hex encoding (0x) found in Body, Path, Query String or Cookies
+ 1003 - Possible SQL Injection attack: MySQL comment (/*) found in Body, Path, Query String or Cookies
+ 1004 - Possible SQL Injection attack: MySQL comment (*/) found in Body, Path, Query String or Cookies
+ 1005 - Possible SQL Injection attack: MySQL keyword (|) found in Body, Path, Query String or Cookies
+ 1006 - Possible SQL Injection attack: MySQL keyword (&&) found in Body, Path, Query String or Cookies
+ 1007 - Possible SQL Injection attack: MySQL comment (--) found in Body, Path, Query String or Cookies
+ 1008 - Possible SQL Injection or XSS attack: semicolon (;) found in Body, Path or Query String
+ 1009 - Possible SQL Injection attack: equal sign (=) found in Body or Query String
+ 1010 - Possible SQL Injection or XSS attack: open parenthesis [(] found in Body, Path, Query String or Cookies
+ 1011 - Possible SQL Injection or XSS attack: close parenthesis [)] found in Body, Path, Query String or Cookies
+ 1013 - Possible SQL Injection or XSS attack: apostrophe (') found in Body, Path, Query String or Cookies
+ 1015 - Possible SQL Injection attack: comma (,) found in Body, Path, Query String or Cookies
+ 1016 - Possible SQL Injection attack: MySQL comment (#) found in Body, Path, Query String or Cookies
+ 1017 - Possible SQL Injection attack: double at sign (@@) found in Body, Path, Query String or Cookies
+ 1100 - Possible RFI attack: scheme "http://" found in Body, Query String or Cookies
+ 1101 - Possible RFI attack: scheme "https://" found in Body, Query String or Cookies
+ 1102 - Possible RFI attack: scheme "ftp://" found in Body, Query String or Cookies
+ 1103 - Possible RFI attack: scheme "php://" found in Body, Query String or Cookies
+ 1104 - Possible RFI attack: scheme "sftp://" found in Body, Query String or Cookies
+ 1105 - Possible RFI attack: scheme "zlib://" found in Body, Query String or Cookies
+ 1106 - Possible RFI attack: scheme "data://" found in Body, Query String or Cookies
+ 1107 - Possible RFI attack: scheme "glob://" found in Body, Query String or Cookies
+ 1108 - Possible RFI attack: scheme "phar://" found in Body, Query String or Cookies
+ 1109 - Possible RFI attack: scheme "file://" found in Body, Query String or Cookies
+ 1110 - Possible RFI attack: scheme "gopher://" found in Body, Query String or Cookies
+ 1200 - Possible Directory Traversal attack: double dot (..) found in Body, Path, Query String or Cookies
+ 1202 - Possible Directory Traversal attack: obvious probe (/etc/passwd) found in Body, Path, Query String or Cookies
+ 1203 - Possible Directory Traversal attack: obvious windows path (c:\) found in Body, Path, Query String or Cookies
+ 1204 - Possible Directory Traversal attack: obvious probe (cmd.exe) found in Body, Path, Query String or Cookies
+ 1205 - Possible Directory Traversal attack: backslash (\) found in Body, Path, Query String or Cookies
+ 1206 - Possible Directory Traversal attack: slash (/) found in Body, Query String or Cookies
+ 1302 - Possible XSS attack: html open tag (<) found in Body, Path, Query String or Cookies
+ 1303 - Possible XSS attack: html close tag (>) found in Body, Path, Query String or Cookies
+ 1310 - Possible XSS attack: open square bracket ([) found in Body, Path, Query String or Cookies
+ 1311 - Possible XSS attack: close square bracket (]) found in Body, Path, Query String or Cookies
+ 1312 - Possible XSS attack: tilde character (~) found in Body, Path, Query String or Cookies
+ 1314 - Possible XSS attack: back quote ( `) found in Body, Path, Query String or Cookies
+ 1315 - Possible XSS attack: double encoding (%[2|3]) found in Body, Path, Query String or Cookies
+ 1400 - Possible trick to evade protection: UTF7/8 encoding (&#) found in Body, Path, Query String or Cookies
+ 1401 - Possible trick to evade protection: MS encoding (%U) found in Body, Path, Query String or Cookies
+ 1500 - Possible File Upload attempt: asp/php (.ph, .asp or .ht) found in filename in a multipart POST containing a file
+ 0 - All Rules
+ 1199 - Possible RCE attack: validation with log4j (Log4Shell) in Body, Path, Query String, Headers or Cookies
+ 1198 - Possible RCE attack: validation with log4j (Log4Shell) in HEADERS_VAR
+ 2001 - Possible CVE-2022-22965 attack: Tomcat Pipeline Context tampering
+ 1208 - Possible Directory Traversal attack: obvious path probe (/.;/) found in Body, Query String or Cookies
+ 1209 - Possible Directory Traversal attack: obvious path probe (/.%2e/) found in Body, Query String or Cookies
+ 1210 - Possible Directory Traversal attack: obvious path probe (/%2e./) found in Body, Query String or Cookies
+ 1402 - Possible trick to evade protection: encoded chars (%20-%3F) found in Body, Query String or Cookies
+ 1207 - Possible Directory Traversal attack: obvious path probe (/..;/) found in Body, Query String or Cookies + reason: + type: string + pattern: ^[a-zA-Z0-9_ ]+$ + maxLength: 255 + minLength: 0 + path: + type: string + nullable: true + pattern: .* + maxLength: 255 + minLength: 0 + match_zones: + type: array + items: + $ref: '#/components/schemas/MatchZone' + use_regex: + type: boolean + default: false + status: + type: boolean + default: true + last_editor: + type: string + readOnly: true + last_modified: + type: string + format: date-time + readOnly: true + required: + - id + - last_editor + - last_modified + - match_zones + - reason + additionalProperties: false + WAFRuleRequest: + type: object + properties: + rule_id: + allOf: + - $ref: '#/components/schemas/RuleIdEnum' + default: 0 + description: |- + 1 - Validation of protocol compliance: weird request, unable to parse
+ 2 - Request too big, stored on disk and not parsed
+ 10 - Validation of protocol compliance: invalid HEX encoding (null bytes)
+ 11 - Validation of protocol compliance: missing or unknown Content-Type header in a POST (this rule applies only to Request Body match zone)
+ 12 - Validation of protocol compliance: invalid formatted URL
+ 13 - Validation of protocol compliance: invalid POST format
+ 14 - Validation of protocol compliance: invalid POST boundary
+ 15 - Validation of protocol compliance: invalid JSON
+ 16 - Validation of protocol compliance: POST with no body
+ 17 - Possible SQL Injection attack: validation with libinjection_sql
+ 18 - Possible XSS attack: validation with libinjection_xss
+ 1000 - Possible SQL Injection attack: SQL keywords found in Body, Path, Query String or Cookies
+ 1001 - Possible SQL Injection or XSS attack: double quote (") found in Body, Path, Query String or Cookies
+ 1002 - Possible SQL Injection attack: possible hex encoding (0x) found in Body, Path, Query String or Cookies
+ 1003 - Possible SQL Injection attack: MySQL comment (/*) found in Body, Path, Query String or Cookies
+ 1004 - Possible SQL Injection attack: MySQL comment (*/) found in Body, Path, Query String or Cookies
+ 1005 - Possible SQL Injection attack: MySQL keyword (|) found in Body, Path, Query String or Cookies
+ 1006 - Possible SQL Injection attack: MySQL keyword (&&) found in Body, Path, Query String or Cookies
+ 1007 - Possible SQL Injection attack: MySQL comment (--) found in Body, Path, Query String or Cookies
+ 1008 - Possible SQL Injection or XSS attack: semicolon (;) found in Body, Path or Query String
+ 1009 - Possible SQL Injection attack: equal sign (=) found in Body or Query String
+ 1010 - Possible SQL Injection or XSS attack: open parenthesis [(] found in Body, Path, Query String or Cookies
+ 1011 - Possible SQL Injection or XSS attack: close parenthesis [)] found in Body, Path, Query String or Cookies
+ 1013 - Possible SQL Injection or XSS attack: apostrophe (') found in Body, Path, Query String or Cookies
+ 1015 - Possible SQL Injection attack: comma (,) found in Body, Path, Query String or Cookies
+ 1016 - Possible SQL Injection attack: MySQL comment (#) found in Body, Path, Query String or Cookies
+ 1017 - Possible SQL Injection attack: double at sign (@@) found in Body, Path, Query String or Cookies
+ 1100 - Possible RFI attack: scheme "http://" found in Body, Query String or Cookies
+ 1101 - Possible RFI attack: scheme "https://" found in Body, Query String or Cookies
+ 1102 - Possible RFI attack: scheme "ftp://" found in Body, Query String or Cookies
+ 1103 - Possible RFI attack: scheme "php://" found in Body, Query String or Cookies
+ 1104 - Possible RFI attack: scheme "sftp://" found in Body, Query String or Cookies
+ 1105 - Possible RFI attack: scheme "zlib://" found in Body, Query String or Cookies
+ 1106 - Possible RFI attack: scheme "data://" found in Body, Query String or Cookies
+ 1107 - Possible RFI attack: scheme "glob://" found in Body, Query String or Cookies
+ 1108 - Possible RFI attack: scheme "phar://" found in Body, Query String or Cookies
+ 1109 - Possible RFI attack: scheme "file://" found in Body, Query String or Cookies
+ 1110 - Possible RFI attack: scheme "gopher://" found in Body, Query String or Cookies
+ 1200 - Possible Directory Traversal attack: double dot (..) found in Body, Path, Query String or Cookies
+ 1202 - Possible Directory Traversal attack: obvious probe (/etc/passwd) found in Body, Path, Query String or Cookies
+ 1203 - Possible Directory Traversal attack: obvious windows path (c:\) found in Body, Path, Query String or Cookies
+ 1204 - Possible Directory Traversal attack: obvious probe (cmd.exe) found in Body, Path, Query String or Cookies
+ 1205 - Possible Directory Traversal attack: backslash (\) found in Body, Path, Query String or Cookies
+ 1206 - Possible Directory Traversal attack: slash (/) found in Body, Query String or Cookies
+ 1302 - Possible XSS attack: html open tag (<) found in Body, Path, Query String or Cookies
+ 1303 - Possible XSS attack: html close tag (>) found in Body, Path, Query String or Cookies
+ 1310 - Possible XSS attack: open square bracket ([) found in Body, Path, Query String or Cookies
+ 1311 - Possible XSS attack: close square bracket (]) found in Body, Path, Query String or Cookies
+ 1312 - Possible XSS attack: tilde character (~) found in Body, Path, Query String or Cookies
+ 1314 - Possible XSS attack: back quote ( `) found in Body, Path, Query String or Cookies
+ 1315 - Possible XSS attack: double encoding (%[2|3]) found in Body, Path, Query String or Cookies
+ 1400 - Possible trick to evade protection: UTF7/8 encoding (&#) found in Body, Path, Query String or Cookies
+ 1401 - Possible trick to evade protection: MS encoding (%U) found in Body, Path, Query String or Cookies
+ 1500 - Possible File Upload attempt: asp/php (.ph, .asp or .ht) found in filename in a multipart POST containing a file
+ 0 - All Rules
+ 1199 - Possible RCE attack: validation with log4j (Log4Shell) in Body, Path, Query String, Headers or Cookies
+ 1198 - Possible RCE attack: validation with log4j (Log4Shell) in HEADERS_VAR
+ 2001 - Possible CVE-2022-22965 attack: Tomcat Pipeline Context tampering
+ 1208 - Possible Directory Traversal attack: obvious path probe (/.;/) found in Body, Query String or Cookies
+ 1209 - Possible Directory Traversal attack: obvious path probe (/.%2e/) found in Body, Query String or Cookies
+ 1210 - Possible Directory Traversal attack: obvious path probe (/%2e./) found in Body, Query String or Cookies
+ 1402 - Possible trick to evade protection: encoded chars (%20-%3F) found in Body, Query String or Cookies
+ 1207 - Possible Directory Traversal attack: obvious path probe (/..;/) found in Body, Query String or Cookies + reason: + type: string + pattern: ^[a-zA-Z0-9_ ]+$ + maxLength: 255 + minLength: 0 + path: + type: string + nullable: true + pattern: .* + maxLength: 255 + minLength: 0 + match_zones: + type: array + items: + $ref: '#/components/schemas/MatchZoneRequest' + use_regex: + type: boolean + default: false + status: + type: boolean + default: true + required: + - match_zones + - reason + additionalProperties: false + ZoneEnum: + enum: + - conditional_query_string + - conditional_request_body + - conditional_request_header + - file_name + - path + - query_string + - raw_body + - request_body + - request_header + type: string + additionalProperties: false + securitySchemes: + tokenAuth: + type: apiKey + in: header + name: Authorization + description: Token-based authentication with required prefix "Token"