{ "operationId": "post-config-custom-rules", "method": "POST", "path": "/configs/{configId}/custom-rules", "summary": "Create a custom rule", "requestExamples": [ { "contentType": "application/json", "example": { "conditions": [ { "positiveMatch": true, "type": "requestMethodMatch", "value": [ "GET", "CONNECT", "TRACE", "PUT", "POST", "OPTIONS", "DELETE", "HEAD" ] }, { "positiveMatch": true, "type": "pathMatch", "value": [ "/H", "/Li", "/He" ] }, { "positiveMatch": true, "type": "extensionMatch", "value": [ "Li", "He", "H" ], "valueCase": true, "valueWildcard": true }, { "positiveMatch": true, "type": "filenameMatch", "value": [ "He", "H", "Li" ], "valueCase": false, "valueWildcard": false }, { "positiveMatch": true, "type": "requestProtocolVersionMatch", "value": "HTTP/0.9" }, { "name": [ "H", "He" ], "nameWildcard": true, "positiveMatch": true, "type": "requestHeaderMatch", "value": [ "Li", "He", "H" ], "valueCase": true, "valueWildcard": true }, { "name": [ "He" ], "nameWildcard": true, "positiveMatch": true, "type": "requestHeaderMatch", "value": [ "C", "Be", "B" ], "valueCase": true, "valueWildcard": true }, { "positiveMatch": true, "type": "headerOrderMatch", "value": "H:He" }, { "name": "H", "nameCase": true, "nameWildcard": true, "positiveMatch": true, "type": "cookieMatch", "value": [ "H", "He", "Li" ], "valueCase": true, "valueWildcard": true }, { "name": "Be", "nameCase": true, "nameWildcard": true, "positiveMatch": true, "type": "cookieMatch", "value": [ "O", "N", "C" ], "valueCase": true, "valueWildcard": true }, { "name": "C", "nameCase": true, "nameWildcard": true, "positiveMatch": true, "type": "uriQueryMatch", "value": [ "Carbon", "C" ], "valueCase": true, "valueWildcard": true }, { "name": "N", "nameCase": false, "nameWildcard": false, "positiveMatch": true, "type": "uriQueryMatch", "value": [ "Nitrogen", "N" ], "valueCase": false, "valueWildcard": false }, { "name": "H", "positiveMatch": true, "type": "argsPostMatch", "value": [ "H", "Hydrogen" ] }, { "name": "He", "positiveMatch": true, "type": "argsPostMatch", "value": [ "He", "Helium" ] }, { "positiveMatch": true, "type": "argsPostNamesMatch", "value": [ "Carbon", "Oxygen", "Nitrogen", "Chlorine" ] }, { "positiveMatch": true, "type": "clientCertPresentMatch" }, { "positiveMatch": false, "type": "clientCertValidMatch" }, { "positiveMatch": true, "type": "clientTlsFingerprintMatch", "value": [ "aebbfa8e53e8661f" ] }, { "positiveMatch": true, "type": "hostMatch", "value": [ "example.com", "*.Nitrogen.gb" ] }, { "positiveMatch": false, "type": "asNumberMatch", "useXForwardForHeaders": true, "value": [ "2145697538" ] }, { "positiveMatch": false, "type": "geoMatch", "useXForwardForHeaders": true, "value": [ "AD" ] }, { "positiveMatch": false, "type": "ipAddressMatch", "useXForwardForHeaders": true, "value": [ "81.477.377.57" ] }, { "positiveMatch": true, "type": "clientListMatch", "useXForwardForHeaders": true, "value": [ "86744_AZURETLS", "83629_40KHG" ] } ], "description": "Can I create all conditions?", "effectiveTimePeriod": { "endDate": "2021-11-02T01:00:00.000Z", "startDate": "2021-08-05T01:00:00.000Z" }, "loggingOptions": [ { "id": "CLIENT_TLS_FINGERPRINT_MATCH" } ], "name": "Fat Rule", "operation": "AND", "samplingRate": 10, "stagingOnly": true, "structured": true, "tag": [ "test" ] } } ], "responseExamples": [ { "status": "200", "contentType": "application/json", "example": { "conditions": [ { "positiveMatch": true, "type": "requestMethodMatch", "value": [ "GET", "CONNECT", "TRACE", "PUT", "POST", "OPTIONS", "DELETE", "HEAD" ] }, { "positiveMatch": true, "type": "pathMatch", "value": [ "/H", "/Li", "/He" ] }, { "positiveMatch": true, "type": "extensionMatch", "value": [ "Li", "He", "H" ], "valueCase": true, "valueWildcard": true }, { "positiveMatch": true, "type": "filenameMatch", "value": [ "He", "H", "Li" ], "valueCase": false, "valueWildcard": false }, { "positiveMatch": true, "type": "requestProtocolVersionMatch", "value": "HTTP/0.9" }, { "name": [ "H", "He" ], "nameWildcard": true, "positiveMatch": true, "type": "requestHeaderMatch", "value": [ "Li", "He", "H" ], "valueCase": true, "valueWildcard": true }, { "name": [ "He" ], "nameWildcard": true, "positiveMatch": true, "type": "requestHeaderMatch", "value": [ "C", "Be", "B" ], "valueCase": true, "valueWildcard": true }, { "positiveMatch": true, "type": "headerOrderMatch", "value": "H:He" }, { "name": "H", "nameCase": true, "nameWildcard": true, "positiveMatch": true, "type": "cookieMatch", "value": [ "H", "He", "Li" ], "valueCase": true, "valueWildcard": true }, { "name": "Be", "nameCase": true, "nameWildcard": true, "positiveMatch": true, "type": "cookieMatch", "value": [ "O", "N", "C" ], "valueCase": true, "valueWildcard": true }, { "name": "C", "nameCase": true, "nameWildcard": true, "positiveMatch": true, "type": "uriQueryMatch", "value": [ "Carbon", "C" ], "valueCase": true, "valueWildcard": true }, { "name": "N", "nameCase": false, "nameWildcard": false, "positiveMatch": true, "type": "uriQueryMatch", "value": [ "Nitrogen", "N" ], "valueCase": false, "valueWildcard": false }, { "name": "H", "positiveMatch": true, "type": "argsPostMatch", "value": [ "H", "Hydrogen" ] }, { "name": "He", "positiveMatch": true, "type": "argsPostMatch", "value": [ "He", "Helium" ] }, { "positiveMatch": true, "type": "argsPostNamesMatch", "value": [ "Carbon", "Oxygen", "Nitrogen", "Chlorine" ] }, { "positiveMatch": true, "type": "clientCertPresentMatch" }, { "positiveMatch": true, "type": "clientCertValidMatch" }, { "positiveMatch": true, "type": "clientTlsFingerprintMatch", "value": [ "aebbfa8e53e8661f" ] }, { "positiveMatch": true, "type": "hostMatch", "value": [ "example.com", "*.Nitrogen.gb" ] }, { "positiveMatch": false, "type": "asNumberMatch", "useXForwardForHeaders": true, "value": [ "2145697538" ] }, { "positiveMatch": false, "type": "geoMatch", "useXForwardForHeaders": true, "value": [ "AD" ] }, { "positiveMatch": false, "type": "ipAddressMatch", "useXForwardForHeaders": true, "value": [ "81.477.377.57" ] }, { "positiveMatch": true, "type": "clientListMatch", "useXForwardForHeaders": true, "value": [ "86744_AZURETLS", "83629_40KHG" ] } ], "description": "Can I create all conditions?", "effectiveTimePeriod": { "endDate": "2021-11-02T01:00:00.000Z", "startDate": "2021-08-05T01:00:00.000Z", "status": "expired" }, "id": 661699, "loggingOptions": [ { "id": "CLIENT_TLS_FINGERPRINT_MATCH" } ], "name": "Fat Rule", "operation": "AND", "ruleActivated": false, "samplingRate": 10, "stagingOnly": true, "structured": true, "tag": [ "test" ], "version": 1 } } ] }