Skip to content
Start here

Get layer 3 attacks by bitrate summary

client.Radar.Attacks.Layer3.Summary.Bitrate(ctx, query) (*AttackLayer3SummaryBitrateResponse, error)
GET/radar/attacks/layer3/summary/bitrate

Retrieves the distribution of layer 3 attacks by bitrate.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
User Details WriteUser Details Read
ParametersExpand Collapse
query AttackLayer3SummaryBitrateParams
Continent param.Field[[]string]Optional

Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with - to exclude continents from results. For example, -EU,NA excludes results from EU, but includes results from NA.

DateEnd param.Field[[]Time]Optional

End of the date range (inclusive).

DateRange param.Field[[]string]Optional

Filters results by date range. For example, use 7d and 7dcontrol to compare this week with the previous week. Use this parameter or set specific start and end dates (dateStart and dateEnd parameters).

DateStart param.Field[[]Time]Optional

Start of the date range.

Direction param.Field[AttackLayer3SummaryBitrateParamsDirection]Optional

Specifies whether the location filter applies to the source or target location.

const AttackLayer3SummaryBitrateParamsDirectionOrigin AttackLayer3SummaryBitrateParamsDirection = "ORIGIN"
const AttackLayer3SummaryBitrateParamsDirectionTarget AttackLayer3SummaryBitrateParamsDirection = "TARGET"
Format param.Field[AttackLayer3SummaryBitrateParamsFormat]Optional

Format in which results will be returned.

const AttackLayer3SummaryBitrateParamsFormatJson AttackLayer3SummaryBitrateParamsFormat = "JSON"
const AttackLayer3SummaryBitrateParamsFormatCsv AttackLayer3SummaryBitrateParamsFormat = "CSV"
IPVersion param.Field[[]AttackLayer3SummaryBitrateParamsIPVersion]Optional

Filters results by IP version (Ipv4 vs. IPv6).

const AttackLayer3SummaryBitrateParamsIPVersionIPv4 AttackLayer3SummaryBitrateParamsIPVersion = "IPv4"
const AttackLayer3SummaryBitrateParamsIPVersionIPv6 AttackLayer3SummaryBitrateParamsIPVersion = "IPv6"
Location param.Field[[]string]Optional

Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with - to exclude locations from results. For example, -US,PT excludes results from the US, but includes results from PT.

Name param.Field[[]string]Optional

Array of names used to label the series in the response.

Protocol param.Field[[]AttackLayer3SummaryBitrateParamsProtocol]Optional

Filters the results by layer 3/4 protocol.

const AttackLayer3SummaryBitrateParamsProtocolUdp AttackLayer3SummaryBitrateParamsProtocol = "UDP"
const AttackLayer3SummaryBitrateParamsProtocolTCP AttackLayer3SummaryBitrateParamsProtocol = "TCP"
const AttackLayer3SummaryBitrateParamsProtocolIcmp AttackLayer3SummaryBitrateParamsProtocol = "ICMP"
const AttackLayer3SummaryBitrateParamsProtocolGRE AttackLayer3SummaryBitrateParamsProtocol = "GRE"
ReturnsExpand Collapse
type AttackLayer3SummaryBitrateResponse struct{…}
Meta AttackLayer3SummaryBitrateResponseMeta

Metadata for the results.

ConfidenceInfo AttackLayer3SummaryBitrateResponseMetaConfidenceInfo
Annotations []AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotation
DataSource AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource

Data source for annotations.

One of the following:
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "CT"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "FW"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "NET"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"
Description string
EndDate Time
formatdate-time
EventType AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventType

Event type for annotations.

One of the following:
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"
const AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"
IsInstantaneous bool

Whether event is a single point in time or a time range.

LinkedURL string
formaturi
StartDate Time
formatdate-time
Level int64

Provides an indication of how much confidence Cloudflare has in the data.

DateRange []AttackLayer3SummaryBitrateResponseMetaDateRange
EndTime Time

Adjusted end of date range.

formatdate-time
StartTime Time

Adjusted start of date range.

formatdate-time
LastUpdated Time

Timestamp of the last dataset update.

formatdate-time
Normalization AttackLayer3SummaryBitrateResponseMetaNormalization

Normalization method applied to the results. Refer to Normalization methods.

