Skip to content
Start here

Get certificates time series

client.Radar.CT.Timeseries(ctx, query) (*CTTimeseriesResponse, error)
GET/radar/ct/timeseries

Retrieves certificate volume over time.

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 CTTimeseriesParams
AggInterval param.Field[CTTimeseriesParamsAggInterval]Optional

Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to Aggregation intervals. When omitted, the interval is auto-selected from the requested date range; finer intervals are only available for shorter ranges. If the requested interval is too granular for the date range, the request is rejected.

const CTTimeseriesParamsAggInterval15m CTTimeseriesParamsAggInterval = "15m"
const CTTimeseriesParamsAggInterval1h CTTimeseriesParamsAggInterval = "1h"
const CTTimeseriesParamsAggInterval1d CTTimeseriesParamsAggInterval = "1d"
const CTTimeseriesParamsAggInterval1w CTTimeseriesParamsAggInterval = "1w"
CA param.Field[[]string]Optional

Filters results by certificate authority.

CAOwner param.Field[[]string]Optional

Filters results by certificate authority owner.

DateEnd param.Field[[]Time]Optional

End of the date range (inclusive). Alternative to dateRange; provide together with dateStart. When requesting comparison series, every series must resolve to the same duration as the main series. Each dateStart/dateEnd is floored to the nearest 15 minutes before evaluation, so windows whose durations match only before alignment may be rejected.

DateRange param.Field[[]string]Optional

Filters results by relative date range ending at the current time, with each value producing a separate series. Use <n>d for days (up to 364d) or <n>w for weeks (up to 52w). Append control to request the equivalent previous period for comparison: the comparison window is shifted back by the current window’s length rounded up to a whole number of weeks, so it keeps the same weekday alignment and does not overlap the current window (e.g. 7dcontrol covers days -14 to -7, 10dcontrol covers days -24 to -14). For example, pass 7d and 7dcontrol to compare this week with the previous week. All series must resolve to the same duration as the main series; relative ranges (including control) satisfy this automatically. Use this parameter or set specific start and end dates (dateStart and dateEnd parameters).

DateStart param.Field[[]Time]Optional

Start of the date range. Alternative to dateRange; provide together with dateEnd. When requesting comparison series, every series must resolve to the same duration as the main series. Each dateStart/dateEnd is floored to the nearest 15 minutes before evaluation, so windows whose durations match only before alignment may be rejected.

Duration param.Field[[]CTTimeseriesParamsDuration]Optional

Filters results by certificate duration.

const CTTimeseriesParamsDurationLte3D CTTimeseriesParamsDuration = "LTE_3D"
const CTTimeseriesParamsDurationGt3DLte7D CTTimeseriesParamsDuration = "GT_3D_LTE_7D"
const CTTimeseriesParamsDurationGt7DLte10D CTTimeseriesParamsDuration = "GT_7D_LTE_10D"
const CTTimeseriesParamsDurationGt10DLte47D CTTimeseriesParamsDuration = "GT_10D_LTE_47D"
const CTTimeseriesParamsDurationGt47DLte100D CTTimeseriesParamsDuration = "GT_47D_LTE_100D"
const CTTimeseriesParamsDurationGt100DLte200D CTTimeseriesParamsDuration = "GT_100D_LTE_200D"
const CTTimeseriesParamsDurationGt200D CTTimeseriesParamsDuration = "GT_200D"
EntryType param.Field[[]CTTimeseriesParamsEntryType]Optional

Filters results by entry type (certificate vs. pre-certificate). Incompatible with the tld filter/dimension.

const CTTimeseriesParamsEntryTypePrecertificate CTTimeseriesParamsEntryType = "PRECERTIFICATE"
const CTTimeseriesParamsEntryTypeCertificate CTTimeseriesParamsEntryType = "CERTIFICATE"
ExpirationStatus param.Field[[]CTTimeseriesParamsExpirationStatus]Optional

Filters results by expiration status (expired vs. valid).

const CTTimeseriesParamsExpirationStatusExpired CTTimeseriesParamsExpirationStatus = "EXPIRED"
const CTTimeseriesParamsExpirationStatusValid CTTimeseriesParamsExpirationStatus = "VALID"
Format param.Field[CTTimeseriesParamsFormat]Optional

Format in which results will be returned.

