## Update global schema validation settings `client.SchemaValidation.Settings.Update(ctx, params) (*SettingUpdateResponse, error)` **put** `/zones/{zone_id}/schema_validation/settings` Fully updates global schema validation settings for a zone, replacing existing configuration. ### Parameters - `params SettingUpdateParams` - `ZoneID param.Field[string]` Path param: Identifier. - `ValidationDefaultMitigationAction param.Field[SettingUpdateParamsValidationDefaultMitigationAction]` Body param: The default mitigation action used 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 - `"none"` - skip running schema validation - `const SettingUpdateParamsValidationDefaultMitigationActionNone SettingUpdateParamsValidationDefaultMitigationAction = "none"` - `const SettingUpdateParamsValidationDefaultMitigationActionLog SettingUpdateParamsValidationDefaultMitigationAction = "log"` - `const SettingUpdateParamsValidationDefaultMitigationActionBlock SettingUpdateParamsValidationDefaultMitigationAction = "block"` - `ValidationOverrideMitigationAction param.Field[SettingUpdateParamsValidationOverrideMitigationAction]` Body param: When set, this overrides both zone level and operation level mitigation actions. - `"none"` - skip running schema validation entirely for the request - `null` - clears any existing override - `const SettingUpdateParamsValidationOverrideMitigationActionNone SettingUpdateParamsValidationOverrideMitigationAction = "none"` ### Returns - `type SettingUpdateResponse struct{…}` - `ValidationDefaultMitigationAction SettingUpdateResponseValidationDefaultMitigationAction` The default mitigation action used 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 - `none` - skip running schema validation - `const SettingUpdateResponseValidationDefaultMitigationActionNone SettingUpdateResponseValidationDefaultMitigationAction = "none"` - `const SettingUpdateResponseValidationDefaultMitigationActionLog SettingUpdateResponseValidationDefaultMitigationAction = "log"` - `const SettingUpdateResponseValidationDefaultMitigationActionBlock SettingUpdateResponseValidationDefaultMitigationAction = "block"` - `ValidationOverrideMitigationAction SettingUpdateResponseValidationOverrideMitigationAction` When not null, this overrides global both zone level and operation level mitigation actions. This can serve as a quick way to disable schema validation for the whole zone. - `"none"` will skip running schema validation entirely for the request - `const SettingUpdateResponseValidationOverrideMitigationActionNone SettingUpdateResponseValidationOverrideMitigationAction = "none"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/schema_validation" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) setting, err := client.SchemaValidation.Settings.Update(context.TODO(), schema_validation.SettingUpdateParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), ValidationDefaultMitigationAction: cloudflare.F(schema_validation.SettingUpdateParamsValidationDefaultMitigationActionBlock), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", setting.ValidationDefaultMitigationAction) } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "validation_default_mitigation_action": "block", "validation_override_mitigation_action": "none" }, "success": true } ```