Skip to content
Start here

Get certificate distribution by dimension

client.Radar.CT.Summary(ctx, dimension, query) (*CTSummaryResponse, error)
GET/radar/ct/summary/{dimension}

Retrieves an aggregated summary of certificates grouped by the specified dimension.

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

Specifies the certificate attribute by which to group the results.

One of the following:
const CTSummaryParamsDimensionCA CTSummaryParamsDimension = "CA"
const CTSummaryParamsDimensionCAOwner CTSummaryParamsDimension = "CA_OWNER"
const CTSummaryParamsDimensionDuration CTSummaryParamsDimension = "DURATION"
const CTSummaryParamsDimensionEntryType CTSummaryParamsDimension = "ENTRY_TYPE"
const CTSummaryParamsDimensionExpirationStatus CTSummaryParamsDimension = "EXPIRATION_STATUS"
const CTSummaryParamsDimensionHasIPs CTSummaryParamsDimension = "HAS_IPS"
const CTSummaryParamsDimensionHasWildcards CTSummaryParamsDimension = "HAS_WILDCARDS"
const CTSummaryParamsDimensionLog CTSummaryParamsDimension = "LOG"
const CTSummaryParamsDimensionLogAPI CTSummaryParamsDimension = "LOG_API"
const CTSummaryParamsDimensionLogOperator CTSummaryParamsDimension = "LOG_OPERATOR"
const CTSummaryParamsDimensionPublicKeyAlgorithm CTSummaryParamsDimension = "PUBLIC_KEY_ALGORITHM"
const CTSummaryParamsDimensionSignatureAlgorithm CTSummaryParamsDimension = "SIGNATURE_ALGORITHM"
const CTSummaryParamsDimensionTLD CTSummaryParamsDimension = "TLD"
const CTSummaryParamsDimensionValidationLevel CTSummaryParamsDimension = "VALIDATION_LEVEL"
query CTSummaryParams
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).

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.

Duration param.Field[[]CTSummaryParamsDuration]optional

Filters results by certificate duration.

const CTSummaryParamsDurationLte3D CTSummaryParamsDuration = "LTE_3D"
const CTSummaryParamsDurationGt3DLte7D CTSummaryParamsDuration = "GT_3D_LTE_7D"
const CTSummaryParamsDurationGt7DLte10D CTSummaryParamsDuration = "GT_7D_LTE_10D"
const CTSummaryParamsDurationGt10DLte47D CTSummaryParamsDuration = "GT_10D_LTE_47D"
const CTSummaryParamsDurationGt47DLte100D CTSummaryParamsDuration = "GT_47D_LTE_100D"
const CTSummaryParamsDurationGt100DLte200D CTSummaryParamsDuration = "GT_100D_LTE_200D"
const CTSummaryParamsDurationGt200D CTSummaryParamsDuration = "GT_200D"
EntryType param.Field[[]CTSummaryParamsEntryType]optional

Filters results by entry type (certificate vs. pre-certificate).

const CTSummaryParamsEntryTypePrecertificate CTSummaryParamsEntryType = "PRECERTIFICATE"
const CTSummaryParamsEntryTypeCertificate CTSummaryParamsEntryType = "CERTIFICATE"
ExpirationStatus param.Field[[]CTSummaryParamsExpirationStatus]optional

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

const CTSummaryParamsExpirationStatusExpired CTSummaryParamsExpirationStatus = "EXPIRED"
const CTSummaryParamsExpirationStatusValid CTSummaryParamsExpirationStatus = "VALID"
Format param.Field[CTSummaryParamsFormat]optional

Format in which results will be returned.

const CTSummaryParamsFormatJson CTSummaryParamsFormat = "JSON"
const CTSummaryParamsFormatCsv CTSummaryParamsFormat = "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.

LimitPerGroup param.Field[int64]optional

Limits the number of objects per group to the top items within the specified time range. When item count exceeds the limit, extra items appear grouped under an "other" category.

Log param.Field[[]string]optional

Filters results by certificate log.

LogAPI param.Field[[]CTSummaryParamsLogAPI]optional

Filters results by certificate log API (RFC6962 vs. static).