One of the following:
const AttackLayer3SummaryBitrateResponseMetaNormalizationPercentage AttackLayer3SummaryBitrateResponseMetaNormalization = "PERCENTAGE"
const AttackLayer3SummaryBitrateResponseMetaNormalizationMin0Max AttackLayer3SummaryBitrateResponseMetaNormalization = "MIN0_MAX"
const AttackLayer3SummaryBitrateResponseMetaNormalizationMinMax AttackLayer3SummaryBitrateResponseMetaNormalization = "MIN_MAX"
const AttackLayer3SummaryBitrateResponseMetaNormalizationRawValues AttackLayer3SummaryBitrateResponseMetaNormalization = "RAW_VALUES"
const AttackLayer3SummaryBitrateResponseMetaNormalizationPercentageChange AttackLayer3SummaryBitrateResponseMetaNormalization = "PERCENTAGE_CHANGE"
const AttackLayer3SummaryBitrateResponseMetaNormalizationRollingAverage AttackLayer3SummaryBitrateResponseMetaNormalization = "ROLLING_AVERAGE"
const AttackLayer3SummaryBitrateResponseMetaNormalizationOverlappedPercentage AttackLayer3SummaryBitrateResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"
const AttackLayer3SummaryBitrateResponseMetaNormalizationRatio AttackLayer3SummaryBitrateResponseMetaNormalization = "RATIO"
Units []AttackLayer3SummaryBitrateResponseMetaUnit

Measurement units for the results.

Name string
Value string
Summary0 AttackLayer3SummaryBitrateResponseSummary0
OneGBPSToTenGBPS string

A numeric string.

TenGBPSToOneHundredGBPS string

A numeric string.

FiveHundredMBPSToOneGBPS string

A numeric string.

Over100GBPS string

A numeric string.

Under500MBPS string

A numeric string.

Get layer 3 attacks by bitrate summary

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"),
  )
  response, err := client.Radar.Attacks.Layer3.Summary.Bitrate(context.TODO(), radar.AttackLayer3SummaryBitrateParams{

  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.Meta)
}
{
  "result": {
    "meta": {
      "confidenceInfo": {
        "annotations": [
          {
            "dataSource": "ALL",
            "description": "Cable cut in Tonga",
            "endDate": "2019-12-27T18:11:19.117Z",
            "eventType": "EVENT",
            "isInstantaneous": true,
            "linkedUrl": "https://example.com",
            "startDate": "2019-12-27T18:11:19.117Z"
          }
        ],
        "level": 0
      },
      "dateRange": [
        {
          "endTime": "2022-09-17T10:22:57.555Z",
          "startTime": "2022-09-16T10:22:57.555Z"
        }
      ],
      "lastUpdated": "2019-12-27T18:11:19.117Z",
      "normalization": "PERCENTAGE",
      "units": [
        {
          "name": "*",
          "value": "requests"
        }
      ]
    },
    "summary_0": {
      "_1_GBPS_TO_10_GBPS": "10",
      "_10_GBPS_TO_100_GBPS": "10",
      "_500_MBPS_TO_1_GBPS": "10",
      "OVER_100_GBPS": "10",
      "UNDER_500_MBPS": "10"
    }
  },
  "success": true
}
Returns Examples
{
  "result": {
    "meta": {
      "confidenceInfo": {
        "annotations": [
          {
            "dataSource": "ALL",
            "description": "Cable cut in Tonga",
            "endDate": "2019-12-27T18:11:19.117Z",
            "eventType": "EVENT",
            "isInstantaneous": true,
            "linkedUrl": "https://example.com",
            "startDate": "2019-12-27T18:11:19.117Z"
          }
        ],
        "level": 0
      },
      "dateRange": [
        {
          "endTime": "2022-09-17T10:22:57.555Z",
          "startTime": "2022-09-16T10:22:57.555Z"
        }
      ],
      "lastUpdated": "2019-12-27T18:11:19.117Z",
      "normalization": "PERCENTAGE",
      "units": [
        {
          "name": "*",
          "value": "requests"
        }
      ]
    },
    "summary_0": {
      "_1_GBPS_TO_10_GBPS": "10",
      "_10_GBPS_TO_100_GBPS": "10",
      "_500_MBPS_TO_1_GBPS": "10",
      "OVER_100_GBPS": "10",
      "UNDER_500_MBPS": "10"
    }
  },
  "success": true
}