const CTTimeseriesParamsFormatJson CTTimeseriesParamsFormat = "JSON"
const CTTimeseriesParamsFormatCsv CTTimeseriesParamsFormat = "CSV"
HasIPs param.Field[[]bool]Optional

Filters results based on whether the certificates are bound to specific IP addresses.

HasWildcards param.Field[[]bool]Optional

Filters results based on whether the certificates contain wildcard domains.

Log param.Field[[]string]Optional

Filters results by certificate log. Incompatible with the tld filter/dimension.

LogAPI param.Field[[]CTTimeseriesParamsLogAPI]Optional

Filters results by certificate log API (RFC6962 vs. static). Incompatible with the tld filter/dimension.

const CTTimeseriesParamsLogAPIRfc6962 CTTimeseriesParamsLogAPI = "RFC6962"
const CTTimeseriesParamsLogAPIStatic CTTimeseriesParamsLogAPI = "STATIC"
LogOperator param.Field[[]string]Optional

Filters results by certificate log operator. Incompatible with the tld filter/dimension.

Name param.Field[[]string]Optional

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

PublicKeyAlgorithm param.Field[[]CTTimeseriesParamsPublicKeyAlgorithm]Optional

Filters results by public key algorithm.

const CTTimeseriesParamsPublicKeyAlgorithmDsa CTTimeseriesParamsPublicKeyAlgorithm = "DSA"
const CTTimeseriesParamsPublicKeyAlgorithmEcdsa CTTimeseriesParamsPublicKeyAlgorithm = "ECDSA"
const CTTimeseriesParamsPublicKeyAlgorithmRSA CTTimeseriesParamsPublicKeyAlgorithm = "RSA"
SignatureAlgorithm param.Field[[]CTTimeseriesParamsSignatureAlgorithm]Optional

Filters results by signature algorithm.

const CTTimeseriesParamsSignatureAlgorithmDsaSha1 CTTimeseriesParamsSignatureAlgorithm = "DSA_SHA_1"
const CTTimeseriesParamsSignatureAlgorithmDsaSha256 CTTimeseriesParamsSignatureAlgorithm = "DSA_SHA_256"
const CTTimeseriesParamsSignatureAlgorithmEcdsaSha1 CTTimeseriesParamsSignatureAlgorithm = "ECDSA_SHA_1"
const CTTimeseriesParamsSignatureAlgorithmEcdsaSha256 CTTimeseriesParamsSignatureAlgorithm = "ECDSA_SHA_256"
const CTTimeseriesParamsSignatureAlgorithmEcdsaSha384 CTTimeseriesParamsSignatureAlgorithm = "ECDSA_SHA_384"
const CTTimeseriesParamsSignatureAlgorithmEcdsaSha512 CTTimeseriesParamsSignatureAlgorithm = "ECDSA_SHA_512"
const CTTimeseriesParamsSignatureAlgorithmPssSha256 CTTimeseriesParamsSignatureAlgorithm = "PSS_SHA_256"
const CTTimeseriesParamsSignatureAlgorithmPssSha384 CTTimeseriesParamsSignatureAlgorithm = "PSS_SHA_384"
const CTTimeseriesParamsSignatureAlgorithmPssSha512 CTTimeseriesParamsSignatureAlgorithm = "PSS_SHA_512"
const CTTimeseriesParamsSignatureAlgorithmRSAMd2 CTTimeseriesParamsSignatureAlgorithm = "RSA_MD2"
const CTTimeseriesParamsSignatureAlgorithmRSAMd5 CTTimeseriesParamsSignatureAlgorithm = "RSA_MD5"
const CTTimeseriesParamsSignatureAlgorithmRSASha1 CTTimeseriesParamsSignatureAlgorithm = "RSA_SHA_1"
const CTTimeseriesParamsSignatureAlgorithmRSASha256 CTTimeseriesParamsSignatureAlgorithm = "RSA_SHA_256"
const CTTimeseriesParamsSignatureAlgorithmRSASha384 CTTimeseriesParamsSignatureAlgorithm = "RSA_SHA_384"
const CTTimeseriesParamsSignatureAlgorithmRSASha512 CTTimeseriesParamsSignatureAlgorithm = "RSA_SHA_512"
TLD param.Field[[]string]Optional

Filters results by top-level domain. Incompatible with the log, logApi, logOperator, and entryType filters/dimensions.

