## Get certificates time series `client.Radar.CT.Timeseries(ctx, query) (*CTTimeseriesResponse, error)` **get** `/radar/ct/timeseries` Retrieves certificate volume over time. ### Parameters - `query CTTimeseriesParams` - `AggInterval param.Field[CTTimeseriesParamsAggInterval]` Aggregation interval of the results (e.g., in 15 minutes or 1 hour intervals). Refer to [Aggregation intervals](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `const CTTimeseriesParamsAggInterval15m CTTimeseriesParamsAggInterval = "15m"` - `const CTTimeseriesParamsAggInterval1h CTTimeseriesParamsAggInterval = "1h"` - `const CTTimeseriesParamsAggInterval1d CTTimeseriesParamsAggInterval = "1d"` - `const CTTimeseriesParamsAggInterval1w CTTimeseriesParamsAggInterval = "1w"` - `CA param.Field[[]string]` Filters results by certificate authority. - `CAOwner param.Field[[]string]` Filters results by certificate authority owner. - `DateEnd param.Field[[]Time]` End of the date range (inclusive). - `DateRange param.Field[[]string]` 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]` Start of the date range. - `Duration param.Field[[]CTTimeseriesParamsDuration]` 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]` Filters results by entry type (certificate vs. pre-certificate). - `const CTTimeseriesParamsEntryTypePrecertificate CTTimeseriesParamsEntryType = "PRECERTIFICATE"` - `const CTTimeseriesParamsEntryTypeCertificate CTTimeseriesParamsEntryType = "CERTIFICATE"` - `ExpirationStatus param.Field[[]CTTimeseriesParamsExpirationStatus]` Filters results by expiration status (expired vs. valid). - `const CTTimeseriesParamsExpirationStatusExpired CTTimeseriesParamsExpirationStatus = "EXPIRED"` - `const CTTimeseriesParamsExpirationStatusValid CTTimeseriesParamsExpirationStatus = "VALID"` - `Format param.Field[CTTimeseriesParamsFormat]` Format in which results will be returned. - `const CTTimeseriesParamsFormatJson CTTimeseriesParamsFormat = "JSON"` - `const CTTimeseriesParamsFormatCsv CTTimeseriesParamsFormat = "CSV"` - `HasIPs param.Field[[]bool]` Filters results based on whether the certificates are bound to specific IP addresses. - `HasWildcards param.Field[[]bool]` Filters results based on whether the certificates contain wildcard domains. - `Log param.Field[[]string]` Filters results by certificate log. - `LogAPI param.Field[[]CTTimeseriesParamsLogAPI]` Filters results by certificate log API (RFC6962 vs. static). - `const CTTimeseriesParamsLogAPIRfc6962 CTTimeseriesParamsLogAPI = "RFC6962"` - `const CTTimeseriesParamsLogAPIStatic CTTimeseriesParamsLogAPI = "STATIC"` - `LogOperator param.Field[[]string]` Filters results by certificate log operator. - `Name param.Field[[]string]` Array of names used to label the series in the response. - `PublicKeyAlgorithm param.Field[[]CTTimeseriesParamsPublicKeyAlgorithm]` Filters results by public key algorithm. - `const CTTimeseriesParamsPublicKeyAlgorithmDsa CTTimeseriesParamsPublicKeyAlgorithm = "DSA"` - `const CTTimeseriesParamsPublicKeyAlgorithmEcdsa CTTimeseriesParamsPublicKeyAlgorithm = "ECDSA"` - `const CTTimeseriesParamsPublicKeyAlgorithmRSA CTTimeseriesParamsPublicKeyAlgorithm = "RSA"` - `SignatureAlgorithm param.Field[[]CTTimeseriesParamsSignatureAlgorithm]` 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]` Filters results by top-level domain. - `UniqueEntries param.Field[[]CTTimeseriesParamsUniqueEntry]` 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]` Filters results by validation level. - `const CTTimeseriesParamsValidationLevelDomain CTTimeseriesParamsValidationLevel = "DOMAIN"` - `const CTTimeseriesParamsValidationLevelOrganization CTTimeseriesParamsValidationLevel = "ORGANIZATION"` - `const CTTimeseriesParamsValidationLevelExtended CTTimeseriesParamsValidationLevel = "EXTENDED"` ### Returns - `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](https://developers.cloudflare.com/radar/concepts/aggregation-intervals/). - `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. - `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` - `EventType CTTimeseriesResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `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` - `StartDate Time` - `Level int64` Provides an indication of how much confidence Cloudflare has in the data. - `DateRange []CTTimeseriesResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization CTTimeseriesResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `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` ### 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"), ) response, err := client.Radar.CT.Timeseries(context.TODO(), radar.CTTimeseriesParams{ }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Meta) } ``` #### Response ```json { "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" } ], "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 } ```