F5 Distributed Cloud Services API for ves.io.schema.api_sec.rule_suggestion

Download OpenAPI specification:Download

APIs to get rule suggestions from App Security Monitoring pages

Suggest api endpoint protection rule

Suggest API endpoint protection rule for a given path

path Parameters
namespace
required
string

Namespace

x-example: "shared" x-required Namespace of the App type for current request

Request Body schema: application/json
required
method
string (HttpMethod)
Default: "ANY"
Enum: "ANY" "GET" "HEAD" "POST" "PUT" "DELETE" "CONNECT" "OPTIONS" "TRACE" "PATCH" "COPY"

Specifies the HTTP method used to access a resource.

Any HTTP Method

namespace
string (Namespace)

Namespace of the App type for current request

Example: "shared"

Required: YES

Validation Rules: ves.io.schema.rules.message.required: true

path
string (Path) <= 1024 characters

Path to apply the API endpoint protection to

Example: "/example"

Required: YES

Validation Rules: ves.io.schema.rules.message.required: true ves.io.schema.rules.string.max_len: 1024 ves.io.schema.rules.string.templated_http_path: true

virtual_host_name
string (Name)

Virtual Host for which this API endpoint protection rule applied

Example: "ves-io-frontend"

Required: YES

Validation Rules: ves.io.schema.rules.message.required: true

Responses

Request samples

Content type
application/json
{
  • "method": "ANY",
  • "namespace": "string",
  • "path": "string",
  • "virtual_host_name": "string"
}

Response samples

Content type
application/json
{
  • "found_existing_rule": { },
  • "loadbalancer_type": "VIRTUAL_SERVICE",
  • "rule": {
    }
}

Suggest sensitive data rule

Suggest sensitive data rule for a given path

path Parameters
namespace
required
string

Namespace

x-example: "shared" x-required Namespace of the App type for current request

Request Body schema: application/json
required
method
string (HttpMethod)
Default: "ANY"
Enum: "ANY" "GET" "HEAD" "POST" "PUT" "DELETE" "CONNECT" "OPTIONS" "TRACE" "PATCH" "COPY"

Specifies the HTTP method used to access a resource.

Any HTTP Method

namespace
string (Namespace)

Namespace of the App type for current request

Example: "shared"

Required: YES

Validation Rules: ves.io.schema.rules.message.required: true

path
string (Path) <= 1024 characters

Path to apply the senstive data to

Example: "/example"

Required: YES

Validation Rules: ves.io.schema.rules.message.required: true ves.io.schema.rules.string.max_len: 1024 ves.io.schema.rules.string.templated_http_path: true

virtual_host_name
string (Name)

Virtual Host for which this sensitive data rule applied

Example: "ves-io-frontend"

Required: YES

Validation Rules: ves.io.schema.rules.message.required: true

Responses

Request samples

Content type
application/json
{
  • "method": "ANY",
  • "namespace": "string",
  • "path": "string",
  • "virtual_host_name": "string"
}

Response samples

Content type
application/json
{
  • "found_existing_rule": { },
  • "loadbalancer_type": "VIRTUAL_SERVICE",
  • "rule": {
    }
}

Suggest Open API specification validation rule

Suggest Open API specification validation rule for a given path

path Parameters
namespace
required
string

Namespace

x-example: "shared" x-required Namespace of the App type for current request

Request Body schema: application/json
required
api_groups
Array of strings (API Groups membership)

List of API Groups the API Endpoint is a member of.

Example: ["group-1", "group-2"]

method
string (HttpMethod)
Default: "ANY"
Enum: "ANY" "GET" "HEAD" "POST" "PUT" "DELETE" "CONNECT" "OPTIONS" "TRACE" "PATCH" "COPY"

Specifies the HTTP method used to access a resource.

Any HTTP Method

namespace
string (Namespace)

Namespace of the App type for current request

Example: "shared"

Required: YES

Validation Rules: ves.io.schema.rules.message.required: true

path
string (Path) <= 1024 characters

Path to apply the Open API specification validation to

Example: "/example"

Required: YES

Validation Rules: ves.io.schema.rules.message.required: true ves.io.schema.rules.string.max_len: 1024 ves.io.schema.rules.string.templated_http_path: true

virtual_host_name
string (Name)

Virtual Host for which this Open API specification validation rule applied

Example: "ves-io-frontend"

Required: YES

Validation Rules: ves.io.schema.rules.message.required: true

Responses

Request samples

Content type
application/json
{
  • "api_groups": [
    ],
  • "method": "ANY",
  • "namespace": "string",
  • "path": "string",
  • "virtual_host_name": "string"
}

Response samples

Content type
application/json
{
  • "all_endpoints_oas_validation": {
    },
  • "custom_oas_validation": {
    },
  • "found_existing_rule": { },
  • "loadbalancer_type": "VIRTUAL_SERVICE"
}

Suggest rate limit rule

Suggest rate limit rule for a given path

path Parameters
namespace
required
string

Namespace

x-example: "shared" x-required Namespace of the App type for current request

Request Body schema: application/json
required
method
string (HttpMethod)
Default: "ANY"
Enum: "ANY" "GET" "HEAD" "POST" "PUT" "DELETE" "CONNECT" "OPTIONS" "TRACE" "PATCH" "COPY"

Specifies the HTTP method used to access a resource.

Any HTTP Method

namespace
string (Namespace)

Namespace of the App type for current request

Example: "shared"

Required: YES

Validation Rules: ves.io.schema.rules.message.required: true

path
string (Path) <= 1024 characters

Path to apply the rate limit to

Example: "/example"

Required: YES

Validation Rules: ves.io.schema.rules.message.required: true ves.io.schema.rules.string.max_len: 1024 ves.io.schema.rules.string.templated_http_path: true

virtual_host_name
string (Name)

Virtual Host for which this rate limit rule applied

Example: "ves-io-frontend"

Required: YES

Validation Rules: ves.io.schema.rules.message.required: true

Responses

Request samples

Content type
application/json
{
  • "method": "ANY",
  • "namespace": "string",
  • "path": "string",
  • "virtual_host_name": "string"
}

Response samples

Content type
application/json
{
  • "found_existing_rule": { },
  • "loadbalancer_type": "VIRTUAL_SERVICE",
  • "rule": {
    }
}