# Traffic Anomalies ## Get latest Internet traffic anomalies `client.Radar.TrafficAnomalies.Get(ctx, query) (*TrafficAnomalyGetResponse, error)` **get** `/radar/traffic_anomalies` Retrieves the latest Internet traffic anomalies, which are signals that might indicate an outage. These alerts are automatically detected by Radar and manually verified by our team. ### Parameters - `query TrafficAnomalyGetParams` - `ASN param.Field[int64]` Filters results by Autonomous System. Specify a single Autonomous System Number (ASN) as integer. - `DateEnd param.Field[Time]` End of the date range (inclusive). - `DateRange param.Field[string]` Filters results by date range. - `DateStart param.Field[Time]` Start of the date range (inclusive). - `Format param.Field[TrafficAnomalyGetParamsFormat]` Format in which results will be returned. - `const TrafficAnomalyGetParamsFormatJson TrafficAnomalyGetParamsFormat = "JSON"` - `const TrafficAnomalyGetParamsFormatCsv TrafficAnomalyGetParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Location param.Field[string]` Filters results by location. Specify an alpha-2 location code. - `Offset param.Field[int64]` Skips the specified number of objects before fetching the results. - `Origin param.Field[string]` Filters results by origin. - `Status param.Field[TrafficAnomalyGetParamsStatus]` - `const TrafficAnomalyGetParamsStatusVerified TrafficAnomalyGetParamsStatus = "VERIFIED"` - `const TrafficAnomalyGetParamsStatusUnverified TrafficAnomalyGetParamsStatus = "UNVERIFIED"` - `Type param.Field[[]TrafficAnomalyGetParamsType]` Filters results by entity type (LOCATION, AS, or ORIGIN). - `const TrafficAnomalyGetParamsTypeLocation TrafficAnomalyGetParamsType = "LOCATION"` - `const TrafficAnomalyGetParamsTypeAs TrafficAnomalyGetParamsType = "AS"` - `const TrafficAnomalyGetParamsTypeOrigin TrafficAnomalyGetParamsType = "ORIGIN"` ### Returns - `type TrafficAnomalyGetResponse struct{…}` - `TrafficAnomalies []TrafficAnomalyGetResponseTrafficAnomaly` - `StartDate string` - `Status string` - `Type string` - `UUID string` - `ASNDetails TrafficAnomalyGetResponseTrafficAnomaliesASNDetails` - `ASN string` - `Name string` - `Locations TrafficAnomalyGetResponseTrafficAnomaliesASNDetailsLocations` - `Code string` - `Name string` - `EndDate Time` - `LocationDetails TrafficAnomalyGetResponseTrafficAnomaliesLocationDetails` - `Code string` - `Name string` - `OriginDetails TrafficAnomalyGetResponseTrafficAnomaliesOriginDetails` - `Name string` - `Origin string` - `VisibleInDataSources []string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) trafficAnomaly, err := client.Radar.TrafficAnomalies.Get(context.TODO(), radar.TrafficAnomalyGetParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", trafficAnomaly.TrafficAnomalies) } ``` #### Response ```json { "result": { "trafficAnomalies": [ { "startDate": "2023-08-02T23:15:00Z", "status": "UNVERIFIED", "type": "LOCATION", "uuid": "55a57f33-8bc0-4984-b4df-fdaff72df39d", "asnDetails": { "asn": "189", "name": "LUMEN-LEGACY-L3-PARTITION", "locations": { "code": "US", "name": "United States" } }, "endDate": "2019-12-27T18:11:19.117Z", "locationDetails": { "code": "US", "name": "United States" }, "originDetails": { "name": "us-east-1 Amazon Web Services", "origin": "amazon-us-east-1" }, "visibleInDataSources": [ "string" ] } ] }, "success": true } ``` # Locations ## Get top locations by total traffic anomalies `client.Radar.TrafficAnomalies.Locations.Get(ctx, query) (*TrafficAnomalyLocationGetResponse, error)` **get** `/radar/traffic_anomalies/locations` Retrieves the sum of Internet traffic anomalies, grouped by location. These anomalies are signals that might indicate an outage, automatically detected by Radar and manually verified by our team. ### Parameters - `query TrafficAnomalyLocationGetParams` - `DateEnd param.Field[Time]` End of the date range (inclusive). - `DateRange param.Field[string]` Filters results by date range. - `DateStart param.Field[Time]` Start of the date range (inclusive). - `Format param.Field[TrafficAnomalyLocationGetParamsFormat]` Format in which results will be returned. - `const TrafficAnomalyLocationGetParamsFormatJson TrafficAnomalyLocationGetParamsFormat = "JSON"` - `const TrafficAnomalyLocationGetParamsFormatCsv TrafficAnomalyLocationGetParamsFormat = "CSV"` - `Limit param.Field[int64]` Limits the number of objects returned in the response. - `Status param.Field[TrafficAnomalyLocationGetParamsStatus]` - `const TrafficAnomalyLocationGetParamsStatusVerified TrafficAnomalyLocationGetParamsStatus = "VERIFIED"` - `const TrafficAnomalyLocationGetParamsStatusUnverified TrafficAnomalyLocationGetParamsStatus = "UNVERIFIED"` ### Returns - `type TrafficAnomalyLocationGetResponse struct{…}` - `TrafficAnomalies []TrafficAnomalyLocationGetResponseTrafficAnomaly` - `ClientCountryAlpha2 string` - `ClientCountryName string` - `Value string` A numeric string. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/option" "github.com/cloudflare/cloudflare-go/radar" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) location, err := client.Radar.TrafficAnomalies.Locations.Get(context.TODO(), radar.TrafficAnomalyLocationGetParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", location.TrafficAnomalies) } ``` #### Response ```json { "result": { "trafficAnomalies": [ { "clientCountryAlpha2": "PT", "clientCountryName": "Portugal", "value": "10" } ] }, "success": true } ```