const CTSummaryParamsLogAPIRfc6962 CTSummaryParamsLogAPI = "RFC6962"
const CTSummaryParamsLogAPIStatic CTSummaryParamsLogAPI = "STATIC"
LogOperator param.Field[[]string]optional

Filters results by certificate log operator.

Name param.Field[[]string]optional

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

Normalization param.Field[CTSummaryParamsNormalization]optional

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

const CTSummaryParamsNormalizationRawValues CTSummaryParamsNormalization = "RAW_VALUES"
const CTSummaryParamsNormalizationPercentage CTSummaryParamsNormalization = "PERCENTAGE"
PublicKeyAlgorithm param.Field[[]CTSummaryParamsPublicKeyAlgorithm]optional

Filters results by public key algorithm.

const CTSummaryParamsPublicKeyAlgorithmDsa CTSummaryParamsPublicKeyAlgorithm = "DSA"
const CTSummaryParamsPublicKeyAlgorithmEcdsa CTSummaryParamsPublicKeyAlgorithm = "ECDSA"
const CTSummaryParamsPublicKeyAlgorithmRSA CTSummaryParamsPublicKeyAlgorithm = "RSA"
SignatureAlgorithm param.Field[[]CTSummaryParamsSignatureAlgorithm]optional

Filters results by signature algorithm.

const CTSummaryParamsSignatureAlgorithmDsaSha1 CTSummaryParamsSignatureAlgorithm = "DSA_SHA_1"
const CTSummaryParamsSignatureAlgorithmDsaSha256 CTSummaryParamsSignatureAlgorithm = "DSA_SHA_256"
const CTSummaryParamsSignatureAlgorithmEcdsaSha1 CTSummaryParamsSignatureAlgorithm = "ECDSA_SHA_1"
const CTSummaryParamsSignatureAlgorithmEcdsaSha256 CTSummaryParamsSignatureAlgorithm = "ECDSA_SHA_256"
const CTSummaryParamsSignatureAlgorithmEcdsaSha384 CTSummaryParamsSignatureAlgorithm = "ECDSA_SHA_384"
const CTSummaryParamsSignatureAlgorithmEcdsaSha512 CTSummaryParamsSignatureAlgorithm = "ECDSA_SHA_512"
const CTSummaryParamsSignatureAlgorithmPssSha256 CTSummaryParamsSignatureAlgorithm = "PSS_SHA_256"
const CTSummaryParamsSignatureAlgorithmPssSha384 CTSummaryParamsSignatureAlgorithm = "PSS_SHA_384"
const CTSummaryParamsSignatureAlgorithmPssSha512 CTSummaryParamsSignatureAlgorithm = "PSS_SHA_512"
const CTSummaryParamsSignatureAlgorithmRSAMd2 CTSummaryParamsSignatureAlgorithm = "RSA_MD2"
const CTSummaryParamsSignatureAlgorithmRSAMd5 CTSummaryParamsSignatureAlgorithm = "RSA_MD5"
const CTSummaryParamsSignatureAlgorithmRSASha1 CTSummaryParamsSignatureAlgorithm = "RSA_SHA_1"
const CTSummaryParamsSignatureAlgorithmRSASha256 CTSummaryParamsSignatureAlgorithm = "RSA_SHA_256"
const CTSummaryParamsSignatureAlgorithmRSASha384 CTSummaryParamsSignatureAlgorithm = "RSA_SHA_384"
const CTSummaryParamsSignatureAlgorithmRSASha512 CTSummaryParamsSignatureAlgorithm = "RSA_SHA_512"
TLD param.Field[[]string]optional

Filters results by top-level domain.

UniqueEntries param.Field[[]CTSummaryParamsUniqueEntry]optional

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

const CTSummaryParamsUniqueEntryTrue CTSummaryParamsUniqueEntry = "true"
const CTSummaryParamsUniqueEntryFalse CTSummaryParamsUniqueEntry = "false"
ValidationLevel param.Field[[]CTSummaryParamsValidationLevel]optional

Filters results by validation level.

