# Post Quantum # Origin ## Get Origin Post-Quantum Data Summary `client.Radar.PostQuantum.Origin.Summary(ctx, dimension, query) (*PostQuantumOriginSummaryResponse, error)` **get** `/radar/post_quantum/origin/summary/{dimension}` Returns a summary of origin post-quantum data grouped by the specified dimension. ### Parameters - `dimension PostQuantumOriginSummaryParamsDimension` Specifies the origin post-quantum data dimension by which to group the results. - `const PostQuantumOriginSummaryParamsDimensionKeyAgreement PostQuantumOriginSummaryParamsDimension = "KEY_AGREEMENT"` - `query PostQuantumOriginSummaryParams` - `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. - `Format param.Field[PostQuantumOriginSummaryParamsFormat]` Format in which results will be returned. - `const PostQuantumOriginSummaryParamsFormatJson PostQuantumOriginSummaryParamsFormat = "JSON"` - `const PostQuantumOriginSummaryParamsFormatCsv PostQuantumOriginSummaryParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type PostQuantumOriginSummaryResponse struct{…}` - `Meta PostQuantumOriginSummaryResponseMeta` Metadata for the results. - `ConfidenceInfo PostQuantumOriginSummaryResponseMetaConfidenceInfo` - `Annotations []PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotation` - `DataSource PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAll PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIBots PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBGP PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceBots PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceCT PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNS PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceDos PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFw PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceFwPg PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTP PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceIQI PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceNet PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceSpeed PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventTypeEvent PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventTypeGeneral PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventTypeOutage PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventTypePipeline PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsEventType = "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 []PostQuantumOriginSummaryResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization PostQuantumOriginSummaryResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const PostQuantumOriginSummaryResponseMetaNormalizationPercentage PostQuantumOriginSummaryResponseMetaNormalization = "PERCENTAGE"` - `const PostQuantumOriginSummaryResponseMetaNormalizationMin0Max PostQuantumOriginSummaryResponseMetaNormalization = "MIN0_MAX"` - `const PostQuantumOriginSummaryResponseMetaNormalizationMinMax PostQuantumOriginSummaryResponseMetaNormalization = "MIN_MAX"` - `const PostQuantumOriginSummaryResponseMetaNormalizationRawValues PostQuantumOriginSummaryResponseMetaNormalization = "RAW_VALUES"` - `const PostQuantumOriginSummaryResponseMetaNormalizationPercentageChange PostQuantumOriginSummaryResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const PostQuantumOriginSummaryResponseMetaNormalizationRollingAverage PostQuantumOriginSummaryResponseMetaNormalization = "ROLLING_AVERAGE"` - `const PostQuantumOriginSummaryResponseMetaNormalizationOverlappedPercentage PostQuantumOriginSummaryResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const PostQuantumOriginSummaryResponseMetaNormalizationRatio PostQuantumOriginSummaryResponseMetaNormalization = "RATIO"` - `Units []PostQuantumOriginSummaryResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Summary0 map[string, 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.PostQuantum.Origin.Summary( context.TODO(), radar.PostQuantumOriginSummaryParamsDimensionKeyAgreement, radar.PostQuantumOriginSummaryParams{ }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Meta) } ``` #### Response ```json { "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": { "CurveP256": "99.1234", "CurveP384": "85.5678", "CurveP521": "45.9012", "X25519": "98.3456", "X25519MLKEM768": "12.7890" } }, "success": true } ``` ## Get Origin Post-Quantum Data Over Time `client.Radar.PostQuantum.Origin.TimeseriesGroups(ctx, dimension, query) (*PostQuantumOriginTimeseriesGroupsResponse, error)` **get** `/radar/post_quantum/origin/timeseries_groups/{dimension}` Returns a timeseries of origin post-quantum data grouped by the specified dimension. ### Parameters - `dimension PostQuantumOriginTimeseriesGroupsParamsDimension` Specifies the origin post-quantum data dimension by which to group the results. - `const PostQuantumOriginTimeseriesGroupsParamsDimensionKeyAgreement PostQuantumOriginTimeseriesGroupsParamsDimension = "KEY_AGREEMENT"` - `query PostQuantumOriginTimeseriesGroupsParams` - `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. - `Format param.Field[PostQuantumOriginTimeseriesGroupsParamsFormat]` Format in which results will be returned. - `const PostQuantumOriginTimeseriesGroupsParamsFormatJson PostQuantumOriginTimeseriesGroupsParamsFormat = "JSON"` - `const PostQuantumOriginTimeseriesGroupsParamsFormatCsv PostQuantumOriginTimeseriesGroupsParamsFormat = "CSV"` - `Name param.Field[[]string]` Array of names used to label the series in the response. ### Returns - `type PostQuantumOriginTimeseriesGroupsResponse struct{…}` - `Meta PostQuantumOriginTimeseriesGroupsResponseMeta` Metadata for the results. - `AggInterval PostQuantumOriginTimeseriesGroupsResponseMetaAggInterval` 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 PostQuantumOriginTimeseriesGroupsResponseMetaAggIntervalFifteenMinutes PostQuantumOriginTimeseriesGroupsResponseMetaAggInterval = "FIFTEEN_MINUTES"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaAggIntervalOneHour PostQuantumOriginTimeseriesGroupsResponseMetaAggInterval = "ONE_HOUR"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaAggIntervalOneDay PostQuantumOriginTimeseriesGroupsResponseMetaAggInterval = "ONE_DAY"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaAggIntervalOneWeek PostQuantumOriginTimeseriesGroupsResponseMetaAggInterval = "ONE_WEEK"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaAggIntervalOneMonth PostQuantumOriginTimeseriesGroupsResponseMetaAggInterval = "ONE_MONTH"` - `ConfidenceInfo PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfo` - `Annotations []PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotation` - `DataSource PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource` Data source for annotations. - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAll PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ALL"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIBots PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_BOTS"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceAIGateway PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "AI_GATEWAY"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBGP PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BGP"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceBots PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "BOTS"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceConnectionAnomaly PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CONNECTION_ANOMALY"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceCT PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "CT"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNS PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSMagnitude PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_MAGNITUDE"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDNSAS112 PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DNS_AS112"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceDos PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "DOS"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailRouting PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_ROUTING"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceEmailSecurity PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "EMAIL_SECURITY"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFw PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceFwPg PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "FW_PG"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTP PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPControl PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CONTROL"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPCrawlerReferer PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_CRAWLER_REFERER"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceHTTPOrigins PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "HTTP_ORIGINS"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceIQI PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "IQI"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceLeakedCredentials PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "LEAKED_CREDENTIALS"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceNet PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "NET"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceRobotsTXT PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "ROBOTS_TXT"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceSpeed PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "SPEED"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSourceWorkersAI PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsDataSource = "WORKERS_AI"` - `Description string` - `EndDate Time` - `EventType PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType` Event type for annotations. - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeEvent PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "EVENT"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeGeneral PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "GENERAL"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeOutage PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "OUTAGE"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePartialProjection PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PARTIAL_PROJECTION"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypePipeline PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "PIPELINE"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventTypeTrafficAnomaly PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsEventType = "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 []PostQuantumOriginTimeseriesGroupsResponseMetaDateRange` - `EndTime Time` Adjusted end of date range. - `StartTime Time` Adjusted start of date range. - `LastUpdated Time` Timestamp of the last dataset update. - `Normalization PostQuantumOriginTimeseriesGroupsResponseMetaNormalization` Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). - `const PostQuantumOriginTimeseriesGroupsResponseMetaNormalizationPercentage PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaNormalizationMin0Max PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = "MIN0_MAX"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaNormalizationMinMax PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = "MIN_MAX"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaNormalizationRawValues PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = "RAW_VALUES"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaNormalizationPercentageChange PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = "PERCENTAGE_CHANGE"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaNormalizationRollingAverage PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = "ROLLING_AVERAGE"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaNormalizationOverlappedPercentage PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = "OVERLAPPED_PERCENTAGE"` - `const PostQuantumOriginTimeseriesGroupsResponseMetaNormalizationRatio PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = "RATIO"` - `Units []PostQuantumOriginTimeseriesGroupsResponseMetaUnit` Measurement units for the results. - `Name string` - `Value string` - `Serie0 PostQuantumOriginTimeseriesGroupsResponseSerie0` - `Timestamps []Time` ### 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.PostQuantum.Origin.TimeseriesGroups( context.TODO(), radar.PostQuantumOriginTimeseriesGroupsParamsDimensionKeyAgreement, radar.PostQuantumOriginTimeseriesGroupsParams{ }, ) 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" } ] }, "serie_0": { "timestamps": [ "2023-08-08T10:15:00Z" ] } }, "success": true } ``` # TLS ## Check Post-Quantum TLS support `client.Radar.PostQuantum.TLS.Support(ctx, query) (*PostQuantumTLSSupportResponse, error)` **get** `/radar/post_quantum/tls/support` Tests whether a hostname or IP address supports Post-Quantum (PQ) TLS key exchange. Returns information about the negotiated key exchange algorithm and whether it uses PQ cryptography. ### Parameters - `query PostQuantumTLSSupportParams` - `Host param.Field[string]` Hostname or IP address to test for Post-Quantum TLS support, optionally with port (defaults to 443). ### Returns - `type PostQuantumTLSSupportResponse struct{…}` - `Host string` The host that was tested - `Kex float64` TLS CurveID of the negotiated key exchange - `KexName string` Human-readable name of the key exchange algorithm - `Pq bool` Whether the negotiated key exchange uses Post-Quantum cryptography ### 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.PostQuantum.TLS.Support(context.TODO(), radar.PostQuantumTLSSupportParams{ Host: cloudflare.F("cloudflare.com"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.Host) } ``` #### Response ```json { "result": { "host": "host", "kex": 0, "kexName": "kexName", "pq": true }, "success": true } ```