Skip to content
Start here

Get layer 3 attacks by duration summary

client.Radar.Attacks.Layer3.Summary.Duration(ctx, query) (*AttackLayer3SummaryDurationResponse, error)
GET/radar/attacks/layer3/summary/duration

Retrieves the distribution of layer 3 attacks by duration.

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 AttackLayer3SummaryDurationParams
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[AttackLayer3SummaryDurationParamsDirection]Optional

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

const AttackLayer3SummaryDurationParamsDirectionOrigin AttackLayer3SummaryDurationParamsDirection = "ORIGIN"
const AttackLayer3SummaryDurationParamsDirectionTarget AttackLayer3SummaryDurationParamsDirection = "TARGET"
Format param.Field[AttackLayer3SummaryDurationParamsFormat]Optional

Format in which results will be returned.

const AttackLayer3SummaryDurationParamsFormatJson AttackLayer3SummaryDurationParamsFormat = "JSON"
const AttackLayer3SummaryDurationParamsFormatCsv AttackLayer3SummaryDurationParamsFormat = "CSV"
IPVersion param.Field[[]AttackLayer3SummaryDurationParamsIPVersion]Optional

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

const AttackLayer3SummaryDurationParamsIPVersionIPv4 AttackLayer3SummaryDurationParamsIPVersion = "IPv4"
const AttackLayer3SummaryDurationParamsIPVersionIPv6 AttackLayer3SummaryDurationParamsIPVersion = "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[[]AttackLayer3SummaryDurationParamsProtocol]Optional

Filters the results by layer 3/4 protocol.

const AttackLayer3SummaryDurationParamsProtocolUdp AttackLayer3SummaryDurationParamsProtocol = "UDP"
const AttackLayer3SummaryDurationParamsProtocolTCP AttackLayer3SummaryDurationParamsProtocol = "TCP"
const AttackLayer3SummaryDurationParamsProtocolIcmp AttackLayer3SummaryDurationParamsProtocol = "ICMP"
const AttackLayer3SummaryDurationParamsProtocolGRE AttackLayer3SummaryDurationParamsProtocol = "GRE"
ReturnsExpand Collapse
type AttackLayer3SummaryDurationResponse struct{…}
Meta AttackLayer3SummaryDurationResponseMeta

Metadata for the results.

ConfidenceInfo AttackLayer3SummaryDurationResponseMetaConfidenceInfo
Annotations []AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotation
DataSource AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource

Data source for annotations.

One of the following:
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceAll AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceAIBots AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceBGP AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceBots AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceCT AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "CT"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceDNS AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceDos AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceFw AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "FW"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceFwPg AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceHTTP AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceIQI AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceNet AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "NET"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceSpeed AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"
Description string
EndDate Time
formatdate-time
EventType AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventType

Event type for annotations.

One of the following:
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventTypeEvent AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventTypeGeneral AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventTypeOutage AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventTypePipeline AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"
const AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly AttackLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"
IsInstantaneous bool

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

LinkedURL string
formaturi
StartDate Time
formatdate-time
Tags []stringOptional
Level int64

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

DateRange []AttackLayer3SummaryDurationResponseMetaDateRange
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 AttackLayer3SummaryDurationResponseMetaNormalization

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

One of the following:
const AttackLayer3SummaryDurationResponseMetaNormalizationPercentage AttackLayer3SummaryDurationResponseMetaNormalization = "PERCENTAGE"
const AttackLayer3SummaryDurationResponseMetaNormalizationMin0Max AttackLayer3SummaryDurationResponseMetaNormalization = "MIN0_MAX"
const AttackLayer3SummaryDurationResponseMetaNormalizationMinMax AttackLayer3SummaryDurationResponseMetaNormalization = "MIN_MAX"
const AttackLayer3SummaryDurationResponseMetaNormalizationRawValues AttackLayer3SummaryDurationResponseMetaNormalization = "RAW_VALUES"
const AttackLayer3SummaryDurationResponseMetaNormalizationPercentageChange AttackLayer3SummaryDurationResponseMetaNormalization = "PERCENTAGE_CHANGE"
const AttackLayer3SummaryDurationResponseMetaNormalizationRollingAverage AttackLayer3SummaryDurationResponseMetaNormalization = "ROLLING_AVERAGE"
const AttackLayer3SummaryDurationResponseMetaNormalizationOverlappedPercentage AttackLayer3SummaryDurationResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"
const AttackLayer3SummaryDurationResponseMetaNormalizationRatio AttackLayer3SummaryDurationResponseMetaNormalization = "RATIO"
Units []AttackLayer3SummaryDurationResponseMetaUnit

Measurement units for the results.

Name string
Value string
Summary0 AttackLayer3SummaryDurationResponseSummary0
OneHourToThreeHours string

A numeric string.

TenMinsToTwentyMins string

A numeric string.

TwentyMinsToFortyMins string

A numeric string.

FortyMinsToOneHour string

A numeric string.

Over3Hours string

A numeric string.

Under10Mins string

A numeric string.

Get layer 3 attacks by duration summary

package main

import (
  "context"
  "fmt"

  "github.com/stainless-sdks/cloudflare-go"
  "github.com/stainless-sdks/cloudflare-go/option"
  "github.com/stainless-sdks/cloudflare-go/radar"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  response, err := client.Radar.Attacks.Layer3.Summary.Duration(context.TODO(), radar.AttackLayer3SummaryDurationParams{

  })
  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",
            "tags": [
              "BOT_CLASS"
            ]
          }
        ],
        "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_HOUR_TO_3_HOURS": "10",
      "_10_MINS_TO_20_MINS": "10",
      "_20_MINS_TO_40_MINS": "10",
      "_40_MINS_TO_1_HOUR": "10",
      "OVER_3_HOURS": "10",
      "UNDER_10_MINS": "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",
            "tags": [
              "BOT_CLASS"
            ]
          }
        ],
        "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_HOUR_TO_3_HOURS": "10",
      "_10_MINS_TO_20_MINS": "10",
      "_20_MINS_TO_40_MINS": "10",
      "_40_MINS_TO_1_HOUR": "10",
      "OVER_3_HOURS": "10",
      "UNDER_10_MINS": "10"
    }
  },
  "success": true
}