# Settings ## Domain Types ### Settings - `type Settings struct{…}` - `ValidationDefaultMitigationAction SettingsValidationDefaultMitigationAction` The default mitigation action used when there is no mitigation action defined on the operation Mitigation actions are as follows: * `log` - log request when request does not conform to schema * `block` - deny access to the site when request does not conform to schema A special value of of `none` will skip running schema validation entirely for the request when there is no mitigation action defined on the operation - `const SettingsValidationDefaultMitigationActionNone SettingsValidationDefaultMitigationAction = "none"` - `const SettingsValidationDefaultMitigationActionLog SettingsValidationDefaultMitigationAction = "log"` - `const SettingsValidationDefaultMitigationActionBlock SettingsValidationDefaultMitigationAction = "block"` - `ValidationOverrideMitigationAction SettingsValidationOverrideMitigationAction` When set, this overrides both zone level and operation level mitigation actions. - `none` will skip running schema validation entirely for the request - `null` indicates that no override is in place - `const SettingsValidationOverrideMitigationActionNone SettingsValidationOverrideMitigationAction = "none"` # Schema Validation ## Retrieve zone level schema validation settings `client.APIGateway.Settings.SchemaValidation.Get(ctx, query) (*Settings, error)` **get** `/zones/{zone_id}/api_gateway/settings/schema_validation` Retrieves zone level schema validation settings currently set on the zone ### Parameters - `query SettingSchemaValidationGetParams` - `ZoneID param.Field[string]` Identifier. ### Returns - `type Settings struct{…}` - `ValidationDefaultMitigationAction SettingsValidationDefaultMitigationAction` The default mitigation action used when there is no mitigation action defined on the operation Mitigation actions are as follows: * `log` - log request when request does not conform to schema * `block` - deny access to the site when request does not conform to schema A special value of of `none` will skip running schema validation entirely for the request when there is no mitigation action defined on the operation - `const SettingsValidationDefaultMitigationActionNone SettingsValidationDefaultMitigationAction = "none"` - `const SettingsValidationDefaultMitigationActionLog SettingsValidationDefaultMitigationAction = "log"` - `const SettingsValidationDefaultMitigationActionBlock SettingsValidationDefaultMitigationAction = "block"` - `ValidationOverrideMitigationAction SettingsValidationOverrideMitigationAction` When set, this overrides both zone level and operation level mitigation actions. - `none` will skip running schema validation entirely for the request - `null` indicates that no override is in place - `const SettingsValidationOverrideMitigationActionNone SettingsValidationOverrideMitigationAction = "none"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/api_gateway" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) settings, err := client.APIGateway.Settings.SchemaValidation.Get(context.TODO(), api_gateway.SettingSchemaValidationGetParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", settings.ValidationDefaultMitigationAction) } ``` #### Response ```json { "validation_default_mitigation_action": "block", "validation_override_mitigation_action": "none" } ``` ## Update zone level schema validation settings `client.APIGateway.Settings.SchemaValidation.Update(ctx, params) (*Settings, error)` **put** `/zones/{zone_id}/api_gateway/settings/schema_validation` Updates zone level schema validation settings on the zone ### Parameters - `params SettingSchemaValidationUpdateParams` - `ZoneID param.Field[string]` Path param: Identifier. - `ValidationDefaultMitigationAction param.Field[SettingSchemaValidationUpdateParamsValidationDefaultMitigationAction]` Body param: The default mitigation action used when there is no mitigation action defined on the operation Mitigation actions are as follows: * `log` - log request when request does not conform to schema * `block` - deny access to the site when request does not conform to schema A special value of of `none` will skip running schema validation entirely for the request when there is no mitigation action defined on the operation - `const SettingSchemaValidationUpdateParamsValidationDefaultMitigationActionNone SettingSchemaValidationUpdateParamsValidationDefaultMitigationAction = "none"` - `const SettingSchemaValidationUpdateParamsValidationDefaultMitigationActionLog SettingSchemaValidationUpdateParamsValidationDefaultMitigationAction = "log"` - `const SettingSchemaValidationUpdateParamsValidationDefaultMitigationActionBlock SettingSchemaValidationUpdateParamsValidationDefaultMitigationAction = "block"` - `ValidationOverrideMitigationAction param.Field[SettingSchemaValidationUpdateParamsValidationOverrideMitigationAction]` Body param: When set, this overrides both zone level and operation level mitigation actions. - `none` will skip running schema validation entirely for the request - `null` indicates that no override is in place To clear any override, use the special value `disable_override` or `null` - `const SettingSchemaValidationUpdateParamsValidationOverrideMitigationActionNone SettingSchemaValidationUpdateParamsValidationOverrideMitigationAction = "none"` - `const SettingSchemaValidationUpdateParamsValidationOverrideMitigationActionDisableOverride SettingSchemaValidationUpdateParamsValidationOverrideMitigationAction = "disable_override"` ### Returns - `type Settings struct{…}` - `ValidationDefaultMitigationAction SettingsValidationDefaultMitigationAction` The default mitigation action used when there is no mitigation action defined on the operation Mitigation actions are as follows: * `log` - log request when request does not conform to schema * `block` - deny access to the site when request does not conform to schema A special value of of `none` will skip running schema validation entirely for the request when there is no mitigation action defined on the operation - `const SettingsValidationDefaultMitigationActionNone SettingsValidationDefaultMitigationAction = "none"` - `const SettingsValidationDefaultMitigationActionLog SettingsValidationDefaultMitigationAction = "log"` - `const SettingsValidationDefaultMitigationActionBlock SettingsValidationDefaultMitigationAction = "block"` - `ValidationOverrideMitigationAction SettingsValidationOverrideMitigationAction` When set, this overrides both zone level and operation level mitigation actions. - `none` will skip running schema validation entirely for the request - `null` indicates that no override is in place - `const SettingsValidationOverrideMitigationActionNone SettingsValidationOverrideMitigationAction = "none"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/api_gateway" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) settings, err := client.APIGateway.Settings.SchemaValidation.Update(context.TODO(), api_gateway.SettingSchemaValidationUpdateParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), ValidationDefaultMitigationAction: cloudflare.F(api_gateway.SettingSchemaValidationUpdateParamsValidationDefaultMitigationActionBlock), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", settings.ValidationDefaultMitigationAction) } ``` #### Response ```json { "validation_default_mitigation_action": "block", "validation_override_mitigation_action": "none" } ``` ## Update zone level schema validation settings `client.APIGateway.Settings.SchemaValidation.Edit(ctx, params) (*Settings, error)` **patch** `/zones/{zone_id}/api_gateway/settings/schema_validation` Updates zone level schema validation settings on the zone ### Parameters - `params SettingSchemaValidationEditParams` - `ZoneID param.Field[string]` Path param: Identifier. - `ValidationDefaultMitigationAction param.Field[SettingSchemaValidationEditParamsValidationDefaultMitigationAction]` Body param: The default mitigation action used when there is no mitigation action defined on the operation Mitigation actions are as follows: * `log` - log request when request does not conform to schema * `block` - deny access to the site when request does not conform to schema A special value of of `none` will skip running schema validation entirely for the request when there is no mitigation action defined on the operation `null` will have no effect. - `const SettingSchemaValidationEditParamsValidationDefaultMitigationActionNone SettingSchemaValidationEditParamsValidationDefaultMitigationAction = "none"` - `const SettingSchemaValidationEditParamsValidationDefaultMitigationActionLog SettingSchemaValidationEditParamsValidationDefaultMitigationAction = "log"` - `const SettingSchemaValidationEditParamsValidationDefaultMitigationActionBlock SettingSchemaValidationEditParamsValidationDefaultMitigationAction = "block"` - `ValidationOverrideMitigationAction param.Field[SettingSchemaValidationEditParamsValidationOverrideMitigationAction]` Body param: When set, this overrides both zone level and operation level mitigation actions. - `none` will skip running schema validation entirely for the request To clear any override, use the special value `disable_override` `null` will have no effect. - `const SettingSchemaValidationEditParamsValidationOverrideMitigationActionNone SettingSchemaValidationEditParamsValidationOverrideMitigationAction = "none"` - `const SettingSchemaValidationEditParamsValidationOverrideMitigationActionDisableOverride SettingSchemaValidationEditParamsValidationOverrideMitigationAction = "disable_override"` ### Returns - `type Settings struct{…}` - `ValidationDefaultMitigationAction SettingsValidationDefaultMitigationAction` The default mitigation action used when there is no mitigation action defined on the operation Mitigation actions are as follows: * `log` - log request when request does not conform to schema * `block` - deny access to the site when request does not conform to schema A special value of of `none` will skip running schema validation entirely for the request when there is no mitigation action defined on the operation - `const SettingsValidationDefaultMitigationActionNone SettingsValidationDefaultMitigationAction = "none"` - `const SettingsValidationDefaultMitigationActionLog SettingsValidationDefaultMitigationAction = "log"` - `const SettingsValidationDefaultMitigationActionBlock SettingsValidationDefaultMitigationAction = "block"` - `ValidationOverrideMitigationAction SettingsValidationOverrideMitigationAction` When set, this overrides both zone level and operation level mitigation actions. - `none` will skip running schema validation entirely for the request - `null` indicates that no override is in place - `const SettingsValidationOverrideMitigationActionNone SettingsValidationOverrideMitigationAction = "none"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/api_gateway" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) settings, err := client.APIGateway.Settings.SchemaValidation.Edit(context.TODO(), api_gateway.SettingSchemaValidationEditParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", settings.ValidationDefaultMitigationAction) } ``` #### Response ```json { "validation_default_mitigation_action": "block", "validation_override_mitigation_action": "none" } ```