UniqueEntries param.Field[[]CTTimeseriesParamsUniqueEntry]Optional

Specifies whether to filter out duplicate certificates and pre-certificates. Set to true for unique entries only.

const CTTimeseriesParamsUniqueEntryTrue CTTimeseriesParamsUniqueEntry = "true"
const CTTimeseriesParamsUniqueEntryFalse CTTimeseriesParamsUniqueEntry = "false"
ValidationLevel param.Field[[]CTTimeseriesParamsValidationLevel]Optional

Filters results by validation level.

const CTTimeseriesParamsValidationLevelDomain CTTimeseriesParamsValidationLevel = "DOMAIN"
const CTTimeseriesParamsValidationLevelOrganization CTTimeseriesParamsValidationLevel = "ORGANIZATION"
const CTTimeseriesParamsValidationLevelExtended CTTimeseriesParamsValidationLevel = "EXTENDED"
ReturnsExpand Collapse
type CTTimeseriesResponse struct{…}
Meta CTTimeseriesResponseMeta

Metadata for the results.

AggInterval CTTimeseriesResponseMetaAggInterval

Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to Aggregation intervals.

One of the following:
const CTTimeseriesResponseMetaAggIntervalFifteenMinutes CTTimeseriesResponseMetaAggInterval = "FIFTEEN_MINUTES"
const CTTimeseriesResponseMetaAggIntervalOneHour CTTimeseriesResponseMetaAggInterval = "ONE_HOUR"
const CTTimeseriesResponseMetaAggIntervalOneDay CTTimeseriesResponseMetaAggInterval = "ONE_DAY"
const CTTimeseriesResponseMetaAggIntervalOneWeek CTTimeseriesResponseMetaAggInterval = "ONE_WEEK"
const CTTimeseriesResponseMetaAggIntervalOneMonth CTTimeseriesResponseMetaAggInterval = "ONE_MONTH"
ConfidenceInfo CTTimeseriesResponseMetaConfidenceInfo
Annotations []CTTimeseriesResponseMetaConfidenceInfoAnnotation
DataSource CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource

Data source for annotations.

One of the following:
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAll CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIBots CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBGP CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceBots CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceCT CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "CT"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNS CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceDos CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFw CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceFwPg CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTP CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceIQI CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceNet CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "NET"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceSpeed CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI CTTimeseriesResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"
Description string
EndDate Time
formatdate-time
EventType CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventType

Event type for annotations.

One of the following:
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeEvent CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeGeneral CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeOutage CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypePipeline CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"
const CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventType = "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 []CTTimeseriesResponseMetaDateRange
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 CTTimeseriesResponseMetaNormalization

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

One of the following:
const CTTimeseriesResponseMetaNormalizationPercentage CTTimeseriesResponseMetaNormalization = "PERCENTAGE"
const CTTimeseriesResponseMetaNormalizationMin0Max CTTimeseriesResponseMetaNormalization = "MIN0_MAX"
const CTTimeseriesResponseMetaNormalizationMinMax CTTimeseriesResponseMetaNormalization = "MIN_MAX"
const CTTimeseriesResponseMetaNormalizationRawValues CTTimeseriesResponseMetaNormalization = "RAW_VALUES"
const CTTimeseriesResponseMetaNormalizationPercentageChange CTTimeseriesResponseMetaNormalization = "PERCENTAGE_CHANGE"
const CTTimeseriesResponseMetaNormalizationRollingAverage CTTimeseriesResponseMetaNormalization = "ROLLING_AVERAGE"
const CTTimeseriesResponseMetaNormalizationOverlappedPercentage CTTimeseriesResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"
const CTTimeseriesResponseMetaNormalizationRatio CTTimeseriesResponseMetaNormalization = "RATIO"
Units []CTTimeseriesResponseMetaUnit

Measurement units for the results.

Name string
Value string

Get certificates time series

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.CT.Timeseries(context.TODO(), radar.CTTimeseriesParams{

  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.Meta)
}
{
  "result": {
    "meta": {
      "aggInterval": "FIFTEEN_MINUTES",
      "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"
        }
      ]
    }
  },
  "success": true
}
Returns Examples
{
  "result": {
    "meta": {
      "aggInterval": "FIFTEEN_MINUTES",
      "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"
        }
      ]
    }
  },
  "success": true
}