## Get certificates time series `radar.ct.timeseries(CTTimeseriesParams**kwargs) -> CTTimeseriesResponse` **get** `/radar/ct/timeseries` Retrieves certificate volume over time. ### Parameters - `agg_interval: Optional[Literal["15m", "1h", "1d", "1w"]]` 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/). - `"15m"` - `"1h"` - `"1d"` - `"1w"` - `ca: Optional[SequenceNotStr[str]]` Filters results by certificate authority. - `ca_owner: Optional[SequenceNotStr[str]]` Filters results by certificate authority owner. - `date_end: Optional[SequenceNotStr[Union[str, datetime]]]` End of the date range (inclusive). - `date_range: Optional[SequenceNotStr[str]]` 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). - `date_start: Optional[SequenceNotStr[Union[str, datetime]]]` Start of the date range. - `duration: Optional[List[Literal["LTE_3D", "GT_3D_LTE_7D", "GT_7D_LTE_10D", 4 more]]]` Filters results by certificate duration. - `"LTE_3D"` - `"GT_3D_LTE_7D"` - `"GT_7D_LTE_10D"` - `"GT_10D_LTE_47D"` - `"GT_47D_LTE_100D"` - `"GT_100D_LTE_200D"` - `"GT_200D"` - `entry_type: Optional[List[Literal["PRECERTIFICATE", "CERTIFICATE"]]]` Filters results by entry type (certificate vs. pre-certificate). - `"PRECERTIFICATE"` - `"CERTIFICATE"` - `expiration_status: Optional[List[Literal["EXPIRED", "VALID"]]]` Filters results by expiration status (expired vs. valid). - `"EXPIRED"` - `"VALID"` - `format: Optional[Literal["JSON", "CSV"]]` Format in which results will be returned. - `"JSON"` - `"CSV"` - `has_ips: Optional[Iterable[bool]]` Filters results based on whether the certificates are bound to specific IP addresses. - `has_wildcards: Optional[Iterable[bool]]` Filters results based on whether the certificates contain wildcard domains. - `log: Optional[SequenceNotStr[str]]` Filters results by certificate log. - `log_api: Optional[List[Literal["RFC6962", "STATIC"]]]` Filters results by certificate log API (RFC6962 vs. static). - `"RFC6962"` - `"STATIC"` - `log_operator: Optional[SequenceNotStr[str]]` Filters results by certificate log operator. - `name: Optional[SequenceNotStr[str]]` Array of names used to label the series in the response. - `public_key_algorithm: Optional[List[Literal["DSA", "ECDSA", "RSA"]]]` Filters results by public key algorithm. - `"DSA"` - `"ECDSA"` - `"RSA"` - `signature_algorithm: Optional[List[Literal["DSA_SHA_1", "DSA_SHA_256", "ECDSA_SHA_1", 12 more]]]` Filters results by signature algorithm. - `"DSA_SHA_1"` - `"DSA_SHA_256"` - `"ECDSA_SHA_1"` - `"ECDSA_SHA_256"` - `"ECDSA_SHA_384"` - `"ECDSA_SHA_512"` - `"PSS_SHA_256"` - `"PSS_SHA_384"` - `"PSS_SHA_512"` - `"RSA_MD2"` - `"RSA_MD5"` - `"RSA_SHA_1"` - `"RSA_SHA_256"` - `"RSA_SHA_384"` - `"RSA_SHA_512"` - `tld: Optional[SequenceNotStr[str]]` Filters results by top-level domain. - `unique_entries: Optional[List[Literal["true", "false"]]]` Specifies whether to filter out duplicate certificates and pre-certificates. Set to true for unique entries only. - `"true"` - `"false"` - `validation_level: Optional[List[Literal["DOMAIN", "ORGANIZATION", "EXTENDED"]]]` Filters results by validation level. - `"DOMAIN"` - `"ORGANIZATION"` - `"EXTENDED"` ### Returns - `class CTTimeseriesResponse: …` - `meta: Meta` Metadata for the results. - `agg_interval: Literal["FIFTEEN_MINUTES", "ONE_HOUR", "ONE_DAY", 2 more]` 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/). - `"FIFTEEN_MINUTES"` - `"ONE_HOUR"` - `"ONE_DAY"` - `"ONE_WEEK"` - `"ONE_MONTH"` - `confidence_info: MetaConfidenceInfo` - `annotations: List[MetaConfidenceInfoAnnotation]` - `data_source: Literal["ALL", "AI_BOTS", "AI_GATEWAY", 22 more]` Data source for annotations. - `"ALL"` - `"AI_BOTS"` - `"AI_GATEWAY"` - `"BGP"` - `"BOTS"` - `"CONNECTION_ANOMALY"` - `"CT"` - `"DNS"` - `"DNS_MAGNITUDE"` - `"DNS_AS112"` - `"DOS"` - `"EMAIL_ROUTING"` - `"EMAIL_SECURITY"` - `"FW"` - `"FW_PG"` - `"HTTP"` - `"HTTP_CONTROL"` - `"HTTP_CRAWLER_REFERER"` - `"HTTP_ORIGINS"` - `"IQI"` - `"LEAKED_CREDENTIALS"` - `"NET"` - `"ROBOTS_TXT"` - `"SPEED"` - `"WORKERS_AI"` - `description: str` - `end_date: datetime` - `event_type: Literal["EVENT", "GENERAL", "OUTAGE", 3 more]` Event type for annotations. - `"EVENT"` - `"GENERAL"` - `"OUTAGE"` - `"PARTIAL_PROJECTION"` - `"PIPELINE"` - `"TRAFFIC_ANOMALY"` - `is_instantaneous: bool` Whether event is a single point in time or a time range. - `linked_url: str` - `start_date: datetime` - `level: int` Provides an indication of how much confidence Cloudflare has in the data. - `date_range: List[MetaDateRange]` - `end_time: datetime` Adjusted end of date range. - `start_time: datetime` Adjusted start of date range. - `last_updated: datetime` Timestamp of the last dataset update. - `normalization: Literal["PERCENTAGE", "MIN0_MAX", "MIN_MAX", 5 more]` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `"PERCENTAGE"` - `"MIN0_MAX"` - `"MIN_MAX"` - `"RAW_VALUES"` - `"PERCENTAGE_CHANGE"` - `"ROLLING_AVERAGE"` - `"OVERLAPPED_PERCENTAGE"` - `"RATIO"` - `units: List[MetaUnit]` Measurement units for the results. - `name: str` - `value: str` ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.radar.ct.timeseries() print(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 } ```