const CTSummaryParamsValidationLevelDomain CTSummaryParamsValidationLevel = "DOMAIN"
const CTSummaryParamsValidationLevelOrganization CTSummaryParamsValidationLevel = "ORGANIZATION"
const CTSummaryParamsValidationLevelExtended CTSummaryParamsValidationLevel = "EXTENDED"
ReturnsExpand Collapse
type CTSummaryResponse struct{…}
Meta CTSummaryResponseMeta

Metadata for the results.

ConfidenceInfo CTSummaryResponseMetaConfidenceInfo
Annotations []CTSummaryResponseMetaConfidenceInfoAnnotation
DataSource CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource

Data source for annotations.

One of the following:
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAll CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBGP CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBots CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceCT CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNS CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDos CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFw CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceIQI CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceNet CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"
const CTSummaryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI CTSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"
Description string
EndDate Time
formatdate-time
EventType CTSummaryResponseMetaConfidenceInfoAnnotationsEventType

Event type for annotations.

One of the following:
const CTSummaryResponseMetaConfidenceInfoAnnotationsEventTypeEvent CTSummaryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"
const CTSummaryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral CTSummaryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"
const CTSummaryResponseMetaConfidenceInfoAnnotationsEventTypeOutage CTSummaryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"
const CTSummaryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection CTSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"
const CTSummaryResponseMetaConfidenceInfoAnnotationsEventTypePipeline CTSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"
const CTSummaryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly CTSummaryResponseMetaConfidenceInfoAnnotationsEventType = "TRAFFIC_ANOMALY"
IsInstantaneous bool

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

LinkedURL string
formaturi
StartDate Time
formatdate-time
Level int64

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

DateRange []CTSummaryResponseMetaDateRange
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 CTSummaryResponseMetaNormalization

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

One of the following:
const CTSummaryResponseMetaNormalizationPercentage CTSummaryResponseMetaNormalization = "PERCENTAGE"
const CTSummaryResponseMetaNormalizationMin0Max CTSummaryResponseMetaNormalization = "MIN0_MAX"
const CTSummaryResponseMetaNormalizationMinMax CTSummaryResponseMetaNormalization = "MIN_MAX"
const CTSummaryResponseMetaNormalizationRawValues CTSummaryResponseMetaNormalization = "RAW_VALUES"
const CTSummaryResponseMetaNormalizationPercentageChange CTSummaryResponseMetaNormalization = "PERCENTAGE_CHANGE"
const CTSummaryResponseMetaNormalizationRollingAverage CTSummaryResponseMetaNormalization = "ROLLING_AVERAGE"
const CTSummaryResponseMetaNormalizationOverlappedPercentage CTSummaryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"
const CTSummaryResponseMetaNormalizationRatio CTSummaryResponseMetaNormalization = "RATIO"
Units []CTSummaryResponseMetaUnit

Measurement units for the results.

Name string
Value string
Summary0 CTSummaryResponseSummary0Union
One of the following:
type CTSummaryResponseSummary0Map map[string, string]
type CTSummaryResponseSummary0Object struct{…}
Rfc6962 string
Static string
type CTSummaryResponseSummary0Object struct{…}
Gt121d string
Gt16dLte31d string
Gt31dLte91d string
Gt3dLte16d string
Gt91dLte121d string
Lte3d string
type CTSummaryResponseSummary0Object struct{…}
Certificate string
Precertificate string
type CTSummaryResponseSummary0Object struct{…}
Expired string
Valid string
type CTSummaryResponseSummary0Object struct{…}
Negative string
Positive string
type CTSummaryResponseSummary0Object struct{…}
Dsa string
Ecdsa string
RSA string
type CTSummaryResponseSummary0Object struct{…}
Domain string
Extended string
Organization string
Unknown string

Get certificate distribution by dimension

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.Summary(
    context.TODO(),
    radar.CTSummaryParamsDimensionCA,
    radar.CTSummaryParams{

    },
  )
  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"
          }
        ],
        "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": {
      "DigiCert": "10.274394",
      "GoDaddy": "8.381743",
      "Internet Security Research Group": "63.40249"
    }
  },
  "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"
          }
        ],
        "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": {
      "DigiCert": "10.274394",
      "GoDaddy": "8.381743",
      "Internet Security Research Group": "63.40249"
    }
  },
  "success": true
}