# RUM # Site Info ## List Web Analytics sites `client.RUM.SiteInfo.List(ctx, params) (*V4PagePaginationArray[Site], error)` **get** `/accounts/{account_id}/rum/site_info/list` Lists all Web Analytics sites of an account. ### Parameters - `params SiteInfoListParams` - `AccountID param.Field[string]` Path param: Identifier. - `OrderBy param.Field[SiteInfoListParamsOrderBy]` Query param: The property used to sort the list of results. - `const SiteInfoListParamsOrderByHost SiteInfoListParamsOrderBy = "host"` - `const SiteInfoListParamsOrderByCreated SiteInfoListParamsOrderBy = "created"` - `Page param.Field[float64]` Query param: Current page within the paginated list of results. - `PerPage param.Field[float64]` Query param: Number of items to return per page of results. ### Returns - `type Site struct{…}` - `AutoInstall bool` If enabled, the JavaScript snippet is automatically injected for orange-clouded sites. - `Created Time` - `Rules []RUMRule` A list of rules. - `ID string` The Web Analytics rule identifier. - `Created Time` - `Host string` The hostname the rule will be applied to. - `Inclusive bool` Whether the rule includes or excludes traffic from being measured. - `IsPaused bool` Whether the rule is paused or not. - `Paths []string` The paths the rule will be applied to. - `Priority float64` - `Ruleset SiteRuleset` - `ID string` The Web Analytics ruleset identifier. - `Enabled bool` Whether the ruleset is enabled. - `ZoneName string` - `ZoneTag string` The zone identifier. - `SiteTag string` The Web Analytics site identifier. - `SiteToken string` The Web Analytics site token. - `Snippet string` Encoded JavaScript snippet. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/rum" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) page, err := client.RUM.SiteInfo.List(context.TODO(), rum.SiteInfoListParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", page) } ``` #### 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" } } ], "success": true, "result": [ { "auto_install": true, "created": "2014-01-01T05:20:00.12345Z", "rules": [ { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "created": "2014-01-01T05:20:00.12345Z", "host": "example.com", "inclusive": true, "is_paused": false, "paths": [ "*" ], "priority": 1000 } ], "ruleset": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "enabled": true, "zone_name": "example.com", "zone_tag": "023e105f4ecef8ad9ca31a8372d0c353" }, "site_tag": "023e105f4ecef8ad9ca31a8372d0c353", "site_token": "023e105f4ecef8ad9ca31a8372d0c353", "snippet": "" } ], "result_info": { "count": 10, "page": 1, "per_page": 10, "total_count": 25, "total_pages": 3 } } ``` ## Get a Web Analytics site `client.RUM.SiteInfo.Get(ctx, siteID, query) (*Site, error)` **get** `/accounts/{account_id}/rum/site_info/{site_id}` Retrieves a Web Analytics site. ### Parameters - `siteID string` Identifier. - `query SiteInfoGetParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type Site struct{…}` - `AutoInstall bool` If enabled, the JavaScript snippet is automatically injected for orange-clouded sites. - `Created Time` - `Rules []RUMRule` A list of rules. - `ID string` The Web Analytics rule identifier. - `Created Time` - `Host string` The hostname the rule will be applied to. - `Inclusive bool` Whether the rule includes or excludes traffic from being measured. - `IsPaused bool` Whether the rule is paused or not. - `Paths []string` The paths the rule will be applied to. - `Priority float64` - `Ruleset SiteRuleset` - `ID string` The Web Analytics ruleset identifier. - `Enabled bool` Whether the ruleset is enabled. - `ZoneName string` - `ZoneTag string` The zone identifier. - `SiteTag string` The Web Analytics site identifier. - `SiteToken string` The Web Analytics site token. - `Snippet string` Encoded JavaScript snippet. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/rum" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) site, err := client.RUM.SiteInfo.Get( context.TODO(), "023e105f4ecef8ad9ca31a8372d0c353", rum.SiteInfoGetParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", site.AutoInstall) } ``` #### 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" } } ], "success": true, "result": { "auto_install": true, "created": "2014-01-01T05:20:00.12345Z", "rules": [ { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "created": "2014-01-01T05:20:00.12345Z", "host": "example.com", "inclusive": true, "is_paused": false, "paths": [ "*" ], "priority": 1000 } ], "ruleset": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "enabled": true, "zone_name": "example.com", "zone_tag": "023e105f4ecef8ad9ca31a8372d0c353" }, "site_tag": "023e105f4ecef8ad9ca31a8372d0c353", "site_token": "023e105f4ecef8ad9ca31a8372d0c353", "snippet": "" } } ``` ## Create a Web Analytics site `client.RUM.SiteInfo.New(ctx, params) (*Site, error)` **post** `/accounts/{account_id}/rum/site_info` Creates a new Web Analytics site. ### Parameters - `params SiteInfoNewParams` - `AccountID param.Field[string]` Path param: Identifier. - `AutoInstall param.Field[bool]` Body param: If enabled, the JavaScript snippet is automatically injected for orange-clouded sites. - `Host param.Field[string]` Body param: The hostname to use for gray-clouded sites. - `ZoneTag param.Field[string]` Body param: The zone identifier. ### Returns - `type Site struct{…}` - `AutoInstall bool` If enabled, the JavaScript snippet is automatically injected for orange-clouded sites. - `Created Time` - `Rules []RUMRule` A list of rules. - `ID string` The Web Analytics rule identifier. - `Created Time` - `Host string` The hostname the rule will be applied to. - `Inclusive bool` Whether the rule includes or excludes traffic from being measured. - `IsPaused bool` Whether the rule is paused or not. - `Paths []string` The paths the rule will be applied to. - `Priority float64` - `Ruleset SiteRuleset` - `ID string` The Web Analytics ruleset identifier. - `Enabled bool` Whether the ruleset is enabled. - `ZoneName string` - `ZoneTag string` The zone identifier. - `SiteTag string` The Web Analytics site identifier. - `SiteToken string` The Web Analytics site token. - `Snippet string` Encoded JavaScript snippet. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/rum" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) site, err := client.RUM.SiteInfo.New(context.TODO(), rum.SiteInfoNewParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", site.AutoInstall) } ``` #### 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" } } ], "success": true, "result": { "auto_install": true, "created": "2014-01-01T05:20:00.12345Z", "rules": [ { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "created": "2014-01-01T05:20:00.12345Z", "host": "example.com", "inclusive": true, "is_paused": false, "paths": [ "*" ], "priority": 1000 } ], "ruleset": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "enabled": true, "zone_name": "example.com", "zone_tag": "023e105f4ecef8ad9ca31a8372d0c353" }, "site_tag": "023e105f4ecef8ad9ca31a8372d0c353", "site_token": "023e105f4ecef8ad9ca31a8372d0c353", "snippet": "" } } ``` ## Update a Web Analytics site `client.RUM.SiteInfo.Update(ctx, siteID, params) (*Site, error)` **put** `/accounts/{account_id}/rum/site_info/{site_id}` Updates an existing Web Analytics site. ### Parameters - `siteID string` Identifier. - `params SiteInfoUpdateParams` - `AccountID param.Field[string]` Path param: Identifier. - `AutoInstall param.Field[bool]` Body param: If enabled, the JavaScript snippet is automatically injected for orange-clouded sites. - `Enabled param.Field[bool]` Body param: Enables or disables RUM. This option can be used only when auto_install is set to true. - `Host param.Field[string]` Body param: The hostname to use for gray-clouded sites. - `Lite param.Field[bool]` Body param: If enabled, the JavaScript snippet will not be injected for visitors from the EU. - `ZoneTag param.Field[string]` Body param: The zone identifier. ### Returns - `type Site struct{…}` - `AutoInstall bool` If enabled, the JavaScript snippet is automatically injected for orange-clouded sites. - `Created Time` - `Rules []RUMRule` A list of rules. - `ID string` The Web Analytics rule identifier. - `Created Time` - `Host string` The hostname the rule will be applied to. - `Inclusive bool` Whether the rule includes or excludes traffic from being measured. - `IsPaused bool` Whether the rule is paused or not. - `Paths []string` The paths the rule will be applied to. - `Priority float64` - `Ruleset SiteRuleset` - `ID string` The Web Analytics ruleset identifier. - `Enabled bool` Whether the ruleset is enabled. - `ZoneName string` - `ZoneTag string` The zone identifier. - `SiteTag string` The Web Analytics site identifier. - `SiteToken string` The Web Analytics site token. - `Snippet string` Encoded JavaScript snippet. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/rum" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) site, err := client.RUM.SiteInfo.Update( context.TODO(), "023e105f4ecef8ad9ca31a8372d0c353", rum.SiteInfoUpdateParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", site.AutoInstall) } ``` #### 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" } } ], "success": true, "result": { "auto_install": true, "created": "2014-01-01T05:20:00.12345Z", "rules": [ { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "created": "2014-01-01T05:20:00.12345Z", "host": "example.com", "inclusive": true, "is_paused": false, "paths": [ "*" ], "priority": 1000 } ], "ruleset": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "enabled": true, "zone_name": "example.com", "zone_tag": "023e105f4ecef8ad9ca31a8372d0c353" }, "site_tag": "023e105f4ecef8ad9ca31a8372d0c353", "site_token": "023e105f4ecef8ad9ca31a8372d0c353", "snippet": "" } } ``` ## Delete a Web Analytics site `client.RUM.SiteInfo.Delete(ctx, siteID, body) (*SiteInfoDeleteResponse, error)` **delete** `/accounts/{account_id}/rum/site_info/{site_id}` Deletes an existing Web Analytics site. ### Parameters - `siteID string` Identifier. - `body SiteInfoDeleteParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type SiteInfoDeleteResponse struct{…}` - `SiteTag string` The Web Analytics site identifier. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/rum" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) siteInfo, err := client.RUM.SiteInfo.Delete( context.TODO(), "023e105f4ecef8ad9ca31a8372d0c353", rum.SiteInfoDeleteParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", siteInfo.SiteTag) } ``` #### 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" } } ], "success": true, "result": { "site_tag": "023e105f4ecef8ad9ca31a8372d0c353" } } ``` ## Domain Types ### Site - `type Site struct{…}` - `AutoInstall bool` If enabled, the JavaScript snippet is automatically injected for orange-clouded sites. - `Created Time` - `Rules []RUMRule` A list of rules. - `ID string` The Web Analytics rule identifier. - `Created Time` - `Host string` The hostname the rule will be applied to. - `Inclusive bool` Whether the rule includes or excludes traffic from being measured. - `IsPaused bool` Whether the rule is paused or not. - `Paths []string` The paths the rule will be applied to. - `Priority float64` - `Ruleset SiteRuleset` - `ID string` The Web Analytics ruleset identifier. - `Enabled bool` Whether the ruleset is enabled. - `ZoneName string` - `ZoneTag string` The zone identifier. - `SiteTag string` The Web Analytics site identifier. - `SiteToken string` The Web Analytics site token. - `Snippet string` Encoded JavaScript snippet. # Rules ## List rules in Web Analytics ruleset `client.RUM.Rules.List(ctx, rulesetID, query) (*RuleListResponse, error)` **get** `/accounts/{account_id}/rum/v2/{ruleset_id}/rules` Lists all the rules in a Web Analytics ruleset. ### Parameters - `rulesetID string` The Web Analytics ruleset identifier. - `query RuleListParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type RuleListResponse struct{…}` - `Rules []RUMRule` A list of rules. - `ID string` The Web Analytics rule identifier. - `Created Time` - `Host string` The hostname the rule will be applied to. - `Inclusive bool` Whether the rule includes or excludes traffic from being measured. - `IsPaused bool` Whether the rule is paused or not. - `Paths []string` The paths the rule will be applied to. - `Priority float64` - `Ruleset RuleListResponseRuleset` - `ID string` The Web Analytics ruleset identifier. - `Enabled bool` Whether the ruleset is enabled. - `ZoneName string` - `ZoneTag string` The zone identifier. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/rum" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) rules, err := client.RUM.Rules.List( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", rum.RuleListParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", rules.Rules) } ``` #### 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" } } ], "success": true, "result": { "rules": [ { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "created": "2014-01-01T05:20:00.12345Z", "host": "example.com", "inclusive": true, "is_paused": false, "paths": [ "*" ], "priority": 1000 } ], "ruleset": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "enabled": true, "zone_name": "example.com", "zone_tag": "023e105f4ecef8ad9ca31a8372d0c353" } } } ``` ## Create a Web Analytics rule `client.RUM.Rules.New(ctx, rulesetID, params) (*RUMRule, error)` **post** `/accounts/{account_id}/rum/v2/{ruleset_id}/rule` Creates a new rule in a Web Analytics ruleset. ### Parameters - `rulesetID string` The Web Analytics ruleset identifier. - `params RuleNewParams` - `AccountID param.Field[string]` Path param: Identifier. - `Host param.Field[string]` Body param - `Inclusive param.Field[bool]` Body param: Whether the rule includes or excludes traffic from being measured. - `IsPaused param.Field[bool]` Body param: Whether the rule is paused or not. - `Paths param.Field[[]string]` Body param ### Returns - `type RUMRule struct{…}` - `ID string` The Web Analytics rule identifier. - `Created Time` - `Host string` The hostname the rule will be applied to. - `Inclusive bool` Whether the rule includes or excludes traffic from being measured. - `IsPaused bool` Whether the rule is paused or not. - `Paths []string` The paths the rule will be applied to. - `Priority float64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/rum" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) rumRule, err := client.RUM.Rules.New( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", rum.RuleNewParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", rumRule.ID) } ``` #### 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" } } ], "success": true, "result": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "created": "2014-01-01T05:20:00.12345Z", "host": "example.com", "inclusive": true, "is_paused": false, "paths": [ "*" ], "priority": 1000 } } ``` ## Update a Web Analytics rule `client.RUM.Rules.Update(ctx, rulesetID, ruleID, params) (*RUMRule, error)` **put** `/accounts/{account_id}/rum/v2/{ruleset_id}/rule/{rule_id}` Updates a rule in a Web Analytics ruleset. ### Parameters - `rulesetID string` The Web Analytics ruleset identifier. - `ruleID string` The Web Analytics rule identifier. - `params RuleUpdateParams` - `AccountID param.Field[string]` Path param: Identifier. - `Host param.Field[string]` Body param - `Inclusive param.Field[bool]` Body param: Whether the rule includes or excludes traffic from being measured. - `IsPaused param.Field[bool]` Body param: Whether the rule is paused or not. - `Paths param.Field[[]string]` Body param ### Returns - `type RUMRule struct{…}` - `ID string` The Web Analytics rule identifier. - `Created Time` - `Host string` The hostname the rule will be applied to. - `Inclusive bool` Whether the rule includes or excludes traffic from being measured. - `IsPaused bool` Whether the rule is paused or not. - `Paths []string` The paths the rule will be applied to. - `Priority float64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/rum" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) rumRule, err := client.RUM.Rules.Update( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", rum.RuleUpdateParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", rumRule.ID) } ``` #### 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" } } ], "success": true, "result": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "created": "2014-01-01T05:20:00.12345Z", "host": "example.com", "inclusive": true, "is_paused": false, "paths": [ "*" ], "priority": 1000 } } ``` ## Delete a Web Analytics rule `client.RUM.Rules.Delete(ctx, rulesetID, ruleID, body) (*RuleDeleteResponse, error)` **delete** `/accounts/{account_id}/rum/v2/{ruleset_id}/rule/{rule_id}` Deletes an existing rule from a Web Analytics ruleset. ### Parameters - `rulesetID string` The Web Analytics ruleset identifier. - `ruleID string` The Web Analytics rule identifier. - `body RuleDeleteParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type RuleDeleteResponse struct{…}` - `ID string` The Web Analytics rule identifier. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/rum" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) rule, err := client.RUM.Rules.Delete( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", rum.RuleDeleteParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", rule.ID) } ``` #### 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" } } ], "success": true, "result": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415" } } ``` ## Update Web Analytics rules `client.RUM.Rules.BulkNew(ctx, rulesetID, params) (*RuleBulkNewResponse, error)` **post** `/accounts/{account_id}/rum/v2/{ruleset_id}/rules` Modifies one or more rules in a Web Analytics ruleset with a single request. ### Parameters - `rulesetID string` The Web Analytics ruleset identifier. - `params RuleBulkNewParams` - `AccountID param.Field[string]` Path param: Identifier. - `DeleteRules param.Field[[]string]` Body param: A list of rule identifiers to delete. - `Rules param.Field[[]RuleBulkNewParamsRule]` Body param: A list of rules to create or update. - `ID string` The Web Analytics rule identifier. - `Host string` - `Inclusive bool` - `IsPaused bool` - `Paths []string` ### Returns - `type RuleBulkNewResponse struct{…}` - `Rules []RUMRule` A list of rules. - `ID string` The Web Analytics rule identifier. - `Created Time` - `Host string` The hostname the rule will be applied to. - `Inclusive bool` Whether the rule includes or excludes traffic from being measured. - `IsPaused bool` Whether the rule is paused or not. - `Paths []string` The paths the rule will be applied to. - `Priority float64` - `Ruleset RuleBulkNewResponseRuleset` - `ID string` The Web Analytics ruleset identifier. - `Enabled bool` Whether the ruleset is enabled. - `ZoneName string` - `ZoneTag string` The zone identifier. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/rum" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.RUM.Rules.BulkNew( context.TODO(), "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", rum.RuleBulkNewParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Rules) } ``` #### 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" } } ], "success": true, "result": { "rules": [ { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "created": "2014-01-01T05:20:00.12345Z", "host": "example.com", "inclusive": true, "is_paused": false, "paths": [ "*" ], "priority": 1000 } ], "ruleset": { "id": "f174e90a-fafe-4643-bbbc-4a0ed4fc8415", "enabled": true, "zone_name": "example.com", "zone_tag": "023e105f4ecef8ad9ca31a8372d0c353" } } } ``` ## Domain Types ### RUM Rule - `type RUMRule struct{…}` - `ID string` The Web Analytics rule identifier. - `Created Time` - `Host string` The hostname the rule will be applied to. - `Inclusive bool` Whether the rule includes or excludes traffic from being measured. - `IsPaused bool` Whether the rule is paused or not. - `Paths []string` The paths the rule will be applied to. - `Priority float64`