Skip to content
Start here

By Time

dns_firewall.analytics.reports.bytimes.get(strdns_firewall_id, BytimeGetParams**kwargs) -> ByTime
GET/accounts/{account_id}/dns_firewall/{dns_firewall_id}/dns_analytics/report/bytime

Retrieves a list of aggregate metrics grouped by time interval.

See Analytics API properties for detailed information about the available query parameters.

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)
DNS Firewall WriteDNS Firewall Read
ParametersExpand Collapse
account_id: str

Identifier.

maxLength32
dns_firewall_id: str

Identifier.

maxLength32
dimensions: Optional[str]

A comma-separated list of dimensions to group results by.

filters: Optional[str]

Segmentation filter in ‘attribute operator value’ format.

limit: Optional[int]

Limit number of returned metrics.

metrics: Optional[str]

A comma-separated list of metrics to query.

since: Optional[Union[str, datetime]]

Start date and time of requesting data period in ISO 8601 format.

formatdate-time
sort: Optional[str]

A comma-separated list of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending).

time_delta: Optional[Literal["all", "auto", "year", 7 more]]

Unit of time to group data by.

One of the following:
"all"
"auto"
"year"
"quarter"
"month"
"week"
"day"
"hour"
"dekaminute"
"minute"
until: Optional[Union[str, datetime]]

End date and time of requesting data period in ISO 8601 format.

formatdate-time
ReturnsExpand Collapse
class ByTime:
data: List[Data]

Array with one row per combination of dimension values.

dimensions: List[str]

Array of dimension values, representing the combination of dimension values corresponding to this row.

metrics: List[List[float]]

Array with one item per requested metric. Each item is an array of values, broken down by time interval.

data_lag: float

Number of seconds between current time and last processed event, in another words how many seconds of data could be missing.

minimum0
max: object

Maximum results for each metric (object mapping metric names to values). Currently always an empty object.

min: object

Minimum results for each metric (object mapping metric names to values). Currently always an empty object.

query: Query
dimensions: List[str]

Array of dimension names.

limit: int

Limit number of returned metrics.

metrics: List[str]

Array of metric names.

since: datetime

Start date and time of requesting data period in ISO 8601 format.

formatdate-time
time_delta: Literal["all", "auto", "year", 7 more]

Unit of time to group data by.

One of the following:
"all"
"auto"
"year"
"quarter"
"month"
"week"
"day"
"hour"
"dekaminute"
"minute"
until: datetime

End date and time of requesting data period in ISO 8601 format.

formatdate-time
filters: Optional[str]

Segmentation filter in ‘attribute operator value’ format.

sort: Optional[List[str]]

Array of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending).

rows: float

Total number of rows in the result.

minimum0
time_intervals: List[List[datetime]]

Array of time intervals in the response data. Each interval is represented as an array containing two values: the start time, and the end time.

totals: object

Total results for metrics across all data (object mapping metric names to values).

By Time

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
by_time = client.dns_firewall.analytics.reports.bytimes.get(
    dns_firewall_id="023e105f4ecef8ad9ca31a8372d0c353",
    account_id="023e105f4ecef8ad9ca31a8372d0c353",
)
print(by_time.data)
{
  "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": {
    "data": [
      {
        "dimensions": [
          "NODATA"
        ],
        "metrics": [
          [
            0
          ]
        ]
      }
    ],
    "data_lag": 60,
    "max": {},
    "min": {},
    "query": {
      "dimensions": [
        "responseCode",
        "queryName"
      ],
      "limit": 100,
      "metrics": [
        "queryCount",
        "responseTimeAvg"
      ],
      "since": "2023-11-11T12:00:00Z",
      "time_delta": "hour",
      "until": "2023-11-11T13:00:00Z",
      "filters": "responseCode==NOERROR,queryType==A",
      "sort": [
        "+responseCode",
        "-queryName"
      ]
    },
    "rows": 100,
    "time_intervals": [
      [
        "2023-11-11T12:00:00Z"
      ]
    ],
    "totals": {}
  }
}
Returns Examples
{
  "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": {
    "data": [
      {
        "dimensions": [
          "NODATA"
        ],
        "metrics": [
          [
            0
          ]
        ]
      }
    ],
    "data_lag": 60,
    "max": {},
    "min": {},
    "query": {
      "dimensions": [
        "responseCode",
        "queryName"
      ],
      "limit": 100,
      "metrics": [
        "queryCount",
        "responseTimeAvg"
      ],
      "since": "2023-11-11T12:00:00Z",
      "time_delta": "hour",
      "until": "2023-11-11T13:00:00Z",
      "filters": "responseCode==NOERROR,queryType==A",
      "sort": [
        "+responseCode",
        "-queryName"
      ]
    },
    "rows": 100,
    "time_intervals": [
      [
        "2023-11-11T12:00:00Z"
      ]
    ],
    "totals": {}
  }
}