# Botnet Feed # ASN ## Get daily report `client.BotnetFeed.ASN.DayReport(ctx, asnID, params) (*ASNDayReportResponse, error)` **get** `/accounts/{account_id}/botnet_feed/asn/{asn_id}/day_report` Gets all the data the botnet tracking database has for a given ASN registered to user account for given date. If no date is given, it will return results for the previous day. ### Parameters - `asnID int64` - `params ASNDayReportParams` - `AccountID param.Field[string]` Path param: Identifier. - `Date param.Field[Time]` Query param ### Returns - `type ASNDayReportResponse struct{…}` - `CIDR string` - `Date Time` - `OffenseCount int64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/botnet_feed" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.BotnetFeed.ASN.DayReport( context.TODO(), int64(0), botnet_feed.ASNDayReportParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.CIDR) } ``` #### 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": { "cidr": "1.1.1.1/32", "date": "2014-01-01T05:20:00.12345Z", "offense_count": 1000 } } ``` ## Get full report `client.BotnetFeed.ASN.FullReport(ctx, asnID, query) (*ASNFullReportResponse, error)` **get** `/accounts/{account_id}/botnet_feed/asn/{asn_id}/full_report` Gets all the data the botnet threat feed tracking database has for a given ASN registered to user account. ### Parameters - `asnID int64` - `query ASNFullReportParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type ASNFullReportResponse struct{…}` - `CIDR string` - `Date Time` - `OffenseCount int64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/botnet_feed" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.BotnetFeed.ASN.FullReport( context.TODO(), int64(0), botnet_feed.ASNFullReportParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.CIDR) } ``` #### 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": { "cidr": "1.1.1.1/32", "date": "2014-01-01T05:20:00.12345Z", "offense_count": 1000 } } ``` # Configs # ASN ## Get list of ASNs `client.BotnetFeed.Configs.ASN.Get(ctx, query) (*ConfigASNGetResponse, error)` **get** `/accounts/{account_id}/botnet_feed/configs/asn` Gets a list of all ASNs registered for a user for the DDoS Botnet Feed API. ### Parameters - `query ConfigASNGetParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type ConfigASNGetResponse struct{…}` - `ASN int64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/botnet_feed" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) asn, err := client.BotnetFeed.Configs.ASN.Get(context.TODO(), botnet_feed.ConfigASNGetParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", asn.ASN) } ``` #### 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": { "asn": 13335 } } ``` ## Delete an ASN `client.BotnetFeed.Configs.ASN.Delete(ctx, asnID, body) (*ConfigASNDeleteResponse, error)` **delete** `/accounts/{account_id}/botnet_feed/configs/asn/{asn_id}` Delete an ASN from botnet threat feed for a given user. ### Parameters - `asnID int64` - `body ConfigASNDeleteParams` - `AccountID param.Field[string]` Identifier. ### Returns - `type ConfigASNDeleteResponse struct{…}` - `ASN int64` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/botnet_feed" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) asn, err := client.BotnetFeed.Configs.ASN.Delete( context.TODO(), int64(0), botnet_feed.ConfigASNDeleteParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", asn.ASN) } ``` #### 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": { "asn": 13335 } } ```