# URL Normalization ## Get URL Normalization settings `client.URLNormalization.Get(ctx, query) (*URLNormalizationGetResponse, error)` **get** `/zones/{zone_id}/url_normalization` Fetches the current URL Normalization settings. ### Parameters - `query URLNormalizationGetParams` - `ZoneID param.Field[string]` The unique ID of the zone. ### Returns - `type URLNormalizationGetResponse struct{…}` A result. - `Scope URLNormalizationGetResponseScope` The scope of the URL normalization. - `const URLNormalizationGetResponseScopeIncoming URLNormalizationGetResponseScope = "incoming"` - `const URLNormalizationGetResponseScopeBoth URLNormalizationGetResponseScope = "both"` - `const URLNormalizationGetResponseScopeNone URLNormalizationGetResponseScope = "none"` - `Type URLNormalizationGetResponseType` The type of URL normalization performed by Cloudflare. - `const URLNormalizationGetResponseTypeCloudflare URLNormalizationGetResponseType = "cloudflare"` - `const URLNormalizationGetResponseTypeRfc3986 URLNormalizationGetResponseType = "rfc3986"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/url_normalization" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) urlNormalization, err := client.URLNormalization.Get(context.TODO(), url_normalization.URLNormalizationGetParams{ ZoneID: cloudflare.F("9f1839b6152d298aca64c4e906b6d074"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", urlNormalization.Scope) } ``` #### Response ```json { "errors": [ { "message": "something bad happened", "code": 10000, "source": { "pointer": "/rules/0/action" } } ], "messages": [ { "message": "something bad happened", "code": 10000, "source": { "pointer": "/rules/0/action" } } ], "result": { "scope": "incoming", "type": "cloudflare" }, "success": true } ``` ## Update URL Normalization settings `client.URLNormalization.Update(ctx, params) (*URLNormalizationUpdateResponse, error)` **put** `/zones/{zone_id}/url_normalization` Updates the URL Normalization settings. ### Parameters - `params URLNormalizationUpdateParams` - `ZoneID param.Field[string]` Path param: The unique ID of the zone. - `Scope param.Field[URLNormalizationUpdateParamsScope]` Body param: The scope of the URL normalization. - `const URLNormalizationUpdateParamsScopeIncoming URLNormalizationUpdateParamsScope = "incoming"` - `const URLNormalizationUpdateParamsScopeBoth URLNormalizationUpdateParamsScope = "both"` - `const URLNormalizationUpdateParamsScopeNone URLNormalizationUpdateParamsScope = "none"` - `Type param.Field[URLNormalizationUpdateParamsType]` Body param: The type of URL normalization performed by Cloudflare. - `const URLNormalizationUpdateParamsTypeCloudflare URLNormalizationUpdateParamsType = "cloudflare"` - `const URLNormalizationUpdateParamsTypeRfc3986 URLNormalizationUpdateParamsType = "rfc3986"` ### Returns - `type URLNormalizationUpdateResponse struct{…}` A result. - `Scope URLNormalizationUpdateResponseScope` The scope of the URL normalization. - `const URLNormalizationUpdateResponseScopeIncoming URLNormalizationUpdateResponseScope = "incoming"` - `const URLNormalizationUpdateResponseScopeBoth URLNormalizationUpdateResponseScope = "both"` - `const URLNormalizationUpdateResponseScopeNone URLNormalizationUpdateResponseScope = "none"` - `Type URLNormalizationUpdateResponseType` The type of URL normalization performed by Cloudflare. - `const URLNormalizationUpdateResponseTypeCloudflare URLNormalizationUpdateResponseType = "cloudflare"` - `const URLNormalizationUpdateResponseTypeRfc3986 URLNormalizationUpdateResponseType = "rfc3986"` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/url_normalization" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) urlNormalization, err := client.URLNormalization.Update(context.TODO(), url_normalization.URLNormalizationUpdateParams{ ZoneID: cloudflare.F("9f1839b6152d298aca64c4e906b6d074"), Scope: cloudflare.F(url_normalization.URLNormalizationUpdateParamsScopeIncoming), Type: cloudflare.F(url_normalization.URLNormalizationUpdateParamsTypeCloudflare), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", urlNormalization.Scope) } ``` #### Response ```json { "errors": [ { "message": "something bad happened", "code": 10000, "source": { "pointer": "/rules/0/action" } } ], "messages": [ { "message": "something bad happened", "code": 10000, "source": { "pointer": "/rules/0/action" } } ], "result": { "scope": "incoming", "type": "cloudflare" }, "success": true } ``` ## Delete URL Normalization settings `client.URLNormalization.Delete(ctx, body) error` **delete** `/zones/{zone_id}/url_normalization` Deletes the URL Normalization settings. ### Parameters - `body URLNormalizationDeleteParams` - `ZoneID param.Field[string]` The unique ID of the zone. ### Example ```go package main import ( "context" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/url_normalization" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) err := client.URLNormalization.Delete(context.TODO(), url_normalization.URLNormalizationDeleteParams{ ZoneID: cloudflare.F("9f1839b6152d298aca64c4e906b6d074"), }) if err != nil { panic(err.Error()) } } ```