# 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`