Akamai API Security · JSON Structure

Api Security Hostname Coverage Match Target Get 200 Structure

Contains the hostname coverage API and website match targets defined in the security configuration version.

Type: object Properties: 1 Required: 1
API DiscoveryAPI SecurityCloud SecurityPosture ManagementRuntime ProtectionThreat Protection

hostname-coverage-match-target-get-200 is a JSON Structure definition published by Akamai API Security, describing 1 property, of which 1 is required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

matchTargets

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/akamai-api-security/refs/heads/main/json-structure/api-security-hostname-coverage-match-target-get-200-structure.json",
  "name": "hostname-coverage-match-target-get-200",
  "description": "Contains the hostname coverage API and website match targets defined in the security configuration version.",
  "type": "object",
  "properties": {
    "matchTargets": {
      "additionalProperties": false,
      "description": "Contains the API and website match targets defined in the security configuration version.",
      "properties": {
        "apiTargets": {
          "description": "The list of `api` match targets.",
          "items": {
            "additionalProperties": false,
            "description": "Contains details about a hostname coverage match target.",
            "properties": {
              "apis": {
                "description": "The list of API endpoint identifiers and names. This applies only for `api` match targets.",
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "Uniquely identifies the API endpoint.",
                      "type": "int32"
                    },
                    "name": {
                      "description": "The API endpoint name.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "id"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "bypassNetworkLists": {
                "description": "The network lists' identifiers and names in the match target.",
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "Uniquely identifies the network list.",
                      "type": "string"
                    },
                    "name": {
                      "description": "The name you assigned to the network list.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "id"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "defaultFile": {
                "default": "NO_MATCH",
                "description": "Describes the rule to match on paths. Either `NO_MATCH` not to match on the default file, `BASE_MATCH` to match only requests for top-level hostnames ending in a trailing slash, or `RECURSIVE_MATCH` to match all requests for paths that end in a trailing slash. The default value is `NO_MATCH`.",
                "enum": [
                  "NO_MATCH",
                  "BASE_MATCH",
                  "RECURSIVE_MATCH"
                ],
                "type": "string"
              },
              "effectiveSecurityControls": {
                "additionalProperties": false,
                "description": "__Read-only__ The security controls to apply. For a security control to be effectively turned on, you must enable it in both the match target and the security policy.",
                "properties": {
                  "applyApiConstraints": {
                    "description": "Whether you enabled API constraints.",
                    "type": "boolean"
                  },
                  "applyApplicationLayerControls": {
                    "description": "Whether you enabled application layer controls.",
                    "type": "boolean"
                  },
                  "applyBotmanControls": {
                    "description": "Whether you enabled Bot Manager controls.",
                    "type": "boolean"
                  },
                  "applyNetworkLayerControls": {
                    "description": "Whether you enabled network layer controls.",
                    "type": "boolean"
                  },
                  "applyRateControls": {
                    "description": "Whether you enabled rate controls.",
                    "type": "boolean"
                  },
                  "applyReputationControls": {
                    "description": "Whether you enabled reputation controls.",
                    "type": "boolean"
                  },
                  "applySlowPostControls": {
                    "description": "Whether you enabled slow post controls.",
                    "type": "boolean"
                  }
                },
                "readOnly": true,
                "required": [
                  "applyApplicationLayerControls",
                  "applyNetworkLayerControls",
                  "applyRateControls",
                  "applyReputationControls",
                  "applyBotmanControls",
                  "applyApiConstraints",
                  "applySlowPostControls"
                ],
                "type": "object",
                "x-akamai": {
                  "file-path": "schemas/security-controls.yaml"
                }
              },
              "fileExtensions": {
                "description": "The list of file extensions to apply the match target to.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "filePaths": {
                "description": "The list of file paths to apply the match target to.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "hostnames": {
                "description": "The list of hostnames to protect.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "isNegativeFileExtensionMatch": {
                "description": "Whether the match target applies when a match is found in the specified `fileExtensions` or when a match isn't found.",
                "type": "boolean"
              },
              "isNegativePathMatch": {
                "description": "Whether the match target applies when a match is found in the specified `filePaths` or when a match isn't found.",
                "type": "boolean"
              },
              "securityPolicy": {
                "additionalProperties": false,
                "description": "The security policy associated with the match target.",
                "properties": {
                  "policyId": {
                    "description": "Uniquely identifies the security policy.",
                    "type": "string"
                  }
                },
                "required": [
                  "policyId"
                ],
                "type": "object"
              },
              "sequence": {
                "description": "The match target's position in the sequence of match targets.",
                "type": "int32"
              },
              "targetId": {
                "description": "Uniquely identifies the match target.",
                "type": "int32"
              },
              "type": {
                "description": "The type of match target. Either `website` or `api`.",
                "enum": [
                  "website",
                  "api"
                ],
                "type": "string"
              },
              "validations": {
                "additionalProperties": false,
                "description": "__Read-only__ Contains details about warnings, errors, or notices determined by a validation of this resource.",
                "properties": {
                  "errors": {
                    "description": "The list of errors.",
                    "items": {
                      "additionalProperties": false,
                      "description": "Contains feedback on validation.",
                      "properties": {
                        "detail": {
                          "description": "The explanation of the error message.",
                          "type": "string"
                        },
                        "fieldName": {
                          "description": "The name of the field causing the validation problem.",
                          "type": "string"
                        },
                        "jsonReference": {
                          "description": "The JSON reference to the field in the resource.",
                          "type": "string"
                        },
                        "name": {
                          "description": "The title for the error.",
                          "example": "Not Found",
                          "type": "string"
                        },
                        "type": {
                          "description": "The URL for the error type.",
                          "example": "/appsec/problem-types/INCOMPATIBLE-FIELD",
                          "type": "string"
                        }
                      },
                      "required": [
                        "title",
                        "type"
                      ],
                      "type": "object",
                      "x-akamai": {
                        "file-path": "schemas/validation.yaml"
                      }
                    },
                    "type": "array"
                  },
                  "notices": {
                    "description": "The list of notices.",
                    "items": {
                      "additionalProperties": false,
                      "description": "Contains feedback on validation.",
                      "properties": {
                        "detail": {
                          "description": "The explanation of the error message.",
                          "type": "string"
                        },
                        "fieldName": {
                          "description": "The name of the field causing the validation problem.",
                          "type": "string"
                        },
                        "jsonReference": {
                          "description": "The JSON reference to the field in the resource.",
                          "type": "string"
                        },
                        "name": {
                          "description": "The title for the error.",
                          "example": "Not Found",
                          "type": "string"
                        },
                        "type": {
                          "description": "The URL for the error type.",
                          "example": "/appsec/problem-types/INCOMPATIBLE-FIELD",
                          "type": "string"
                        }
                      },
                      "required": [
                        "title",
                        "type"
                      ],
                      "type": "object",
                      "x-akamai": {
                        "file-path": "schemas/validation.yaml"
                      }
                    },
                    "type": "array"
                  },
                  "warnings": {
                    "description": "The list of warnings.",
                    "items": {
                      "additionalProperties": false,
                      "description": "Contains feedback on validation.",
                      "properties": {
                        "detail": {
                          "description": "The explanation of the error message.",
                          "type": "string"
                        },
                        "fieldName": {
                          "description": "The name of the field causing the validation problem.",
                          "type": "string"
                        },
                        "jsonReference": {
                          "description": "The JSON reference to the field in the resource.",
                          "type": "string"
                        },
                        "name": {
                          "description": "The title for the error.",
                          "example": "Not Found",
                          "type": "string"
                        },
                        "type": {
                          "description": "The URL for the error type.",
                          "example": "/appsec/problem-types/INCOMPATIBLE-FIELD",
                          "type": "string"
                        }
                      },
                      "required": [
                        "title",
                        "type"
                      ],
                      "type": "object",
                      "x-akamai": {
                        "file-path": "schemas/validation.yaml"
                      }
                    },
                    "type": "array"
                  }
                },
                "readOnly": true,
                "required": [
                  "notices",
                  "errors",
                  "warnings"
                ],
                "type": "object",
                "x-akamai": {
                  "file-path": "schemas/validations.yaml"
                }
              }
            },
            "required": [
              "type",
              "securityPolicy"
            ],
            "type": "object",
            "x-akamai": {
              "file-path": "schemas/hostname-coverage-match-target.yaml"
            }
          },
          "type": "array"
        },
        "websiteTargets": {
          "description": "The list of `website` match targets.",
          "items": {
            "additionalProperties": false,
            "description": "Contains details about a hostname coverage match target.",
            "properties": {
              "apis": {
                "description": "The list of API endpoint identifiers and names. This applies only for `api` match targets.",
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "Uniquely identifies the API endpoint.",
                      "type": "int32"
                    },
                    "name": {
                      "description": "The API endpoint name.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "id"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "bypassNetworkLists": {
                "description": "The network lists' identifiers and names in the match target.",
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "id": {
                      "description": "Uniquely identifies the network list.",
                      "type": "string"
                    },
                    "name": {
                      "description": "The name you assigned to the network list.",
                      "type": "string"
                    }
                  },
                  "required": [
                    "id"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "defaultFile": {
                "default": "NO_MATCH",
                "description": "Describes the rule to match on paths. Either `NO_MATCH` not to match on the default file, `BASE_MATCH` to match only requests for top-level hostnames ending in a trailing slash, or `RECURSIVE_MATCH` to match all requests for paths that end in a trailing slash. The default value is `NO_MATCH`.",
                "enum": [
                  "NO_MATCH",
                  "BASE_MATCH",
                  "RECURSIVE_MATCH"
                ],
                "type": "string"
              },
              "effectiveSecurityControls": {
                "additionalProperties": false,
                "description": "__Read-only__ The security controls to apply. For a security control to be effectively turned on, you must enable it in both the match target and the security policy.",
                "properties": {
                  "applyApiConstraints": {
                    "description": "Whether you enabled API constraints.",
                    "type": "boolean"
                  },
                  "applyApplicationLayerControls": {
                    "description": "Whether you enabled application layer controls.",
                    "type": "boolean"
                  },
                  "applyBotmanControls": {
                    "description": "Whether you enabled Bot Manager controls.",
                    "type": "boolean"
                  },
                  "applyNetworkLayerControls": {
                    "description": "Whether you enabled network layer controls.",
                    "type": "boolean"
                  },
                  "applyRateControls": {
                    "description": "Whether you enabled rate controls.",
                    "type": "boolean"
                  },
                  "applyReputationControls": {
                    "description": "Whether you enabled reputation controls.",
                    "type": "boolean"
                  },
                  "applySlowPostControls": {
                    "description": "Whether you enabled slow post controls.",
                    "type": "boolean"
                  }
                },
                "readOnly": true,
                "required": [
                  "applyApplicationLayerControls",
                  "applyNetworkLayerControls",
                  "applyRateControls",
                  "applyReputationControls",
                  "applyBotmanControls",
                  "applyApiConstraints",
                  "applySlowPostControls"
                ],
                "type": "object",
                "x-akamai": {
                  "file-path": "schemas/security-controls.yaml"
                }
              },
              "fileExtensions": {
                "description": "The list of file extensions to apply the match target to.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "filePaths": {
                "description": "The list of file paths to apply the match target to.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "hostnames": {
                "description": "The list of hostnames to protect.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "isNegativeFileExtensionMatch": {
                "description": "Whether the match target applies when a match is found in the specified `fileExtensions` or when a match isn't found.",
                "type": "boolean"
              },
              "isNegativePathMatch": {
                "description": "Whether the match target applies when a match is found in the specified `filePaths` or when a match isn't found.",
                "type": "boolean"
              },
              "securityPolicy": {
                "additionalProperties": false,
                "description": "The security policy associated with the match target.",
                "properties": {
                  "policyId": {
                    "description": "Uniquely identifies the security policy.",
                    "type": "string"
                  }
                },
                "required": [
                  "policyId"
                ],
                "type": "object"
              },
              "sequence": {
                "description": "The match target's position in the sequence of match targets.",
                "type": "int32"
              },
              "targetId": {
                "description": "Uniquely identifies the match target.",
                "type": "int32"
              },
              "type": {
                "description": "The type of match target. Either `website` or `api`.",
                "enum": [
                  "website",
                  "api"
                ],
                "type": "string"
              },
              "validations": {
                "additionalProperties": false,
                "description": "__Read-only__ Contains details about warnings, errors, or notices determined by a validation of this resource.",
                "properties": {
                  "errors": {
                    "description": "The list of errors.",
                    "items": {
                      "additionalProperties": false,
                      "description": "Contains feedback on validation.",
                      "properties": {
                        "detail": {
                          "description": "The explanation of the error message.",
                          "type": "string"
                        },
                        "fieldName": {
                          "description": "The name of the field causing the validation problem.",
                          "type": "string"
                        },
                        "jsonReference": {
                          "description": "The JSON reference to the field in the resource.",
                          "type": "string"
                        },
                        "name": {
                          "description": "The title for the error.",
                          "example": "Not Found",
                          "type": "string"
                        },
                        "type": {
                          "description": "The URL for the error type.",
                          "example": "/appsec/problem-types/INCOMPATIBLE-FIELD",
                          "type": "string"
                        }
                      },
                      "required": [
                        "title",
                        "type"
                      ],
                      "type": "object",
                      "x-akamai": {
                        "file-path": "schemas/validation.yaml"
                      }
                    },
                    "type": "array"
                  },
                  "notices": {
                    "description": "The list of notices.",
                    "items": {
                      "additionalProperties": false,
                      "description": "Contains feedback on validation.",
                      "properties": {
                        "detail": {
                          "description": "The explanation of the error message.",
                          "type": "string"
                        },
                        "fieldName": {
                          "description": "The name of the field causing the validation problem.",
                          "type": "string"
                        },
                        "jsonReference": {
                          "description": "The JSON reference to the field in the resource.",
                          "type": "string"
                        },
                        "name": {
                          "description": "The title for the error.",
                          "example": "Not Found",
                          "type": "string"
                        },
                        "type": {
                          "description": "The URL for the error type.",
                          "example": "/appsec/problem-types/INCOMPATIBLE-FIELD",
                          "type": "string"
                        }
                      },
                      "required": [
                        "title",
                        "type"
                      ],
                      "type": "object",
                      "x-akamai": {
                        "file-path": "schemas/validation.yaml"
                      }
                    },
                    "type": "array"
                  },
                  "warnings": {
                    "description": "The list of warnings.",
                    "items": {
                      "additionalProperties": false,
                      "description": "Contains feedback on validation.",
                      "properties": {
                        "detail": {
                          "description": "The explanation of the error message.",
                          "type": "string"
                        },
                        "fieldName": {
                          "description": "The name of the field causing the validation problem.",
                          "type": "string"
                        },
                        "jsonReference": {
                          "description": "The JSON reference to the field in the resource.",
                          "type": "string"
                        },
                        "name": {
                          "description": "The title for the error.",
                          "example": "Not Found",
                          "type": "string"
                        },
                        "type": {
                          "description": "The URL for the error type.",
                          "example": "/appsec/problem-types/INCOMPATIBLE-FIELD",
                          "type": "string"
                        }
                      },
                      "required": [
                        "title",
                        "type"
                      ],
                      "type": "object",
                      "x-akamai": {
                        "file-path": "schemas/validation.yaml"
                      }
                    },
                    "type": "array"
                  }
                },
                "readOnly": true,
                "required": [
                  "notices",
                  "errors",
                  "warnings"
                ],
                "type": "object",
                "x-akamai": {
                  "file-path": "schemas/validations.yaml"
                }
              }
            },
            "required": [
              "type",
              "securityPolicy"
            ],
            "type": "object",
            "x-akamai": {
              "file-path": "schemas/hostname-coverage-match-target.yaml"
            }
          },
          "type": "array"
        }
      },
      "required": [
        "apiTargets",
        "websiteTargets"
      ],
      "type": "object"
    }
  },
  "required": [
    "matchTargets"
  ],
  "additionalProperties": false
}