// AUTO-GENERATED by scripts/generate.ts from .generated-specs. Do not edit. import * as S from "@distilled.cloud/core/schema"; import * as API from "@distilled.cloud/core/api"; import * as T from "../traits.ts"; import { CloudflareProtocol, type CloudflareOpError, type CloudflareOpContext, } from "../protocol.ts"; import { CloudflareError, CloudflareRateLimited } from "../errors.ts"; import * as Retry from "../retry.ts"; export type { CloudflareOpError, CloudflareOpContext }; /** Fallback camelCase→wire mapping for opaque content (mined from the distilled SDK). */ const KEY_DICTIONARY: Record> = { android: "ANDROID", asMembersCount: "as_members_count", asName: "as_name", asPath: "as_path", asSetMembersCount: "as_set_members_count", asSetUpstreamsCount: "as_set_upstreams_count", asSets: "as_sets", asn1Country: "asn1_country", asn1Name: "asn1_name", asn2Country: "asn2_country", asn2Name: "asn2_name", asnConeSize: "asn_cone_size", asnData: "asn_data", asnInfo: "asn_info", asname: "ASName", brandImpersonation: "BrandImpersonation", certificate: "CERTIFICATE", clean: "CLEAN", completionTokens: "completion_tokens", compromised: "COMPROMISED", confidenceScore: "confidence_score", countryCode: "country_code", countryData: "country_data", createdAt: "created_at", credentialHarvester: "CredentialHarvester", dataTime: "data_time", detectedTs: "detected_ts", distinctOrigins: "distinct_origins", distinctOriginsIpv4: "distinct_origins_ipv4", distinctOriginsIpv6: "distinct_origins_ipv6", distinctPrefixes: "distinct_prefixes", distinctPrefixesIpv4: "distinct_prefixes_ipv4", distinctPrefixesIpv6: "distinct_prefixes_ipv6", dsa: "DSA", ecdsa: "ECDSA", encrypted: "ENCRYPTED", entriesCount: "entries_count", eventType: "event_type", expired: "EXPIRED", fail: "FAIL", fileName: "file_name", frequencyPenalty: "frequency_penalty", gre: "GRE", gt_15mLte_1h: "gt_15m_lte_1h", gt_16dLte_31d: "gt_16d_lte_31d", gt_1dLte_1w: "gt_1d_lte_1w", gt_1hLte_1d: "gt_1h_lte_1d", gt_1mLte_5m: "gt_1m_lte_5m", gt_31dLte_91d: "gt_31d_lte_91d", gt_3dLte_16d: "gt_3d_lte_16d", gt_5mLte_15m: "gt_5m_lte_15m", gt_91dLte_121d: "gt_91d_lte_121d", hierarchicalAsn: "hierarchical_asn", hijackMsgsCount: "hijack_msgs_count", hijackerAsn: "hijacker_asn", hijackerCountry: "hijacker_country", http: "HTTP", https: "HTTPS", icmp: "ICMP", identityDeception: "IdentityDeception", ignoreEos: "ignore_eos", imageB64: "image_b64", imageUrl: "image_url", inferredAsn: "inferred_asn", inputText: "input_text", insecure: "INSECURE", invalid: "INVALID", invalidOnly: "invalid_only", ios: "IOS", ipv4: "IPv4", ipv6: "IPv6", irrSources: "irr_sources", isStale: "is_stale", jsonSchema: "json_schema", laterInFlow: "later_in_flow", latestRealtimeTs: "latest_realtime_ts", latestRibTs: "latest_rib_ts", latestUpdatesTs: "latest_updates_ts", leakAsn: "leak_asn", leakCount: "leak_count", leakSeg: "leak_seg", leakType: "leak_type", link: "Link", malicious: "MALICIOUS", maxHijackTs: "max_hijack_ts", maxLength: "max_length", maxMsgTs: "max_msg_ts", maxTokens: "max_tokens", maxTs: "max_ts", minHijackTs: "min_hijack_ts", minTs: "min_ts", modifiedAt: "modified_at", negative: "NEGATIVE", negativePrompt: "negative_prompt", noMatch: "no_match", none: "NONE", notencrypted: "NOT_ENCRYPTED", notmalicious: "NOT_MALICIOUS", notspam: "NOT_SPAM", notspoof: "NOT_SPOOF", notsupported: "NOT_SUPPORTED", numSteps: "num_steps", onGoingCount: "on_going_count", orgId: "org_id", orgName: "org_name", originCount: "origin_count", other: "OTHER", over_100GBPS: "OVER_100_GBPS", over_3HOURS: "OVER_3_HOURS", pass: "PASS", peerAsns: "peer_asns", peerCount: "peer_count", peerIpCount: "peer_ip_count", peeringdbAsn: "peeringdb_asn", peersCount: "peers_count", peersV4Count: "peers_v4_count", peersV6Count: "peers_v6_count", perPage: "per_page", pfxsCount: "pfxs_count", positive: "POSITIVE", postAck: "post_ack", postPsh: "post_psh", postSyn: "post_syn", precertificate: "PRECERTIFICATE", prefixCount: "prefix_count", prefixOrigins: "prefix_origins", presencePenalty: "presence_penalty", promptTokens: "prompt_tokens", queryTime: "query_time", repetitionPenalty: "repetition_penalty", responseFormat: "response_format", resultInfo: "result_info", routesInvalid: "routes_invalid", routesInvalidIpv4: "routes_invalid_ipv4", routesInvalidIpv6: "routes_invalid_ipv6", routesTotal: "routes_total", routesTotalIpv4: "routes_total_ipv4", routesTotalIpv6: "routes_total_ipv6", routesUnknown: "routes_unknown", routesUnknownIpv4: "routes_unknown_ipv4", routesUnknownIpv6: "routes_unknown_ipv6", routesValid: "routes_valid", routesValidIpv4: "routes_valid_ipv4", routesValidIpv6: "routes_valid_ipv6", rpkiValidation: "rpki_validation", rsa: "RSA", secure: "SECURE", sourceLang: "source_lang", spam: "SPAM", spoof: "SPOOF", supported: "SUPPORTED", targetLang: "target_lang", tcp: "TCP", tls: "TLS", toolCalls: "tool_calls", topK: "top_k", topLocations: "top_locations", topP: "top_p", totalCount: "total_count", totalMonitors: "total_monitors", totalPeers: "total_peers", totalTokens: "total_tokens", totalVisible: "total_visible", translatedText: "translated_text", udp: "UDP", under_10MINS: "UNDER_10_MINS", under_500MBPS: "UNDER_500_MBPS", valid: "VALID", victimAsns: "victim_asns", victimCountries: "victim_countries", wordCount: "word_count", }; export type AiTimeseriesGroupsSummaryRequestDimension = | "USER_AGENT" | "CRAWL_PURPOSE" | "INDUSTRY" | "VERTICAL" | "CONTENT_TYPE" | "RESPONSE_STATUS" | "RESPONSE_STATUS_CATEGORY"; export const AiTimeseriesGroupsSummaryRequestDimension = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsSummaryRequestAsnList = Array; export const AiTimeseriesGroupsSummaryRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsSummaryRequestContentType = | "HTML" | "IMAGES" | "JSON" | "JAVASCRIPT" | "CSS" | "PLAIN_TEXT" | "FONTS" | "XML" | "YAML" | "VIDEO" | "AUDIO" | "MARKDOWN" | "DOCUMENTS" | "BINARY" | "SERIALIZATION" | "OTHER"; export const AiTimeseriesGroupsSummaryRequestContentType = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsSummaryRequestContentTypeList = Array< AiTimeseriesGroupsSummaryRequestContentType | (string & {}) >; export const AiTimeseriesGroupsSummaryRequestContentTypeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryRequestContentType, ) as any as S.Schema; export type AiTimeseriesGroupsSummaryRequestContinentList = Array; export const AiTimeseriesGroupsSummaryRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsSummaryRequestCrawlPurposeList = Array; export const AiTimeseriesGroupsSummaryRequestCrawlPurposeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsSummaryRequestDateEndList = Array; export const AiTimeseriesGroupsSummaryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsSummaryRequestDateRangeList = Array; export const AiTimeseriesGroupsSummaryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsSummaryRequestDateStartList = Array; export const AiTimeseriesGroupsSummaryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsSummaryRequestFormat = "JSON" | "CSV"; export const AiTimeseriesGroupsSummaryRequestFormat = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsSummaryRequestIndustryList = Array; export const AiTimeseriesGroupsSummaryRequestIndustryList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsSummaryRequestLocationList = Array; export const AiTimeseriesGroupsSummaryRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsSummaryRequestNameList = Array; export const AiTimeseriesGroupsSummaryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsSummaryRequestResponseStatusList = Array; export const AiTimeseriesGroupsSummaryRequestResponseStatusList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsSummaryRequestResponseStatusCategory = | "INFORMATIONAL" | "SUCCESS" | "REDIRECTION" | "CLIENT_ERROR" | "SERVER_ERROR"; export const AiTimeseriesGroupsSummaryRequestResponseStatusCategory = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsSummaryRequestResponseStatusCategoryList = Array< AiTimeseriesGroupsSummaryRequestResponseStatusCategory | (string & {}) >; export const AiTimeseriesGroupsSummaryRequestResponseStatusCategoryList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryRequestResponseStatusCategory, ) as any as S.Schema; export type AiTimeseriesGroupsSummaryRequestUserAgentList = Array; export const AiTimeseriesGroupsSummaryRequestUserAgentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsSummaryRequestVerticalList = Array; export const AiTimeseriesGroupsSummaryRequestVerticalList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiTimeseriesGroupsSummaryRequest { /** Specifies the attribute by which to group the results. */ dimension: AiTimeseriesGroupsSummaryRequestDimension | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AiTimeseriesGroupsSummaryRequestAsnList; /** Filters results by content type category. */ contentType?: AiTimeseriesGroupsSummaryRequestContentTypeList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AiTimeseriesGroupsSummaryRequestContinentList; /** Filters results by bot crawl purpose. */ crawlPurpose?: AiTimeseriesGroupsSummaryRequestCrawlPurposeList; /** End of the date range (inclusive). */ dateEnd?: AiTimeseriesGroupsSummaryRequestDateEndList; /** 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). */ dateRange?: AiTimeseriesGroupsSummaryRequestDateRangeList; /** Start of the date range. */ dateStart?: AiTimeseriesGroupsSummaryRequestDateStartList; /** Format in which results will be returned. */ format?: AiTimeseriesGroupsSummaryRequestFormat | (string & {}); /** Filters results by industry. */ industry?: AiTimeseriesGroupsSummaryRequestIndustryList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AiTimeseriesGroupsSummaryRequestLocationList; /** Array of names used to label the series in the response. */ name?: AiTimeseriesGroupsSummaryRequestNameList; /** Filters results by HTTP response status code (e.g. 200, 403, 404). Only [IANA-registered codes](https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml) are accepted. */ responseStatus?: AiTimeseriesGroupsSummaryRequestResponseStatusList; /** Filters results by HTTP response status code category. */ responseStatusCategory?: AiTimeseriesGroupsSummaryRequestResponseStatusCategoryList; /** Filters results by user agent. */ userAgent?: AiTimeseriesGroupsSummaryRequestUserAgentList; /** Filters results by vertical. */ vertical?: AiTimeseriesGroupsSummaryRequestVerticalList; } export const AiTimeseriesGroupsSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: AiTimeseriesGroupsSummaryRequestDimension.pipe(T.Label()), asn: S.optional(AiTimeseriesGroupsSummaryRequestAsnList.pipe(T.Query())), contentType: S.optional( AiTimeseriesGroupsSummaryRequestContentTypeList.pipe(T.Query()), ), continent: S.optional( AiTimeseriesGroupsSummaryRequestContinentList.pipe(T.Query()), ), crawlPurpose: S.optional( AiTimeseriesGroupsSummaryRequestCrawlPurposeList.pipe(T.Query()), ), dateEnd: S.optional( AiTimeseriesGroupsSummaryRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AiTimeseriesGroupsSummaryRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AiTimeseriesGroupsSummaryRequestDateStartList.pipe(T.Query()), ), format: S.optional(AiTimeseriesGroupsSummaryRequestFormat.pipe(T.Query())), industry: S.optional( AiTimeseriesGroupsSummaryRequestIndustryList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AiTimeseriesGroupsSummaryRequestLocationList.pipe(T.Query()), ), name: S.optional(AiTimeseriesGroupsSummaryRequestNameList.pipe(T.Query())), responseStatus: S.optional( AiTimeseriesGroupsSummaryRequestResponseStatusList.pipe(T.Query()), ), responseStatusCategory: S.optional( AiTimeseriesGroupsSummaryRequestResponseStatusCategoryList.pipe( T.Query(), ), ), userAgent: S.optional( AiTimeseriesGroupsSummaryRequestUserAgentList.pipe(T.Query()), ), vertical: S.optional( AiTimeseriesGroupsSummaryRequestVerticalList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/ai/bots/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AiTimeseriesGroupsSummaryRequest", }) as any as S.Schema; export type AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsList = Array; export const AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AiTimeseriesGroupsSummaryResponseMetaConfidenceInfo { annotations: AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AiTimeseriesGroupsSummaryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AiTimeseriesGroupsSummaryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AiTimeseriesGroupsSummaryResponseMetaConfidenceInfo", }) as any as S.Schema; export interface AiTimeseriesGroupsSummaryResponseMetaDateRangeItem { /** Adjusted end of date range. */ endTime: string; /** Adjusted start of date range. */ startTime: string; } export const AiTimeseriesGroupsSummaryResponseMetaDateRangeItem = /*@__PURE__*/ S.suspend(() => S.Struct({ endTime: S.String, startTime: S.String, }), ).annotate({ identifier: "AiTimeseriesGroupsSummaryResponseMetaDateRangeItem", }) as any as S.Schema; export type AiTimeseriesGroupsSummaryResponseMetaDateRangeList = Array; export const AiTimeseriesGroupsSummaryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AiTimeseriesGroupsSummaryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AiTimeseriesGroupsSummaryResponseMetaNormalization = /*@__PURE__*/ S.String; export interface AiTimeseriesGroupsSummaryResponseMetaUnitsItem { name: string; value: string; } export const AiTimeseriesGroupsSummaryResponseMetaUnitsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, value: S.String, }), ).annotate({ identifier: "AiTimeseriesGroupsSummaryResponseMetaUnitsItem", }) as any as S.Schema; export type AiTimeseriesGroupsSummaryResponseMetaUnitsList = Array; export const AiTimeseriesGroupsSummaryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AiTimeseriesGroupsSummaryResponseMeta { confidenceInfo: AiTimeseriesGroupsSummaryResponseMetaConfidenceInfo; dateRange: AiTimeseriesGroupsSummaryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AiTimeseriesGroupsSummaryResponseMetaNormalization; /** Measurement units for the results. */ units: AiTimeseriesGroupsSummaryResponseMetaUnitsList; } export const AiTimeseriesGroupsSummaryResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: AiTimeseriesGroupsSummaryResponseMetaConfidenceInfo, dateRange: AiTimeseriesGroupsSummaryResponseMetaDateRangeList, lastUpdated: S.String, normalization: AiTimeseriesGroupsSummaryResponseMetaNormalization, units: AiTimeseriesGroupsSummaryResponseMetaUnitsList, }), ).annotate({ identifier: "AiTimeseriesGroupsSummaryResponseMeta", }) as any as S.Schema; export type AiTimeseriesGroupsSummaryResponseSummary0Map = { [key: string]: string | undefined; }; export const AiTimeseriesGroupsSummaryResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface AiTimeseriesGroupsSummaryResponse { /** Metadata for the results. */ meta: AiTimeseriesGroupsSummaryResponseMeta; summary_0: AiTimeseriesGroupsSummaryResponseSummary0Map; } export const AiTimeseriesGroupsSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AiTimeseriesGroupsSummaryResponseMeta, summary_0: AiTimeseriesGroupsSummaryResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AiTimeseriesGroupsSummaryResponse", }) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AiTimeseriesGroupsTimeseriesRequestAggInterval = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesRequestAsnList = Array; export const AiTimeseriesGroupsTimeseriesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesRequestContentType = | "HTML" | "IMAGES" | "JSON" | "JAVASCRIPT" | "CSS" | "PLAIN_TEXT" | "FONTS" | "XML" | "YAML" | "VIDEO" | "AUDIO" | "MARKDOWN" | "DOCUMENTS" | "BINARY" | "SERIALIZATION" | "OTHER"; export const AiTimeseriesGroupsTimeseriesRequestContentType = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesRequestContentTypeList = Array< AiTimeseriesGroupsTimeseriesRequestContentType | (string & {}) >; export const AiTimeseriesGroupsTimeseriesRequestContentTypeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsTimeseriesRequestContentType, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesRequestContinentList = Array; export const AiTimeseriesGroupsTimeseriesRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesRequestCrawlPurposeList = Array; export const AiTimeseriesGroupsTimeseriesRequestCrawlPurposeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesRequestDateEndList = Array; export const AiTimeseriesGroupsTimeseriesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesRequestDateRangeList = Array; export const AiTimeseriesGroupsTimeseriesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesRequestDateStartList = Array; export const AiTimeseriesGroupsTimeseriesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesRequestFormat = "JSON" | "CSV"; export const AiTimeseriesGroupsTimeseriesRequestFormat = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesRequestIndustryList = Array; export const AiTimeseriesGroupsTimeseriesRequestIndustryList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesRequestLocationList = Array; export const AiTimeseriesGroupsTimeseriesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesRequestNameList = Array; export const AiTimeseriesGroupsTimeseriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesRequestResponseStatusList = Array; export const AiTimeseriesGroupsTimeseriesRequestResponseStatusList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesRequestResponseStatusCategory = | "INFORMATIONAL" | "SUCCESS" | "REDIRECTION" | "CLIENT_ERROR" | "SERVER_ERROR"; export const AiTimeseriesGroupsTimeseriesRequestResponseStatusCategory = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesRequestResponseStatusCategoryList = Array< AiTimeseriesGroupsTimeseriesRequestResponseStatusCategory | (string & {}) >; export const AiTimeseriesGroupsTimeseriesRequestResponseStatusCategoryList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsTimeseriesRequestResponseStatusCategory, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesRequestUserAgentList = Array; export const AiTimeseriesGroupsTimeseriesRequestUserAgentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesRequestVerticalList = Array; export const AiTimeseriesGroupsTimeseriesRequestVerticalList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiTimeseriesGroupsTimeseriesRequest { /** 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/). */ aggInterval?: AiTimeseriesGroupsTimeseriesRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AiTimeseriesGroupsTimeseriesRequestAsnList; /** Filters results by content type category. */ contentType?: AiTimeseriesGroupsTimeseriesRequestContentTypeList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AiTimeseriesGroupsTimeseriesRequestContinentList; /** Filters results by bot crawl purpose. */ crawlPurpose?: AiTimeseriesGroupsTimeseriesRequestCrawlPurposeList; /** End of the date range (inclusive). */ dateEnd?: AiTimeseriesGroupsTimeseriesRequestDateEndList; /** 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). */ dateRange?: AiTimeseriesGroupsTimeseriesRequestDateRangeList; /** Start of the date range. */ dateStart?: AiTimeseriesGroupsTimeseriesRequestDateStartList; /** Format in which results will be returned. */ format?: AiTimeseriesGroupsTimeseriesRequestFormat | (string & {}); /** Filters results by industry. */ industry?: AiTimeseriesGroupsTimeseriesRequestIndustryList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AiTimeseriesGroupsTimeseriesRequestLocationList; /** Array of names used to label the series in the response. */ name?: AiTimeseriesGroupsTimeseriesRequestNameList; /** Filters results by HTTP response status code (e.g. 200, 403, 404). Only [IANA-registered codes](https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml) are accepted. */ responseStatus?: AiTimeseriesGroupsTimeseriesRequestResponseStatusList; /** Filters results by HTTP response status code category. */ responseStatusCategory?: AiTimeseriesGroupsTimeseriesRequestResponseStatusCategoryList; /** Filters results by user agent. */ userAgent?: AiTimeseriesGroupsTimeseriesRequestUserAgentList; /** Filters results by vertical. */ vertical?: AiTimeseriesGroupsTimeseriesRequestVerticalList; } export const AiTimeseriesGroupsTimeseriesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AiTimeseriesGroupsTimeseriesRequestAggInterval.pipe(T.Query()), ), asn: S.optional(AiTimeseriesGroupsTimeseriesRequestAsnList.pipe(T.Query())), contentType: S.optional( AiTimeseriesGroupsTimeseriesRequestContentTypeList.pipe(T.Query()), ), continent: S.optional( AiTimeseriesGroupsTimeseriesRequestContinentList.pipe(T.Query()), ), crawlPurpose: S.optional( AiTimeseriesGroupsTimeseriesRequestCrawlPurposeList.pipe(T.Query()), ), dateEnd: S.optional( AiTimeseriesGroupsTimeseriesRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AiTimeseriesGroupsTimeseriesRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AiTimeseriesGroupsTimeseriesRequestDateStartList.pipe(T.Query()), ), format: S.optional( AiTimeseriesGroupsTimeseriesRequestFormat.pipe(T.Query()), ), industry: S.optional( AiTimeseriesGroupsTimeseriesRequestIndustryList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AiTimeseriesGroupsTimeseriesRequestLocationList.pipe(T.Query()), ), name: S.optional( AiTimeseriesGroupsTimeseriesRequestNameList.pipe(T.Query()), ), responseStatus: S.optional( AiTimeseriesGroupsTimeseriesRequestResponseStatusList.pipe(T.Query()), ), responseStatusCategory: S.optional( AiTimeseriesGroupsTimeseriesRequestResponseStatusCategoryList.pipe( T.Query(), ), ), userAgent: S.optional( AiTimeseriesGroupsTimeseriesRequestUserAgentList.pipe(T.Query()), ), vertical: S.optional( AiTimeseriesGroupsTimeseriesRequestVerticalList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/ai/bots/timeseries", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AiTimeseriesGroupsTimeseriesRequest", }) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AiTimeseriesGroupsTimeseriesResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsList = Array; export const AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfo { annotations: AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfo", }) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AiTimeseriesGroupsTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AiTimeseriesGroupsTimeseriesResponseMetaDateRangeList = Array; export const AiTimeseriesGroupsTimeseriesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AiTimeseriesGroupsTimeseriesResponseMetaNormalization = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AiTimeseriesGroupsTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AiTimeseriesGroupsTimeseriesResponseMetaUnitsList = Array; export const AiTimeseriesGroupsTimeseriesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AiTimeseriesGroupsTimeseriesResponseMeta { /** 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/). */ aggInterval: AiTimeseriesGroupsTimeseriesResponseMetaAggInterval; confidenceInfo: AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfo; dateRange: AiTimeseriesGroupsTimeseriesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AiTimeseriesGroupsTimeseriesResponseMetaNormalization; /** Measurement units for the results. */ units: AiTimeseriesGroupsTimeseriesResponseMetaUnitsList; } export const AiTimeseriesGroupsTimeseriesResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: AiTimeseriesGroupsTimeseriesResponseMetaAggInterval, confidenceInfo: AiTimeseriesGroupsTimeseriesResponseMetaConfidenceInfo, dateRange: AiTimeseriesGroupsTimeseriesResponseMetaDateRangeList, lastUpdated: S.String, normalization: AiTimeseriesGroupsTimeseriesResponseMetaNormalization, units: AiTimeseriesGroupsTimeseriesResponseMetaUnitsList, }), ).annotate({ identifier: "AiTimeseriesGroupsTimeseriesResponseMeta", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface AiTimeseriesGroupsTimeseriesResponse { /** Metadata for the results. */ meta: AiTimeseriesGroupsTimeseriesResponseMeta; } export const AiTimeseriesGroupsTimeseriesResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: AiTimeseriesGroupsTimeseriesResponseMeta, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AiTimeseriesGroupsTimeseriesResponse", }) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsRequestDimension = | "USER_AGENT" | "CRAWL_PURPOSE" | "INDUSTRY" | "VERTICAL" | "CONTENT_TYPE" | "RESPONSE_STATUS" | "RESPONSE_STATUS_CATEGORY"; export const AiTimeseriesGroupsTimeseriesGroupsRequestDimension = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesGroupsRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AiTimeseriesGroupsTimeseriesGroupsRequestAggInterval = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesGroupsRequestAsnList = Array; export const AiTimeseriesGroupsTimeseriesGroupsRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsRequestContentType = | "HTML" | "IMAGES" | "JSON" | "JAVASCRIPT" | "CSS" | "PLAIN_TEXT" | "FONTS" | "XML" | "YAML" | "VIDEO" | "AUDIO" | "MARKDOWN" | "DOCUMENTS" | "BINARY" | "SERIALIZATION" | "OTHER"; export const AiTimeseriesGroupsTimeseriesGroupsRequestContentType = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesGroupsRequestContentTypeList = Array< AiTimeseriesGroupsTimeseriesGroupsRequestContentType | (string & {}) >; export const AiTimeseriesGroupsTimeseriesGroupsRequestContentTypeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsTimeseriesGroupsRequestContentType, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsRequestContinentList = Array; export const AiTimeseriesGroupsTimeseriesGroupsRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsRequestCrawlPurposeList = Array; export const AiTimeseriesGroupsTimeseriesGroupsRequestCrawlPurposeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsRequestDateEndList = Array; export const AiTimeseriesGroupsTimeseriesGroupsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsRequestDateRangeList = Array; export const AiTimeseriesGroupsTimeseriesGroupsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsRequestDateStartList = Array; export const AiTimeseriesGroupsTimeseriesGroupsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsRequestFormat = "JSON" | "CSV"; export const AiTimeseriesGroupsTimeseriesGroupsRequestFormat = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesGroupsRequestIndustryList = Array; export const AiTimeseriesGroupsTimeseriesGroupsRequestIndustryList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsRequestLocationList = Array; export const AiTimeseriesGroupsTimeseriesGroupsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsRequestNameList = Array; export const AiTimeseriesGroupsTimeseriesGroupsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsRequestNormalization = | "PERCENTAGE" | "MIN0_MAX" | "PERCENTAGE_CHANGE"; export const AiTimeseriesGroupsTimeseriesGroupsRequestNormalization = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesGroupsRequestResponseStatusList = Array; export const AiTimeseriesGroupsTimeseriesGroupsRequestResponseStatusList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsRequestResponseStatusCategory = | "INFORMATIONAL" | "SUCCESS" | "REDIRECTION" | "CLIENT_ERROR" | "SERVER_ERROR"; export const AiTimeseriesGroupsTimeseriesGroupsRequestResponseStatusCategory = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesGroupsRequestResponseStatusCategoryList = Array< | AiTimeseriesGroupsTimeseriesGroupsRequestResponseStatusCategory | (string & {}) >; export const AiTimeseriesGroupsTimeseriesGroupsRequestResponseStatusCategoryList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsTimeseriesGroupsRequestResponseStatusCategory, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsRequestUserAgentList = Array; export const AiTimeseriesGroupsTimeseriesGroupsRequestUserAgentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsRequestVerticalList = Array; export const AiTimeseriesGroupsTimeseriesGroupsRequestVerticalList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiTimeseriesGroupsTimeseriesGroupsRequest { /** Specifies the attribute by which to group the results. */ dimension: AiTimeseriesGroupsTimeseriesGroupsRequestDimension | (string & {}); /** 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/). */ aggInterval?: | AiTimeseriesGroupsTimeseriesGroupsRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AiTimeseriesGroupsTimeseriesGroupsRequestAsnList; /** Filters results by content type category. */ contentType?: AiTimeseriesGroupsTimeseriesGroupsRequestContentTypeList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AiTimeseriesGroupsTimeseriesGroupsRequestContinentList; /** Filters results by bot crawl purpose. */ crawlPurpose?: AiTimeseriesGroupsTimeseriesGroupsRequestCrawlPurposeList; /** End of the date range (inclusive). */ dateEnd?: AiTimeseriesGroupsTimeseriesGroupsRequestDateEndList; /** 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). */ dateRange?: AiTimeseriesGroupsTimeseriesGroupsRequestDateRangeList; /** Start of the date range. */ dateStart?: AiTimeseriesGroupsTimeseriesGroupsRequestDateStartList; /** Format in which results will be returned. */ format?: AiTimeseriesGroupsTimeseriesGroupsRequestFormat | (string & {}); /** Filters results by industry. */ industry?: AiTimeseriesGroupsTimeseriesGroupsRequestIndustryList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AiTimeseriesGroupsTimeseriesGroupsRequestLocationList; /** Array of names used to label the series in the response. */ name?: AiTimeseriesGroupsTimeseriesGroupsRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AiTimeseriesGroupsTimeseriesGroupsRequestNormalization | (string & {}); /** Filters results by HTTP response status code (e.g. 200, 403, 404). Only [IANA-registered codes](https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml) are accepted. */ responseStatus?: AiTimeseriesGroupsTimeseriesGroupsRequestResponseStatusList; /** Filters results by HTTP response status code category. */ responseStatusCategory?: AiTimeseriesGroupsTimeseriesGroupsRequestResponseStatusCategoryList; /** Filters results by user agent. */ userAgent?: AiTimeseriesGroupsTimeseriesGroupsRequestUserAgentList; /** Filters results by vertical. */ vertical?: AiTimeseriesGroupsTimeseriesGroupsRequestVerticalList; } export const AiTimeseriesGroupsTimeseriesGroupsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: AiTimeseriesGroupsTimeseriesGroupsRequestDimension.pipe( T.Label(), ), aggInterval: S.optional( AiTimeseriesGroupsTimeseriesGroupsRequestAggInterval.pipe(T.Query()), ), asn: S.optional( AiTimeseriesGroupsTimeseriesGroupsRequestAsnList.pipe(T.Query()), ), contentType: S.optional( AiTimeseriesGroupsTimeseriesGroupsRequestContentTypeList.pipe( T.Query(), ), ), continent: S.optional( AiTimeseriesGroupsTimeseriesGroupsRequestContinentList.pipe(T.Query()), ), crawlPurpose: S.optional( AiTimeseriesGroupsTimeseriesGroupsRequestCrawlPurposeList.pipe( T.Query(), ), ), dateEnd: S.optional( AiTimeseriesGroupsTimeseriesGroupsRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AiTimeseriesGroupsTimeseriesGroupsRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AiTimeseriesGroupsTimeseriesGroupsRequestDateStartList.pipe(T.Query()), ), format: S.optional( AiTimeseriesGroupsTimeseriesGroupsRequestFormat.pipe(T.Query()), ), industry: S.optional( AiTimeseriesGroupsTimeseriesGroupsRequestIndustryList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AiTimeseriesGroupsTimeseriesGroupsRequestLocationList.pipe(T.Query()), ), name: S.optional( AiTimeseriesGroupsTimeseriesGroupsRequestNameList.pipe(T.Query()), ), normalization: S.optional( AiTimeseriesGroupsTimeseriesGroupsRequestNormalization.pipe(T.Query()), ), responseStatus: S.optional( AiTimeseriesGroupsTimeseriesGroupsRequestResponseStatusList.pipe( T.Query(), ), ), responseStatusCategory: S.optional( AiTimeseriesGroupsTimeseriesGroupsRequestResponseStatusCategoryList.pipe( T.Query(), ), ), userAgent: S.optional( AiTimeseriesGroupsTimeseriesGroupsRequestUserAgentList.pipe(T.Query()), ), vertical: S.optional( AiTimeseriesGroupsTimeseriesGroupsRequestVerticalList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/ai/bots/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AiTimeseriesGroupsTimeseriesGroupsRequest", }) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AiTimeseriesGroupsTimeseriesGroupsResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = Array; export const AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfo { annotations: AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfo", }) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AiTimeseriesGroupsTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AiTimeseriesGroupsTimeseriesGroupsResponseMetaDateRangeList = Array; export const AiTimeseriesGroupsTimeseriesGroupsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AiTimeseriesGroupsTimeseriesGroupsResponseMetaNormalization = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AiTimeseriesGroupsTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AiTimeseriesGroupsTimeseriesGroupsResponseMetaUnitsList = Array; export const AiTimeseriesGroupsTimeseriesGroupsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AiTimeseriesGroupsTimeseriesGroupsResponseMeta { /** 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/). */ aggInterval: AiTimeseriesGroupsTimeseriesGroupsResponseMetaAggInterval; confidenceInfo: AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfo; dateRange: AiTimeseriesGroupsTimeseriesGroupsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AiTimeseriesGroupsTimeseriesGroupsResponseMetaNormalization; /** Measurement units for the results. */ units: AiTimeseriesGroupsTimeseriesGroupsResponseMetaUnitsList; } export const AiTimeseriesGroupsTimeseriesGroupsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AiTimeseriesGroupsTimeseriesGroupsResponseMetaAggInterval, confidenceInfo: AiTimeseriesGroupsTimeseriesGroupsResponseMetaConfidenceInfo, dateRange: AiTimeseriesGroupsTimeseriesGroupsResponseMetaDateRangeList, lastUpdated: S.String, normalization: AiTimeseriesGroupsTimeseriesGroupsResponseMetaNormalization, units: AiTimeseriesGroupsTimeseriesGroupsResponseMetaUnitsList, }), ).annotate({ identifier: "AiTimeseriesGroupsTimeseriesGroupsResponseMeta", }) as any as S.Schema; export type AiTimeseriesGroupsTimeseriesGroupsResponseSerie0TimestampsList = Array; export const AiTimeseriesGroupsTimeseriesGroupsResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiTimeseriesGroupsTimeseriesGroupsResponseSerie0 { timestamps: AiTimeseriesGroupsTimeseriesGroupsResponseSerie0TimestampsList; } export const AiTimeseriesGroupsTimeseriesGroupsResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: AiTimeseriesGroupsTimeseriesGroupsResponseSerie0TimestampsList, }), ).annotate({ identifier: "AiTimeseriesGroupsTimeseriesGroupsResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface AiTimeseriesGroupsTimeseriesGroupsResponse { /** Metadata for the results. */ meta: AiTimeseriesGroupsTimeseriesGroupsResponseMeta; serie_0: AiTimeseriesGroupsTimeseriesGroupsResponseSerie0; } export const AiTimeseriesGroupsTimeseriesGroupsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AiTimeseriesGroupsTimeseriesGroupsResponseMeta, serie_0: AiTimeseriesGroupsTimeseriesGroupsResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AiTimeseriesGroupsTimeseriesGroupsResponse", }) as any as S.Schema; export type EmailRoutingSummaryArcRequestDateEndList = Array; export const EmailRoutingSummaryArcRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryArcRequestDateRangeList = Array; export const EmailRoutingSummaryArcRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryArcRequestDateStartList = Array; export const EmailRoutingSummaryArcRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryArcRequestDkim = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryArcRequestDkim = /*@__PURE__*/ S.String; export type EmailRoutingSummaryArcRequestDkimList = Array< EmailRoutingSummaryArcRequestDkim | (string & {}) >; export const EmailRoutingSummaryArcRequestDkimList = /*@__PURE__*/ S.Array( EmailRoutingSummaryArcRequestDkim, ) as any as S.Schema; export type EmailRoutingSummaryArcRequestDmarc = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryArcRequestDmarc = /*@__PURE__*/ S.String; export type EmailRoutingSummaryArcRequestDmarcList = Array< EmailRoutingSummaryArcRequestDmarc | (string & {}) >; export const EmailRoutingSummaryArcRequestDmarcList = /*@__PURE__*/ S.Array( EmailRoutingSummaryArcRequestDmarc, ) as any as S.Schema; export type EmailRoutingSummaryArcRequestEncrypted = | "ENCRYPTED" | "NOT_ENCRYPTED"; export const EmailRoutingSummaryArcRequestEncrypted = /*@__PURE__*/ S.String; export type EmailRoutingSummaryArcRequestEncryptedList = Array< EmailRoutingSummaryArcRequestEncrypted | (string & {}) >; export const EmailRoutingSummaryArcRequestEncryptedList = /*@__PURE__*/ S.Array( EmailRoutingSummaryArcRequestEncrypted, ) as any as S.Schema; export type EmailRoutingSummaryArcRequestFormat = "JSON" | "CSV"; export const EmailRoutingSummaryArcRequestFormat = /*@__PURE__*/ S.String; export type EmailRoutingSummaryArcRequestIpVersion = "IPv4" | "IPv6"; export const EmailRoutingSummaryArcRequestIpVersion = /*@__PURE__*/ S.String; export type EmailRoutingSummaryArcRequestIpVersionList = Array< EmailRoutingSummaryArcRequestIpVersion | (string & {}) >; export const EmailRoutingSummaryArcRequestIpVersionList = /*@__PURE__*/ S.Array( EmailRoutingSummaryArcRequestIpVersion, ) as any as S.Schema; export type EmailRoutingSummaryArcRequestNameList = Array; export const EmailRoutingSummaryArcRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryArcRequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryArcRequestSpf = /*@__PURE__*/ S.String; export type EmailRoutingSummaryArcRequestSpfList = Array< EmailRoutingSummaryArcRequestSpf | (string & {}) >; export const EmailRoutingSummaryArcRequestSpfList = /*@__PURE__*/ S.Array( EmailRoutingSummaryArcRequestSpf, ) as any as S.Schema; export interface ArcEmailRoutingSummaryRequest { /** End of the date range (inclusive). */ dateEnd?: EmailRoutingSummaryArcRequestDateEndList; /** 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). */ dateRange?: EmailRoutingSummaryArcRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailRoutingSummaryArcRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailRoutingSummaryArcRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailRoutingSummaryArcRequestDmarcList; /** Filters results by encryption status (encrypted vs. not-encrypted). */ encrypted?: EmailRoutingSummaryArcRequestEncryptedList; /** Format in which results will be returned. */ format?: EmailRoutingSummaryArcRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: EmailRoutingSummaryArcRequestIpVersionList; /** Array of names used to label the series in the response. */ name?: EmailRoutingSummaryArcRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailRoutingSummaryArcRequestSpfList; } export const ArcEmailRoutingSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dateEnd: S.optional( EmailRoutingSummaryArcRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailRoutingSummaryArcRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailRoutingSummaryArcRequestDateStartList.pipe(T.Query()), ), dkim: S.optional(EmailRoutingSummaryArcRequestDkimList.pipe(T.Query())), dmarc: S.optional(EmailRoutingSummaryArcRequestDmarcList.pipe(T.Query())), encrypted: S.optional( EmailRoutingSummaryArcRequestEncryptedList.pipe(T.Query()), ), format: S.optional(EmailRoutingSummaryArcRequestFormat.pipe(T.Query())), ipVersion: S.optional( EmailRoutingSummaryArcRequestIpVersionList.pipe(T.Query()), ), name: S.optional(EmailRoutingSummaryArcRequestNameList.pipe(T.Query())), spf: S.optional(EmailRoutingSummaryArcRequestSpfList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/routing/summary/arc", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ArcEmailRoutingSummaryRequest", }) as any as S.Schema; export type EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailRoutingSummaryArcResponseMetaConfidenceInfo { annotations: EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailRoutingSummaryArcResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailRoutingSummaryArcResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailRoutingSummaryArcResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailRoutingSummaryArcResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailRoutingSummaryArcResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailRoutingSummaryArcResponseMetaDateRangeList = Array; export const EmailRoutingSummaryArcResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailRoutingSummaryArcResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailRoutingSummaryArcResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailRoutingSummaryArcResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailRoutingSummaryArcResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailRoutingSummaryArcResponseMetaUnitsList = Array; export const EmailRoutingSummaryArcResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailRoutingSummaryArcResponseMeta { confidenceInfo: EmailRoutingSummaryArcResponseMetaConfidenceInfo; dateRange: EmailRoutingSummaryArcResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailRoutingSummaryArcResponseMetaNormalization; /** Measurement units for the results. */ units: EmailRoutingSummaryArcResponseMetaUnitsList; } export const EmailRoutingSummaryArcResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: EmailRoutingSummaryArcResponseMetaConfidenceInfo, dateRange: EmailRoutingSummaryArcResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailRoutingSummaryArcResponseMetaNormalization, units: EmailRoutingSummaryArcResponseMetaUnitsList, }), ).annotate({ identifier: "EmailRoutingSummaryArcResponseMeta", }) as any as S.Schema; export interface EmailRoutingSummaryArcResponseSummary0 { /** A numeric string. */ fAIL: string; /** A numeric string. */ nONE: string; /** A numeric string. */ pASS: string; } export const EmailRoutingSummaryArcResponseSummary0 = /*@__PURE__*/ S.suspend( () => S.Struct({ fAIL: S.String.pipe(T.Body("FAIL")), nONE: S.String.pipe(T.Body("NONE")), pASS: S.String.pipe(T.Body("PASS")), }), ).annotate({ identifier: "EmailRoutingSummaryArcResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ArcEmailRoutingSummaryResponse { /** Metadata for the results. */ meta: EmailRoutingSummaryArcResponseMeta; summary_0: EmailRoutingSummaryArcResponseSummary0; } export const ArcEmailRoutingSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailRoutingSummaryArcResponseMeta, summary_0: EmailRoutingSummaryArcResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ArcEmailRoutingSummaryResponse", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsArcRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const EmailRoutingTimeseriesGroupsArcRequestAggInterval = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsArcRequestDateEndList = Array; export const EmailRoutingTimeseriesGroupsArcRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsArcRequestDateRangeList = Array; export const EmailRoutingTimeseriesGroupsArcRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsArcRequestDateStartList = Array; export const EmailRoutingTimeseriesGroupsArcRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsArcRequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsArcRequestDkim = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsArcRequestDkimList = Array< EmailRoutingTimeseriesGroupsArcRequestDkim | (string & {}) >; export const EmailRoutingTimeseriesGroupsArcRequestDkimList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsArcRequestDkim, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsArcRequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsArcRequestDmarc = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsArcRequestDmarcList = Array< EmailRoutingTimeseriesGroupsArcRequestDmarc | (string & {}) >; export const EmailRoutingTimeseriesGroupsArcRequestDmarcList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsArcRequestDmarc, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsArcRequestEncrypted = | "ENCRYPTED" | "NOT_ENCRYPTED"; export const EmailRoutingTimeseriesGroupsArcRequestEncrypted = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsArcRequestEncryptedList = Array< EmailRoutingTimeseriesGroupsArcRequestEncrypted | (string & {}) >; export const EmailRoutingTimeseriesGroupsArcRequestEncryptedList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsArcRequestEncrypted, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsArcRequestFormat = "JSON" | "CSV"; export const EmailRoutingTimeseriesGroupsArcRequestFormat = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsArcRequestIpVersion = "IPv4" | "IPv6"; export const EmailRoutingTimeseriesGroupsArcRequestIpVersion = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsArcRequestIpVersionList = Array< EmailRoutingTimeseriesGroupsArcRequestIpVersion | (string & {}) >; export const EmailRoutingTimeseriesGroupsArcRequestIpVersionList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsArcRequestIpVersion, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsArcRequestNameList = Array; export const EmailRoutingTimeseriesGroupsArcRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsArcRequestSpf = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsArcRequestSpf = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsArcRequestSpfList = Array< EmailRoutingTimeseriesGroupsArcRequestSpf | (string & {}) >; export const EmailRoutingTimeseriesGroupsArcRequestSpfList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsArcRequestSpf, ) as any as S.Schema; export interface ArcEmailRoutingTimeseriesGroupRequest { /** 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/). */ aggInterval?: | EmailRoutingTimeseriesGroupsArcRequestAggInterval | (string & {}); /** End of the date range (inclusive). */ dateEnd?: EmailRoutingTimeseriesGroupsArcRequestDateEndList; /** 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). */ dateRange?: EmailRoutingTimeseriesGroupsArcRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailRoutingTimeseriesGroupsArcRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailRoutingTimeseriesGroupsArcRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailRoutingTimeseriesGroupsArcRequestDmarcList; /** Filters results by encryption status (encrypted vs. not-encrypted). */ encrypted?: EmailRoutingTimeseriesGroupsArcRequestEncryptedList; /** Format in which results will be returned. */ format?: EmailRoutingTimeseriesGroupsArcRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: EmailRoutingTimeseriesGroupsArcRequestIpVersionList; /** Array of names used to label the series in the response. */ name?: EmailRoutingTimeseriesGroupsArcRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailRoutingTimeseriesGroupsArcRequestSpfList; } export const ArcEmailRoutingTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( EmailRoutingTimeseriesGroupsArcRequestAggInterval.pipe(T.Query()), ), dateEnd: S.optional( EmailRoutingTimeseriesGroupsArcRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailRoutingTimeseriesGroupsArcRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailRoutingTimeseriesGroupsArcRequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailRoutingTimeseriesGroupsArcRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailRoutingTimeseriesGroupsArcRequestDmarcList.pipe(T.Query()), ), encrypted: S.optional( EmailRoutingTimeseriesGroupsArcRequestEncryptedList.pipe(T.Query()), ), format: S.optional( EmailRoutingTimeseriesGroupsArcRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( EmailRoutingTimeseriesGroupsArcRequestIpVersionList.pipe(T.Query()), ), name: S.optional( EmailRoutingTimeseriesGroupsArcRequestNameList.pipe(T.Query()), ), spf: S.optional( EmailRoutingTimeseriesGroupsArcRequestSpfList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/routing/timeseries_groups/arc", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ArcEmailRoutingTimeseriesGroupRequest", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsArcResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const EmailRoutingTimeseriesGroupsArcResponseMetaAggInterval = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfo { annotations: EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsArcResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailRoutingTimeseriesGroupsArcResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailRoutingTimeseriesGroupsArcResponseMetaDateRangeList = Array; export const EmailRoutingTimeseriesGroupsArcResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsArcResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailRoutingTimeseriesGroupsArcResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsArcResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailRoutingTimeseriesGroupsArcResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailRoutingTimeseriesGroupsArcResponseMetaUnitsList = Array; export const EmailRoutingTimeseriesGroupsArcResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsArcResponseMeta { /** 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/). */ aggInterval: EmailRoutingTimeseriesGroupsArcResponseMetaAggInterval; confidenceInfo: EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfo; dateRange: EmailRoutingTimeseriesGroupsArcResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailRoutingTimeseriesGroupsArcResponseMetaNormalization; /** Measurement units for the results. */ units: EmailRoutingTimeseriesGroupsArcResponseMetaUnitsList; } export const EmailRoutingTimeseriesGroupsArcResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: EmailRoutingTimeseriesGroupsArcResponseMetaAggInterval, confidenceInfo: EmailRoutingTimeseriesGroupsArcResponseMetaConfidenceInfo, dateRange: EmailRoutingTimeseriesGroupsArcResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailRoutingTimeseriesGroupsArcResponseMetaNormalization, units: EmailRoutingTimeseriesGroupsArcResponseMetaUnitsList, }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsArcResponseMeta", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsArcResponseSerie0FAILList = Array; export const EmailRoutingTimeseriesGroupsArcResponseSerie0FAILList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsArcResponseSerie0NONEList = Array; export const EmailRoutingTimeseriesGroupsArcResponseSerie0NONEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsArcResponseSerie0PASSList = Array; export const EmailRoutingTimeseriesGroupsArcResponseSerie0PASSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsArcResponseSerie0 { fAIL: EmailRoutingTimeseriesGroupsArcResponseSerie0FAILList; nONE: EmailRoutingTimeseriesGroupsArcResponseSerie0NONEList; pASS: EmailRoutingTimeseriesGroupsArcResponseSerie0PASSList; } export const EmailRoutingTimeseriesGroupsArcResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ fAIL: EmailRoutingTimeseriesGroupsArcResponseSerie0FAILList.pipe( T.Body("FAIL"), ), nONE: EmailRoutingTimeseriesGroupsArcResponseSerie0NONEList.pipe( T.Body("NONE"), ), pASS: EmailRoutingTimeseriesGroupsArcResponseSerie0PASSList.pipe( T.Body("PASS"), ), }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsArcResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ArcEmailRoutingTimeseriesGroupResponse { /** Metadata for the results. */ meta: EmailRoutingTimeseriesGroupsArcResponseMeta; serie_0: EmailRoutingTimeseriesGroupsArcResponseSerie0; } export const ArcEmailRoutingTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: EmailRoutingTimeseriesGroupsArcResponseMeta, serie_0: EmailRoutingTimeseriesGroupsArcResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ArcEmailRoutingTimeseriesGroupResponse", }) as any as S.Schema; export type EmailSecuritySummaryArcRequestDateEndList = Array; export const EmailSecuritySummaryArcRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryArcRequestDateRangeList = Array; export const EmailSecuritySummaryArcRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryArcRequestDateStartList = Array; export const EmailSecuritySummaryArcRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryArcRequestDkim = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryArcRequestDkim = /*@__PURE__*/ S.String; export type EmailSecuritySummaryArcRequestDkimList = Array< EmailSecuritySummaryArcRequestDkim | (string & {}) >; export const EmailSecuritySummaryArcRequestDkimList = /*@__PURE__*/ S.Array( EmailSecuritySummaryArcRequestDkim, ) as any as S.Schema; export type EmailSecuritySummaryArcRequestDmarc = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryArcRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecuritySummaryArcRequestDmarcList = Array< EmailSecuritySummaryArcRequestDmarc | (string & {}) >; export const EmailSecuritySummaryArcRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecuritySummaryArcRequestDmarc, ) as any as S.Schema; export type EmailSecuritySummaryArcRequestFormat = "JSON" | "CSV"; export const EmailSecuritySummaryArcRequestFormat = /*@__PURE__*/ S.String; export type EmailSecuritySummaryArcRequestNameList = Array; export const EmailSecuritySummaryArcRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryArcRequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryArcRequestSpf = /*@__PURE__*/ S.String; export type EmailSecuritySummaryArcRequestSpfList = Array< EmailSecuritySummaryArcRequestSpf | (string & {}) >; export const EmailSecuritySummaryArcRequestSpfList = /*@__PURE__*/ S.Array( EmailSecuritySummaryArcRequestSpf, ) as any as S.Schema; export type EmailSecuritySummaryArcRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecuritySummaryArcRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecuritySummaryArcRequestTlsVersionList = Array< EmailSecuritySummaryArcRequestTlsVersion | (string & {}) >; export const EmailSecuritySummaryArcRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecuritySummaryArcRequestTlsVersion, ) as any as S.Schema; export interface ArcEmailSecuritySummaryRequest { /** End of the date range (inclusive). */ dateEnd?: EmailSecuritySummaryArcRequestDateEndList; /** 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). */ dateRange?: EmailSecuritySummaryArcRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecuritySummaryArcRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecuritySummaryArcRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecuritySummaryArcRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecuritySummaryArcRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecuritySummaryArcRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecuritySummaryArcRequestSpfList; /** Filters results by TLS version. */ tlsVersion?: EmailSecuritySummaryArcRequestTlsVersionList; } export const ArcEmailSecuritySummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dateEnd: S.optional( EmailSecuritySummaryArcRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecuritySummaryArcRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecuritySummaryArcRequestDateStartList.pipe(T.Query()), ), dkim: S.optional(EmailSecuritySummaryArcRequestDkimList.pipe(T.Query())), dmarc: S.optional(EmailSecuritySummaryArcRequestDmarcList.pipe(T.Query())), format: S.optional(EmailSecuritySummaryArcRequestFormat.pipe(T.Query())), name: S.optional(EmailSecuritySummaryArcRequestNameList.pipe(T.Query())), spf: S.optional(EmailSecuritySummaryArcRequestSpfList.pipe(T.Query())), tlsVersion: S.optional( EmailSecuritySummaryArcRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/summary/arc", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ArcEmailSecuritySummaryRequest", }) as any as S.Schema; export type EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecuritySummaryArcResponseMetaConfidenceInfo { annotations: EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecuritySummaryArcResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecuritySummaryArcResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecuritySummaryArcResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecuritySummaryArcResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecuritySummaryArcResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecuritySummaryArcResponseMetaDateRangeList = Array; export const EmailSecuritySummaryArcResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecuritySummaryArcResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecuritySummaryArcResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecuritySummaryArcResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecuritySummaryArcResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecuritySummaryArcResponseMetaUnitsList = Array; export const EmailSecuritySummaryArcResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecuritySummaryArcResponseMeta { confidenceInfo: EmailSecuritySummaryArcResponseMetaConfidenceInfo; dateRange: EmailSecuritySummaryArcResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecuritySummaryArcResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecuritySummaryArcResponseMetaUnitsList; } export const EmailSecuritySummaryArcResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: EmailSecuritySummaryArcResponseMetaConfidenceInfo, dateRange: EmailSecuritySummaryArcResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecuritySummaryArcResponseMetaNormalization, units: EmailSecuritySummaryArcResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecuritySummaryArcResponseMeta", }) as any as S.Schema; export type EmailSecuritySummaryArcResponseSummary0 = EmailRoutingSummaryArcResponseSummary0; export const EmailSecuritySummaryArcResponseSummary0 = EmailRoutingSummaryArcResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ArcEmailSecuritySummaryResponse { /** Metadata for the results. */ meta: EmailSecuritySummaryArcResponseMeta; summary_0: EmailRoutingSummaryArcResponseSummary0; } export const ArcEmailSecuritySummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailSecuritySummaryArcResponseMeta, summary_0: EmailRoutingSummaryArcResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ArcEmailSecuritySummaryResponse", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsArcRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const EmailSecurityTimeseriesGroupsArcRequestAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsArcRequestDateEndList = Array; export const EmailSecurityTimeseriesGroupsArcRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsArcRequestDateRangeList = Array; export const EmailSecurityTimeseriesGroupsArcRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsArcRequestDateStartList = Array; export const EmailSecurityTimeseriesGroupsArcRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsArcRequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsArcRequestDkim = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsArcRequestDkimList = Array< EmailSecurityTimeseriesGroupsArcRequestDkim | (string & {}) >; export const EmailSecurityTimeseriesGroupsArcRequestDkimList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsArcRequestDkim, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsArcRequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsArcRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsArcRequestDmarcList = Array< EmailSecurityTimeseriesGroupsArcRequestDmarc | (string & {}) >; export const EmailSecurityTimeseriesGroupsArcRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsArcRequestDmarc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsArcRequestFormat = "JSON" | "CSV"; export const EmailSecurityTimeseriesGroupsArcRequestFormat = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsArcRequestNameList = Array; export const EmailSecurityTimeseriesGroupsArcRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsArcRequestSpf = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsArcRequestSpf = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsArcRequestSpfList = Array< EmailSecurityTimeseriesGroupsArcRequestSpf | (string & {}) >; export const EmailSecurityTimeseriesGroupsArcRequestSpfList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsArcRequestSpf, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsArcRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecurityTimeseriesGroupsArcRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsArcRequestTlsVersionList = Array< EmailSecurityTimeseriesGroupsArcRequestTlsVersion | (string & {}) >; export const EmailSecurityTimeseriesGroupsArcRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsArcRequestTlsVersion, ) as any as S.Schema; export interface ArcEmailSecurityTimeseriesGroupRequest { /** 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/). */ aggInterval?: | EmailSecurityTimeseriesGroupsArcRequestAggInterval | (string & {}); /** End of the date range (inclusive). */ dateEnd?: EmailSecurityTimeseriesGroupsArcRequestDateEndList; /** 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). */ dateRange?: EmailSecurityTimeseriesGroupsArcRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecurityTimeseriesGroupsArcRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecurityTimeseriesGroupsArcRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecurityTimeseriesGroupsArcRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecurityTimeseriesGroupsArcRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecurityTimeseriesGroupsArcRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecurityTimeseriesGroupsArcRequestSpfList; /** Filters results by TLS version. */ tlsVersion?: EmailSecurityTimeseriesGroupsArcRequestTlsVersionList; } export const ArcEmailSecurityTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( EmailSecurityTimeseriesGroupsArcRequestAggInterval.pipe(T.Query()), ), dateEnd: S.optional( EmailSecurityTimeseriesGroupsArcRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecurityTimeseriesGroupsArcRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecurityTimeseriesGroupsArcRequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailSecurityTimeseriesGroupsArcRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailSecurityTimeseriesGroupsArcRequestDmarcList.pipe(T.Query()), ), format: S.optional( EmailSecurityTimeseriesGroupsArcRequestFormat.pipe(T.Query()), ), name: S.optional( EmailSecurityTimeseriesGroupsArcRequestNameList.pipe(T.Query()), ), spf: S.optional( EmailSecurityTimeseriesGroupsArcRequestSpfList.pipe(T.Query()), ), tlsVersion: S.optional( EmailSecurityTimeseriesGroupsArcRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/timeseries_groups/arc", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ArcEmailSecurityTimeseriesGroupRequest", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsArcResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const EmailSecurityTimeseriesGroupsArcResponseMetaAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfo { annotations: EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsArcResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecurityTimeseriesGroupsArcResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecurityTimeseriesGroupsArcResponseMetaDateRangeList = Array; export const EmailSecurityTimeseriesGroupsArcResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsArcResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecurityTimeseriesGroupsArcResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsArcResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecurityTimeseriesGroupsArcResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecurityTimeseriesGroupsArcResponseMetaUnitsList = Array; export const EmailSecurityTimeseriesGroupsArcResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsArcResponseMeta { /** 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/). */ aggInterval: EmailSecurityTimeseriesGroupsArcResponseMetaAggInterval; confidenceInfo: EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfo; dateRange: EmailSecurityTimeseriesGroupsArcResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecurityTimeseriesGroupsArcResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecurityTimeseriesGroupsArcResponseMetaUnitsList; } export const EmailSecurityTimeseriesGroupsArcResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: EmailSecurityTimeseriesGroupsArcResponseMetaAggInterval, confidenceInfo: EmailSecurityTimeseriesGroupsArcResponseMetaConfidenceInfo, dateRange: EmailSecurityTimeseriesGroupsArcResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecurityTimeseriesGroupsArcResponseMetaNormalization, units: EmailSecurityTimeseriesGroupsArcResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsArcResponseMeta", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsArcResponseSerie0FAILList = Array; export const EmailSecurityTimeseriesGroupsArcResponseSerie0FAILList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsArcResponseSerie0NONEList = Array; export const EmailSecurityTimeseriesGroupsArcResponseSerie0NONEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsArcResponseSerie0PASSList = Array; export const EmailSecurityTimeseriesGroupsArcResponseSerie0PASSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsArcResponseSerie0 { fAIL: EmailSecurityTimeseriesGroupsArcResponseSerie0FAILList; nONE: EmailSecurityTimeseriesGroupsArcResponseSerie0NONEList; pASS: EmailSecurityTimeseriesGroupsArcResponseSerie0PASSList; } export const EmailSecurityTimeseriesGroupsArcResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ fAIL: EmailSecurityTimeseriesGroupsArcResponseSerie0FAILList.pipe( T.Body("FAIL"), ), nONE: EmailSecurityTimeseriesGroupsArcResponseSerie0NONEList.pipe( T.Body("NONE"), ), pASS: EmailSecurityTimeseriesGroupsArcResponseSerie0PASSList.pipe( T.Body("PASS"), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsArcResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ArcEmailSecurityTimeseriesGroupResponse { /** Metadata for the results. */ meta: EmailSecurityTimeseriesGroupsArcResponseMeta; serie_0: EmailSecurityTimeseriesGroupsArcResponseSerie0; } export const ArcEmailSecurityTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: EmailSecurityTimeseriesGroupsArcResponseMeta, serie_0: EmailSecurityTimeseriesGroupsArcResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ArcEmailSecurityTimeseriesGroupResponse", }) as any as S.Schema; export type BgpIpsTopAsesRequestFormat = "JSON" | "CSV"; export const BgpIpsTopAsesRequestFormat = /*@__PURE__*/ S.String; export type BgpIpsTopAsesRequestMetric = "v4_24s" | "v6_48s"; export const BgpIpsTopAsesRequestMetric = /*@__PURE__*/ S.String; export interface AsesBgpIpTopRequest { /** Optional ISO 3166-1 alpha-2 country filter. Omit for global top-N. */ country?: string; /** Filters results by the specified datetime (ISO 8601). */ date?: string; /** Format in which results will be returned. */ format?: BgpIpsTopAsesRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Ranking metric: IPv4 /24 count or IPv6 /48 count. */ metric?: BgpIpsTopAsesRequestMetric | (string & {}); } export const AsesBgpIpTopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ country: S.optional(S.String.pipe(T.Query())), date: S.optional(S.String.pipe(T.Query())), format: S.optional(BgpIpsTopAsesRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), metric: S.optional(BgpIpsTopAsesRequestMetric.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/bgp/ips/top/ases", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AsesBgpIpTopRequest", }) as any as S.Schema; export interface BgpIpsTopAsesResponseAsnsItem { asn: number; v4_24s: number; v6_48s: number; } export const BgpIpsTopAsesResponseAsnsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.Number, v4_24s: S.Number, v6_48s: S.Number, }), ).annotate({ identifier: "BgpIpsTopAsesResponseAsnsItem", }) as any as S.Schema; export type BgpIpsTopAsesResponseAsnsList = Array; export const BgpIpsTopAsesResponseAsnsList = /*@__PURE__*/ S.Array( BgpIpsTopAsesResponseAsnsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface AsesBgpIpTopResponse { anchorTs: string; asns: BgpIpsTopAsesResponseAsnsList; country: string; metric: string; } export const AsesBgpIpTopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ anchorTs: S.String, asns: BgpIpsTopAsesResponseAsnsList, country: S.String, metric: S.String, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AsesBgpIpTopResponse", }) as any as S.Schema; export type BgpRoutesAsesRequestFormat = "JSON" | "CSV"; export const BgpRoutesAsesRequestFormat = /*@__PURE__*/ S.String; export type BgpRoutesAsesRequestSortBy = | "cone" | "pfxs" | "ipv4" | "ipv6" | "rpki_valid" | "rpki_invalid" | "rpki_unknown"; export const BgpRoutesAsesRequestSortBy = /*@__PURE__*/ S.String; export type BgpRoutesAsesRequestSortOrder = "ASC" | "DESC"; export const BgpRoutesAsesRequestSortOrder = /*@__PURE__*/ S.String; export interface AsesBgpRouteRequest { /** Format in which results will be returned. */ format?: BgpRoutesAsesRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify an alpha-2 location code. */ location?: string; /** Sorts results by the specified field. */ sortBy?: BgpRoutesAsesRequestSortBy | (string & {}); /** Sort order. */ sortOrder?: BgpRoutesAsesRequestSortOrder | (string & {}); } export const AsesBgpRouteRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ format: S.optional(BgpRoutesAsesRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(S.String.pipe(T.Query())), sortBy: S.optional(BgpRoutesAsesRequestSortBy.pipe(T.Query())), sortOrder: S.optional(BgpRoutesAsesRequestSortOrder.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/bgp/routes/ases", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AsesBgpRouteRequest", }) as any as S.Schema; export interface BgpRoutesAsesResponseAsnsItem { asn: number; /** AS's customer cone size. */ coneSize: number; /** Alpha-2 code for the AS's registration country. */ country: string; /** Number of IPv4 addresses originated by the AS. */ ipv4Count: number; /** Number of IPv6 addresses originated by the AS. */ ipv6Count: string; /** Name of the AS. */ name: string; /** Number of total IP prefixes originated by the AS. */ pfxsCount: number; /** Number of RPKI invalid prefixes originated by the AS. */ rpkiInvalid: number; /** Number of RPKI unknown prefixes originated by the AS. */ rpkiUnknown: number; /** Number of RPKI valid prefixes originated by the AS. */ rpkiValid: number; } export const BgpRoutesAsesResponseAsnsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.Number, coneSize: S.Number, country: S.String, ipv4Count: S.Number, ipv6Count: S.String, name: S.String, pfxsCount: S.Number, rpkiInvalid: S.Number, rpkiUnknown: S.Number, rpkiValid: S.Number, }), ).annotate({ identifier: "BgpRoutesAsesResponseAsnsItem", }) as any as S.Schema; export type BgpRoutesAsesResponseAsnsList = Array; export const BgpRoutesAsesResponseAsnsList = /*@__PURE__*/ S.Array( BgpRoutesAsesResponseAsnsItem, ) as any as S.Schema; export interface BgpRoutesAsesResponseMeta { /** The timestamp of when the data is generated. */ dataTime: string; /** The timestamp of the query. */ queryTime: string; /** Total number of route collector peers used to generate this data. */ totalPeers: number; } export const BgpRoutesAsesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ dataTime: S.String, queryTime: S.String, totalPeers: S.Number, }), ).annotate({ identifier: "BgpRoutesAsesResponseMeta", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface AsesBgpRouteResponse { asns: BgpRoutesAsesResponseAsnsList; meta: BgpRoutesAsesResponseMeta; } export const AsesBgpRouteResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ asns: BgpRoutesAsesResponseAsnsList, meta: BgpRoutesAsesResponseMeta, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AsesBgpRouteResponse", }) as any as S.Schema; export type DnsTopAsesRequestAsnList = Array; export const DnsTopAsesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTopAsesRequestCacheHitList = Array; export const DnsTopAsesRequestCacheHitList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTopAsesRequestContinentList = Array; export const DnsTopAsesRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTopAsesRequestDateEndList = Array; export const DnsTopAsesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTopAsesRequestDateRangeList = Array; export const DnsTopAsesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTopAsesRequestDateStartList = Array; export const DnsTopAsesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTopAsesRequestDnssec = | "INVALID" | "INSECURE" | "SECURE" | "OTHER"; export const DnsTopAsesRequestDnssec = /*@__PURE__*/ S.String; export type DnsTopAsesRequestDnssecList = Array< DnsTopAsesRequestDnssec | (string & {}) >; export const DnsTopAsesRequestDnssecList = /*@__PURE__*/ S.Array( DnsTopAsesRequestDnssec, ) as any as S.Schema; export type DnsTopAsesRequestDnssecAware = "SUPPORTED" | "NOT_SUPPORTED"; export const DnsTopAsesRequestDnssecAware = /*@__PURE__*/ S.String; export type DnsTopAsesRequestDnssecAwareList = Array< DnsTopAsesRequestDnssecAware | (string & {}) >; export const DnsTopAsesRequestDnssecAwareList = /*@__PURE__*/ S.Array( DnsTopAsesRequestDnssecAware, ) as any as S.Schema; export type DnsTopAsesRequestDnssecE2eList = Array; export const DnsTopAsesRequestDnssecE2eList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTopAsesRequestDomainList = Array; export const DnsTopAsesRequestDomainList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTopAsesRequestFormat = "JSON" | "CSV"; export const DnsTopAsesRequestFormat = /*@__PURE__*/ S.String; export type DnsTopAsesRequestIpVersion = "IPv4" | "IPv6"; export const DnsTopAsesRequestIpVersion = /*@__PURE__*/ S.String; export type DnsTopAsesRequestIpVersionList = Array< DnsTopAsesRequestIpVersion | (string & {}) >; export const DnsTopAsesRequestIpVersionList = /*@__PURE__*/ S.Array( DnsTopAsesRequestIpVersion, ) as any as S.Schema; export type DnsTopAsesRequestLocationList = Array; export const DnsTopAsesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTopAsesRequestMatchingAnswerList = Array; export const DnsTopAsesRequestMatchingAnswerList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTopAsesRequestNameList = Array; export const DnsTopAsesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTopAsesRequestNodataList = Array; export const DnsTopAsesRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTopAsesRequestProtocol = "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsTopAsesRequestProtocol = /*@__PURE__*/ S.String; export type DnsTopAsesRequestProtocolList = Array< DnsTopAsesRequestProtocol | (string & {}) >; export const DnsTopAsesRequestProtocolList = /*@__PURE__*/ S.Array( DnsTopAsesRequestProtocol, ) as any as S.Schema; export type DnsTopAsesRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsTopAsesRequestQueryType = /*@__PURE__*/ S.String; export type DnsTopAsesRequestQueryTypeList = Array< DnsTopAsesRequestQueryType | (string & {}) >; export const DnsTopAsesRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsTopAsesRequestQueryType, ) as any as S.Schema; export type DnsTopAsesRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsTopAsesRequestResponseCode = /*@__PURE__*/ S.String; export type DnsTopAsesRequestResponseCodeList = Array< DnsTopAsesRequestResponseCode | (string & {}) >; export const DnsTopAsesRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsTopAsesRequestResponseCode, ) as any as S.Schema; export type DnsTopAsesRequestResponseTtl = | "LTE_1M" | "GT_1M_LTE_5M" | "GT_5M_LTE_15M" | "GT_15M_LTE_1H" | "GT_1H_LTE_1D" | "GT_1D_LTE_1W" | "GT_1W"; export const DnsTopAsesRequestResponseTtl = /*@__PURE__*/ S.String; export type DnsTopAsesRequestResponseTtlList = Array< DnsTopAsesRequestResponseTtl | (string & {}) >; export const DnsTopAsesRequestResponseTtlList = /*@__PURE__*/ S.Array( DnsTopAsesRequestResponseTtl, ) as any as S.Schema; export interface AsesDnsTopRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsTopAsesRequestAsnList; /** Filters results based on cache status. */ cacheHit?: DnsTopAsesRequestCacheHitList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsTopAsesRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsTopAsesRequestDateEndList; /** 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). */ dateRange?: DnsTopAsesRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsTopAsesRequestDateStartList; /** Filters results based on DNSSEC (DNS Security Extensions) support. */ dnssec?: DnsTopAsesRequestDnssecList; /** Filters results based on DNSSEC (DNS Security Extensions) client awareness. */ dnssecAware?: DnsTopAsesRequestDnssecAwareList; /** Filters results based on DNSSEC-validated answers by end-to-end security status. */ dnssecE2e?: DnsTopAsesRequestDnssecE2eList; /** Filters results by domain name. */ domain?: DnsTopAsesRequestDomainList; /** Format in which results will be returned. */ format?: DnsTopAsesRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: DnsTopAsesRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsTopAsesRequestLocationList; /** Filters results based on whether the queries have a matching answer. */ matchingAnswer?: DnsTopAsesRequestMatchingAnswerList; /** Array of names used to label the series in the response. */ name?: DnsTopAsesRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsTopAsesRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsTopAsesRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsTopAsesRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsTopAsesRequestResponseCodeList; /** Filters results by DNS response TTL. */ responseTtl?: DnsTopAsesRequestResponseTtlList; } export const AsesDnsTopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(DnsTopAsesRequestAsnList.pipe(T.Query())), cacheHit: S.optional(DnsTopAsesRequestCacheHitList.pipe(T.Query())), continent: S.optional(DnsTopAsesRequestContinentList.pipe(T.Query())), dateEnd: S.optional(DnsTopAsesRequestDateEndList.pipe(T.Query())), dateRange: S.optional(DnsTopAsesRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(DnsTopAsesRequestDateStartList.pipe(T.Query())), dnssec: S.optional(DnsTopAsesRequestDnssecList.pipe(T.Query())), dnssecAware: S.optional(DnsTopAsesRequestDnssecAwareList.pipe(T.Query())), dnssecE2e: S.optional(DnsTopAsesRequestDnssecE2eList.pipe(T.Query())), domain: S.optional(DnsTopAsesRequestDomainList.pipe(T.Query())), format: S.optional(DnsTopAsesRequestFormat.pipe(T.Query())), ipVersion: S.optional(DnsTopAsesRequestIpVersionList.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(DnsTopAsesRequestLocationList.pipe(T.Query())), matchingAnswer: S.optional( DnsTopAsesRequestMatchingAnswerList.pipe(T.Query()), ), name: S.optional(DnsTopAsesRequestNameList.pipe(T.Query())), nodata: S.optional(DnsTopAsesRequestNodataList.pipe(T.Query())), protocol: S.optional(DnsTopAsesRequestProtocolList.pipe(T.Query())), queryType: S.optional(DnsTopAsesRequestQueryTypeList.pipe(T.Query())), responseCode: S.optional(DnsTopAsesRequestResponseCodeList.pipe(T.Query())), responseTtl: S.optional(DnsTopAsesRequestResponseTtlList.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/dns/top/ases", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AsesDnsTopRequest", }) as any as S.Schema; export type DnsTopAsesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsTopAsesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsTopAsesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsTopAsesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsTopAsesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsTopAsesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTopAsesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsTopAsesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsTopAsesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsTopAsesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsTopAsesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsTopAsesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsTopAsesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr(DnsTopAsesResponseMetaConfidenceInfoAnnotationsItemTagsList), ), }), ).annotate({ identifier: "DnsTopAsesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsTopAsesResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsTopAsesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsTopAsesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsTopAsesResponseMetaConfidenceInfo { annotations: DnsTopAsesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsTopAsesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: DnsTopAsesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsTopAsesResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsTopAsesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsTopAsesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsTopAsesResponseMetaDateRangeList = Array; export const DnsTopAsesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsTopAsesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsTopAsesResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsTopAsesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsTopAsesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsTopAsesResponseMetaUnitsList = Array; export const DnsTopAsesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsTopAsesResponseMeta { confidenceInfo: DnsTopAsesResponseMetaConfidenceInfo; dateRange: DnsTopAsesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsTopAsesResponseMetaNormalization; /** Measurement units for the results. */ units: DnsTopAsesResponseMetaUnitsList; } export const DnsTopAsesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: DnsTopAsesResponseMetaConfidenceInfo, dateRange: DnsTopAsesResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsTopAsesResponseMetaNormalization, units: DnsTopAsesResponseMetaUnitsList, }), ).annotate({ identifier: "DnsTopAsesResponseMeta", }) as any as S.Schema; export interface DnsTopAsesResponseTop0Item { clientASN: number; clientASName: string; /** A numeric string. */ value: string; } export const DnsTopAsesResponseTop0Item = /*@__PURE__*/ S.suspend(() => S.Struct({ clientASN: S.Number, clientASName: S.String, value: S.String, }), ).annotate({ identifier: "DnsTopAsesResponseTop0Item", }) as any as S.Schema; export type DnsTopAsesResponseTop0List = Array; export const DnsTopAsesResponseTop0List = /*@__PURE__*/ S.Array( DnsTopAsesResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface AsesDnsTopResponse { /** Metadata for the results. */ meta: DnsTopAsesResponseMeta; top_0: DnsTopAsesResponseTop0List; } export const AsesDnsTopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsTopAsesResponseMeta, top_0: DnsTopAsesResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AsesDnsTopResponse", }) as any as S.Schema; export type NetflowsTopAsesRequestAsnList = Array; export const NetflowsTopAsesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTopAsesRequestContinentList = Array; export const NetflowsTopAsesRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTopAsesRequestDateEndList = Array; export const NetflowsTopAsesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTopAsesRequestDateRangeList = Array; export const NetflowsTopAsesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTopAsesRequestDateStartList = Array; export const NetflowsTopAsesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTopAsesRequestFormat = "JSON" | "CSV"; export const NetflowsTopAsesRequestFormat = /*@__PURE__*/ S.String; export type NetflowsTopAsesRequestGeoIdList = Array; export const NetflowsTopAsesRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTopAsesRequestLocationList = Array; export const NetflowsTopAsesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTopAsesRequestNameList = Array; export const NetflowsTopAsesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AsesNetflowTopRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: NetflowsTopAsesRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: NetflowsTopAsesRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: NetflowsTopAsesRequestDateEndList; /** 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). */ dateRange?: NetflowsTopAsesRequestDateRangeList; /** Start of the date range. */ dateStart?: NetflowsTopAsesRequestDateStartList; /** Format in which results will be returned. */ format?: NetflowsTopAsesRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: NetflowsTopAsesRequestGeoIdList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: NetflowsTopAsesRequestLocationList; /** Array of names used to label the series in the response. */ name?: NetflowsTopAsesRequestNameList; } export const AsesNetflowTopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(NetflowsTopAsesRequestAsnList.pipe(T.Query())), continent: S.optional(NetflowsTopAsesRequestContinentList.pipe(T.Query())), dateEnd: S.optional(NetflowsTopAsesRequestDateEndList.pipe(T.Query())), dateRange: S.optional(NetflowsTopAsesRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(NetflowsTopAsesRequestDateStartList.pipe(T.Query())), format: S.optional(NetflowsTopAsesRequestFormat.pipe(T.Query())), geoId: S.optional(NetflowsTopAsesRequestGeoIdList.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(NetflowsTopAsesRequestLocationList.pipe(T.Query())), name: S.optional(NetflowsTopAsesRequestNameList.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/netflows/top/ases", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AsesNetflowTopRequest", }) as any as S.Schema; export type NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsList = Array; export const NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface NetflowsTopAsesResponseMetaConfidenceInfo { annotations: NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const NetflowsTopAsesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: NetflowsTopAsesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "NetflowsTopAsesResponseMetaConfidenceInfo", }) as any as S.Schema; export type NetflowsTopAsesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const NetflowsTopAsesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type NetflowsTopAsesResponseMetaDateRangeList = Array; export const NetflowsTopAsesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type NetflowsTopAsesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const NetflowsTopAsesResponseMetaNormalization = /*@__PURE__*/ S.String; export type NetflowsTopAsesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const NetflowsTopAsesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type NetflowsTopAsesResponseMetaUnitsList = Array; export const NetflowsTopAsesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface NetflowsTopAsesResponseMeta { confidenceInfo: NetflowsTopAsesResponseMetaConfidenceInfo; dateRange: NetflowsTopAsesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: NetflowsTopAsesResponseMetaNormalization; /** Measurement units for the results. */ units: NetflowsTopAsesResponseMetaUnitsList; } export const NetflowsTopAsesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: NetflowsTopAsesResponseMetaConfidenceInfo, dateRange: NetflowsTopAsesResponseMetaDateRangeList, lastUpdated: S.String, normalization: NetflowsTopAsesResponseMetaNormalization, units: NetflowsTopAsesResponseMetaUnitsList, }), ).annotate({ identifier: "NetflowsTopAsesResponseMeta", }) as any as S.Schema; export type NetflowsTopAsesResponseTop0Item = DnsTopAsesResponseTop0Item; export const NetflowsTopAsesResponseTop0Item = DnsTopAsesResponseTop0Item; export type NetflowsTopAsesResponseTop0List = Array; export const NetflowsTopAsesResponseTop0List = /*@__PURE__*/ S.Array( DnsTopAsesResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface AsesNetflowTopResponse { /** Metadata for the results. */ meta: NetflowsTopAsesResponseMeta; top_0: NetflowsTopAsesResponseTop0List; } export const AsesNetflowTopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: NetflowsTopAsesResponseMeta, top_0: NetflowsTopAsesResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AsesNetflowTopResponse", }) as any as S.Schema; export type QualitySpeedTopAsesRequestAsnList = Array; export const QualitySpeedTopAsesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedTopAsesRequestContinentList = Array; export const QualitySpeedTopAsesRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedTopAsesRequestDateEndList = Array; export const QualitySpeedTopAsesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedTopAsesRequestFormat = "JSON" | "CSV"; export const QualitySpeedTopAsesRequestFormat = /*@__PURE__*/ S.String; export type QualitySpeedTopAsesRequestLocationList = Array; export const QualitySpeedTopAsesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedTopAsesRequestNameList = Array; export const QualitySpeedTopAsesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedTopAsesRequestOrderBy = | "BANDWIDTH_DOWNLOAD" | "BANDWIDTH_UPLOAD" | "LATENCY_IDLE" | "LATENCY_LOADED" | "JITTER_IDLE" | "JITTER_LOADED"; export const QualitySpeedTopAsesRequestOrderBy = /*@__PURE__*/ S.String; export interface AsesQualitySpeedTopRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: QualitySpeedTopAsesRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: QualitySpeedTopAsesRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: QualitySpeedTopAsesRequestDateEndList; /** Format in which results will be returned. */ format?: QualitySpeedTopAsesRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: QualitySpeedTopAsesRequestLocationList; /** Array of names used to label the series in the response. */ name?: QualitySpeedTopAsesRequestNameList; /** Specifies the metric to order the results by. */ orderBy?: QualitySpeedTopAsesRequestOrderBy | (string & {}); /** Reverses the order of results. */ reverse?: boolean; } export const AsesQualitySpeedTopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(QualitySpeedTopAsesRequestAsnList.pipe(T.Query())), continent: S.optional( QualitySpeedTopAsesRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(QualitySpeedTopAsesRequestDateEndList.pipe(T.Query())), format: S.optional(QualitySpeedTopAsesRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( QualitySpeedTopAsesRequestLocationList.pipe(T.Query()), ), name: S.optional(QualitySpeedTopAsesRequestNameList.pipe(T.Query())), orderBy: S.optional(QualitySpeedTopAsesRequestOrderBy.pipe(T.Query())), reverse: S.optional(S.Boolean.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/quality/speed/top/ases", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AsesQualitySpeedTopRequest", }) as any as S.Schema; export type QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsList = Array; export const QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface QualitySpeedTopAsesResponseMetaConfidenceInfo { annotations: QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const QualitySpeedTopAsesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: QualitySpeedTopAsesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "QualitySpeedTopAsesResponseMetaConfidenceInfo", }) as any as S.Schema; export type QualitySpeedTopAsesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const QualitySpeedTopAsesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type QualitySpeedTopAsesResponseMetaDateRangeList = Array; export const QualitySpeedTopAsesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type QualitySpeedTopAsesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const QualitySpeedTopAsesResponseMetaNormalization = /*@__PURE__*/ S.String; export type QualitySpeedTopAsesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const QualitySpeedTopAsesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type QualitySpeedTopAsesResponseMetaUnitsList = Array; export const QualitySpeedTopAsesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface QualitySpeedTopAsesResponseMeta { confidenceInfo: QualitySpeedTopAsesResponseMetaConfidenceInfo; dateRange: QualitySpeedTopAsesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: QualitySpeedTopAsesResponseMetaNormalization; /** Measurement units for the results. */ units: QualitySpeedTopAsesResponseMetaUnitsList; } export const QualitySpeedTopAsesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: QualitySpeedTopAsesResponseMetaConfidenceInfo, dateRange: QualitySpeedTopAsesResponseMetaDateRangeList, lastUpdated: S.String, normalization: QualitySpeedTopAsesResponseMetaNormalization, units: QualitySpeedTopAsesResponseMetaUnitsList, }), ).annotate({ identifier: "QualitySpeedTopAsesResponseMeta", }) as any as S.Schema; export interface QualitySpeedTopAsesResponseTop0Item { bandwidthDownload: string; bandwidthUpload: string; clientASN: number; clientASName: string; jitterIdle: string; jitterLoaded: string; latencyIdle: string; latencyLoaded: string; numTests: number; rankPower: number; } export const QualitySpeedTopAsesResponseTop0Item = /*@__PURE__*/ S.suspend(() => S.Struct({ bandwidthDownload: S.String, bandwidthUpload: S.String, clientASN: S.Number, clientASName: S.String, jitterIdle: S.String, jitterLoaded: S.String, latencyIdle: S.String, latencyLoaded: S.String, numTests: S.Number, rankPower: S.Number, }), ).annotate({ identifier: "QualitySpeedTopAsesResponseTop0Item", }) as any as S.Schema; export type QualitySpeedTopAsesResponseTop0List = Array; export const QualitySpeedTopAsesResponseTop0List = /*@__PURE__*/ S.Array( QualitySpeedTopAsesResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface AsesQualitySpeedTopResponse { /** Metadata for the results. */ meta: QualitySpeedTopAsesResponseMeta; top_0: QualitySpeedTopAsesResponseTop0List; } export const AsesQualitySpeedTopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: QualitySpeedTopAsesResponseMeta, top_0: QualitySpeedTopAsesResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AsesQualitySpeedTopResponse", }) as any as S.Schema; export type EntitiesAsnsAsSetRequestFormat = "JSON" | "CSV"; export const EntitiesAsnsAsSetRequestFormat = /*@__PURE__*/ S.String; export interface AsSetEntityAsnRequest { /** Retrieves all AS-SETs that the given AS is a member of. */ asn: number; /** Format in which results will be returned. */ format?: EntitiesAsnsAsSetRequestFormat | (string & {}); } export const AsSetEntityAsnRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.Number.pipe(T.Label()), format: S.optional(EntitiesAsnsAsSetRequestFormat.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/entities/asns/{asn}/as_set", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AsSetEntityAsnRequest", }) as any as S.Schema; export type EntitiesAsnsAsSetResponseAsSetsItemIrrSourcesList = Array; export const EntitiesAsnsAsSetResponseAsSetsItemIrrSourcesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EntitiesAsnsAsSetResponseAsSetsItem { /** The number of AS members in the AS-SET */ asMembersCount: number; /** The number of AS-SET members in the AS-SET */ asSetMembersCount: number; /** The number of recursive upstream AS-SETs */ asSetUpstreamsCount: number; /** The number of unique ASNs in the AS-SETs recursive downstream */ asnConeSize: number; /** The IRR sources of the AS-SET */ irrSources: EntitiesAsnsAsSetResponseAsSetsItemIrrSourcesList; /** The name of the AS-SET */ name: string; /** The AS number following hierarchical AS-SET name */ hierarchicalAsn?: number | null; /** The inferred AS number of the AS-SET */ inferredAsn?: number | null; /** The AS number matching PeeringDB record */ peeringdbAsn?: number | null; } export const EntitiesAsnsAsSetResponseAsSetsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ asMembersCount: S.Number.pipe(T.Body("as_members_count")), asSetMembersCount: S.Number.pipe(T.Body("as_set_members_count")), asSetUpstreamsCount: S.Number.pipe(T.Body("as_set_upstreams_count")), asnConeSize: S.Number.pipe(T.Body("asn_cone_size")), irrSources: EntitiesAsnsAsSetResponseAsSetsItemIrrSourcesList.pipe( T.Body("irr_sources"), ), name: S.String, hierarchicalAsn: S.optional( S.NullOr(S.Number).pipe(T.Body("hierarchical_asn")), ), inferredAsn: S.optional(S.NullOr(S.Number).pipe(T.Body("inferred_asn"))), peeringdbAsn: S.optional(S.NullOr(S.Number).pipe(T.Body("peeringdb_asn"))), }), ).annotate({ identifier: "EntitiesAsnsAsSetResponseAsSetsItem", }) as any as S.Schema; export type EntitiesAsnsAsSetResponseAsSetsList = Array; export const EntitiesAsnsAsSetResponseAsSetsList = /*@__PURE__*/ S.Array( EntitiesAsnsAsSetResponseAsSetsItem, ) as any as S.Schema; export type EntitiesAsnsAsSetResponsePathsItemList = Array; export const EntitiesAsnsAsSetResponsePathsItemList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EntitiesAsnsAsSetResponsePathsList = Array; export const EntitiesAsnsAsSetResponsePathsList = /*@__PURE__*/ S.Array( EntitiesAsnsAsSetResponsePathsItemList, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface AsSetEntityAsnResponse { asSets: EntitiesAsnsAsSetResponseAsSetsList; /** Paths from the AS-SET that include the given AS to its upstreams recursively */ paths: EntitiesAsnsAsSetResponsePathsList; } export const AsSetEntityAsnResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ asSets: EntitiesAsnsAsSetResponseAsSetsList.pipe(T.Body("as_sets")), paths: EntitiesAsnsAsSetResponsePathsList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AsSetEntityAsnResponse", }) as any as S.Schema; export type AttacksLayer3TopAttacksRequestContinentList = Array; export const AttacksLayer3TopAttacksRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopAttacksRequestDateEndList = Array; export const AttacksLayer3TopAttacksRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopAttacksRequestDateRangeList = Array; export const AttacksLayer3TopAttacksRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopAttacksRequestDateStartList = Array; export const AttacksLayer3TopAttacksRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopAttacksRequestFormat = "JSON" | "CSV"; export const AttacksLayer3TopAttacksRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3TopAttacksRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer3TopAttacksRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3TopAttacksRequestIpVersionList = Array< AttacksLayer3TopAttacksRequestIpVersion | (string & {}) >; export const AttacksLayer3TopAttacksRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3TopAttacksRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3TopAttacksRequestLimitDirection = "ORIGIN" | "TARGET"; export const AttacksLayer3TopAttacksRequestLimitDirection = /*@__PURE__*/ S.String; export type AttacksLayer3TopAttacksRequestLocationList = Array; export const AttacksLayer3TopAttacksRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopAttacksRequestMagnitude = | "MITIGATED_BYTES" | "MITIGATED_ATTACKS"; export const AttacksLayer3TopAttacksRequestMagnitude = /*@__PURE__*/ S.String; export type AttacksLayer3TopAttacksRequestNameList = Array; export const AttacksLayer3TopAttacksRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopAttacksRequestNormalization = | "PERCENTAGE" | "MIN_MAX"; export const AttacksLayer3TopAttacksRequestNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TopAttacksRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3TopAttacksRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3TopAttacksRequestProtocolList = Array< AttacksLayer3TopAttacksRequestProtocol | (string & {}) >; export const AttacksLayer3TopAttacksRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3TopAttacksRequestProtocol, ) as any as S.Schema; export interface AttacksAttackLayer3TopRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3TopAttacksRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3TopAttacksRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3TopAttacksRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3TopAttacksRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer3TopAttacksRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3TopAttacksRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Specifies whether the `limitPerLocation` applies to the source or target location. */ limitDirection?: AttacksLayer3TopAttacksRequestLimitDirection | (string & {}); /** Limits the number of attacks per origin/target (refer to `limitDirection` parameter) location. */ limitPerLocation?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3TopAttacksRequestLocationList; /** Orders results based on attack magnitude, defined by total mitigated bytes or total mitigated attacks. */ magnitude?: AttacksLayer3TopAttacksRequestMagnitude | (string & {}); /** Array of names used to label the series in the response. */ name?: AttacksLayer3TopAttacksRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: AttacksLayer3TopAttacksRequestNormalization | (string & {}); /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3TopAttacksRequestProtocolList; } export const AttacksAttackLayer3TopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( AttacksLayer3TopAttacksRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer3TopAttacksRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3TopAttacksRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer3TopAttacksRequestDateStartList.pipe(T.Query()), ), format: S.optional(AttacksLayer3TopAttacksRequestFormat.pipe(T.Query())), ipVersion: S.optional( AttacksLayer3TopAttacksRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), limitDirection: S.optional( AttacksLayer3TopAttacksRequestLimitDirection.pipe(T.Query()), ), limitPerLocation: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer3TopAttacksRequestLocationList.pipe(T.Query()), ), magnitude: S.optional( AttacksLayer3TopAttacksRequestMagnitude.pipe(T.Query()), ), name: S.optional(AttacksLayer3TopAttacksRequestNameList.pipe(T.Query())), normalization: S.optional( AttacksLayer3TopAttacksRequestNormalization.pipe(T.Query()), ), protocol: S.optional( AttacksLayer3TopAttacksRequestProtocolList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/top/attacks", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AttacksAttackLayer3TopRequest", }) as any as S.Schema; export type AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3TopAttacksResponseMetaConfidenceInfo { annotations: AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3TopAttacksResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3TopAttacksResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3TopAttacksResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3TopAttacksResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3TopAttacksResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3TopAttacksResponseMetaDateRangeList = Array; export const AttacksLayer3TopAttacksResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3TopAttacksResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3TopAttacksResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TopAttacksResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3TopAttacksResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3TopAttacksResponseMetaUnitsList = Array; export const AttacksLayer3TopAttacksResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3TopAttacksResponseMeta { confidenceInfo: AttacksLayer3TopAttacksResponseMetaConfidenceInfo; dateRange: AttacksLayer3TopAttacksResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3TopAttacksResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3TopAttacksResponseMetaUnitsList; } export const AttacksLayer3TopAttacksResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AttacksLayer3TopAttacksResponseMetaConfidenceInfo, dateRange: AttacksLayer3TopAttacksResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3TopAttacksResponseMetaNormalization, units: AttacksLayer3TopAttacksResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3TopAttacksResponseMeta", }) as any as S.Schema; export interface AttacksLayer3TopAttacksResponseTop0Item { originCountryAlpha2: string; originCountryName: string; value: string; } export const AttacksLayer3TopAttacksResponseTop0Item = /*@__PURE__*/ S.suspend( () => S.Struct({ originCountryAlpha2: S.String, originCountryName: S.String, value: S.String, }), ).annotate({ identifier: "AttacksLayer3TopAttacksResponseTop0Item", }) as any as S.Schema; export type AttacksLayer3TopAttacksResponseTop0List = Array; export const AttacksLayer3TopAttacksResponseTop0List = /*@__PURE__*/ S.Array( AttacksLayer3TopAttacksResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface AttacksAttackLayer3TopResponse { /** Metadata for the results. */ meta: AttacksLayer3TopAttacksResponseMeta; top_0: AttacksLayer3TopAttacksResponseTop0List; } export const AttacksAttackLayer3TopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3TopAttacksResponseMeta, top_0: AttacksLayer3TopAttacksResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AttacksAttackLayer3TopResponse", }) as any as S.Schema; export type AttacksLayer7TopAttacksRequestAsnList = Array; export const AttacksLayer7TopAttacksRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopAttacksRequestContinentList = Array; export const AttacksLayer7TopAttacksRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopAttacksRequestDateEndList = Array; export const AttacksLayer7TopAttacksRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopAttacksRequestDateRangeList = Array; export const AttacksLayer7TopAttacksRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopAttacksRequestDateStartList = Array; export const AttacksLayer7TopAttacksRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopAttacksRequestFormat = "JSON" | "CSV"; export const AttacksLayer7TopAttacksRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7TopAttacksRequestLimitDirection = "ORIGIN" | "TARGET"; export const AttacksLayer7TopAttacksRequestLimitDirection = /*@__PURE__*/ S.String; export type AttacksLayer7TopAttacksRequestLocationList = Array; export const AttacksLayer7TopAttacksRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopAttacksRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7TopAttacksRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7TopAttacksRequestMitigationProductList = Array< AttacksLayer7TopAttacksRequestMitigationProduct | (string & {}) >; export const AttacksLayer7TopAttacksRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7TopAttacksRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7TopAttacksRequestNameList = Array; export const AttacksLayer7TopAttacksRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopAttacksRequestNormalization = | "PERCENTAGE" | "MIN_MAX"; export const AttacksLayer7TopAttacksRequestNormalization = /*@__PURE__*/ S.String; export interface AttacksAttackLayer7TopRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7TopAttacksRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7TopAttacksRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7TopAttacksRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7TopAttacksRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7TopAttacksRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7TopAttacksRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Specifies whether the `limitPerLocation` applies to the source or target location. */ limitDirection?: AttacksLayer7TopAttacksRequestLimitDirection | (string & {}); /** Limits the number of attacks per origin/target (refer to `limitDirection` parameter) location. */ limitPerLocation?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7TopAttacksRequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7TopAttacksRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7TopAttacksRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: AttacksLayer7TopAttacksRequestNormalization | (string & {}); } export const AttacksAttackLayer7TopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(AttacksLayer7TopAttacksRequestAsnList.pipe(T.Query())), continent: S.optional( AttacksLayer7TopAttacksRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer7TopAttacksRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7TopAttacksRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer7TopAttacksRequestDateStartList.pipe(T.Query()), ), format: S.optional(AttacksLayer7TopAttacksRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), limitDirection: S.optional( AttacksLayer7TopAttacksRequestLimitDirection.pipe(T.Query()), ), limitPerLocation: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer7TopAttacksRequestLocationList.pipe(T.Query()), ), mitigationProduct: S.optional( AttacksLayer7TopAttacksRequestMitigationProductList.pipe(T.Query()), ), name: S.optional(AttacksLayer7TopAttacksRequestNameList.pipe(T.Query())), normalization: S.optional( AttacksLayer7TopAttacksRequestNormalization.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/top/attacks", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AttacksAttackLayer7TopRequest", }) as any as S.Schema; export type AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7TopAttacksResponseMetaConfidenceInfo { annotations: AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7TopAttacksResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7TopAttacksResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7TopAttacksResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7TopAttacksResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7TopAttacksResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7TopAttacksResponseMetaDateRangeList = Array; export const AttacksLayer7TopAttacksResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7TopAttacksResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7TopAttacksResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7TopAttacksResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7TopAttacksResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7TopAttacksResponseMetaUnitsList = Array; export const AttacksLayer7TopAttacksResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7TopAttacksResponseMeta { confidenceInfo: AttacksLayer7TopAttacksResponseMetaConfidenceInfo; dateRange: AttacksLayer7TopAttacksResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7TopAttacksResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7TopAttacksResponseMetaUnitsList; } export const AttacksLayer7TopAttacksResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AttacksLayer7TopAttacksResponseMetaConfidenceInfo, dateRange: AttacksLayer7TopAttacksResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7TopAttacksResponseMetaNormalization, units: AttacksLayer7TopAttacksResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7TopAttacksResponseMeta", }) as any as S.Schema; export interface AttacksLayer7TopAttacksResponseTop0Item { originCountryAlpha2: string; originCountryName: string; targetCountryAlpha2: string; targetCountryName: string; value: string; } export const AttacksLayer7TopAttacksResponseTop0Item = /*@__PURE__*/ S.suspend( () => S.Struct({ originCountryAlpha2: S.String, originCountryName: S.String, targetCountryAlpha2: S.String, targetCountryName: S.String, value: S.String, }), ).annotate({ identifier: "AttacksLayer7TopAttacksResponseTop0Item", }) as any as S.Schema; export type AttacksLayer7TopAttacksResponseTop0List = Array; export const AttacksLayer7TopAttacksResponseTop0List = /*@__PURE__*/ S.Array( AttacksLayer7TopAttacksResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface AttacksAttackLayer7TopResponse { /** Metadata for the results. */ meta: AttacksLayer7TopAttacksResponseMeta; top_0: AttacksLayer7TopAttacksResponseTop0List; } export const AttacksAttackLayer7TopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer7TopAttacksResponseMeta, top_0: AttacksLayer7TopAttacksResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "AttacksAttackLayer7TopResponse", }) as any as S.Schema; export type AttacksLayer3SummaryBitrateRequestContinentList = Array; export const AttacksLayer3SummaryBitrateRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryBitrateRequestDateEndList = Array; export const AttacksLayer3SummaryBitrateRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryBitrateRequestDateRangeList = Array; export const AttacksLayer3SummaryBitrateRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryBitrateRequestDateStartList = Array; export const AttacksLayer3SummaryBitrateRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryBitrateRequestDirection = "ORIGIN" | "TARGET"; export const AttacksLayer3SummaryBitrateRequestDirection = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryBitrateRequestFormat = "JSON" | "CSV"; export const AttacksLayer3SummaryBitrateRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryBitrateRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer3SummaryBitrateRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryBitrateRequestIpVersionList = Array< AttacksLayer3SummaryBitrateRequestIpVersion | (string & {}) >; export const AttacksLayer3SummaryBitrateRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryBitrateRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3SummaryBitrateRequestLocationList = Array; export const AttacksLayer3SummaryBitrateRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryBitrateRequestNameList = Array; export const AttacksLayer3SummaryBitrateRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryBitrateRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3SummaryBitrateRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryBitrateRequestProtocolList = Array< AttacksLayer3SummaryBitrateRequestProtocol | (string & {}) >; export const AttacksLayer3SummaryBitrateRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryBitrateRequestProtocol, ) as any as S.Schema; export interface BitrateAttackLayer3SummaryRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3SummaryBitrateRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3SummaryBitrateRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3SummaryBitrateRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3SummaryBitrateRequestDateStartList; /** Specifies whether the `location` filter applies to the source or target location. */ direction?: AttacksLayer3SummaryBitrateRequestDirection | (string & {}); /** Format in which results will be returned. */ format?: AttacksLayer3SummaryBitrateRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3SummaryBitrateRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3SummaryBitrateRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3SummaryBitrateRequestNameList; /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3SummaryBitrateRequestProtocolList; } export const BitrateAttackLayer3SummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( AttacksLayer3SummaryBitrateRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer3SummaryBitrateRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3SummaryBitrateRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer3SummaryBitrateRequestDateStartList.pipe(T.Query()), ), direction: S.optional( AttacksLayer3SummaryBitrateRequestDirection.pipe(T.Query()), ), format: S.optional( AttacksLayer3SummaryBitrateRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer3SummaryBitrateRequestIpVersionList.pipe(T.Query()), ), location: S.optional( AttacksLayer3SummaryBitrateRequestLocationList.pipe(T.Query()), ), name: S.optional( AttacksLayer3SummaryBitrateRequestNameList.pipe(T.Query()), ), protocol: S.optional( AttacksLayer3SummaryBitrateRequestProtocolList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/summary/bitrate", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BitrateAttackLayer3SummaryRequest", }) as any as S.Schema; export type AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3SummaryBitrateResponseMetaConfidenceInfo { annotations: AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3SummaryBitrateResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3SummaryBitrateResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3SummaryBitrateResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3SummaryBitrateResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3SummaryBitrateResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3SummaryBitrateResponseMetaDateRangeList = Array; export const AttacksLayer3SummaryBitrateResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3SummaryBitrateResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3SummaryBitrateResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryBitrateResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3SummaryBitrateResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3SummaryBitrateResponseMetaUnitsList = Array; export const AttacksLayer3SummaryBitrateResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3SummaryBitrateResponseMeta { confidenceInfo: AttacksLayer3SummaryBitrateResponseMetaConfidenceInfo; dateRange: AttacksLayer3SummaryBitrateResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3SummaryBitrateResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3SummaryBitrateResponseMetaUnitsList; } export const AttacksLayer3SummaryBitrateResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: AttacksLayer3SummaryBitrateResponseMetaConfidenceInfo, dateRange: AttacksLayer3SummaryBitrateResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3SummaryBitrateResponseMetaNormalization, units: AttacksLayer3SummaryBitrateResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3SummaryBitrateResponseMeta", }) as any as S.Schema; export interface AttacksLayer3SummaryBitrateResponseSummary0 { /** A numeric string. */ "1_GBPS_TO_10_GBPS": string; /** A numeric string. */ "10_GBPS_TO_100_GBPS": string; /** A numeric string. */ "500_MBPS_TO_1_GBPS": string; /** A numeric string. */ OVER_100_GBPS: string; /** A numeric string. */ UNDER_500_MBPS: string; } export const AttacksLayer3SummaryBitrateResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ "1_GBPS_TO_10_GBPS": S.String.pipe(T.Body("_1_GBPS_TO_10_GBPS")), "10_GBPS_TO_100_GBPS": S.String.pipe(T.Body("_10_GBPS_TO_100_GBPS")), "500_MBPS_TO_1_GBPS": S.String.pipe(T.Body("_500_MBPS_TO_1_GBPS")), OVER_100_GBPS: S.String, UNDER_500_MBPS: S.String, }), ).annotate({ identifier: "AttacksLayer3SummaryBitrateResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface BitrateAttackLayer3SummaryResponse { /** Metadata for the results. */ meta: AttacksLayer3SummaryBitrateResponseMeta; summary_0: AttacksLayer3SummaryBitrateResponseSummary0; } export const BitrateAttackLayer3SummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3SummaryBitrateResponseMeta, summary_0: AttacksLayer3SummaryBitrateResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BitrateAttackLayer3SummaryResponse", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer3TimeseriesGroupsBitrateRequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsBitrateRequestContinentList = Array; export const AttacksLayer3TimeseriesGroupsBitrateRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateRequestDateEndList = Array; export const AttacksLayer3TimeseriesGroupsBitrateRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateRequestDateRangeList = Array; export const AttacksLayer3TimeseriesGroupsBitrateRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateRequestDateStartList = Array; export const AttacksLayer3TimeseriesGroupsBitrateRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateRequestDirection = | "ORIGIN" | "TARGET"; export const AttacksLayer3TimeseriesGroupsBitrateRequestDirection = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsBitrateRequestFormat = "JSON" | "CSV"; export const AttacksLayer3TimeseriesGroupsBitrateRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsBitrateRequestIpVersion = | "IPv4" | "IPv6"; export const AttacksLayer3TimeseriesGroupsBitrateRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsBitrateRequestIpVersionList = Array< AttacksLayer3TimeseriesGroupsBitrateRequestIpVersion | (string & {}) >; export const AttacksLayer3TimeseriesGroupsBitrateRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsBitrateRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateRequestLocationList = Array; export const AttacksLayer3TimeseriesGroupsBitrateRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateRequestNameList = Array; export const AttacksLayer3TimeseriesGroupsBitrateRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateRequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const AttacksLayer3TimeseriesGroupsBitrateRequestNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsBitrateRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3TimeseriesGroupsBitrateRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsBitrateRequestProtocolList = Array< AttacksLayer3TimeseriesGroupsBitrateRequestProtocol | (string & {}) >; export const AttacksLayer3TimeseriesGroupsBitrateRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsBitrateRequestProtocol, ) as any as S.Schema; export interface BitrateAttackLayer3TimeseriesGroupRequest { /** 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/). */ aggInterval?: | AttacksLayer3TimeseriesGroupsBitrateRequestAggInterval | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3TimeseriesGroupsBitrateRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3TimeseriesGroupsBitrateRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3TimeseriesGroupsBitrateRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3TimeseriesGroupsBitrateRequestDateStartList; /** Specifies whether the `location` filter applies to the source or target location. */ direction?: | AttacksLayer3TimeseriesGroupsBitrateRequestDirection | (string & {}); /** Format in which results will be returned. */ format?: AttacksLayer3TimeseriesGroupsBitrateRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3TimeseriesGroupsBitrateRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3TimeseriesGroupsBitrateRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3TimeseriesGroupsBitrateRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AttacksLayer3TimeseriesGroupsBitrateRequestNormalization | (string & {}); /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3TimeseriesGroupsBitrateRequestProtocolList; } export const BitrateAttackLayer3TimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AttacksLayer3TimeseriesGroupsBitrateRequestAggInterval.pipe(T.Query()), ), continent: S.optional( AttacksLayer3TimeseriesGroupsBitrateRequestContinentList.pipe( T.Query(), ), ), dateEnd: S.optional( AttacksLayer3TimeseriesGroupsBitrateRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3TimeseriesGroupsBitrateRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( AttacksLayer3TimeseriesGroupsBitrateRequestDateStartList.pipe( T.Query(), ), ), direction: S.optional( AttacksLayer3TimeseriesGroupsBitrateRequestDirection.pipe(T.Query()), ), format: S.optional( AttacksLayer3TimeseriesGroupsBitrateRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer3TimeseriesGroupsBitrateRequestIpVersionList.pipe( T.Query(), ), ), location: S.optional( AttacksLayer3TimeseriesGroupsBitrateRequestLocationList.pipe(T.Query()), ), name: S.optional( AttacksLayer3TimeseriesGroupsBitrateRequestNameList.pipe(T.Query()), ), normalization: S.optional( AttacksLayer3TimeseriesGroupsBitrateRequestNormalization.pipe( T.Query(), ), ), protocol: S.optional( AttacksLayer3TimeseriesGroupsBitrateRequestProtocolList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/timeseries_groups/bitrate", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BitrateAttackLayer3TimeseriesGroupRequest", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer3TimeseriesGroupsBitrateResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfo { annotations: AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3TimeseriesGroupsBitrateResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3TimeseriesGroupsBitrateResponseMetaDateRangeList = Array; export const AttacksLayer3TimeseriesGroupsBitrateResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3TimeseriesGroupsBitrateResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsBitrateResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3TimeseriesGroupsBitrateResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3TimeseriesGroupsBitrateResponseMetaUnitsList = Array; export const AttacksLayer3TimeseriesGroupsBitrateResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsBitrateResponseMeta { /** 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/). */ aggInterval: AttacksLayer3TimeseriesGroupsBitrateResponseMetaAggInterval; confidenceInfo: AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfo; dateRange: AttacksLayer3TimeseriesGroupsBitrateResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3TimeseriesGroupsBitrateResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3TimeseriesGroupsBitrateResponseMetaUnitsList; } export const AttacksLayer3TimeseriesGroupsBitrateResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer3TimeseriesGroupsBitrateResponseMetaAggInterval, confidenceInfo: AttacksLayer3TimeseriesGroupsBitrateResponseMetaConfidenceInfo, dateRange: AttacksLayer3TimeseriesGroupsBitrateResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3TimeseriesGroupsBitrateResponseMetaNormalization, units: AttacksLayer3TimeseriesGroupsBitrateResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsBitrateResponseMeta", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateResponseSerie01GBPSTO10GBPSList = Array; export const AttacksLayer3TimeseriesGroupsBitrateResponseSerie01GBPSTO10GBPSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateResponseSerie010GBPSTO100GBPSList = Array; export const AttacksLayer3TimeseriesGroupsBitrateResponseSerie010GBPSTO100GBPSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateResponseSerie0500MBPSTO1GBPSList = Array; export const AttacksLayer3TimeseriesGroupsBitrateResponseSerie0500MBPSTO1GBPSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateResponseSerie0OVER100GBPSList = Array; export const AttacksLayer3TimeseriesGroupsBitrateResponseSerie0OVER100GBPSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateResponseSerie0TimestampsList = Array; export const AttacksLayer3TimeseriesGroupsBitrateResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsBitrateResponseSerie0UNDER500MBPSList = Array; export const AttacksLayer3TimeseriesGroupsBitrateResponseSerie0UNDER500MBPSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsBitrateResponseSerie0 { "1_GBPS_TO_10_GBPS": AttacksLayer3TimeseriesGroupsBitrateResponseSerie01GBPSTO10GBPSList; "10_GBPS_TO_100_GBPS": AttacksLayer3TimeseriesGroupsBitrateResponseSerie010GBPSTO100GBPSList; "500_MBPS_TO_1_GBPS": AttacksLayer3TimeseriesGroupsBitrateResponseSerie0500MBPSTO1GBPSList; OVER_100_GBPS: AttacksLayer3TimeseriesGroupsBitrateResponseSerie0OVER100GBPSList; timestamps: AttacksLayer3TimeseriesGroupsBitrateResponseSerie0TimestampsList; UNDER_500_MBPS: AttacksLayer3TimeseriesGroupsBitrateResponseSerie0UNDER500MBPSList; } export const AttacksLayer3TimeseriesGroupsBitrateResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ "1_GBPS_TO_10_GBPS": AttacksLayer3TimeseriesGroupsBitrateResponseSerie01GBPSTO10GBPSList.pipe( T.Body("_1_GBPS_TO_10_GBPS"), ), "10_GBPS_TO_100_GBPS": AttacksLayer3TimeseriesGroupsBitrateResponseSerie010GBPSTO100GBPSList.pipe( T.Body("_10_GBPS_TO_100_GBPS"), ), "500_MBPS_TO_1_GBPS": AttacksLayer3TimeseriesGroupsBitrateResponseSerie0500MBPSTO1GBPSList.pipe( T.Body("_500_MBPS_TO_1_GBPS"), ), OVER_100_GBPS: AttacksLayer3TimeseriesGroupsBitrateResponseSerie0OVER100GBPSList, timestamps: AttacksLayer3TimeseriesGroupsBitrateResponseSerie0TimestampsList, UNDER_500_MBPS: AttacksLayer3TimeseriesGroupsBitrateResponseSerie0UNDER500MBPSList, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsBitrateResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface BitrateAttackLayer3TimeseriesGroupResponse { /** Metadata for the results. */ meta: AttacksLayer3TimeseriesGroupsBitrateResponseMeta; serie_0: AttacksLayer3TimeseriesGroupsBitrateResponseSerie0; } export const BitrateAttackLayer3TimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3TimeseriesGroupsBitrateResponseMeta, serie_0: AttacksLayer3TimeseriesGroupsBitrateResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BitrateAttackLayer3TimeseriesGroupResponse", }) as any as S.Schema; export type HttpSummaryBotClassRequestAsnList = Array; export const HttpSummaryBotClassRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryBotClassRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpSummaryBotClassRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpSummaryBotClassRequestBrowserFamilyList = Array< HttpSummaryBotClassRequestBrowserFamily | (string & {}) >; export const HttpSummaryBotClassRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpSummaryBotClassRequestBrowserFamily, ) as any as S.Schema; export type HttpSummaryBotClassRequestContinentList = Array; export const HttpSummaryBotClassRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryBotClassRequestDateEndList = Array; export const HttpSummaryBotClassRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryBotClassRequestDateRangeList = Array; export const HttpSummaryBotClassRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryBotClassRequestDateStartList = Array; export const HttpSummaryBotClassRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryBotClassRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpSummaryBotClassRequestDeviceType = /*@__PURE__*/ S.String; export type HttpSummaryBotClassRequestDeviceTypeList = Array< HttpSummaryBotClassRequestDeviceType | (string & {}) >; export const HttpSummaryBotClassRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpSummaryBotClassRequestDeviceType, ) as any as S.Schema; export type HttpSummaryBotClassRequestFormat = "JSON" | "CSV"; export const HttpSummaryBotClassRequestFormat = /*@__PURE__*/ S.String; export type HttpSummaryBotClassRequestGeoIdList = Array; export const HttpSummaryBotClassRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryBotClassRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpSummaryBotClassRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpSummaryBotClassRequestHttpProtocolList = Array< HttpSummaryBotClassRequestHttpProtocol | (string & {}) >; export const HttpSummaryBotClassRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpSummaryBotClassRequestHttpProtocol, ) as any as S.Schema; export type HttpSummaryBotClassRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpSummaryBotClassRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpSummaryBotClassRequestHttpVersionList = Array< HttpSummaryBotClassRequestHttpVersion | (string & {}) >; export const HttpSummaryBotClassRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpSummaryBotClassRequestHttpVersion, ) as any as S.Schema; export type HttpSummaryBotClassRequestIpVersion = "IPv4" | "IPv6"; export const HttpSummaryBotClassRequestIpVersion = /*@__PURE__*/ S.String; export type HttpSummaryBotClassRequestIpVersionList = Array< HttpSummaryBotClassRequestIpVersion | (string & {}) >; export const HttpSummaryBotClassRequestIpVersionList = /*@__PURE__*/ S.Array( HttpSummaryBotClassRequestIpVersion, ) as any as S.Schema; export type HttpSummaryBotClassRequestLocationList = Array; export const HttpSummaryBotClassRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryBotClassRequestNameList = Array; export const HttpSummaryBotClassRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryBotClassRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpSummaryBotClassRequestOs = /*@__PURE__*/ S.String; export type HttpSummaryBotClassRequestOsList = Array< HttpSummaryBotClassRequestOs | (string & {}) >; export const HttpSummaryBotClassRequestOsList = /*@__PURE__*/ S.Array( HttpSummaryBotClassRequestOs, ) as any as S.Schema; export type HttpSummaryBotClassRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpSummaryBotClassRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpSummaryBotClassRequestTlsVersionList = Array< HttpSummaryBotClassRequestTlsVersion | (string & {}) >; export const HttpSummaryBotClassRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpSummaryBotClassRequestTlsVersion, ) as any as S.Schema; export interface BotClassHttpSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpSummaryBotClassRequestAsnList; /** Filters results by browser family. */ browserFamily?: HttpSummaryBotClassRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpSummaryBotClassRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpSummaryBotClassRequestDateEndList; /** 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). */ dateRange?: HttpSummaryBotClassRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpSummaryBotClassRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpSummaryBotClassRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpSummaryBotClassRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpSummaryBotClassRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpSummaryBotClassRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpSummaryBotClassRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpSummaryBotClassRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpSummaryBotClassRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpSummaryBotClassRequestNameList; /** Filters results by operating system. */ os?: HttpSummaryBotClassRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpSummaryBotClassRequestTlsVersionList; } export const BotClassHttpSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(HttpSummaryBotClassRequestAsnList.pipe(T.Query())), browserFamily: S.optional( HttpSummaryBotClassRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpSummaryBotClassRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(HttpSummaryBotClassRequestDateEndList.pipe(T.Query())), dateRange: S.optional( HttpSummaryBotClassRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpSummaryBotClassRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpSummaryBotClassRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpSummaryBotClassRequestFormat.pipe(T.Query())), geoId: S.optional(HttpSummaryBotClassRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpSummaryBotClassRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpSummaryBotClassRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpSummaryBotClassRequestIpVersionList.pipe(T.Query()), ), location: S.optional( HttpSummaryBotClassRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpSummaryBotClassRequestNameList.pipe(T.Query())), os: S.optional(HttpSummaryBotClassRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpSummaryBotClassRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/summary/bot_class", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BotClassHttpSummaryRequest", }) as any as S.Schema; export type HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpSummaryBotClassResponseMetaConfidenceInfo { annotations: HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpSummaryBotClassResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpSummaryBotClassResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpSummaryBotClassResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpSummaryBotClassResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpSummaryBotClassResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpSummaryBotClassResponseMetaDateRangeList = Array; export const HttpSummaryBotClassResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpSummaryBotClassResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpSummaryBotClassResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpSummaryBotClassResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpSummaryBotClassResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpSummaryBotClassResponseMetaUnitsList = Array; export const HttpSummaryBotClassResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpSummaryBotClassResponseMeta { confidenceInfo: HttpSummaryBotClassResponseMetaConfidenceInfo; dateRange: HttpSummaryBotClassResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpSummaryBotClassResponseMetaNormalization; /** Measurement units for the results. */ units: HttpSummaryBotClassResponseMetaUnitsList; } export const HttpSummaryBotClassResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpSummaryBotClassResponseMetaConfidenceInfo, dateRange: HttpSummaryBotClassResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpSummaryBotClassResponseMetaNormalization, units: HttpSummaryBotClassResponseMetaUnitsList, }), ).annotate({ identifier: "HttpSummaryBotClassResponseMeta", }) as any as S.Schema; export interface HttpSummaryBotClassResponseSummary0 { /** A numeric string. */ bot: string; /** A numeric string. */ human: string; } export const HttpSummaryBotClassResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ bot: S.String, human: S.String, }), ).annotate({ identifier: "HttpSummaryBotClassResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface BotClassHttpSummaryResponse { /** Metadata for the results. */ meta: HttpSummaryBotClassResponseMeta; summary_0: HttpSummaryBotClassResponseSummary0; } export const BotClassHttpSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpSummaryBotClassResponseMeta, summary_0: HttpSummaryBotClassResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BotClassHttpSummaryResponse", }) as any as S.Schema; export type HttpTimeseriesGroupsBotClassRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const HttpTimeseriesGroupsBotClassRequestAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBotClassRequestAsnList = Array; export const HttpTimeseriesGroupsBotClassRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBotClassRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpTimeseriesGroupsBotClassRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBotClassRequestBrowserFamilyList = Array< HttpTimeseriesGroupsBotClassRequestBrowserFamily | (string & {}) >; export const HttpTimeseriesGroupsBotClassRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBotClassRequestBrowserFamily, ) as any as S.Schema; export type HttpTimeseriesGroupsBotClassRequestContinentList = Array; export const HttpTimeseriesGroupsBotClassRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBotClassRequestDateEndList = Array; export const HttpTimeseriesGroupsBotClassRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBotClassRequestDateRangeList = Array; export const HttpTimeseriesGroupsBotClassRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBotClassRequestDateStartList = Array; export const HttpTimeseriesGroupsBotClassRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBotClassRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpTimeseriesGroupsBotClassRequestDeviceType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBotClassRequestDeviceTypeList = Array< HttpTimeseriesGroupsBotClassRequestDeviceType | (string & {}) >; export const HttpTimeseriesGroupsBotClassRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBotClassRequestDeviceType, ) as any as S.Schema; export type HttpTimeseriesGroupsBotClassRequestFormat = "JSON" | "CSV"; export const HttpTimeseriesGroupsBotClassRequestFormat = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBotClassRequestGeoIdList = Array; export const HttpTimeseriesGroupsBotClassRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBotClassRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpTimeseriesGroupsBotClassRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBotClassRequestHttpProtocolList = Array< HttpTimeseriesGroupsBotClassRequestHttpProtocol | (string & {}) >; export const HttpTimeseriesGroupsBotClassRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBotClassRequestHttpProtocol, ) as any as S.Schema; export type HttpTimeseriesGroupsBotClassRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpTimeseriesGroupsBotClassRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBotClassRequestHttpVersionList = Array< HttpTimeseriesGroupsBotClassRequestHttpVersion | (string & {}) >; export const HttpTimeseriesGroupsBotClassRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBotClassRequestHttpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsBotClassRequestIpVersion = "IPv4" | "IPv6"; export const HttpTimeseriesGroupsBotClassRequestIpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBotClassRequestIpVersionList = Array< HttpTimeseriesGroupsBotClassRequestIpVersion | (string & {}) >; export const HttpTimeseriesGroupsBotClassRequestIpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBotClassRequestIpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsBotClassRequestLocationList = Array; export const HttpTimeseriesGroupsBotClassRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBotClassRequestNameList = Array; export const HttpTimeseriesGroupsBotClassRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBotClassRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpTimeseriesGroupsBotClassRequestOs = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBotClassRequestOsList = Array< HttpTimeseriesGroupsBotClassRequestOs | (string & {}) >; export const HttpTimeseriesGroupsBotClassRequestOsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBotClassRequestOs, ) as any as S.Schema; export type HttpTimeseriesGroupsBotClassRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpTimeseriesGroupsBotClassRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBotClassRequestTlsVersionList = Array< HttpTimeseriesGroupsBotClassRequestTlsVersion | (string & {}) >; export const HttpTimeseriesGroupsBotClassRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBotClassRequestTlsVersion, ) as any as S.Schema; export interface BotClassHttpTimeseriesGroupRequest { /** 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/). */ aggInterval?: HttpTimeseriesGroupsBotClassRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpTimeseriesGroupsBotClassRequestAsnList; /** Filters results by browser family. */ browserFamily?: HttpTimeseriesGroupsBotClassRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpTimeseriesGroupsBotClassRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpTimeseriesGroupsBotClassRequestDateEndList; /** 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). */ dateRange?: HttpTimeseriesGroupsBotClassRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpTimeseriesGroupsBotClassRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpTimeseriesGroupsBotClassRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpTimeseriesGroupsBotClassRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpTimeseriesGroupsBotClassRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpTimeseriesGroupsBotClassRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpTimeseriesGroupsBotClassRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpTimeseriesGroupsBotClassRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpTimeseriesGroupsBotClassRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpTimeseriesGroupsBotClassRequestNameList; /** Filters results by operating system. */ os?: HttpTimeseriesGroupsBotClassRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpTimeseriesGroupsBotClassRequestTlsVersionList; } export const BotClassHttpTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( HttpTimeseriesGroupsBotClassRequestAggInterval.pipe(T.Query()), ), asn: S.optional(HttpTimeseriesGroupsBotClassRequestAsnList.pipe(T.Query())), browserFamily: S.optional( HttpTimeseriesGroupsBotClassRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpTimeseriesGroupsBotClassRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpTimeseriesGroupsBotClassRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpTimeseriesGroupsBotClassRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpTimeseriesGroupsBotClassRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpTimeseriesGroupsBotClassRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional( HttpTimeseriesGroupsBotClassRequestFormat.pipe(T.Query()), ), geoId: S.optional( HttpTimeseriesGroupsBotClassRequestGeoIdList.pipe(T.Query()), ), httpProtocol: S.optional( HttpTimeseriesGroupsBotClassRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpTimeseriesGroupsBotClassRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpTimeseriesGroupsBotClassRequestIpVersionList.pipe(T.Query()), ), location: S.optional( HttpTimeseriesGroupsBotClassRequestLocationList.pipe(T.Query()), ), name: S.optional( HttpTimeseriesGroupsBotClassRequestNameList.pipe(T.Query()), ), os: S.optional(HttpTimeseriesGroupsBotClassRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpTimeseriesGroupsBotClassRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/timeseries_groups/bot_class", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BotClassHttpTimeseriesGroupRequest", }) as any as S.Schema; export type HttpTimeseriesGroupsBotClassResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const HttpTimeseriesGroupsBotClassResponseMetaAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfo { annotations: HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpTimeseriesGroupsBotClassResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpTimeseriesGroupsBotClassResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpTimeseriesGroupsBotClassResponseMetaDateRangeList = Array; export const HttpTimeseriesGroupsBotClassResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpTimeseriesGroupsBotClassResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpTimeseriesGroupsBotClassResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBotClassResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpTimeseriesGroupsBotClassResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpTimeseriesGroupsBotClassResponseMetaUnitsList = Array; export const HttpTimeseriesGroupsBotClassResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsBotClassResponseMeta { /** 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/). */ aggInterval: HttpTimeseriesGroupsBotClassResponseMetaAggInterval; confidenceInfo: HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfo; dateRange: HttpTimeseriesGroupsBotClassResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpTimeseriesGroupsBotClassResponseMetaNormalization; /** Measurement units for the results. */ units: HttpTimeseriesGroupsBotClassResponseMetaUnitsList; } export const HttpTimeseriesGroupsBotClassResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: HttpTimeseriesGroupsBotClassResponseMetaAggInterval, confidenceInfo: HttpTimeseriesGroupsBotClassResponseMetaConfidenceInfo, dateRange: HttpTimeseriesGroupsBotClassResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpTimeseriesGroupsBotClassResponseMetaNormalization, units: HttpTimeseriesGroupsBotClassResponseMetaUnitsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsBotClassResponseMeta", }) as any as S.Schema; export type HttpTimeseriesGroupsBotClassResponseSerie0BotList = Array; export const HttpTimeseriesGroupsBotClassResponseSerie0BotList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBotClassResponseSerie0HumanList = Array; export const HttpTimeseriesGroupsBotClassResponseSerie0HumanList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBotClassResponseSerie0TimestampsList = Array; export const HttpTimeseriesGroupsBotClassResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsBotClassResponseSerie0 { bot: HttpTimeseriesGroupsBotClassResponseSerie0BotList; human: HttpTimeseriesGroupsBotClassResponseSerie0HumanList; timestamps: HttpTimeseriesGroupsBotClassResponseSerie0TimestampsList; } export const HttpTimeseriesGroupsBotClassResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ bot: HttpTimeseriesGroupsBotClassResponseSerie0BotList, human: HttpTimeseriesGroupsBotClassResponseSerie0HumanList, timestamps: HttpTimeseriesGroupsBotClassResponseSerie0TimestampsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsBotClassResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface BotClassHttpTimeseriesGroupResponse { /** Metadata for the results. */ meta: HttpTimeseriesGroupsBotClassResponseMeta; serie_0: HttpTimeseriesGroupsBotClassResponseSerie0; } export const BotClassHttpTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpTimeseriesGroupsBotClassResponseMeta, serie_0: HttpTimeseriesGroupsBotClassResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BotClassHttpTimeseriesGroupResponse", }) as any as S.Schema; export type LeakedCredentialsSummaryBotClassRequestCompromised = | "CLEAN" | "COMPROMISED"; export const LeakedCredentialsSummaryBotClassRequestCompromised = /*@__PURE__*/ S.String; export type LeakedCredentialsSummaryBotClassRequestCompromisedList = Array< LeakedCredentialsSummaryBotClassRequestCompromised | (string & {}) >; export const LeakedCredentialsSummaryBotClassRequestCompromisedList = /*@__PURE__*/ S.Array( LeakedCredentialsSummaryBotClassRequestCompromised, ) as any as S.Schema; export type LeakedCredentialsSummaryBotClassRequestDateEndList = Array; export const LeakedCredentialsSummaryBotClassRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsSummaryBotClassRequestDateRangeList = Array; export const LeakedCredentialsSummaryBotClassRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsSummaryBotClassRequestDateStartList = Array; export const LeakedCredentialsSummaryBotClassRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsSummaryBotClassRequestFormat = "JSON" | "CSV"; export const LeakedCredentialsSummaryBotClassRequestFormat = /*@__PURE__*/ S.String; export type LeakedCredentialsSummaryBotClassRequestNameList = Array; export const LeakedCredentialsSummaryBotClassRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BotClassLeakedCredentialSummaryRequest { /** Filters results by compromised credential status (clean vs. compromised). */ compromised?: LeakedCredentialsSummaryBotClassRequestCompromisedList; /** End of the date range (inclusive). */ dateEnd?: LeakedCredentialsSummaryBotClassRequestDateEndList; /** 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). */ dateRange?: LeakedCredentialsSummaryBotClassRequestDateRangeList; /** Start of the date range. */ dateStart?: LeakedCredentialsSummaryBotClassRequestDateStartList; /** Format in which results will be returned. */ format?: LeakedCredentialsSummaryBotClassRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: LeakedCredentialsSummaryBotClassRequestNameList; } export const BotClassLeakedCredentialSummaryRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ compromised: S.optional( LeakedCredentialsSummaryBotClassRequestCompromisedList.pipe(T.Query()), ), dateEnd: S.optional( LeakedCredentialsSummaryBotClassRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( LeakedCredentialsSummaryBotClassRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( LeakedCredentialsSummaryBotClassRequestDateStartList.pipe(T.Query()), ), format: S.optional( LeakedCredentialsSummaryBotClassRequestFormat.pipe(T.Query()), ), name: S.optional( LeakedCredentialsSummaryBotClassRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/leaked_credential_checks/summary/bot_class", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BotClassLeakedCredentialSummaryRequest", }) as any as S.Schema; export type LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsList = Array; export const LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfo { annotations: LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfo", }) as any as S.Schema; export type LeakedCredentialsSummaryBotClassResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const LeakedCredentialsSummaryBotClassResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type LeakedCredentialsSummaryBotClassResponseMetaDateRangeList = Array; export const LeakedCredentialsSummaryBotClassResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type LeakedCredentialsSummaryBotClassResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const LeakedCredentialsSummaryBotClassResponseMetaNormalization = /*@__PURE__*/ S.String; export type LeakedCredentialsSummaryBotClassResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const LeakedCredentialsSummaryBotClassResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type LeakedCredentialsSummaryBotClassResponseMetaUnitsList = Array; export const LeakedCredentialsSummaryBotClassResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface LeakedCredentialsSummaryBotClassResponseMeta { confidenceInfo: LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfo; dateRange: LeakedCredentialsSummaryBotClassResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: LeakedCredentialsSummaryBotClassResponseMetaNormalization; /** Measurement units for the results. */ units: LeakedCredentialsSummaryBotClassResponseMetaUnitsList; } export const LeakedCredentialsSummaryBotClassResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: LeakedCredentialsSummaryBotClassResponseMetaConfidenceInfo, dateRange: LeakedCredentialsSummaryBotClassResponseMetaDateRangeList, lastUpdated: S.String, normalization: LeakedCredentialsSummaryBotClassResponseMetaNormalization, units: LeakedCredentialsSummaryBotClassResponseMetaUnitsList, }), ).annotate({ identifier: "LeakedCredentialsSummaryBotClassResponseMeta", }) as any as S.Schema; export type LeakedCredentialsSummaryBotClassResponseSummary0 = HttpSummaryBotClassResponseSummary0; export const LeakedCredentialsSummaryBotClassResponseSummary0 = HttpSummaryBotClassResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface BotClassLeakedCredentialSummaryResponse { /** Metadata for the results. */ meta: LeakedCredentialsSummaryBotClassResponseMeta; summary_0: HttpSummaryBotClassResponseSummary0; } export const BotClassLeakedCredentialSummaryResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: LeakedCredentialsSummaryBotClassResponseMeta, summary_0: HttpSummaryBotClassResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BotClassLeakedCredentialSummaryResponse", }) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsBotClassRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const LeakedCredentialsTimeseriesGroupsBotClassRequestAggInterval = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsBotClassRequestCompromised = | "CLEAN" | "COMPROMISED"; export const LeakedCredentialsTimeseriesGroupsBotClassRequestCompromised = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsBotClassRequestCompromisedList = Array< LeakedCredentialsTimeseriesGroupsBotClassRequestCompromised | (string & {}) >; export const LeakedCredentialsTimeseriesGroupsBotClassRequestCompromisedList = /*@__PURE__*/ S.Array( LeakedCredentialsTimeseriesGroupsBotClassRequestCompromised, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsBotClassRequestDateEndList = Array; export const LeakedCredentialsTimeseriesGroupsBotClassRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsBotClassRequestDateRangeList = Array; export const LeakedCredentialsTimeseriesGroupsBotClassRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsBotClassRequestDateStartList = Array; export const LeakedCredentialsTimeseriesGroupsBotClassRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsBotClassRequestFormat = | "JSON" | "CSV"; export const LeakedCredentialsTimeseriesGroupsBotClassRequestFormat = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsBotClassRequestNameList = Array; export const LeakedCredentialsTimeseriesGroupsBotClassRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BotClassLeakedCredentialTimeseriesGroupRequest { /** 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/). */ aggInterval?: | LeakedCredentialsTimeseriesGroupsBotClassRequestAggInterval | (string & {}); /** Filters results by compromised credential status (clean vs. compromised). */ compromised?: LeakedCredentialsTimeseriesGroupsBotClassRequestCompromisedList; /** End of the date range (inclusive). */ dateEnd?: LeakedCredentialsTimeseriesGroupsBotClassRequestDateEndList; /** 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). */ dateRange?: LeakedCredentialsTimeseriesGroupsBotClassRequestDateRangeList; /** Start of the date range. */ dateStart?: LeakedCredentialsTimeseriesGroupsBotClassRequestDateStartList; /** Format in which results will be returned. */ format?: | LeakedCredentialsTimeseriesGroupsBotClassRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: LeakedCredentialsTimeseriesGroupsBotClassRequestNameList; } export const BotClassLeakedCredentialTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( LeakedCredentialsTimeseriesGroupsBotClassRequestAggInterval.pipe( T.Query(), ), ), compromised: S.optional( LeakedCredentialsTimeseriesGroupsBotClassRequestCompromisedList.pipe( T.Query(), ), ), dateEnd: S.optional( LeakedCredentialsTimeseriesGroupsBotClassRequestDateEndList.pipe( T.Query(), ), ), dateRange: S.optional( LeakedCredentialsTimeseriesGroupsBotClassRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( LeakedCredentialsTimeseriesGroupsBotClassRequestDateStartList.pipe( T.Query(), ), ), format: S.optional( LeakedCredentialsTimeseriesGroupsBotClassRequestFormat.pipe(T.Query()), ), name: S.optional( LeakedCredentialsTimeseriesGroupsBotClassRequestNameList.pipe( T.Query(), ), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/leaked_credential_checks/timeseries_groups/bot_class", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BotClassLeakedCredentialTimeseriesGroupRequest", }) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsBotClassResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const LeakedCredentialsTimeseriesGroupsBotClassResponseMetaAggInterval = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsList = Array; export const LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfo { annotations: LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfo", }) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsBotClassResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const LeakedCredentialsTimeseriesGroupsBotClassResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type LeakedCredentialsTimeseriesGroupsBotClassResponseMetaDateRangeList = Array; export const LeakedCredentialsTimeseriesGroupsBotClassResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsBotClassResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const LeakedCredentialsTimeseriesGroupsBotClassResponseMetaNormalization = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsBotClassResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const LeakedCredentialsTimeseriesGroupsBotClassResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type LeakedCredentialsTimeseriesGroupsBotClassResponseMetaUnitsList = Array; export const LeakedCredentialsTimeseriesGroupsBotClassResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface LeakedCredentialsTimeseriesGroupsBotClassResponseMeta { /** 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/). */ aggInterval: LeakedCredentialsTimeseriesGroupsBotClassResponseMetaAggInterval; confidenceInfo: LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfo; dateRange: LeakedCredentialsTimeseriesGroupsBotClassResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: LeakedCredentialsTimeseriesGroupsBotClassResponseMetaNormalization; /** Measurement units for the results. */ units: LeakedCredentialsTimeseriesGroupsBotClassResponseMetaUnitsList; } export const LeakedCredentialsTimeseriesGroupsBotClassResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: LeakedCredentialsTimeseriesGroupsBotClassResponseMetaAggInterval, confidenceInfo: LeakedCredentialsTimeseriesGroupsBotClassResponseMetaConfidenceInfo, dateRange: LeakedCredentialsTimeseriesGroupsBotClassResponseMetaDateRangeList, lastUpdated: S.String, normalization: LeakedCredentialsTimeseriesGroupsBotClassResponseMetaNormalization, units: LeakedCredentialsTimeseriesGroupsBotClassResponseMetaUnitsList, }), ).annotate({ identifier: "LeakedCredentialsTimeseriesGroupsBotClassResponseMeta", }) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsBotClassResponseSerie0BotList = Array; export const LeakedCredentialsTimeseriesGroupsBotClassResponseSerie0BotList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsBotClassResponseSerie0HumanList = Array; export const LeakedCredentialsTimeseriesGroupsBotClassResponseSerie0HumanList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsBotClassResponseSerie0TimestampsList = Array; export const LeakedCredentialsTimeseriesGroupsBotClassResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface LeakedCredentialsTimeseriesGroupsBotClassResponseSerie0 { bot: LeakedCredentialsTimeseriesGroupsBotClassResponseSerie0BotList; human: LeakedCredentialsTimeseriesGroupsBotClassResponseSerie0HumanList; timestamps: LeakedCredentialsTimeseriesGroupsBotClassResponseSerie0TimestampsList; } export const LeakedCredentialsTimeseriesGroupsBotClassResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ bot: LeakedCredentialsTimeseriesGroupsBotClassResponseSerie0BotList, human: LeakedCredentialsTimeseriesGroupsBotClassResponseSerie0HumanList, timestamps: LeakedCredentialsTimeseriesGroupsBotClassResponseSerie0TimestampsList, }), ).annotate({ identifier: "LeakedCredentialsTimeseriesGroupsBotClassResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface BotClassLeakedCredentialTimeseriesGroupResponse { /** Metadata for the results. */ meta: LeakedCredentialsTimeseriesGroupsBotClassResponseMeta; serie_0: LeakedCredentialsTimeseriesGroupsBotClassResponseSerie0; } export const BotClassLeakedCredentialTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: LeakedCredentialsTimeseriesGroupsBotClassResponseMeta, serie_0: LeakedCredentialsTimeseriesGroupsBotClassResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BotClassLeakedCredentialTimeseriesGroupResponse", }) as any as S.Schema; export type EntitiesAsnsBotnetThreatFeedRequestAsnList = Array; export const EntitiesAsnsBotnetThreatFeedRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EntitiesAsnsBotnetThreatFeedRequestFormat = "JSON" | "CSV"; export const EntitiesAsnsBotnetThreatFeedRequestFormat = /*@__PURE__*/ S.String; export type EntitiesAsnsBotnetThreatFeedRequestMetric = | "OFFENSE_COUNT" | "NUMBER_OF_OFFENDING_IPS"; export const EntitiesAsnsBotnetThreatFeedRequestMetric = /*@__PURE__*/ S.String; export type EntitiesAsnsBotnetThreatFeedRequestSortOrder = "ASC" | "DESC"; export const EntitiesAsnsBotnetThreatFeedRequestSortOrder = /*@__PURE__*/ S.String; export interface BotnetThreatFeedEntityAsnRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: EntitiesAsnsBotnetThreatFeedRequestAsnList; /** Relative date range for rank change comparison (e.g., "1d", "7d", "30d"). */ compareDateRange?: string; /** The date to retrieve (YYYY-MM-DD format). If not specified, returns the most recent available data. Note: This is the date the report was generated. The report is generated from information collected from the previous day (e.g., the 2026-02-23 entry contains data from 2026-02-22). */ date?: string; /** Format in which results will be returned. */ format?: EntitiesAsnsBotnetThreatFeedRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify an alpha-2 location code. */ location?: string; /** Metric to rank ASNs by. */ metric?: EntitiesAsnsBotnetThreatFeedRequestMetric | (string & {}); /** Skips the specified number of objects before fetching the results. */ offset?: number; /** Sort order. */ sortOrder?: EntitiesAsnsBotnetThreatFeedRequestSortOrder | (string & {}); } export const BotnetThreatFeedEntityAsnRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(EntitiesAsnsBotnetThreatFeedRequestAsnList.pipe(T.Query())), compareDateRange: S.optional(S.String.pipe(T.Query())), date: S.optional(S.String.pipe(T.Query())), format: S.optional( EntitiesAsnsBotnetThreatFeedRequestFormat.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(S.String.pipe(T.Query())), metric: S.optional( EntitiesAsnsBotnetThreatFeedRequestMetric.pipe(T.Query()), ), offset: S.optional(S.Number.pipe(T.Query())), sortOrder: S.optional( EntitiesAsnsBotnetThreatFeedRequestSortOrder.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/entities/asns/botnet_threat_feed", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BotnetThreatFeedEntityAsnRequest", }) as any as S.Schema; export interface EntitiesAsnsBotnetThreatFeedResponseAsesItem { asn: number; country: string; name: string; rank: number; rankChange?: number | null; } export const EntitiesAsnsBotnetThreatFeedResponseAsesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.Number, country: S.String, name: S.String, rank: S.Number, rankChange: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "EntitiesAsnsBotnetThreatFeedResponseAsesItem", }) as any as S.Schema; export type EntitiesAsnsBotnetThreatFeedResponseAsesList = Array; export const EntitiesAsnsBotnetThreatFeedResponseAsesList = /*@__PURE__*/ S.Array( EntitiesAsnsBotnetThreatFeedResponseAsesItem, ) as any as S.Schema; export interface EntitiesAsnsBotnetThreatFeedResponseMeta { date: string; total: number; compareDate?: string | null; } export const EntitiesAsnsBotnetThreatFeedResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ date: S.String, total: S.Number, compareDate: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "EntitiesAsnsBotnetThreatFeedResponseMeta", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface BotnetThreatFeedEntityAsnResponse { ases: EntitiesAsnsBotnetThreatFeedResponseAsesList; meta: EntitiesAsnsBotnetThreatFeedResponseMeta; } export const BotnetThreatFeedEntityAsnResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ ases: EntitiesAsnsBotnetThreatFeedResponseAsesList, meta: EntitiesAsnsBotnetThreatFeedResponseMeta, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BotnetThreatFeedEntityAsnResponse", }) as any as S.Schema; export type VerifiedBotsTopBotsRequestAsnList = Array; export const VerifiedBotsTopBotsRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type VerifiedBotsTopBotsRequestContinentList = Array; export const VerifiedBotsTopBotsRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type VerifiedBotsTopBotsRequestDateEndList = Array; export const VerifiedBotsTopBotsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type VerifiedBotsTopBotsRequestDateRangeList = Array; export const VerifiedBotsTopBotsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type VerifiedBotsTopBotsRequestDateStartList = Array; export const VerifiedBotsTopBotsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type VerifiedBotsTopBotsRequestFormat = "JSON" | "CSV"; export const VerifiedBotsTopBotsRequestFormat = /*@__PURE__*/ S.String; export type VerifiedBotsTopBotsRequestLocationList = Array; export const VerifiedBotsTopBotsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type VerifiedBotsTopBotsRequestNameList = Array; export const VerifiedBotsTopBotsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BotsVerifiedBotTopRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: VerifiedBotsTopBotsRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: VerifiedBotsTopBotsRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: VerifiedBotsTopBotsRequestDateEndList; /** 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). */ dateRange?: VerifiedBotsTopBotsRequestDateRangeList; /** Start of the date range. */ dateStart?: VerifiedBotsTopBotsRequestDateStartList; /** Format in which results will be returned. */ format?: VerifiedBotsTopBotsRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: VerifiedBotsTopBotsRequestLocationList; /** Array of names used to label the series in the response. */ name?: VerifiedBotsTopBotsRequestNameList; } export const BotsVerifiedBotTopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(VerifiedBotsTopBotsRequestAsnList.pipe(T.Query())), continent: S.optional( VerifiedBotsTopBotsRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(VerifiedBotsTopBotsRequestDateEndList.pipe(T.Query())), dateRange: S.optional( VerifiedBotsTopBotsRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( VerifiedBotsTopBotsRequestDateStartList.pipe(T.Query()), ), format: S.optional(VerifiedBotsTopBotsRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( VerifiedBotsTopBotsRequestLocationList.pipe(T.Query()), ), name: S.optional(VerifiedBotsTopBotsRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/verified_bots/top/bots", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BotsVerifiedBotTopRequest", }) as any as S.Schema; export type VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsList = Array; export const VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface VerifiedBotsTopBotsResponseMetaConfidenceInfo { annotations: VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const VerifiedBotsTopBotsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: VerifiedBotsTopBotsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "VerifiedBotsTopBotsResponseMetaConfidenceInfo", }) as any as S.Schema; export type VerifiedBotsTopBotsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const VerifiedBotsTopBotsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type VerifiedBotsTopBotsResponseMetaDateRangeList = Array; export const VerifiedBotsTopBotsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type VerifiedBotsTopBotsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const VerifiedBotsTopBotsResponseMetaNormalization = /*@__PURE__*/ S.String; export type VerifiedBotsTopBotsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const VerifiedBotsTopBotsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type VerifiedBotsTopBotsResponseMetaUnitsList = Array; export const VerifiedBotsTopBotsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface VerifiedBotsTopBotsResponseMeta { confidenceInfo: VerifiedBotsTopBotsResponseMetaConfidenceInfo; dateRange: VerifiedBotsTopBotsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: VerifiedBotsTopBotsResponseMetaNormalization; /** Measurement units for the results. */ units: VerifiedBotsTopBotsResponseMetaUnitsList; } export const VerifiedBotsTopBotsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: VerifiedBotsTopBotsResponseMetaConfidenceInfo, dateRange: VerifiedBotsTopBotsResponseMetaDateRangeList, lastUpdated: S.String, normalization: VerifiedBotsTopBotsResponseMetaNormalization, units: VerifiedBotsTopBotsResponseMetaUnitsList, }), ).annotate({ identifier: "VerifiedBotsTopBotsResponseMeta", }) as any as S.Schema; export interface VerifiedBotsTopBotsResponseTop0Item { botCategory: string; botName: string; botOwner: string; /** A numeric string. */ value: string; } export const VerifiedBotsTopBotsResponseTop0Item = /*@__PURE__*/ S.suspend(() => S.Struct({ botCategory: S.String, botName: S.String, botOwner: S.String, value: S.String, }), ).annotate({ identifier: "VerifiedBotsTopBotsResponseTop0Item", }) as any as S.Schema; export type VerifiedBotsTopBotsResponseTop0List = Array; export const VerifiedBotsTopBotsResponseTop0List = /*@__PURE__*/ S.Array( VerifiedBotsTopBotsResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface BotsVerifiedBotTopResponse { /** Metadata for the results. */ meta: VerifiedBotsTopBotsResponseMeta; top_0: VerifiedBotsTopBotsResponseTop0List; } export const BotsVerifiedBotTopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: VerifiedBotsTopBotsResponseMeta, top_0: VerifiedBotsTopBotsResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BotsVerifiedBotTopResponse", }) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const HttpTimeseriesGroupsBrowserFamilyRequestAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserFamilyRequestAsnList = Array; export const HttpTimeseriesGroupsBrowserFamilyRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpTimeseriesGroupsBrowserFamilyRequestBotClass = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserFamilyRequestBotClassList = Array< HttpTimeseriesGroupsBrowserFamilyRequestBotClass | (string & {}) >; export const HttpTimeseriesGroupsBrowserFamilyRequestBotClassList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBrowserFamilyRequestBotClass, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyRequestContinentList = Array; export const HttpTimeseriesGroupsBrowserFamilyRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyRequestDateEndList = Array; export const HttpTimeseriesGroupsBrowserFamilyRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyRequestDateRangeList = Array; export const HttpTimeseriesGroupsBrowserFamilyRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyRequestDateStartList = Array; export const HttpTimeseriesGroupsBrowserFamilyRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpTimeseriesGroupsBrowserFamilyRequestDeviceType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserFamilyRequestDeviceTypeList = Array< HttpTimeseriesGroupsBrowserFamilyRequestDeviceType | (string & {}) >; export const HttpTimeseriesGroupsBrowserFamilyRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBrowserFamilyRequestDeviceType, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyRequestFormat = "JSON" | "CSV"; export const HttpTimeseriesGroupsBrowserFamilyRequestFormat = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserFamilyRequestGeoIdList = Array; export const HttpTimeseriesGroupsBrowserFamilyRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyRequestHttpProtocol = | "HTTP" | "HTTPS"; export const HttpTimeseriesGroupsBrowserFamilyRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserFamilyRequestHttpProtocolList = Array< HttpTimeseriesGroupsBrowserFamilyRequestHttpProtocol | (string & {}) >; export const HttpTimeseriesGroupsBrowserFamilyRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBrowserFamilyRequestHttpProtocol, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpTimeseriesGroupsBrowserFamilyRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserFamilyRequestHttpVersionList = Array< HttpTimeseriesGroupsBrowserFamilyRequestHttpVersion | (string & {}) >; export const HttpTimeseriesGroupsBrowserFamilyRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBrowserFamilyRequestHttpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyRequestIpVersion = "IPv4" | "IPv6"; export const HttpTimeseriesGroupsBrowserFamilyRequestIpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserFamilyRequestIpVersionList = Array< HttpTimeseriesGroupsBrowserFamilyRequestIpVersion | (string & {}) >; export const HttpTimeseriesGroupsBrowserFamilyRequestIpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBrowserFamilyRequestIpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyRequestLocationList = Array; export const HttpTimeseriesGroupsBrowserFamilyRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyRequestNameList = Array; export const HttpTimeseriesGroupsBrowserFamilyRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpTimeseriesGroupsBrowserFamilyRequestOs = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserFamilyRequestOsList = Array< HttpTimeseriesGroupsBrowserFamilyRequestOs | (string & {}) >; export const HttpTimeseriesGroupsBrowserFamilyRequestOsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBrowserFamilyRequestOs, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpTimeseriesGroupsBrowserFamilyRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserFamilyRequestTlsVersionList = Array< HttpTimeseriesGroupsBrowserFamilyRequestTlsVersion | (string & {}) >; export const HttpTimeseriesGroupsBrowserFamilyRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBrowserFamilyRequestTlsVersion, ) as any as S.Schema; export interface BrowserFamilyHttpTimeseriesGroupRequest { /** 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/). */ aggInterval?: | HttpTimeseriesGroupsBrowserFamilyRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpTimeseriesGroupsBrowserFamilyRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpTimeseriesGroupsBrowserFamilyRequestBotClassList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpTimeseriesGroupsBrowserFamilyRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpTimeseriesGroupsBrowserFamilyRequestDateEndList; /** 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). */ dateRange?: HttpTimeseriesGroupsBrowserFamilyRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpTimeseriesGroupsBrowserFamilyRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpTimeseriesGroupsBrowserFamilyRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpTimeseriesGroupsBrowserFamilyRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpTimeseriesGroupsBrowserFamilyRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpTimeseriesGroupsBrowserFamilyRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpTimeseriesGroupsBrowserFamilyRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpTimeseriesGroupsBrowserFamilyRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpTimeseriesGroupsBrowserFamilyRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpTimeseriesGroupsBrowserFamilyRequestNameList; /** Filters results by operating system. */ os?: HttpTimeseriesGroupsBrowserFamilyRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpTimeseriesGroupsBrowserFamilyRequestTlsVersionList; } export const BrowserFamilyHttpTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( HttpTimeseriesGroupsBrowserFamilyRequestAggInterval.pipe(T.Query()), ), asn: S.optional( HttpTimeseriesGroupsBrowserFamilyRequestAsnList.pipe(T.Query()), ), botClass: S.optional( HttpTimeseriesGroupsBrowserFamilyRequestBotClassList.pipe(T.Query()), ), continent: S.optional( HttpTimeseriesGroupsBrowserFamilyRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpTimeseriesGroupsBrowserFamilyRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpTimeseriesGroupsBrowserFamilyRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpTimeseriesGroupsBrowserFamilyRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpTimeseriesGroupsBrowserFamilyRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional( HttpTimeseriesGroupsBrowserFamilyRequestFormat.pipe(T.Query()), ), geoId: S.optional( HttpTimeseriesGroupsBrowserFamilyRequestGeoIdList.pipe(T.Query()), ), httpProtocol: S.optional( HttpTimeseriesGroupsBrowserFamilyRequestHttpProtocolList.pipe( T.Query(), ), ), httpVersion: S.optional( HttpTimeseriesGroupsBrowserFamilyRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpTimeseriesGroupsBrowserFamilyRequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpTimeseriesGroupsBrowserFamilyRequestLocationList.pipe(T.Query()), ), name: S.optional( HttpTimeseriesGroupsBrowserFamilyRequestNameList.pipe(T.Query()), ), os: S.optional( HttpTimeseriesGroupsBrowserFamilyRequestOsList.pipe(T.Query()), ), tlsVersion: S.optional( HttpTimeseriesGroupsBrowserFamilyRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/timeseries_groups/browser_family", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BrowserFamilyHttpTimeseriesGroupRequest", }) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const HttpTimeseriesGroupsBrowserFamilyResponseMetaAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfo { annotations: HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpTimeseriesGroupsBrowserFamilyResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpTimeseriesGroupsBrowserFamilyResponseMetaDateRangeList = Array; export const HttpTimeseriesGroupsBrowserFamilyResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpTimeseriesGroupsBrowserFamilyResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserFamilyResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpTimeseriesGroupsBrowserFamilyResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpTimeseriesGroupsBrowserFamilyResponseMetaUnitsList = Array; export const HttpTimeseriesGroupsBrowserFamilyResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsBrowserFamilyResponseMeta { /** 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/). */ aggInterval: HttpTimeseriesGroupsBrowserFamilyResponseMetaAggInterval; confidenceInfo: HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfo; dateRange: HttpTimeseriesGroupsBrowserFamilyResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpTimeseriesGroupsBrowserFamilyResponseMetaNormalization; /** Measurement units for the results. */ units: HttpTimeseriesGroupsBrowserFamilyResponseMetaUnitsList; } export const HttpTimeseriesGroupsBrowserFamilyResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: HttpTimeseriesGroupsBrowserFamilyResponseMetaAggInterval, confidenceInfo: HttpTimeseriesGroupsBrowserFamilyResponseMetaConfidenceInfo, dateRange: HttpTimeseriesGroupsBrowserFamilyResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpTimeseriesGroupsBrowserFamilyResponseMetaNormalization, units: HttpTimeseriesGroupsBrowserFamilyResponseMetaUnitsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsBrowserFamilyResponseMeta", }) as any as S.Schema; export type HttpTimeseriesGroupsBrowserFamilyResponseSerie0TimestampsList = Array; export const HttpTimeseriesGroupsBrowserFamilyResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsBrowserFamilyResponseSerie0 { timestamps: HttpTimeseriesGroupsBrowserFamilyResponseSerie0TimestampsList; } export const HttpTimeseriesGroupsBrowserFamilyResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: HttpTimeseriesGroupsBrowserFamilyResponseSerie0TimestampsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsBrowserFamilyResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface BrowserFamilyHttpTimeseriesGroupResponse { /** Metadata for the results. */ meta: HttpTimeseriesGroupsBrowserFamilyResponseMeta; serie_0: HttpTimeseriesGroupsBrowserFamilyResponseSerie0; } export const BrowserFamilyHttpTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: HttpTimeseriesGroupsBrowserFamilyResponseMeta, serie_0: HttpTimeseriesGroupsBrowserFamilyResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BrowserFamilyHttpTimeseriesGroupResponse", }) as any as S.Schema; export type HttpTopBrowserFamilyRequestAsnList = Array; export const HttpTopBrowserFamilyRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTopBrowserFamilyRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpTopBrowserFamilyRequestBotClass = /*@__PURE__*/ S.String; export type HttpTopBrowserFamilyRequestBotClassList = Array< HttpTopBrowserFamilyRequestBotClass | (string & {}) >; export const HttpTopBrowserFamilyRequestBotClassList = /*@__PURE__*/ S.Array( HttpTopBrowserFamilyRequestBotClass, ) as any as S.Schema; export type HttpTopBrowserFamilyRequestContinentList = Array; export const HttpTopBrowserFamilyRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTopBrowserFamilyRequestDateEndList = Array; export const HttpTopBrowserFamilyRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTopBrowserFamilyRequestDateRangeList = Array; export const HttpTopBrowserFamilyRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTopBrowserFamilyRequestDateStartList = Array; export const HttpTopBrowserFamilyRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTopBrowserFamilyRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpTopBrowserFamilyRequestDeviceType = /*@__PURE__*/ S.String; export type HttpTopBrowserFamilyRequestDeviceTypeList = Array< HttpTopBrowserFamilyRequestDeviceType | (string & {}) >; export const HttpTopBrowserFamilyRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpTopBrowserFamilyRequestDeviceType, ) as any as S.Schema; export type HttpTopBrowserFamilyRequestFormat = "JSON" | "CSV"; export const HttpTopBrowserFamilyRequestFormat = /*@__PURE__*/ S.String; export type HttpTopBrowserFamilyRequestGeoIdList = Array; export const HttpTopBrowserFamilyRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTopBrowserFamilyRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpTopBrowserFamilyRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpTopBrowserFamilyRequestHttpProtocolList = Array< HttpTopBrowserFamilyRequestHttpProtocol | (string & {}) >; export const HttpTopBrowserFamilyRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpTopBrowserFamilyRequestHttpProtocol, ) as any as S.Schema; export type HttpTopBrowserFamilyRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpTopBrowserFamilyRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpTopBrowserFamilyRequestHttpVersionList = Array< HttpTopBrowserFamilyRequestHttpVersion | (string & {}) >; export const HttpTopBrowserFamilyRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpTopBrowserFamilyRequestHttpVersion, ) as any as S.Schema; export type HttpTopBrowserFamilyRequestIpVersion = "IPv4" | "IPv6"; export const HttpTopBrowserFamilyRequestIpVersion = /*@__PURE__*/ S.String; export type HttpTopBrowserFamilyRequestIpVersionList = Array< HttpTopBrowserFamilyRequestIpVersion | (string & {}) >; export const HttpTopBrowserFamilyRequestIpVersionList = /*@__PURE__*/ S.Array( HttpTopBrowserFamilyRequestIpVersion, ) as any as S.Schema; export type HttpTopBrowserFamilyRequestLocationList = Array; export const HttpTopBrowserFamilyRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTopBrowserFamilyRequestNameList = Array; export const HttpTopBrowserFamilyRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTopBrowserFamilyRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpTopBrowserFamilyRequestOs = /*@__PURE__*/ S.String; export type HttpTopBrowserFamilyRequestOsList = Array< HttpTopBrowserFamilyRequestOs | (string & {}) >; export const HttpTopBrowserFamilyRequestOsList = /*@__PURE__*/ S.Array( HttpTopBrowserFamilyRequestOs, ) as any as S.Schema; export type HttpTopBrowserFamilyRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpTopBrowserFamilyRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpTopBrowserFamilyRequestTlsVersionList = Array< HttpTopBrowserFamilyRequestTlsVersion | (string & {}) >; export const HttpTopBrowserFamilyRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpTopBrowserFamilyRequestTlsVersion, ) as any as S.Schema; export interface BrowserFamilyHttpTopRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpTopBrowserFamilyRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpTopBrowserFamilyRequestBotClassList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpTopBrowserFamilyRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpTopBrowserFamilyRequestDateEndList; /** 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). */ dateRange?: HttpTopBrowserFamilyRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpTopBrowserFamilyRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpTopBrowserFamilyRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpTopBrowserFamilyRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpTopBrowserFamilyRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpTopBrowserFamilyRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpTopBrowserFamilyRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpTopBrowserFamilyRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpTopBrowserFamilyRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpTopBrowserFamilyRequestNameList; /** Filters results by operating system. */ os?: HttpTopBrowserFamilyRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpTopBrowserFamilyRequestTlsVersionList; } export const BrowserFamilyHttpTopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(HttpTopBrowserFamilyRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpTopBrowserFamilyRequestBotClassList.pipe(T.Query()), ), continent: S.optional( HttpTopBrowserFamilyRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(HttpTopBrowserFamilyRequestDateEndList.pipe(T.Query())), dateRange: S.optional( HttpTopBrowserFamilyRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpTopBrowserFamilyRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpTopBrowserFamilyRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpTopBrowserFamilyRequestFormat.pipe(T.Query())), geoId: S.optional(HttpTopBrowserFamilyRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpTopBrowserFamilyRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpTopBrowserFamilyRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpTopBrowserFamilyRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpTopBrowserFamilyRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpTopBrowserFamilyRequestNameList.pipe(T.Query())), os: S.optional(HttpTopBrowserFamilyRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpTopBrowserFamilyRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/browser_family", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BrowserFamilyHttpTopRequest", }) as any as S.Schema; export type HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpTopBrowserFamilyResponseMetaConfidenceInfo { annotations: HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpTopBrowserFamilyResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpTopBrowserFamilyResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpTopBrowserFamilyResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpTopBrowserFamilyResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpTopBrowserFamilyResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpTopBrowserFamilyResponseMetaDateRangeList = Array; export const HttpTopBrowserFamilyResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpTopBrowserFamilyResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpTopBrowserFamilyResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpTopBrowserFamilyResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpTopBrowserFamilyResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpTopBrowserFamilyResponseMetaUnitsList = Array; export const HttpTopBrowserFamilyResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpTopBrowserFamilyResponseMeta { confidenceInfo: HttpTopBrowserFamilyResponseMetaConfidenceInfo; dateRange: HttpTopBrowserFamilyResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpTopBrowserFamilyResponseMetaNormalization; /** Measurement units for the results. */ units: HttpTopBrowserFamilyResponseMetaUnitsList; } export const HttpTopBrowserFamilyResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpTopBrowserFamilyResponseMetaConfidenceInfo, dateRange: HttpTopBrowserFamilyResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpTopBrowserFamilyResponseMetaNormalization, units: HttpTopBrowserFamilyResponseMetaUnitsList, }), ).annotate({ identifier: "HttpTopBrowserFamilyResponseMeta", }) as any as S.Schema; export type HttpTopBrowserFamilyResponseTop0Item = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpTopBrowserFamilyResponseTop0Item = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpTopBrowserFamilyResponseTop0List = Array; export const HttpTopBrowserFamilyResponseTop0List = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface BrowserFamilyHttpTopResponse { /** Metadata for the results. */ meta: HttpTopBrowserFamilyResponseMeta; top_0: HttpTopBrowserFamilyResponseTop0List; } export const BrowserFamilyHttpTopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpTopBrowserFamilyResponseMeta, top_0: HttpTopBrowserFamilyResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BrowserFamilyHttpTopResponse", }) as any as S.Schema; export type HttpTimeseriesGroupsBrowserRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const HttpTimeseriesGroupsBrowserRequestAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserRequestAsnList = Array; export const HttpTimeseriesGroupsBrowserRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpTimeseriesGroupsBrowserRequestBotClass = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserRequestBotClassList = Array< HttpTimeseriesGroupsBrowserRequestBotClass | (string & {}) >; export const HttpTimeseriesGroupsBrowserRequestBotClassList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBrowserRequestBotClass, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpTimeseriesGroupsBrowserRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserRequestBrowserFamilyList = Array< HttpTimeseriesGroupsBrowserRequestBrowserFamily | (string & {}) >; export const HttpTimeseriesGroupsBrowserRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBrowserRequestBrowserFamily, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserRequestContinentList = Array; export const HttpTimeseriesGroupsBrowserRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserRequestDateEndList = Array; export const HttpTimeseriesGroupsBrowserRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserRequestDateRangeList = Array; export const HttpTimeseriesGroupsBrowserRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserRequestDateStartList = Array; export const HttpTimeseriesGroupsBrowserRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpTimeseriesGroupsBrowserRequestDeviceType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserRequestDeviceTypeList = Array< HttpTimeseriesGroupsBrowserRequestDeviceType | (string & {}) >; export const HttpTimeseriesGroupsBrowserRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBrowserRequestDeviceType, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserRequestFormat = "JSON" | "CSV"; export const HttpTimeseriesGroupsBrowserRequestFormat = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserRequestGeoIdList = Array; export const HttpTimeseriesGroupsBrowserRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpTimeseriesGroupsBrowserRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserRequestHttpProtocolList = Array< HttpTimeseriesGroupsBrowserRequestHttpProtocol | (string & {}) >; export const HttpTimeseriesGroupsBrowserRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBrowserRequestHttpProtocol, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpTimeseriesGroupsBrowserRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserRequestHttpVersionList = Array< HttpTimeseriesGroupsBrowserRequestHttpVersion | (string & {}) >; export const HttpTimeseriesGroupsBrowserRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBrowserRequestHttpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserRequestIpVersion = "IPv4" | "IPv6"; export const HttpTimeseriesGroupsBrowserRequestIpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserRequestIpVersionList = Array< HttpTimeseriesGroupsBrowserRequestIpVersion | (string & {}) >; export const HttpTimeseriesGroupsBrowserRequestIpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBrowserRequestIpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserRequestLocationList = Array; export const HttpTimeseriesGroupsBrowserRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserRequestNameList = Array; export const HttpTimeseriesGroupsBrowserRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpTimeseriesGroupsBrowserRequestOs = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserRequestOsList = Array< HttpTimeseriesGroupsBrowserRequestOs | (string & {}) >; export const HttpTimeseriesGroupsBrowserRequestOsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBrowserRequestOs, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpTimeseriesGroupsBrowserRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserRequestTlsVersionList = Array< HttpTimeseriesGroupsBrowserRequestTlsVersion | (string & {}) >; export const HttpTimeseriesGroupsBrowserRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBrowserRequestTlsVersion, ) as any as S.Schema; export interface BrowserHttpTimeseriesGroupRequest { /** 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/). */ aggInterval?: HttpTimeseriesGroupsBrowserRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpTimeseriesGroupsBrowserRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpTimeseriesGroupsBrowserRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpTimeseriesGroupsBrowserRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpTimeseriesGroupsBrowserRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpTimeseriesGroupsBrowserRequestDateEndList; /** 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). */ dateRange?: HttpTimeseriesGroupsBrowserRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpTimeseriesGroupsBrowserRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpTimeseriesGroupsBrowserRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpTimeseriesGroupsBrowserRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpTimeseriesGroupsBrowserRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpTimeseriesGroupsBrowserRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpTimeseriesGroupsBrowserRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpTimeseriesGroupsBrowserRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpTimeseriesGroupsBrowserRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpTimeseriesGroupsBrowserRequestNameList; /** Filters results by operating system. */ os?: HttpTimeseriesGroupsBrowserRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpTimeseriesGroupsBrowserRequestTlsVersionList; } export const BrowserHttpTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( HttpTimeseriesGroupsBrowserRequestAggInterval.pipe(T.Query()), ), asn: S.optional(HttpTimeseriesGroupsBrowserRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpTimeseriesGroupsBrowserRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpTimeseriesGroupsBrowserRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpTimeseriesGroupsBrowserRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpTimeseriesGroupsBrowserRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpTimeseriesGroupsBrowserRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpTimeseriesGroupsBrowserRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpTimeseriesGroupsBrowserRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional( HttpTimeseriesGroupsBrowserRequestFormat.pipe(T.Query()), ), geoId: S.optional( HttpTimeseriesGroupsBrowserRequestGeoIdList.pipe(T.Query()), ), httpProtocol: S.optional( HttpTimeseriesGroupsBrowserRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpTimeseriesGroupsBrowserRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpTimeseriesGroupsBrowserRequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpTimeseriesGroupsBrowserRequestLocationList.pipe(T.Query()), ), name: S.optional( HttpTimeseriesGroupsBrowserRequestNameList.pipe(T.Query()), ), os: S.optional(HttpTimeseriesGroupsBrowserRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpTimeseriesGroupsBrowserRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/timeseries_groups/browser", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BrowserHttpTimeseriesGroupRequest", }) as any as S.Schema; export type HttpTimeseriesGroupsBrowserResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const HttpTimeseriesGroupsBrowserResponseMetaAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfo { annotations: HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpTimeseriesGroupsBrowserResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpTimeseriesGroupsBrowserResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpTimeseriesGroupsBrowserResponseMetaDateRangeList = Array; export const HttpTimeseriesGroupsBrowserResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpTimeseriesGroupsBrowserResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpTimeseriesGroupsBrowserResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsBrowserResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpTimeseriesGroupsBrowserResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpTimeseriesGroupsBrowserResponseMetaUnitsList = Array; export const HttpTimeseriesGroupsBrowserResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsBrowserResponseMeta { /** 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/). */ aggInterval: HttpTimeseriesGroupsBrowserResponseMetaAggInterval; confidenceInfo: HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfo; dateRange: HttpTimeseriesGroupsBrowserResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpTimeseriesGroupsBrowserResponseMetaNormalization; /** Measurement units for the results. */ units: HttpTimeseriesGroupsBrowserResponseMetaUnitsList; } export const HttpTimeseriesGroupsBrowserResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: HttpTimeseriesGroupsBrowserResponseMetaAggInterval, confidenceInfo: HttpTimeseriesGroupsBrowserResponseMetaConfidenceInfo, dateRange: HttpTimeseriesGroupsBrowserResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpTimeseriesGroupsBrowserResponseMetaNormalization, units: HttpTimeseriesGroupsBrowserResponseMetaUnitsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsBrowserResponseMeta", }) as any as S.Schema; export type HttpTimeseriesGroupsBrowserResponseSerie0TimestampsList = Array; export const HttpTimeseriesGroupsBrowserResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsBrowserResponseSerie0 { timestamps: HttpTimeseriesGroupsBrowserResponseSerie0TimestampsList; } export const HttpTimeseriesGroupsBrowserResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: HttpTimeseriesGroupsBrowserResponseSerie0TimestampsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsBrowserResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface BrowserHttpTimeseriesGroupResponse { /** Metadata for the results. */ meta: HttpTimeseriesGroupsBrowserResponseMeta; serie_0: HttpTimeseriesGroupsBrowserResponseSerie0; } export const BrowserHttpTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpTimeseriesGroupsBrowserResponseMeta, serie_0: HttpTimeseriesGroupsBrowserResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BrowserHttpTimeseriesGroupResponse", }) as any as S.Schema; export type HttpTopBrowserRequestAsnList = Array; export const HttpTopBrowserRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTopBrowserRequestBotClass = "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpTopBrowserRequestBotClass = /*@__PURE__*/ S.String; export type HttpTopBrowserRequestBotClassList = Array< HttpTopBrowserRequestBotClass | (string & {}) >; export const HttpTopBrowserRequestBotClassList = /*@__PURE__*/ S.Array( HttpTopBrowserRequestBotClass, ) as any as S.Schema; export type HttpTopBrowserRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpTopBrowserRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpTopBrowserRequestBrowserFamilyList = Array< HttpTopBrowserRequestBrowserFamily | (string & {}) >; export const HttpTopBrowserRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpTopBrowserRequestBrowserFamily, ) as any as S.Schema; export type HttpTopBrowserRequestContinentList = Array; export const HttpTopBrowserRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTopBrowserRequestDateEndList = Array; export const HttpTopBrowserRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTopBrowserRequestDateRangeList = Array; export const HttpTopBrowserRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTopBrowserRequestDateStartList = Array; export const HttpTopBrowserRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTopBrowserRequestDeviceType = "DESKTOP" | "MOBILE" | "OTHER"; export const HttpTopBrowserRequestDeviceType = /*@__PURE__*/ S.String; export type HttpTopBrowserRequestDeviceTypeList = Array< HttpTopBrowserRequestDeviceType | (string & {}) >; export const HttpTopBrowserRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpTopBrowserRequestDeviceType, ) as any as S.Schema; export type HttpTopBrowserRequestFormat = "JSON" | "CSV"; export const HttpTopBrowserRequestFormat = /*@__PURE__*/ S.String; export type HttpTopBrowserRequestGeoIdList = Array; export const HttpTopBrowserRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTopBrowserRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpTopBrowserRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpTopBrowserRequestHttpProtocolList = Array< HttpTopBrowserRequestHttpProtocol | (string & {}) >; export const HttpTopBrowserRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpTopBrowserRequestHttpProtocol, ) as any as S.Schema; export type HttpTopBrowserRequestHttpVersion = "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpTopBrowserRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpTopBrowserRequestHttpVersionList = Array< HttpTopBrowserRequestHttpVersion | (string & {}) >; export const HttpTopBrowserRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpTopBrowserRequestHttpVersion, ) as any as S.Schema; export type HttpTopBrowserRequestIpVersion = "IPv4" | "IPv6"; export const HttpTopBrowserRequestIpVersion = /*@__PURE__*/ S.String; export type HttpTopBrowserRequestIpVersionList = Array< HttpTopBrowserRequestIpVersion | (string & {}) >; export const HttpTopBrowserRequestIpVersionList = /*@__PURE__*/ S.Array( HttpTopBrowserRequestIpVersion, ) as any as S.Schema; export type HttpTopBrowserRequestLocationList = Array; export const HttpTopBrowserRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTopBrowserRequestNameList = Array; export const HttpTopBrowserRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTopBrowserRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpTopBrowserRequestOs = /*@__PURE__*/ S.String; export type HttpTopBrowserRequestOsList = Array< HttpTopBrowserRequestOs | (string & {}) >; export const HttpTopBrowserRequestOsList = /*@__PURE__*/ S.Array( HttpTopBrowserRequestOs, ) as any as S.Schema; export type HttpTopBrowserRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpTopBrowserRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpTopBrowserRequestTlsVersionList = Array< HttpTopBrowserRequestTlsVersion | (string & {}) >; export const HttpTopBrowserRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpTopBrowserRequestTlsVersion, ) as any as S.Schema; export interface BrowserHttpTopRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpTopBrowserRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpTopBrowserRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpTopBrowserRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpTopBrowserRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpTopBrowserRequestDateEndList; /** 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). */ dateRange?: HttpTopBrowserRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpTopBrowserRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpTopBrowserRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpTopBrowserRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpTopBrowserRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpTopBrowserRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpTopBrowserRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpTopBrowserRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpTopBrowserRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpTopBrowserRequestNameList; /** Filters results by operating system. */ os?: HttpTopBrowserRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpTopBrowserRequestTlsVersionList; } export const BrowserHttpTopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(HttpTopBrowserRequestAsnList.pipe(T.Query())), botClass: S.optional(HttpTopBrowserRequestBotClassList.pipe(T.Query())), browserFamily: S.optional( HttpTopBrowserRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional(HttpTopBrowserRequestContinentList.pipe(T.Query())), dateEnd: S.optional(HttpTopBrowserRequestDateEndList.pipe(T.Query())), dateRange: S.optional(HttpTopBrowserRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(HttpTopBrowserRequestDateStartList.pipe(T.Query())), deviceType: S.optional(HttpTopBrowserRequestDeviceTypeList.pipe(T.Query())), format: S.optional(HttpTopBrowserRequestFormat.pipe(T.Query())), geoId: S.optional(HttpTopBrowserRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpTopBrowserRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpTopBrowserRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional(HttpTopBrowserRequestIpVersionList.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(HttpTopBrowserRequestLocationList.pipe(T.Query())), name: S.optional(HttpTopBrowserRequestNameList.pipe(T.Query())), os: S.optional(HttpTopBrowserRequestOsList.pipe(T.Query())), tlsVersion: S.optional(HttpTopBrowserRequestTlsVersionList.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/http/top/browser", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BrowserHttpTopRequest", }) as any as S.Schema; export type HttpTopBrowserResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpTopBrowserResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpTopBrowserResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpTopBrowserResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpTopBrowserResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpTopBrowserResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTopBrowserResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpTopBrowserResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpTopBrowserResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpTopBrowserResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpTopBrowserResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpTopBrowserResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpTopBrowserResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpTopBrowserResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpTopBrowserResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpTopBrowserResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpTopBrowserResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpTopBrowserResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpTopBrowserResponseMetaConfidenceInfo { annotations: HttpTopBrowserResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpTopBrowserResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: HttpTopBrowserResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpTopBrowserResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpTopBrowserResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpTopBrowserResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpTopBrowserResponseMetaDateRangeList = Array; export const HttpTopBrowserResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpTopBrowserResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpTopBrowserResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpTopBrowserResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpTopBrowserResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpTopBrowserResponseMetaUnitsList = Array; export const HttpTopBrowserResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpTopBrowserResponseMeta { confidenceInfo: HttpTopBrowserResponseMetaConfidenceInfo; dateRange: HttpTopBrowserResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpTopBrowserResponseMetaNormalization; /** Measurement units for the results. */ units: HttpTopBrowserResponseMetaUnitsList; } export const HttpTopBrowserResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpTopBrowserResponseMetaConfidenceInfo, dateRange: HttpTopBrowserResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpTopBrowserResponseMetaNormalization, units: HttpTopBrowserResponseMetaUnitsList, }), ).annotate({ identifier: "HttpTopBrowserResponseMeta", }) as any as S.Schema; export type HttpTopBrowserResponseTop0Item = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpTopBrowserResponseTop0Item = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpTopBrowserResponseTop0List = Array; export const HttpTopBrowserResponseTop0List = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface BrowserHttpTopResponse { /** Metadata for the results. */ meta: HttpTopBrowserResponseMeta; top_0: HttpTopBrowserResponseTop0List; } export const BrowserHttpTopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpTopBrowserResponseMeta, top_0: HttpTopBrowserResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "BrowserHttpTopResponse", }) as any as S.Schema; export type DnsSummaryCacheHitRequestAsnList = Array; export const DnsSummaryCacheHitRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryCacheHitRequestContinentList = Array; export const DnsSummaryCacheHitRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryCacheHitRequestDateEndList = Array; export const DnsSummaryCacheHitRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryCacheHitRequestDateRangeList = Array; export const DnsSummaryCacheHitRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryCacheHitRequestDateStartList = Array; export const DnsSummaryCacheHitRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryCacheHitRequestFormat = "JSON" | "CSV"; export const DnsSummaryCacheHitRequestFormat = /*@__PURE__*/ S.String; export type DnsSummaryCacheHitRequestLocationList = Array; export const DnsSummaryCacheHitRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryCacheHitRequestNameList = Array; export const DnsSummaryCacheHitRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryCacheHitRequestNodataList = Array; export const DnsSummaryCacheHitRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsSummaryCacheHitRequestProtocol = "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsSummaryCacheHitRequestProtocol = /*@__PURE__*/ S.String; export type DnsSummaryCacheHitRequestProtocolList = Array< DnsSummaryCacheHitRequestProtocol | (string & {}) >; export const DnsSummaryCacheHitRequestProtocolList = /*@__PURE__*/ S.Array( DnsSummaryCacheHitRequestProtocol, ) as any as S.Schema; export type DnsSummaryCacheHitRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsSummaryCacheHitRequestQueryType = /*@__PURE__*/ S.String; export type DnsSummaryCacheHitRequestQueryTypeList = Array< DnsSummaryCacheHitRequestQueryType | (string & {}) >; export const DnsSummaryCacheHitRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsSummaryCacheHitRequestQueryType, ) as any as S.Schema; export type DnsSummaryCacheHitRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsSummaryCacheHitRequestResponseCode = /*@__PURE__*/ S.String; export type DnsSummaryCacheHitRequestResponseCodeList = Array< DnsSummaryCacheHitRequestResponseCode | (string & {}) >; export const DnsSummaryCacheHitRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsSummaryCacheHitRequestResponseCode, ) as any as S.Schema; export type DnsSummaryCacheHitRequestTldList = Array; export const DnsSummaryCacheHitRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CacheHitDnsSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsSummaryCacheHitRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsSummaryCacheHitRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsSummaryCacheHitRequestDateEndList; /** 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). */ dateRange?: DnsSummaryCacheHitRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsSummaryCacheHitRequestDateStartList; /** Format in which results will be returned. */ format?: DnsSummaryCacheHitRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsSummaryCacheHitRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsSummaryCacheHitRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsSummaryCacheHitRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsSummaryCacheHitRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsSummaryCacheHitRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsSummaryCacheHitRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsSummaryCacheHitRequestTldList; } export const CacheHitDnsSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(DnsSummaryCacheHitRequestAsnList.pipe(T.Query())), continent: S.optional( DnsSummaryCacheHitRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(DnsSummaryCacheHitRequestDateEndList.pipe(T.Query())), dateRange: S.optional( DnsSummaryCacheHitRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsSummaryCacheHitRequestDateStartList.pipe(T.Query()), ), format: S.optional(DnsSummaryCacheHitRequestFormat.pipe(T.Query())), location: S.optional(DnsSummaryCacheHitRequestLocationList.pipe(T.Query())), name: S.optional(DnsSummaryCacheHitRequestNameList.pipe(T.Query())), nodata: S.optional(DnsSummaryCacheHitRequestNodataList.pipe(T.Query())), protocol: S.optional(DnsSummaryCacheHitRequestProtocolList.pipe(T.Query())), queryType: S.optional( DnsSummaryCacheHitRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( DnsSummaryCacheHitRequestResponseCodeList.pipe(T.Query()), ), tld: S.optional(DnsSummaryCacheHitRequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/summary/cache_hit", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CacheHitDnsSummaryRequest", }) as any as S.Schema; export type DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsSummaryCacheHitResponseMetaConfidenceInfo { annotations: DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsSummaryCacheHitResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsSummaryCacheHitResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsSummaryCacheHitResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsSummaryCacheHitResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsSummaryCacheHitResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsSummaryCacheHitResponseMetaDateRangeList = Array; export const DnsSummaryCacheHitResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsSummaryCacheHitResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsSummaryCacheHitResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsSummaryCacheHitResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsSummaryCacheHitResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsSummaryCacheHitResponseMetaUnitsList = Array; export const DnsSummaryCacheHitResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsSummaryCacheHitResponseMeta { confidenceInfo: DnsSummaryCacheHitResponseMetaConfidenceInfo; dateRange: DnsSummaryCacheHitResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsSummaryCacheHitResponseMetaNormalization; /** Measurement units for the results. */ units: DnsSummaryCacheHitResponseMetaUnitsList; } export const DnsSummaryCacheHitResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: DnsSummaryCacheHitResponseMetaConfidenceInfo, dateRange: DnsSummaryCacheHitResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsSummaryCacheHitResponseMetaNormalization, units: DnsSummaryCacheHitResponseMetaUnitsList, }), ).annotate({ identifier: "DnsSummaryCacheHitResponseMeta", }) as any as S.Schema; export interface DnsSummaryCacheHitResponseSummary0 { /** A numeric string. */ nEGATIVE: string; /** A numeric string. */ pOSITIVE: string; } export const DnsSummaryCacheHitResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ nEGATIVE: S.String.pipe(T.Body("NEGATIVE")), pOSITIVE: S.String.pipe(T.Body("POSITIVE")), }), ).annotate({ identifier: "DnsSummaryCacheHitResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CacheHitDnsSummaryResponse { /** Metadata for the results. */ meta: DnsSummaryCacheHitResponseMeta; summary_0: DnsSummaryCacheHitResponseSummary0; } export const CacheHitDnsSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsSummaryCacheHitResponseMeta, summary_0: DnsSummaryCacheHitResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CacheHitDnsSummaryResponse", }) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const DnsTimeseriesGroupsCacheHitRequestAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsCacheHitRequestAsnList = Array; export const DnsTimeseriesGroupsCacheHitRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitRequestContinentList = Array; export const DnsTimeseriesGroupsCacheHitRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitRequestDateEndList = Array; export const DnsTimeseriesGroupsCacheHitRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitRequestDateRangeList = Array; export const DnsTimeseriesGroupsCacheHitRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitRequestDateStartList = Array; export const DnsTimeseriesGroupsCacheHitRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitRequestFormat = "JSON" | "CSV"; export const DnsTimeseriesGroupsCacheHitRequestFormat = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsCacheHitRequestLocationList = Array; export const DnsTimeseriesGroupsCacheHitRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitRequestNameList = Array; export const DnsTimeseriesGroupsCacheHitRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitRequestNodataList = Array; export const DnsTimeseriesGroupsCacheHitRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsTimeseriesGroupsCacheHitRequestProtocol = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsCacheHitRequestProtocolList = Array< DnsTimeseriesGroupsCacheHitRequestProtocol | (string & {}) >; export const DnsTimeseriesGroupsCacheHitRequestProtocolList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsCacheHitRequestProtocol, ) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsTimeseriesGroupsCacheHitRequestQueryType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsCacheHitRequestQueryTypeList = Array< DnsTimeseriesGroupsCacheHitRequestQueryType | (string & {}) >; export const DnsTimeseriesGroupsCacheHitRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsCacheHitRequestQueryType, ) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsTimeseriesGroupsCacheHitRequestResponseCode = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsCacheHitRequestResponseCodeList = Array< DnsTimeseriesGroupsCacheHitRequestResponseCode | (string & {}) >; export const DnsTimeseriesGroupsCacheHitRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsCacheHitRequestResponseCode, ) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitRequestTldList = Array; export const DnsTimeseriesGroupsCacheHitRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CacheHitDnsTimeseriesGroupRequest { /** 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/). */ aggInterval?: DnsTimeseriesGroupsCacheHitRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsTimeseriesGroupsCacheHitRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsTimeseriesGroupsCacheHitRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsTimeseriesGroupsCacheHitRequestDateEndList; /** 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). */ dateRange?: DnsTimeseriesGroupsCacheHitRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsTimeseriesGroupsCacheHitRequestDateStartList; /** Format in which results will be returned. */ format?: DnsTimeseriesGroupsCacheHitRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsTimeseriesGroupsCacheHitRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsTimeseriesGroupsCacheHitRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsTimeseriesGroupsCacheHitRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsTimeseriesGroupsCacheHitRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsTimeseriesGroupsCacheHitRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsTimeseriesGroupsCacheHitRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsTimeseriesGroupsCacheHitRequestTldList; } export const CacheHitDnsTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( DnsTimeseriesGroupsCacheHitRequestAggInterval.pipe(T.Query()), ), asn: S.optional(DnsTimeseriesGroupsCacheHitRequestAsnList.pipe(T.Query())), continent: S.optional( DnsTimeseriesGroupsCacheHitRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( DnsTimeseriesGroupsCacheHitRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( DnsTimeseriesGroupsCacheHitRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsTimeseriesGroupsCacheHitRequestDateStartList.pipe(T.Query()), ), format: S.optional( DnsTimeseriesGroupsCacheHitRequestFormat.pipe(T.Query()), ), location: S.optional( DnsTimeseriesGroupsCacheHitRequestLocationList.pipe(T.Query()), ), name: S.optional( DnsTimeseriesGroupsCacheHitRequestNameList.pipe(T.Query()), ), nodata: S.optional( DnsTimeseriesGroupsCacheHitRequestNodataList.pipe(T.Query()), ), protocol: S.optional( DnsTimeseriesGroupsCacheHitRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( DnsTimeseriesGroupsCacheHitRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( DnsTimeseriesGroupsCacheHitRequestResponseCodeList.pipe(T.Query()), ), tld: S.optional(DnsTimeseriesGroupsCacheHitRequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/timeseries_groups/cache_hit", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CacheHitDnsTimeseriesGroupRequest", }) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const DnsTimeseriesGroupsCacheHitResponseMetaAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfo { annotations: DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsTimeseriesGroupsCacheHitResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsTimeseriesGroupsCacheHitResponseMetaDateRangeList = Array; export const DnsTimeseriesGroupsCacheHitResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsTimeseriesGroupsCacheHitResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsCacheHitResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsTimeseriesGroupsCacheHitResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsTimeseriesGroupsCacheHitResponseMetaUnitsList = Array; export const DnsTimeseriesGroupsCacheHitResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsCacheHitResponseMeta { /** 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/). */ aggInterval: DnsTimeseriesGroupsCacheHitResponseMetaAggInterval; confidenceInfo: DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfo; dateRange: DnsTimeseriesGroupsCacheHitResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsTimeseriesGroupsCacheHitResponseMetaNormalization; /** Measurement units for the results. */ units: DnsTimeseriesGroupsCacheHitResponseMetaUnitsList; } export const DnsTimeseriesGroupsCacheHitResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: DnsTimeseriesGroupsCacheHitResponseMetaAggInterval, confidenceInfo: DnsTimeseriesGroupsCacheHitResponseMetaConfidenceInfo, dateRange: DnsTimeseriesGroupsCacheHitResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsTimeseriesGroupsCacheHitResponseMetaNormalization, units: DnsTimeseriesGroupsCacheHitResponseMetaUnitsList, }), ).annotate({ identifier: "DnsTimeseriesGroupsCacheHitResponseMeta", }) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitResponseSerie0NEGATIVEList = Array; export const DnsTimeseriesGroupsCacheHitResponseSerie0NEGATIVEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsCacheHitResponseSerie0POSITIVEList = Array; export const DnsTimeseriesGroupsCacheHitResponseSerie0POSITIVEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsCacheHitResponseSerie0 { nEGATIVE: DnsTimeseriesGroupsCacheHitResponseSerie0NEGATIVEList; pOSITIVE: DnsTimeseriesGroupsCacheHitResponseSerie0POSITIVEList; } export const DnsTimeseriesGroupsCacheHitResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ nEGATIVE: DnsTimeseriesGroupsCacheHitResponseSerie0NEGATIVEList.pipe( T.Body("NEGATIVE"), ), pOSITIVE: DnsTimeseriesGroupsCacheHitResponseSerie0POSITIVEList.pipe( T.Body("POSITIVE"), ), }), ).annotate({ identifier: "DnsTimeseriesGroupsCacheHitResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CacheHitDnsTimeseriesGroupResponse { /** Metadata for the results. */ meta: DnsTimeseriesGroupsCacheHitResponseMeta; serie_0: DnsTimeseriesGroupsCacheHitResponseSerie0; } export const CacheHitDnsTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsTimeseriesGroupsCacheHitResponseMeta, serie_0: DnsTimeseriesGroupsCacheHitResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CacheHitDnsTimeseriesGroupResponse", }) as any as S.Schema; export type RankingInternetServicesCategoriesRequestDateList = Array; export const RankingInternetServicesCategoriesRequestDateList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingInternetServicesCategoriesRequestFormat = "JSON" | "CSV"; export const RankingInternetServicesCategoriesRequestFormat = /*@__PURE__*/ S.String; export type RankingInternetServicesCategoriesRequestNameList = Array; export const RankingInternetServicesCategoriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CategoriesRankingInternetServiceRequest { /** Filters results by the specified array of dates. */ date?: RankingInternetServicesCategoriesRequestDateList; /** Format in which results will be returned. */ format?: RankingInternetServicesCategoriesRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Array of names used to label the series in the response. */ name?: RankingInternetServicesCategoriesRequestNameList; } export const CategoriesRankingInternetServiceRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ date: S.optional( RankingInternetServicesCategoriesRequestDateList.pipe(T.Query()), ), format: S.optional( RankingInternetServicesCategoriesRequestFormat.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), name: S.optional( RankingInternetServicesCategoriesRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/ranking/internet_services/categories", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CategoriesRankingInternetServiceRequest", }) as any as S.Schema; export interface RankingInternetServicesCategoriesResponseCategories0Item { name: string; } export const RankingInternetServicesCategoriesResponseCategories0Item = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, }), ).annotate({ identifier: "RankingInternetServicesCategoriesResponseCategories0Item", }) as any as S.Schema; export type RankingInternetServicesCategoriesResponseCategories0List = Array; export const RankingInternetServicesCategoriesResponseCategories0List = /*@__PURE__*/ S.Array( RankingInternetServicesCategoriesResponseCategories0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CategoriesRankingInternetServiceResponse { categories_0: RankingInternetServicesCategoriesResponseCategories0List; } export const CategoriesRankingInternetServiceResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ categories_0: RankingInternetServicesCategoriesResponseCategories0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CategoriesRankingInternetServiceResponse", }) as any as S.Schema; export type VerifiedBotsTopCategoriesRequestAsnList = Array; export const VerifiedBotsTopCategoriesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type VerifiedBotsTopCategoriesRequestContinentList = Array; export const VerifiedBotsTopCategoriesRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type VerifiedBotsTopCategoriesRequestDateEndList = Array; export const VerifiedBotsTopCategoriesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type VerifiedBotsTopCategoriesRequestDateRangeList = Array; export const VerifiedBotsTopCategoriesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type VerifiedBotsTopCategoriesRequestDateStartList = Array; export const VerifiedBotsTopCategoriesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type VerifiedBotsTopCategoriesRequestFormat = "JSON" | "CSV"; export const VerifiedBotsTopCategoriesRequestFormat = /*@__PURE__*/ S.String; export type VerifiedBotsTopCategoriesRequestLocationList = Array; export const VerifiedBotsTopCategoriesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type VerifiedBotsTopCategoriesRequestNameList = Array; export const VerifiedBotsTopCategoriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CategoriesVerifiedBotTopRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: VerifiedBotsTopCategoriesRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: VerifiedBotsTopCategoriesRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: VerifiedBotsTopCategoriesRequestDateEndList; /** 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). */ dateRange?: VerifiedBotsTopCategoriesRequestDateRangeList; /** Start of the date range. */ dateStart?: VerifiedBotsTopCategoriesRequestDateStartList; /** Format in which results will be returned. */ format?: VerifiedBotsTopCategoriesRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: VerifiedBotsTopCategoriesRequestLocationList; /** Array of names used to label the series in the response. */ name?: VerifiedBotsTopCategoriesRequestNameList; } export const CategoriesVerifiedBotTopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(VerifiedBotsTopCategoriesRequestAsnList.pipe(T.Query())), continent: S.optional( VerifiedBotsTopCategoriesRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( VerifiedBotsTopCategoriesRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( VerifiedBotsTopCategoriesRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( VerifiedBotsTopCategoriesRequestDateStartList.pipe(T.Query()), ), format: S.optional(VerifiedBotsTopCategoriesRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( VerifiedBotsTopCategoriesRequestLocationList.pipe(T.Query()), ), name: S.optional(VerifiedBotsTopCategoriesRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/verified_bots/top/categories", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CategoriesVerifiedBotTopRequest", }) as any as S.Schema; export type VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsList = Array; export const VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface VerifiedBotsTopCategoriesResponseMetaConfidenceInfo { annotations: VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const VerifiedBotsTopCategoriesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: VerifiedBotsTopCategoriesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "VerifiedBotsTopCategoriesResponseMetaConfidenceInfo", }) as any as S.Schema; export type VerifiedBotsTopCategoriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const VerifiedBotsTopCategoriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type VerifiedBotsTopCategoriesResponseMetaDateRangeList = Array; export const VerifiedBotsTopCategoriesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type VerifiedBotsTopCategoriesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const VerifiedBotsTopCategoriesResponseMetaNormalization = /*@__PURE__*/ S.String; export type VerifiedBotsTopCategoriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const VerifiedBotsTopCategoriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type VerifiedBotsTopCategoriesResponseMetaUnitsList = Array; export const VerifiedBotsTopCategoriesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface VerifiedBotsTopCategoriesResponseMeta { confidenceInfo: VerifiedBotsTopCategoriesResponseMetaConfidenceInfo; dateRange: VerifiedBotsTopCategoriesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: VerifiedBotsTopCategoriesResponseMetaNormalization; /** Measurement units for the results. */ units: VerifiedBotsTopCategoriesResponseMetaUnitsList; } export const VerifiedBotsTopCategoriesResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: VerifiedBotsTopCategoriesResponseMetaConfidenceInfo, dateRange: VerifiedBotsTopCategoriesResponseMetaDateRangeList, lastUpdated: S.String, normalization: VerifiedBotsTopCategoriesResponseMetaNormalization, units: VerifiedBotsTopCategoriesResponseMetaUnitsList, }), ).annotate({ identifier: "VerifiedBotsTopCategoriesResponseMeta", }) as any as S.Schema; export interface VerifiedBotsTopCategoriesResponseTop0Item { botCategory: string; /** A numeric string. */ value: string; } export const VerifiedBotsTopCategoriesResponseTop0Item = /*@__PURE__*/ S.suspend(() => S.Struct({ botCategory: S.String, value: S.String, }), ).annotate({ identifier: "VerifiedBotsTopCategoriesResponseTop0Item", }) as any as S.Schema; export type VerifiedBotsTopCategoriesResponseTop0List = Array; export const VerifiedBotsTopCategoriesResponseTop0List = /*@__PURE__*/ S.Array( VerifiedBotsTopCategoriesResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CategoriesVerifiedBotTopResponse { /** Metadata for the results. */ meta: VerifiedBotsTopCategoriesResponseMeta; top_0: VerifiedBotsTopCategoriesResponseTop0List; } export const CategoriesVerifiedBotTopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: VerifiedBotsTopCategoriesResponseMeta, top_0: VerifiedBotsTopCategoriesResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CategoriesVerifiedBotTopResponse", }) as any as S.Schema; export type BgpRpkiAspaChangesRequestFormat = "JSON" | "CSV"; export const BgpRpkiAspaChangesRequestFormat = /*@__PURE__*/ S.String; export interface ChangesBgpRpkiAspaRequest { /** Filter changes involving this ASN (as customer or provider). */ asn?: number; /** End of the date range (inclusive). */ dateEnd?: string; /** Start of the date range (inclusive). */ dateStart?: string; /** Format in which results will be returned. */ format?: BgpRpkiAspaChangesRequestFormat | (string & {}); /** Include ASN metadata (name, country) in response. */ includeAsnInfo?: boolean; } export const ChangesBgpRpkiAspaRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(S.Number.pipe(T.Query())), dateEnd: S.optional(S.String.pipe(T.Query())), dateStart: S.optional(S.String.pipe(T.Query())), format: S.optional(BgpRpkiAspaChangesRequestFormat.pipe(T.Query())), includeAsnInfo: S.optional(S.Boolean.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/bgp/rpki/aspa/changes", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ChangesBgpRpkiAspaRequest", }) as any as S.Schema; export interface BgpRpkiAspaChangesResponseAsnInfo13335 { /** ASN number. */ asn: number; /** Alpha-2 country code. */ country: string; /** AS name. */ name: string; } export const BgpRpkiAspaChangesResponseAsnInfo13335 = /*@__PURE__*/ S.suspend( () => S.Struct({ asn: S.Number, country: S.String, name: S.String, }), ).annotate({ identifier: "BgpRpkiAspaChangesResponseAsnInfo13335", }) as any as S.Schema; export interface BgpRpkiAspaChangesResponseAsnInfo { "13335": BgpRpkiAspaChangesResponseAsnInfo13335; } export const BgpRpkiAspaChangesResponseAsnInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ "13335": BgpRpkiAspaChangesResponseAsnInfo13335, }), ).annotate({ identifier: "BgpRpkiAspaChangesResponseAsnInfo", }) as any as S.Schema; export type BgpRpkiAspaChangesResponseChangesItemEntriesItemProvidersList = Array; export const BgpRpkiAspaChangesResponseChangesItemEntriesItemProvidersList = /*@__PURE__*/ S.Array( S.Number, ) as any as S.Schema; export type BgpRpkiAspaChangesResponseChangesItemEntriesItemType = | "CustomerAdded" | "CustomerRemoved" | "ProvidersAdded" | "ProvidersRemoved"; export const BgpRpkiAspaChangesResponseChangesItemEntriesItemType = /*@__PURE__*/ S.String; export interface BgpRpkiAspaChangesResponseChangesItemEntriesItem { /** The customer ASN affected. */ customerAsn: number; providers: BgpRpkiAspaChangesResponseChangesItemEntriesItemProvidersList; type: BgpRpkiAspaChangesResponseChangesItemEntriesItemType; } export const BgpRpkiAspaChangesResponseChangesItemEntriesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ customerAsn: S.Number, providers: BgpRpkiAspaChangesResponseChangesItemEntriesItemProvidersList, type: BgpRpkiAspaChangesResponseChangesItemEntriesItemType, }), ).annotate({ identifier: "BgpRpkiAspaChangesResponseChangesItemEntriesItem", }) as any as S.Schema; export type BgpRpkiAspaChangesResponseChangesItemEntriesList = Array; export const BgpRpkiAspaChangesResponseChangesItemEntriesList = /*@__PURE__*/ S.Array( BgpRpkiAspaChangesResponseChangesItemEntriesItem, ) as any as S.Schema; export interface BgpRpkiAspaChangesResponseChangesItem { /** Number of new ASPA objects created. */ customersAdded: number; /** Number of ASPA objects deleted. */ customersRemoved: number; /** Date of the changes in ISO 8601 format. */ date: string; entries: BgpRpkiAspaChangesResponseChangesItemEntriesList; /** Number of providers added to existing objects. */ providersAdded: number; /** Number of providers removed from existing objects. */ providersRemoved: number; /** Running total of active ASPA objects after this day. */ totalCount: number; } export const BgpRpkiAspaChangesResponseChangesItem = /*@__PURE__*/ S.suspend( () => S.Struct({ customersAdded: S.Number, customersRemoved: S.Number, date: S.String, entries: BgpRpkiAspaChangesResponseChangesItemEntriesList, providersAdded: S.Number, providersRemoved: S.Number, totalCount: S.Number, }), ).annotate({ identifier: "BgpRpkiAspaChangesResponseChangesItem", }) as any as S.Schema; export type BgpRpkiAspaChangesResponseChangesList = Array; export const BgpRpkiAspaChangesResponseChangesList = /*@__PURE__*/ S.Array( BgpRpkiAspaChangesResponseChangesItem, ) as any as S.Schema; export interface BgpRpkiAspaChangesResponseMeta { /** Timestamp of the underlying data. */ dataTime: string; /** Timestamp when the query was executed. */ queryTime: string; } export const BgpRpkiAspaChangesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ dataTime: S.String, queryTime: S.String, }), ).annotate({ identifier: "BgpRpkiAspaChangesResponseMeta", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ChangesBgpRpkiAspaResponse { asnInfo: BgpRpkiAspaChangesResponseAsnInfo; changes: BgpRpkiAspaChangesResponseChangesList; meta: BgpRpkiAspaChangesResponseMeta; } export const ChangesBgpRpkiAspaResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ asnInfo: BgpRpkiAspaChangesResponseAsnInfo, changes: BgpRpkiAspaChangesResponseChangesList, meta: BgpRpkiAspaChangesResponseMeta, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ChangesBgpRpkiAspaResponse", }) as any as S.Schema; export type LeakedCredentialsSummaryCompromisedRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const LeakedCredentialsSummaryCompromisedRequestBotClass = /*@__PURE__*/ S.String; export type LeakedCredentialsSummaryCompromisedRequestBotClassList = Array< LeakedCredentialsSummaryCompromisedRequestBotClass | (string & {}) >; export const LeakedCredentialsSummaryCompromisedRequestBotClassList = /*@__PURE__*/ S.Array( LeakedCredentialsSummaryCompromisedRequestBotClass, ) as any as S.Schema; export type LeakedCredentialsSummaryCompromisedRequestDateEndList = Array; export const LeakedCredentialsSummaryCompromisedRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsSummaryCompromisedRequestDateRangeList = Array; export const LeakedCredentialsSummaryCompromisedRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsSummaryCompromisedRequestDateStartList = Array; export const LeakedCredentialsSummaryCompromisedRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsSummaryCompromisedRequestFormat = "JSON" | "CSV"; export const LeakedCredentialsSummaryCompromisedRequestFormat = /*@__PURE__*/ S.String; export type LeakedCredentialsSummaryCompromisedRequestNameList = Array; export const LeakedCredentialsSummaryCompromisedRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CompromisedLeakedCredentialSummaryRequest { /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: LeakedCredentialsSummaryCompromisedRequestBotClassList; /** End of the date range (inclusive). */ dateEnd?: LeakedCredentialsSummaryCompromisedRequestDateEndList; /** 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). */ dateRange?: LeakedCredentialsSummaryCompromisedRequestDateRangeList; /** Start of the date range. */ dateStart?: LeakedCredentialsSummaryCompromisedRequestDateStartList; /** Format in which results will be returned. */ format?: LeakedCredentialsSummaryCompromisedRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: LeakedCredentialsSummaryCompromisedRequestNameList; } export const CompromisedLeakedCredentialSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ botClass: S.optional( LeakedCredentialsSummaryCompromisedRequestBotClassList.pipe(T.Query()), ), dateEnd: S.optional( LeakedCredentialsSummaryCompromisedRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( LeakedCredentialsSummaryCompromisedRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( LeakedCredentialsSummaryCompromisedRequestDateStartList.pipe(T.Query()), ), format: S.optional( LeakedCredentialsSummaryCompromisedRequestFormat.pipe(T.Query()), ), name: S.optional( LeakedCredentialsSummaryCompromisedRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/leaked_credential_checks/summary/compromised", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CompromisedLeakedCredentialSummaryRequest", }) as any as S.Schema; export type LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsList = Array; export const LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfo { annotations: LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfo", }) as any as S.Schema; export type LeakedCredentialsSummaryCompromisedResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const LeakedCredentialsSummaryCompromisedResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type LeakedCredentialsSummaryCompromisedResponseMetaDateRangeList = Array; export const LeakedCredentialsSummaryCompromisedResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type LeakedCredentialsSummaryCompromisedResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const LeakedCredentialsSummaryCompromisedResponseMetaNormalization = /*@__PURE__*/ S.String; export type LeakedCredentialsSummaryCompromisedResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const LeakedCredentialsSummaryCompromisedResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type LeakedCredentialsSummaryCompromisedResponseMetaUnitsList = Array; export const LeakedCredentialsSummaryCompromisedResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface LeakedCredentialsSummaryCompromisedResponseMeta { confidenceInfo: LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfo; dateRange: LeakedCredentialsSummaryCompromisedResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: LeakedCredentialsSummaryCompromisedResponseMetaNormalization; /** Measurement units for the results. */ units: LeakedCredentialsSummaryCompromisedResponseMetaUnitsList; } export const LeakedCredentialsSummaryCompromisedResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: LeakedCredentialsSummaryCompromisedResponseMetaConfidenceInfo, dateRange: LeakedCredentialsSummaryCompromisedResponseMetaDateRangeList, lastUpdated: S.String, normalization: LeakedCredentialsSummaryCompromisedResponseMetaNormalization, units: LeakedCredentialsSummaryCompromisedResponseMetaUnitsList, }), ).annotate({ identifier: "LeakedCredentialsSummaryCompromisedResponseMeta", }) as any as S.Schema; export interface LeakedCredentialsSummaryCompromisedResponseSummary0 { /** A numeric string. */ cLEAN: string; /** A numeric string. */ cOMPROMISED: string; } export const LeakedCredentialsSummaryCompromisedResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ cLEAN: S.String.pipe(T.Body("CLEAN")), cOMPROMISED: S.String.pipe(T.Body("COMPROMISED")), }), ).annotate({ identifier: "LeakedCredentialsSummaryCompromisedResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CompromisedLeakedCredentialSummaryResponse { /** Metadata for the results. */ meta: LeakedCredentialsSummaryCompromisedResponseMeta; summary_0: LeakedCredentialsSummaryCompromisedResponseSummary0; } export const CompromisedLeakedCredentialSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: LeakedCredentialsSummaryCompromisedResponseMeta, summary_0: LeakedCredentialsSummaryCompromisedResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CompromisedLeakedCredentialSummaryResponse", }) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsCompromisedRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const LeakedCredentialsTimeseriesGroupsCompromisedRequestAggInterval = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsCompromisedRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const LeakedCredentialsTimeseriesGroupsCompromisedRequestBotClass = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsCompromisedRequestBotClassList = Array< LeakedCredentialsTimeseriesGroupsCompromisedRequestBotClass | (string & {}) >; export const LeakedCredentialsTimeseriesGroupsCompromisedRequestBotClassList = /*@__PURE__*/ S.Array( LeakedCredentialsTimeseriesGroupsCompromisedRequestBotClass, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsCompromisedRequestDateEndList = Array; export const LeakedCredentialsTimeseriesGroupsCompromisedRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsCompromisedRequestDateRangeList = Array; export const LeakedCredentialsTimeseriesGroupsCompromisedRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsCompromisedRequestDateStartList = Array; export const LeakedCredentialsTimeseriesGroupsCompromisedRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsCompromisedRequestFormat = | "JSON" | "CSV"; export const LeakedCredentialsTimeseriesGroupsCompromisedRequestFormat = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsCompromisedRequestNameList = Array; export const LeakedCredentialsTimeseriesGroupsCompromisedRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CompromisedLeakedCredentialTimeseriesGroupRequest { /** 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/). */ aggInterval?: | LeakedCredentialsTimeseriesGroupsCompromisedRequestAggInterval | (string & {}); /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: LeakedCredentialsTimeseriesGroupsCompromisedRequestBotClassList; /** End of the date range (inclusive). */ dateEnd?: LeakedCredentialsTimeseriesGroupsCompromisedRequestDateEndList; /** 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). */ dateRange?: LeakedCredentialsTimeseriesGroupsCompromisedRequestDateRangeList; /** Start of the date range. */ dateStart?: LeakedCredentialsTimeseriesGroupsCompromisedRequestDateStartList; /** Format in which results will be returned. */ format?: | LeakedCredentialsTimeseriesGroupsCompromisedRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: LeakedCredentialsTimeseriesGroupsCompromisedRequestNameList; } export const CompromisedLeakedCredentialTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( LeakedCredentialsTimeseriesGroupsCompromisedRequestAggInterval.pipe( T.Query(), ), ), botClass: S.optional( LeakedCredentialsTimeseriesGroupsCompromisedRequestBotClassList.pipe( T.Query(), ), ), dateEnd: S.optional( LeakedCredentialsTimeseriesGroupsCompromisedRequestDateEndList.pipe( T.Query(), ), ), dateRange: S.optional( LeakedCredentialsTimeseriesGroupsCompromisedRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( LeakedCredentialsTimeseriesGroupsCompromisedRequestDateStartList.pipe( T.Query(), ), ), format: S.optional( LeakedCredentialsTimeseriesGroupsCompromisedRequestFormat.pipe( T.Query(), ), ), name: S.optional( LeakedCredentialsTimeseriesGroupsCompromisedRequestNameList.pipe( T.Query(), ), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/leaked_credential_checks/timeseries_groups/compromised", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CompromisedLeakedCredentialTimeseriesGroupRequest", }) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaAggInterval = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsList = Array; export const LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfo { annotations: LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfo", }) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaDateRangeList = Array; export const LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaNormalization = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaUnitsList = Array; export const LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface LeakedCredentialsTimeseriesGroupsCompromisedResponseMeta { /** 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/). */ aggInterval: LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaAggInterval; confidenceInfo: LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfo; dateRange: LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaNormalization; /** Measurement units for the results. */ units: LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaUnitsList; } export const LeakedCredentialsTimeseriesGroupsCompromisedResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaAggInterval, confidenceInfo: LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaConfidenceInfo, dateRange: LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaDateRangeList, lastUpdated: S.String, normalization: LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaNormalization, units: LeakedCredentialsTimeseriesGroupsCompromisedResponseMetaUnitsList, }), ).annotate({ identifier: "LeakedCredentialsTimeseriesGroupsCompromisedResponseMeta", }) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsCompromisedResponseSerie0CLEANList = Array; export const LeakedCredentialsTimeseriesGroupsCompromisedResponseSerie0CLEANList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsCompromisedResponseSerie0COMPROMISEDList = Array; export const LeakedCredentialsTimeseriesGroupsCompromisedResponseSerie0COMPROMISEDList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsCompromisedResponseSerie0TimestampsList = Array; export const LeakedCredentialsTimeseriesGroupsCompromisedResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface LeakedCredentialsTimeseriesGroupsCompromisedResponseSerie0 { cLEAN: LeakedCredentialsTimeseriesGroupsCompromisedResponseSerie0CLEANList; cOMPROMISED: LeakedCredentialsTimeseriesGroupsCompromisedResponseSerie0COMPROMISEDList; timestamps: LeakedCredentialsTimeseriesGroupsCompromisedResponseSerie0TimestampsList; } export const LeakedCredentialsTimeseriesGroupsCompromisedResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ cLEAN: LeakedCredentialsTimeseriesGroupsCompromisedResponseSerie0CLEANList.pipe( T.Body("CLEAN"), ), cOMPROMISED: LeakedCredentialsTimeseriesGroupsCompromisedResponseSerie0COMPROMISEDList.pipe( T.Body("COMPROMISED"), ), timestamps: LeakedCredentialsTimeseriesGroupsCompromisedResponseSerie0TimestampsList, }), ).annotate({ identifier: "LeakedCredentialsTimeseriesGroupsCompromisedResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface CompromisedLeakedCredentialTimeseriesGroupResponse { /** Metadata for the results. */ meta: LeakedCredentialsTimeseriesGroupsCompromisedResponseMeta; serie_0: LeakedCredentialsTimeseriesGroupsCompromisedResponseSerie0; } export const CompromisedLeakedCredentialTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: LeakedCredentialsTimeseriesGroupsCompromisedResponseMeta, serie_0: LeakedCredentialsTimeseriesGroupsCompromisedResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "CompromisedLeakedCredentialTimeseriesGroupResponse", }) as any as S.Schema; export type HttpSummaryDeviceTypeRequestAsnList = Array; export const HttpSummaryDeviceTypeRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryDeviceTypeRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpSummaryDeviceTypeRequestBotClass = /*@__PURE__*/ S.String; export type HttpSummaryDeviceTypeRequestBotClassList = Array< HttpSummaryDeviceTypeRequestBotClass | (string & {}) >; export const HttpSummaryDeviceTypeRequestBotClassList = /*@__PURE__*/ S.Array( HttpSummaryDeviceTypeRequestBotClass, ) as any as S.Schema; export type HttpSummaryDeviceTypeRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpSummaryDeviceTypeRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpSummaryDeviceTypeRequestBrowserFamilyList = Array< HttpSummaryDeviceTypeRequestBrowserFamily | (string & {}) >; export const HttpSummaryDeviceTypeRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpSummaryDeviceTypeRequestBrowserFamily, ) as any as S.Schema; export type HttpSummaryDeviceTypeRequestContinentList = Array; export const HttpSummaryDeviceTypeRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryDeviceTypeRequestDateEndList = Array; export const HttpSummaryDeviceTypeRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryDeviceTypeRequestDateRangeList = Array; export const HttpSummaryDeviceTypeRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryDeviceTypeRequestDateStartList = Array; export const HttpSummaryDeviceTypeRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryDeviceTypeRequestFormat = "JSON" | "CSV"; export const HttpSummaryDeviceTypeRequestFormat = /*@__PURE__*/ S.String; export type HttpSummaryDeviceTypeRequestGeoIdList = Array; export const HttpSummaryDeviceTypeRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryDeviceTypeRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpSummaryDeviceTypeRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpSummaryDeviceTypeRequestHttpProtocolList = Array< HttpSummaryDeviceTypeRequestHttpProtocol | (string & {}) >; export const HttpSummaryDeviceTypeRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpSummaryDeviceTypeRequestHttpProtocol, ) as any as S.Schema; export type HttpSummaryDeviceTypeRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpSummaryDeviceTypeRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpSummaryDeviceTypeRequestHttpVersionList = Array< HttpSummaryDeviceTypeRequestHttpVersion | (string & {}) >; export const HttpSummaryDeviceTypeRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpSummaryDeviceTypeRequestHttpVersion, ) as any as S.Schema; export type HttpSummaryDeviceTypeRequestIpVersion = "IPv4" | "IPv6"; export const HttpSummaryDeviceTypeRequestIpVersion = /*@__PURE__*/ S.String; export type HttpSummaryDeviceTypeRequestIpVersionList = Array< HttpSummaryDeviceTypeRequestIpVersion | (string & {}) >; export const HttpSummaryDeviceTypeRequestIpVersionList = /*@__PURE__*/ S.Array( HttpSummaryDeviceTypeRequestIpVersion, ) as any as S.Schema; export type HttpSummaryDeviceTypeRequestLocationList = Array; export const HttpSummaryDeviceTypeRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryDeviceTypeRequestNameList = Array; export const HttpSummaryDeviceTypeRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryDeviceTypeRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpSummaryDeviceTypeRequestOs = /*@__PURE__*/ S.String; export type HttpSummaryDeviceTypeRequestOsList = Array< HttpSummaryDeviceTypeRequestOs | (string & {}) >; export const HttpSummaryDeviceTypeRequestOsList = /*@__PURE__*/ S.Array( HttpSummaryDeviceTypeRequestOs, ) as any as S.Schema; export type HttpSummaryDeviceTypeRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpSummaryDeviceTypeRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpSummaryDeviceTypeRequestTlsVersionList = Array< HttpSummaryDeviceTypeRequestTlsVersion | (string & {}) >; export const HttpSummaryDeviceTypeRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpSummaryDeviceTypeRequestTlsVersion, ) as any as S.Schema; export interface DeviceTypeHttpSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpSummaryDeviceTypeRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpSummaryDeviceTypeRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpSummaryDeviceTypeRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpSummaryDeviceTypeRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpSummaryDeviceTypeRequestDateEndList; /** 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). */ dateRange?: HttpSummaryDeviceTypeRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpSummaryDeviceTypeRequestDateStartList; /** Format in which results will be returned. */ format?: HttpSummaryDeviceTypeRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpSummaryDeviceTypeRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpSummaryDeviceTypeRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpSummaryDeviceTypeRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpSummaryDeviceTypeRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpSummaryDeviceTypeRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpSummaryDeviceTypeRequestNameList; /** Filters results by operating system. */ os?: HttpSummaryDeviceTypeRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpSummaryDeviceTypeRequestTlsVersionList; } export const DeviceTypeHttpSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(HttpSummaryDeviceTypeRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpSummaryDeviceTypeRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpSummaryDeviceTypeRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpSummaryDeviceTypeRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpSummaryDeviceTypeRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpSummaryDeviceTypeRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpSummaryDeviceTypeRequestDateStartList.pipe(T.Query()), ), format: S.optional(HttpSummaryDeviceTypeRequestFormat.pipe(T.Query())), geoId: S.optional(HttpSummaryDeviceTypeRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpSummaryDeviceTypeRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpSummaryDeviceTypeRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpSummaryDeviceTypeRequestIpVersionList.pipe(T.Query()), ), location: S.optional( HttpSummaryDeviceTypeRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpSummaryDeviceTypeRequestNameList.pipe(T.Query())), os: S.optional(HttpSummaryDeviceTypeRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpSummaryDeviceTypeRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/summary/device_type", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeviceTypeHttpSummaryRequest", }) as any as S.Schema; export type HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpSummaryDeviceTypeResponseMetaConfidenceInfo { annotations: HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpSummaryDeviceTypeResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpSummaryDeviceTypeResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpSummaryDeviceTypeResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpSummaryDeviceTypeResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpSummaryDeviceTypeResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpSummaryDeviceTypeResponseMetaDateRangeList = Array; export const HttpSummaryDeviceTypeResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpSummaryDeviceTypeResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpSummaryDeviceTypeResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpSummaryDeviceTypeResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpSummaryDeviceTypeResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpSummaryDeviceTypeResponseMetaUnitsList = Array; export const HttpSummaryDeviceTypeResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpSummaryDeviceTypeResponseMeta { confidenceInfo: HttpSummaryDeviceTypeResponseMetaConfidenceInfo; dateRange: HttpSummaryDeviceTypeResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpSummaryDeviceTypeResponseMetaNormalization; /** Measurement units for the results. */ units: HttpSummaryDeviceTypeResponseMetaUnitsList; } export const HttpSummaryDeviceTypeResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpSummaryDeviceTypeResponseMetaConfidenceInfo, dateRange: HttpSummaryDeviceTypeResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpSummaryDeviceTypeResponseMetaNormalization, units: HttpSummaryDeviceTypeResponseMetaUnitsList, }), ).annotate({ identifier: "HttpSummaryDeviceTypeResponseMeta", }) as any as S.Schema; export interface HttpSummaryDeviceTypeResponseSummary0 { /** A numeric string. */ desktop: string; /** A numeric string. */ mobile: string; /** A numeric string. */ other: string; } export const HttpSummaryDeviceTypeResponseSummary0 = /*@__PURE__*/ S.suspend( () => S.Struct({ desktop: S.String, mobile: S.String, other: S.String, }), ).annotate({ identifier: "HttpSummaryDeviceTypeResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DeviceTypeHttpSummaryResponse { /** Metadata for the results. */ meta: HttpSummaryDeviceTypeResponseMeta; summary_0: HttpSummaryDeviceTypeResponseSummary0; } export const DeviceTypeHttpSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpSummaryDeviceTypeResponseMeta, summary_0: HttpSummaryDeviceTypeResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeviceTypeHttpSummaryResponse", }) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const HttpTimeseriesGroupsDeviceTypeRequestAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsDeviceTypeRequestAsnList = Array; export const HttpTimeseriesGroupsDeviceTypeRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpTimeseriesGroupsDeviceTypeRequestBotClass = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsDeviceTypeRequestBotClassList = Array< HttpTimeseriesGroupsDeviceTypeRequestBotClass | (string & {}) >; export const HttpTimeseriesGroupsDeviceTypeRequestBotClassList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsDeviceTypeRequestBotClass, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpTimeseriesGroupsDeviceTypeRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsDeviceTypeRequestBrowserFamilyList = Array< HttpTimeseriesGroupsDeviceTypeRequestBrowserFamily | (string & {}) >; export const HttpTimeseriesGroupsDeviceTypeRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsDeviceTypeRequestBrowserFamily, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeRequestContinentList = Array; export const HttpTimeseriesGroupsDeviceTypeRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeRequestDateEndList = Array; export const HttpTimeseriesGroupsDeviceTypeRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeRequestDateRangeList = Array; export const HttpTimeseriesGroupsDeviceTypeRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeRequestDateStartList = Array; export const HttpTimeseriesGroupsDeviceTypeRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeRequestFormat = "JSON" | "CSV"; export const HttpTimeseriesGroupsDeviceTypeRequestFormat = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsDeviceTypeRequestGeoIdList = Array; export const HttpTimeseriesGroupsDeviceTypeRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeRequestHttpProtocol = | "HTTP" | "HTTPS"; export const HttpTimeseriesGroupsDeviceTypeRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsDeviceTypeRequestHttpProtocolList = Array< HttpTimeseriesGroupsDeviceTypeRequestHttpProtocol | (string & {}) >; export const HttpTimeseriesGroupsDeviceTypeRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsDeviceTypeRequestHttpProtocol, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpTimeseriesGroupsDeviceTypeRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsDeviceTypeRequestHttpVersionList = Array< HttpTimeseriesGroupsDeviceTypeRequestHttpVersion | (string & {}) >; export const HttpTimeseriesGroupsDeviceTypeRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsDeviceTypeRequestHttpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeRequestIpVersion = "IPv4" | "IPv6"; export const HttpTimeseriesGroupsDeviceTypeRequestIpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsDeviceTypeRequestIpVersionList = Array< HttpTimeseriesGroupsDeviceTypeRequestIpVersion | (string & {}) >; export const HttpTimeseriesGroupsDeviceTypeRequestIpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsDeviceTypeRequestIpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeRequestLocationList = Array; export const HttpTimeseriesGroupsDeviceTypeRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeRequestNameList = Array; export const HttpTimeseriesGroupsDeviceTypeRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpTimeseriesGroupsDeviceTypeRequestOs = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsDeviceTypeRequestOsList = Array< HttpTimeseriesGroupsDeviceTypeRequestOs | (string & {}) >; export const HttpTimeseriesGroupsDeviceTypeRequestOsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsDeviceTypeRequestOs, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpTimeseriesGroupsDeviceTypeRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsDeviceTypeRequestTlsVersionList = Array< HttpTimeseriesGroupsDeviceTypeRequestTlsVersion | (string & {}) >; export const HttpTimeseriesGroupsDeviceTypeRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsDeviceTypeRequestTlsVersion, ) as any as S.Schema; export interface DeviceTypeHttpTimeseriesGroupRequest { /** 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/). */ aggInterval?: | HttpTimeseriesGroupsDeviceTypeRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpTimeseriesGroupsDeviceTypeRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpTimeseriesGroupsDeviceTypeRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpTimeseriesGroupsDeviceTypeRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpTimeseriesGroupsDeviceTypeRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpTimeseriesGroupsDeviceTypeRequestDateEndList; /** 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). */ dateRange?: HttpTimeseriesGroupsDeviceTypeRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpTimeseriesGroupsDeviceTypeRequestDateStartList; /** Format in which results will be returned. */ format?: HttpTimeseriesGroupsDeviceTypeRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpTimeseriesGroupsDeviceTypeRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpTimeseriesGroupsDeviceTypeRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpTimeseriesGroupsDeviceTypeRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpTimeseriesGroupsDeviceTypeRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpTimeseriesGroupsDeviceTypeRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpTimeseriesGroupsDeviceTypeRequestNameList; /** Filters results by operating system. */ os?: HttpTimeseriesGroupsDeviceTypeRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpTimeseriesGroupsDeviceTypeRequestTlsVersionList; } export const DeviceTypeHttpTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( HttpTimeseriesGroupsDeviceTypeRequestAggInterval.pipe(T.Query()), ), asn: S.optional( HttpTimeseriesGroupsDeviceTypeRequestAsnList.pipe(T.Query()), ), botClass: S.optional( HttpTimeseriesGroupsDeviceTypeRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpTimeseriesGroupsDeviceTypeRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpTimeseriesGroupsDeviceTypeRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpTimeseriesGroupsDeviceTypeRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpTimeseriesGroupsDeviceTypeRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpTimeseriesGroupsDeviceTypeRequestDateStartList.pipe(T.Query()), ), format: S.optional( HttpTimeseriesGroupsDeviceTypeRequestFormat.pipe(T.Query()), ), geoId: S.optional( HttpTimeseriesGroupsDeviceTypeRequestGeoIdList.pipe(T.Query()), ), httpProtocol: S.optional( HttpTimeseriesGroupsDeviceTypeRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpTimeseriesGroupsDeviceTypeRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpTimeseriesGroupsDeviceTypeRequestIpVersionList.pipe(T.Query()), ), location: S.optional( HttpTimeseriesGroupsDeviceTypeRequestLocationList.pipe(T.Query()), ), name: S.optional( HttpTimeseriesGroupsDeviceTypeRequestNameList.pipe(T.Query()), ), os: S.optional( HttpTimeseriesGroupsDeviceTypeRequestOsList.pipe(T.Query()), ), tlsVersion: S.optional( HttpTimeseriesGroupsDeviceTypeRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/timeseries_groups/device_type", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeviceTypeHttpTimeseriesGroupRequest", }) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const HttpTimeseriesGroupsDeviceTypeResponseMetaAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfo { annotations: HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpTimeseriesGroupsDeviceTypeResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpTimeseriesGroupsDeviceTypeResponseMetaDateRangeList = Array; export const HttpTimeseriesGroupsDeviceTypeResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpTimeseriesGroupsDeviceTypeResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsDeviceTypeResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpTimeseriesGroupsDeviceTypeResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpTimeseriesGroupsDeviceTypeResponseMetaUnitsList = Array; export const HttpTimeseriesGroupsDeviceTypeResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsDeviceTypeResponseMeta { /** 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/). */ aggInterval: HttpTimeseriesGroupsDeviceTypeResponseMetaAggInterval; confidenceInfo: HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfo; dateRange: HttpTimeseriesGroupsDeviceTypeResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpTimeseriesGroupsDeviceTypeResponseMetaNormalization; /** Measurement units for the results. */ units: HttpTimeseriesGroupsDeviceTypeResponseMetaUnitsList; } export const HttpTimeseriesGroupsDeviceTypeResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: HttpTimeseriesGroupsDeviceTypeResponseMetaAggInterval, confidenceInfo: HttpTimeseriesGroupsDeviceTypeResponseMetaConfidenceInfo, dateRange: HttpTimeseriesGroupsDeviceTypeResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpTimeseriesGroupsDeviceTypeResponseMetaNormalization, units: HttpTimeseriesGroupsDeviceTypeResponseMetaUnitsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsDeviceTypeResponseMeta", }) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeResponseSerie0DesktopList = Array; export const HttpTimeseriesGroupsDeviceTypeResponseSerie0DesktopList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeResponseSerie0MobileList = Array; export const HttpTimeseriesGroupsDeviceTypeResponseSerie0MobileList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeResponseSerie0OtherList = Array; export const HttpTimeseriesGroupsDeviceTypeResponseSerie0OtherList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsDeviceTypeResponseSerie0TimestampsList = Array; export const HttpTimeseriesGroupsDeviceTypeResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsDeviceTypeResponseSerie0 { desktop: HttpTimeseriesGroupsDeviceTypeResponseSerie0DesktopList; mobile: HttpTimeseriesGroupsDeviceTypeResponseSerie0MobileList; other: HttpTimeseriesGroupsDeviceTypeResponseSerie0OtherList; timestamps: HttpTimeseriesGroupsDeviceTypeResponseSerie0TimestampsList; } export const HttpTimeseriesGroupsDeviceTypeResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ desktop: HttpTimeseriesGroupsDeviceTypeResponseSerie0DesktopList, mobile: HttpTimeseriesGroupsDeviceTypeResponseSerie0MobileList, other: HttpTimeseriesGroupsDeviceTypeResponseSerie0OtherList, timestamps: HttpTimeseriesGroupsDeviceTypeResponseSerie0TimestampsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsDeviceTypeResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DeviceTypeHttpTimeseriesGroupResponse { /** Metadata for the results. */ meta: HttpTimeseriesGroupsDeviceTypeResponseMeta; serie_0: HttpTimeseriesGroupsDeviceTypeResponseSerie0; } export const DeviceTypeHttpTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: HttpTimeseriesGroupsDeviceTypeResponseMeta, serie_0: HttpTimeseriesGroupsDeviceTypeResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DeviceTypeHttpTimeseriesGroupResponse", }) as any as S.Schema; export type RobotsTxtTopUserAgentsDirectiveRequestDateList = Array; export const RobotsTxtTopUserAgentsDirectiveRequestDateList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RobotsTxtTopUserAgentsDirectiveRequestDirective = | "ALLOW" | "DISALLOW"; export const RobotsTxtTopUserAgentsDirectiveRequestDirective = /*@__PURE__*/ S.String; export type RobotsTxtTopUserAgentsDirectiveRequestDomainCategoryList = Array; export const RobotsTxtTopUserAgentsDirectiveRequestDomainCategoryList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RobotsTxtTopUserAgentsDirectiveRequestFormat = "JSON" | "CSV"; export const RobotsTxtTopUserAgentsDirectiveRequestFormat = /*@__PURE__*/ S.String; export type RobotsTxtTopUserAgentsDirectiveRequestNameList = Array; export const RobotsTxtTopUserAgentsDirectiveRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RobotsTxtTopUserAgentsDirectiveRequestUserAgentCategory = "AI"; export const RobotsTxtTopUserAgentsDirectiveRequestUserAgentCategory = /*@__PURE__*/ S.String; export interface DirectiveRobotsTxtTopUserAgentRequest { /** Filters results by the specified array of dates. */ date?: RobotsTxtTopUserAgentsDirectiveRequestDateList; /** Filters results by robots.txt directive. */ directive?: RobotsTxtTopUserAgentsDirectiveRequestDirective | (string & {}); /** Filters results by domain category. */ domainCategory?: RobotsTxtTopUserAgentsDirectiveRequestDomainCategoryList; /** Format in which results will be returned. */ format?: RobotsTxtTopUserAgentsDirectiveRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Array of names used to label the series in the response. */ name?: RobotsTxtTopUserAgentsDirectiveRequestNameList; /** Filters results by user agent category. */ userAgentCategory?: | RobotsTxtTopUserAgentsDirectiveRequestUserAgentCategory | (string & {}); } export const DirectiveRobotsTxtTopUserAgentRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ date: S.optional( RobotsTxtTopUserAgentsDirectiveRequestDateList.pipe(T.Query()), ), directive: S.optional( RobotsTxtTopUserAgentsDirectiveRequestDirective.pipe(T.Query()), ), domainCategory: S.optional( RobotsTxtTopUserAgentsDirectiveRequestDomainCategoryList.pipe( T.Query(), ), ), format: S.optional( RobotsTxtTopUserAgentsDirectiveRequestFormat.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), name: S.optional( RobotsTxtTopUserAgentsDirectiveRequestNameList.pipe(T.Query()), ), userAgentCategory: S.optional( RobotsTxtTopUserAgentsDirectiveRequestUserAgentCategory.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/robots_txt/top/user_agents/directive", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DirectiveRobotsTxtTopUserAgentRequest", }) as any as S.Schema; export type RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsList = Array; export const RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfo { annotations: RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfo", }) as any as S.Schema; export type RobotsTxtTopUserAgentsDirectiveResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const RobotsTxtTopUserAgentsDirectiveResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type RobotsTxtTopUserAgentsDirectiveResponseMetaDateRangeList = Array; export const RobotsTxtTopUserAgentsDirectiveResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type RobotsTxtTopUserAgentsDirectiveResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const RobotsTxtTopUserAgentsDirectiveResponseMetaNormalization = /*@__PURE__*/ S.String; export type RobotsTxtTopUserAgentsDirectiveResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const RobotsTxtTopUserAgentsDirectiveResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type RobotsTxtTopUserAgentsDirectiveResponseMetaUnitsList = Array; export const RobotsTxtTopUserAgentsDirectiveResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface RobotsTxtTopUserAgentsDirectiveResponseMeta { confidenceInfo: RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfo; dateRange: RobotsTxtTopUserAgentsDirectiveResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: RobotsTxtTopUserAgentsDirectiveResponseMetaNormalization; /** Measurement units for the results. */ units: RobotsTxtTopUserAgentsDirectiveResponseMetaUnitsList; } export const RobotsTxtTopUserAgentsDirectiveResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: RobotsTxtTopUserAgentsDirectiveResponseMetaConfidenceInfo, dateRange: RobotsTxtTopUserAgentsDirectiveResponseMetaDateRangeList, lastUpdated: S.String, normalization: RobotsTxtTopUserAgentsDirectiveResponseMetaNormalization, units: RobotsTxtTopUserAgentsDirectiveResponseMetaUnitsList, }), ).annotate({ identifier: "RobotsTxtTopUserAgentsDirectiveResponseMeta", }) as any as S.Schema; export interface RobotsTxtTopUserAgentsDirectiveResponseTop0Item { name: string; value: number; fully?: number | null; partially?: number | null; } export const RobotsTxtTopUserAgentsDirectiveResponseTop0Item = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, value: S.Number, fully: S.optional(S.NullOr(S.Number)), partially: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "RobotsTxtTopUserAgentsDirectiveResponseTop0Item", }) as any as S.Schema; export type RobotsTxtTopUserAgentsDirectiveResponseTop0List = Array; export const RobotsTxtTopUserAgentsDirectiveResponseTop0List = /*@__PURE__*/ S.Array( RobotsTxtTopUserAgentsDirectiveResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DirectiveRobotsTxtTopUserAgentResponse { /** Metadata for the results. */ meta: RobotsTxtTopUserAgentsDirectiveResponseMeta; top_0: RobotsTxtTopUserAgentsDirectiveResponseTop0List; } export const DirectiveRobotsTxtTopUserAgentResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: RobotsTxtTopUserAgentsDirectiveResponseMeta, top_0: RobotsTxtTopUserAgentsDirectiveResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DirectiveRobotsTxtTopUserAgentResponse", }) as any as S.Schema; export type EmailRoutingSummaryDkimRequestArc = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryDkimRequestArc = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDkimRequestArcList = Array< EmailRoutingSummaryDkimRequestArc | (string & {}) >; export const EmailRoutingSummaryDkimRequestArcList = /*@__PURE__*/ S.Array( EmailRoutingSummaryDkimRequestArc, ) as any as S.Schema; export type EmailRoutingSummaryDkimRequestDateEndList = Array; export const EmailRoutingSummaryDkimRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryDkimRequestDateRangeList = Array; export const EmailRoutingSummaryDkimRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryDkimRequestDateStartList = Array; export const EmailRoutingSummaryDkimRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryDkimRequestDmarc = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryDkimRequestDmarc = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDkimRequestDmarcList = Array< EmailRoutingSummaryDkimRequestDmarc | (string & {}) >; export const EmailRoutingSummaryDkimRequestDmarcList = /*@__PURE__*/ S.Array( EmailRoutingSummaryDkimRequestDmarc, ) as any as S.Schema; export type EmailRoutingSummaryDkimRequestEncrypted = | "ENCRYPTED" | "NOT_ENCRYPTED"; export const EmailRoutingSummaryDkimRequestEncrypted = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDkimRequestEncryptedList = Array< EmailRoutingSummaryDkimRequestEncrypted | (string & {}) >; export const EmailRoutingSummaryDkimRequestEncryptedList = /*@__PURE__*/ S.Array( EmailRoutingSummaryDkimRequestEncrypted, ) as any as S.Schema; export type EmailRoutingSummaryDkimRequestFormat = "JSON" | "CSV"; export const EmailRoutingSummaryDkimRequestFormat = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDkimRequestIpVersion = "IPv4" | "IPv6"; export const EmailRoutingSummaryDkimRequestIpVersion = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDkimRequestIpVersionList = Array< EmailRoutingSummaryDkimRequestIpVersion | (string & {}) >; export const EmailRoutingSummaryDkimRequestIpVersionList = /*@__PURE__*/ S.Array( EmailRoutingSummaryDkimRequestIpVersion, ) as any as S.Schema; export type EmailRoutingSummaryDkimRequestNameList = Array; export const EmailRoutingSummaryDkimRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryDkimRequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryDkimRequestSpf = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDkimRequestSpfList = Array< EmailRoutingSummaryDkimRequestSpf | (string & {}) >; export const EmailRoutingSummaryDkimRequestSpfList = /*@__PURE__*/ S.Array( EmailRoutingSummaryDkimRequestSpf, ) as any as S.Schema; export interface DkimEmailRoutingSummaryRequest { /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailRoutingSummaryDkimRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailRoutingSummaryDkimRequestDateEndList; /** 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). */ dateRange?: EmailRoutingSummaryDkimRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailRoutingSummaryDkimRequestDateStartList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailRoutingSummaryDkimRequestDmarcList; /** Filters results by encryption status (encrypted vs. not-encrypted). */ encrypted?: EmailRoutingSummaryDkimRequestEncryptedList; /** Format in which results will be returned. */ format?: EmailRoutingSummaryDkimRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: EmailRoutingSummaryDkimRequestIpVersionList; /** Array of names used to label the series in the response. */ name?: EmailRoutingSummaryDkimRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailRoutingSummaryDkimRequestSpfList; } export const DkimEmailRoutingSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ arc: S.optional(EmailRoutingSummaryDkimRequestArcList.pipe(T.Query())), dateEnd: S.optional( EmailRoutingSummaryDkimRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailRoutingSummaryDkimRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailRoutingSummaryDkimRequestDateStartList.pipe(T.Query()), ), dmarc: S.optional(EmailRoutingSummaryDkimRequestDmarcList.pipe(T.Query())), encrypted: S.optional( EmailRoutingSummaryDkimRequestEncryptedList.pipe(T.Query()), ), format: S.optional(EmailRoutingSummaryDkimRequestFormat.pipe(T.Query())), ipVersion: S.optional( EmailRoutingSummaryDkimRequestIpVersionList.pipe(T.Query()), ), name: S.optional(EmailRoutingSummaryDkimRequestNameList.pipe(T.Query())), spf: S.optional(EmailRoutingSummaryDkimRequestSpfList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/routing/summary/dkim", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DkimEmailRoutingSummaryRequest", }) as any as S.Schema; export type EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailRoutingSummaryDkimResponseMetaConfidenceInfo { annotations: EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailRoutingSummaryDkimResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailRoutingSummaryDkimResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailRoutingSummaryDkimResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailRoutingSummaryDkimResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailRoutingSummaryDkimResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailRoutingSummaryDkimResponseMetaDateRangeList = Array; export const EmailRoutingSummaryDkimResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailRoutingSummaryDkimResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailRoutingSummaryDkimResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDkimResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailRoutingSummaryDkimResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailRoutingSummaryDkimResponseMetaUnitsList = Array; export const EmailRoutingSummaryDkimResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailRoutingSummaryDkimResponseMeta { confidenceInfo: EmailRoutingSummaryDkimResponseMetaConfidenceInfo; dateRange: EmailRoutingSummaryDkimResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailRoutingSummaryDkimResponseMetaNormalization; /** Measurement units for the results. */ units: EmailRoutingSummaryDkimResponseMetaUnitsList; } export const EmailRoutingSummaryDkimResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: EmailRoutingSummaryDkimResponseMetaConfidenceInfo, dateRange: EmailRoutingSummaryDkimResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailRoutingSummaryDkimResponseMetaNormalization, units: EmailRoutingSummaryDkimResponseMetaUnitsList, }), ).annotate({ identifier: "EmailRoutingSummaryDkimResponseMeta", }) as any as S.Schema; export type EmailRoutingSummaryDkimResponseSummary0 = EmailRoutingSummaryArcResponseSummary0; export const EmailRoutingSummaryDkimResponseSummary0 = EmailRoutingSummaryArcResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DkimEmailRoutingSummaryResponse { /** Metadata for the results. */ meta: EmailRoutingSummaryDkimResponseMeta; summary_0: EmailRoutingSummaryArcResponseSummary0; } export const DkimEmailRoutingSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailRoutingSummaryDkimResponseMeta, summary_0: EmailRoutingSummaryArcResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DkimEmailRoutingSummaryResponse", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDkimRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const EmailRoutingTimeseriesGroupsDkimRequestAggInterval = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDkimRequestArc = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsDkimRequestArc = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDkimRequestArcList = Array< EmailRoutingTimeseriesGroupsDkimRequestArc | (string & {}) >; export const EmailRoutingTimeseriesGroupsDkimRequestArcList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsDkimRequestArc, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDkimRequestDateEndList = Array; export const EmailRoutingTimeseriesGroupsDkimRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDkimRequestDateRangeList = Array; export const EmailRoutingTimeseriesGroupsDkimRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDkimRequestDateStartList = Array; export const EmailRoutingTimeseriesGroupsDkimRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDkimRequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsDkimRequestDmarc = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDkimRequestDmarcList = Array< EmailRoutingTimeseriesGroupsDkimRequestDmarc | (string & {}) >; export const EmailRoutingTimeseriesGroupsDkimRequestDmarcList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsDkimRequestDmarc, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDkimRequestEncrypted = | "ENCRYPTED" | "NOT_ENCRYPTED"; export const EmailRoutingTimeseriesGroupsDkimRequestEncrypted = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDkimRequestEncryptedList = Array< EmailRoutingTimeseriesGroupsDkimRequestEncrypted | (string & {}) >; export const EmailRoutingTimeseriesGroupsDkimRequestEncryptedList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsDkimRequestEncrypted, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDkimRequestFormat = "JSON" | "CSV"; export const EmailRoutingTimeseriesGroupsDkimRequestFormat = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDkimRequestIpVersion = "IPv4" | "IPv6"; export const EmailRoutingTimeseriesGroupsDkimRequestIpVersion = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDkimRequestIpVersionList = Array< EmailRoutingTimeseriesGroupsDkimRequestIpVersion | (string & {}) >; export const EmailRoutingTimeseriesGroupsDkimRequestIpVersionList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsDkimRequestIpVersion, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDkimRequestNameList = Array; export const EmailRoutingTimeseriesGroupsDkimRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDkimRequestSpf = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsDkimRequestSpf = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDkimRequestSpfList = Array< EmailRoutingTimeseriesGroupsDkimRequestSpf | (string & {}) >; export const EmailRoutingTimeseriesGroupsDkimRequestSpfList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsDkimRequestSpf, ) as any as S.Schema; export interface DkimEmailRoutingTimeseriesGroupRequest { /** 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/). */ aggInterval?: | EmailRoutingTimeseriesGroupsDkimRequestAggInterval | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailRoutingTimeseriesGroupsDkimRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailRoutingTimeseriesGroupsDkimRequestDateEndList; /** 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). */ dateRange?: EmailRoutingTimeseriesGroupsDkimRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailRoutingTimeseriesGroupsDkimRequestDateStartList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailRoutingTimeseriesGroupsDkimRequestDmarcList; /** Filters results by encryption status (encrypted vs. not-encrypted). */ encrypted?: EmailRoutingTimeseriesGroupsDkimRequestEncryptedList; /** Format in which results will be returned. */ format?: EmailRoutingTimeseriesGroupsDkimRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: EmailRoutingTimeseriesGroupsDkimRequestIpVersionList; /** Array of names used to label the series in the response. */ name?: EmailRoutingTimeseriesGroupsDkimRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailRoutingTimeseriesGroupsDkimRequestSpfList; } export const DkimEmailRoutingTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( EmailRoutingTimeseriesGroupsDkimRequestAggInterval.pipe(T.Query()), ), arc: S.optional( EmailRoutingTimeseriesGroupsDkimRequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailRoutingTimeseriesGroupsDkimRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailRoutingTimeseriesGroupsDkimRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailRoutingTimeseriesGroupsDkimRequestDateStartList.pipe(T.Query()), ), dmarc: S.optional( EmailRoutingTimeseriesGroupsDkimRequestDmarcList.pipe(T.Query()), ), encrypted: S.optional( EmailRoutingTimeseriesGroupsDkimRequestEncryptedList.pipe(T.Query()), ), format: S.optional( EmailRoutingTimeseriesGroupsDkimRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( EmailRoutingTimeseriesGroupsDkimRequestIpVersionList.pipe(T.Query()), ), name: S.optional( EmailRoutingTimeseriesGroupsDkimRequestNameList.pipe(T.Query()), ), spf: S.optional( EmailRoutingTimeseriesGroupsDkimRequestSpfList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/routing/timeseries_groups/dkim", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DkimEmailRoutingTimeseriesGroupRequest", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDkimResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const EmailRoutingTimeseriesGroupsDkimResponseMetaAggInterval = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfo { annotations: EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDkimResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailRoutingTimeseriesGroupsDkimResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailRoutingTimeseriesGroupsDkimResponseMetaDateRangeList = Array; export const EmailRoutingTimeseriesGroupsDkimResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDkimResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailRoutingTimeseriesGroupsDkimResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDkimResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailRoutingTimeseriesGroupsDkimResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailRoutingTimeseriesGroupsDkimResponseMetaUnitsList = Array; export const EmailRoutingTimeseriesGroupsDkimResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsDkimResponseMeta { /** 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/). */ aggInterval: EmailRoutingTimeseriesGroupsDkimResponseMetaAggInterval; confidenceInfo: EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfo; dateRange: EmailRoutingTimeseriesGroupsDkimResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailRoutingTimeseriesGroupsDkimResponseMetaNormalization; /** Measurement units for the results. */ units: EmailRoutingTimeseriesGroupsDkimResponseMetaUnitsList; } export const EmailRoutingTimeseriesGroupsDkimResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: EmailRoutingTimeseriesGroupsDkimResponseMetaAggInterval, confidenceInfo: EmailRoutingTimeseriesGroupsDkimResponseMetaConfidenceInfo, dateRange: EmailRoutingTimeseriesGroupsDkimResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailRoutingTimeseriesGroupsDkimResponseMetaNormalization, units: EmailRoutingTimeseriesGroupsDkimResponseMetaUnitsList, }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsDkimResponseMeta", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDkimResponseSerie0FAILList = Array; export const EmailRoutingTimeseriesGroupsDkimResponseSerie0FAILList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDkimResponseSerie0NONEList = Array; export const EmailRoutingTimeseriesGroupsDkimResponseSerie0NONEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDkimResponseSerie0PASSList = Array; export const EmailRoutingTimeseriesGroupsDkimResponseSerie0PASSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsDkimResponseSerie0 { fAIL: EmailRoutingTimeseriesGroupsDkimResponseSerie0FAILList; nONE: EmailRoutingTimeseriesGroupsDkimResponseSerie0NONEList; pASS: EmailRoutingTimeseriesGroupsDkimResponseSerie0PASSList; } export const EmailRoutingTimeseriesGroupsDkimResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ fAIL: EmailRoutingTimeseriesGroupsDkimResponseSerie0FAILList.pipe( T.Body("FAIL"), ), nONE: EmailRoutingTimeseriesGroupsDkimResponseSerie0NONEList.pipe( T.Body("NONE"), ), pASS: EmailRoutingTimeseriesGroupsDkimResponseSerie0PASSList.pipe( T.Body("PASS"), ), }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsDkimResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DkimEmailRoutingTimeseriesGroupResponse { /** Metadata for the results. */ meta: EmailRoutingTimeseriesGroupsDkimResponseMeta; serie_0: EmailRoutingTimeseriesGroupsDkimResponseSerie0; } export const DkimEmailRoutingTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: EmailRoutingTimeseriesGroupsDkimResponseMeta, serie_0: EmailRoutingTimeseriesGroupsDkimResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DkimEmailRoutingTimeseriesGroupResponse", }) as any as S.Schema; export type EmailSecuritySummaryDkimRequestArc = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryDkimRequestArc = /*@__PURE__*/ S.String; export type EmailSecuritySummaryDkimRequestArcList = Array< EmailSecuritySummaryDkimRequestArc | (string & {}) >; export const EmailSecuritySummaryDkimRequestArcList = /*@__PURE__*/ S.Array( EmailSecuritySummaryDkimRequestArc, ) as any as S.Schema; export type EmailSecuritySummaryDkimRequestDateEndList = Array; export const EmailSecuritySummaryDkimRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryDkimRequestDateRangeList = Array; export const EmailSecuritySummaryDkimRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryDkimRequestDateStartList = Array; export const EmailSecuritySummaryDkimRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryDkimRequestDmarc = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryDkimRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecuritySummaryDkimRequestDmarcList = Array< EmailSecuritySummaryDkimRequestDmarc | (string & {}) >; export const EmailSecuritySummaryDkimRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecuritySummaryDkimRequestDmarc, ) as any as S.Schema; export type EmailSecuritySummaryDkimRequestFormat = "JSON" | "CSV"; export const EmailSecuritySummaryDkimRequestFormat = /*@__PURE__*/ S.String; export type EmailSecuritySummaryDkimRequestNameList = Array; export const EmailSecuritySummaryDkimRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryDkimRequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryDkimRequestSpf = /*@__PURE__*/ S.String; export type EmailSecuritySummaryDkimRequestSpfList = Array< EmailSecuritySummaryDkimRequestSpf | (string & {}) >; export const EmailSecuritySummaryDkimRequestSpfList = /*@__PURE__*/ S.Array( EmailSecuritySummaryDkimRequestSpf, ) as any as S.Schema; export type EmailSecuritySummaryDkimRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecuritySummaryDkimRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecuritySummaryDkimRequestTlsVersionList = Array< EmailSecuritySummaryDkimRequestTlsVersion | (string & {}) >; export const EmailSecuritySummaryDkimRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecuritySummaryDkimRequestTlsVersion, ) as any as S.Schema; export interface DkimEmailSecuritySummaryRequest { /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecuritySummaryDkimRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecuritySummaryDkimRequestDateEndList; /** 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). */ dateRange?: EmailSecuritySummaryDkimRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecuritySummaryDkimRequestDateStartList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecuritySummaryDkimRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecuritySummaryDkimRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecuritySummaryDkimRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecuritySummaryDkimRequestSpfList; /** Filters results by TLS version. */ tlsVersion?: EmailSecuritySummaryDkimRequestTlsVersionList; } export const DkimEmailSecuritySummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ arc: S.optional(EmailSecuritySummaryDkimRequestArcList.pipe(T.Query())), dateEnd: S.optional( EmailSecuritySummaryDkimRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecuritySummaryDkimRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecuritySummaryDkimRequestDateStartList.pipe(T.Query()), ), dmarc: S.optional(EmailSecuritySummaryDkimRequestDmarcList.pipe(T.Query())), format: S.optional(EmailSecuritySummaryDkimRequestFormat.pipe(T.Query())), name: S.optional(EmailSecuritySummaryDkimRequestNameList.pipe(T.Query())), spf: S.optional(EmailSecuritySummaryDkimRequestSpfList.pipe(T.Query())), tlsVersion: S.optional( EmailSecuritySummaryDkimRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/summary/dkim", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DkimEmailSecuritySummaryRequest", }) as any as S.Schema; export type EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecuritySummaryDkimResponseMetaConfidenceInfo { annotations: EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecuritySummaryDkimResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecuritySummaryDkimResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecuritySummaryDkimResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecuritySummaryDkimResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecuritySummaryDkimResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecuritySummaryDkimResponseMetaDateRangeList = Array; export const EmailSecuritySummaryDkimResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecuritySummaryDkimResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecuritySummaryDkimResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecuritySummaryDkimResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecuritySummaryDkimResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecuritySummaryDkimResponseMetaUnitsList = Array; export const EmailSecuritySummaryDkimResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecuritySummaryDkimResponseMeta { confidenceInfo: EmailSecuritySummaryDkimResponseMetaConfidenceInfo; dateRange: EmailSecuritySummaryDkimResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecuritySummaryDkimResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecuritySummaryDkimResponseMetaUnitsList; } export const EmailSecuritySummaryDkimResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: EmailSecuritySummaryDkimResponseMetaConfidenceInfo, dateRange: EmailSecuritySummaryDkimResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecuritySummaryDkimResponseMetaNormalization, units: EmailSecuritySummaryDkimResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecuritySummaryDkimResponseMeta", }) as any as S.Schema; export type EmailSecuritySummaryDkimResponseSummary0 = EmailRoutingSummaryArcResponseSummary0; export const EmailSecuritySummaryDkimResponseSummary0 = EmailRoutingSummaryArcResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DkimEmailSecuritySummaryResponse { /** Metadata for the results. */ meta: EmailSecuritySummaryDkimResponseMeta; summary_0: EmailRoutingSummaryArcResponseSummary0; } export const DkimEmailSecuritySummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailSecuritySummaryDkimResponseMeta, summary_0: EmailRoutingSummaryArcResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DkimEmailSecuritySummaryResponse", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDkimRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const EmailSecurityTimeseriesGroupsDkimRequestAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDkimRequestArc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsDkimRequestArc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDkimRequestArcList = Array< EmailSecurityTimeseriesGroupsDkimRequestArc | (string & {}) >; export const EmailSecurityTimeseriesGroupsDkimRequestArcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsDkimRequestArc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDkimRequestDateEndList = Array; export const EmailSecurityTimeseriesGroupsDkimRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDkimRequestDateRangeList = Array; export const EmailSecurityTimeseriesGroupsDkimRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDkimRequestDateStartList = Array; export const EmailSecurityTimeseriesGroupsDkimRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDkimRequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsDkimRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDkimRequestDmarcList = Array< EmailSecurityTimeseriesGroupsDkimRequestDmarc | (string & {}) >; export const EmailSecurityTimeseriesGroupsDkimRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsDkimRequestDmarc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDkimRequestFormat = "JSON" | "CSV"; export const EmailSecurityTimeseriesGroupsDkimRequestFormat = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDkimRequestNameList = Array; export const EmailSecurityTimeseriesGroupsDkimRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDkimRequestSpf = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsDkimRequestSpf = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDkimRequestSpfList = Array< EmailSecurityTimeseriesGroupsDkimRequestSpf | (string & {}) >; export const EmailSecurityTimeseriesGroupsDkimRequestSpfList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsDkimRequestSpf, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDkimRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecurityTimeseriesGroupsDkimRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDkimRequestTlsVersionList = Array< EmailSecurityTimeseriesGroupsDkimRequestTlsVersion | (string & {}) >; export const EmailSecurityTimeseriesGroupsDkimRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsDkimRequestTlsVersion, ) as any as S.Schema; export interface DkimEmailSecurityTimeseriesGroupRequest { /** 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/). */ aggInterval?: | EmailSecurityTimeseriesGroupsDkimRequestAggInterval | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecurityTimeseriesGroupsDkimRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecurityTimeseriesGroupsDkimRequestDateEndList; /** 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). */ dateRange?: EmailSecurityTimeseriesGroupsDkimRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecurityTimeseriesGroupsDkimRequestDateStartList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecurityTimeseriesGroupsDkimRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecurityTimeseriesGroupsDkimRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecurityTimeseriesGroupsDkimRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecurityTimeseriesGroupsDkimRequestSpfList; /** Filters results by TLS version. */ tlsVersion?: EmailSecurityTimeseriesGroupsDkimRequestTlsVersionList; } export const DkimEmailSecurityTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( EmailSecurityTimeseriesGroupsDkimRequestAggInterval.pipe(T.Query()), ), arc: S.optional( EmailSecurityTimeseriesGroupsDkimRequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailSecurityTimeseriesGroupsDkimRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecurityTimeseriesGroupsDkimRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecurityTimeseriesGroupsDkimRequestDateStartList.pipe(T.Query()), ), dmarc: S.optional( EmailSecurityTimeseriesGroupsDkimRequestDmarcList.pipe(T.Query()), ), format: S.optional( EmailSecurityTimeseriesGroupsDkimRequestFormat.pipe(T.Query()), ), name: S.optional( EmailSecurityTimeseriesGroupsDkimRequestNameList.pipe(T.Query()), ), spf: S.optional( EmailSecurityTimeseriesGroupsDkimRequestSpfList.pipe(T.Query()), ), tlsVersion: S.optional( EmailSecurityTimeseriesGroupsDkimRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/timeseries_groups/dkim", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DkimEmailSecurityTimeseriesGroupRequest", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDkimResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const EmailSecurityTimeseriesGroupsDkimResponseMetaAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfo { annotations: EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDkimResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecurityTimeseriesGroupsDkimResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecurityTimeseriesGroupsDkimResponseMetaDateRangeList = Array; export const EmailSecurityTimeseriesGroupsDkimResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDkimResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecurityTimeseriesGroupsDkimResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDkimResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecurityTimeseriesGroupsDkimResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecurityTimeseriesGroupsDkimResponseMetaUnitsList = Array; export const EmailSecurityTimeseriesGroupsDkimResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsDkimResponseMeta { /** 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/). */ aggInterval: EmailSecurityTimeseriesGroupsDkimResponseMetaAggInterval; confidenceInfo: EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfo; dateRange: EmailSecurityTimeseriesGroupsDkimResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecurityTimeseriesGroupsDkimResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecurityTimeseriesGroupsDkimResponseMetaUnitsList; } export const EmailSecurityTimeseriesGroupsDkimResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: EmailSecurityTimeseriesGroupsDkimResponseMetaAggInterval, confidenceInfo: EmailSecurityTimeseriesGroupsDkimResponseMetaConfidenceInfo, dateRange: EmailSecurityTimeseriesGroupsDkimResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecurityTimeseriesGroupsDkimResponseMetaNormalization, units: EmailSecurityTimeseriesGroupsDkimResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsDkimResponseMeta", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDkimResponseSerie0FAILList = Array; export const EmailSecurityTimeseriesGroupsDkimResponseSerie0FAILList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDkimResponseSerie0NONEList = Array; export const EmailSecurityTimeseriesGroupsDkimResponseSerie0NONEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDkimResponseSerie0PASSList = Array; export const EmailSecurityTimeseriesGroupsDkimResponseSerie0PASSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsDkimResponseSerie0 { fAIL: EmailSecurityTimeseriesGroupsDkimResponseSerie0FAILList; nONE: EmailSecurityTimeseriesGroupsDkimResponseSerie0NONEList; pASS: EmailSecurityTimeseriesGroupsDkimResponseSerie0PASSList; } export const EmailSecurityTimeseriesGroupsDkimResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ fAIL: EmailSecurityTimeseriesGroupsDkimResponseSerie0FAILList.pipe( T.Body("FAIL"), ), nONE: EmailSecurityTimeseriesGroupsDkimResponseSerie0NONEList.pipe( T.Body("NONE"), ), pASS: EmailSecurityTimeseriesGroupsDkimResponseSerie0PASSList.pipe( T.Body("PASS"), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsDkimResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DkimEmailSecurityTimeseriesGroupResponse { /** Metadata for the results. */ meta: EmailSecurityTimeseriesGroupsDkimResponseMeta; serie_0: EmailSecurityTimeseriesGroupsDkimResponseSerie0; } export const DkimEmailSecurityTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: EmailSecurityTimeseriesGroupsDkimResponseMeta, serie_0: EmailSecurityTimeseriesGroupsDkimResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DkimEmailSecurityTimeseriesGroupResponse", }) as any as S.Schema; export type EmailRoutingSummaryDmarcRequestArc = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryDmarcRequestArc = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDmarcRequestArcList = Array< EmailRoutingSummaryDmarcRequestArc | (string & {}) >; export const EmailRoutingSummaryDmarcRequestArcList = /*@__PURE__*/ S.Array( EmailRoutingSummaryDmarcRequestArc, ) as any as S.Schema; export type EmailRoutingSummaryDmarcRequestDateEndList = Array; export const EmailRoutingSummaryDmarcRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryDmarcRequestDateRangeList = Array; export const EmailRoutingSummaryDmarcRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryDmarcRequestDateStartList = Array; export const EmailRoutingSummaryDmarcRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryDmarcRequestDkim = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryDmarcRequestDkim = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDmarcRequestDkimList = Array< EmailRoutingSummaryDmarcRequestDkim | (string & {}) >; export const EmailRoutingSummaryDmarcRequestDkimList = /*@__PURE__*/ S.Array( EmailRoutingSummaryDmarcRequestDkim, ) as any as S.Schema; export type EmailRoutingSummaryDmarcRequestEncrypted = | "ENCRYPTED" | "NOT_ENCRYPTED"; export const EmailRoutingSummaryDmarcRequestEncrypted = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDmarcRequestEncryptedList = Array< EmailRoutingSummaryDmarcRequestEncrypted | (string & {}) >; export const EmailRoutingSummaryDmarcRequestEncryptedList = /*@__PURE__*/ S.Array( EmailRoutingSummaryDmarcRequestEncrypted, ) as any as S.Schema; export type EmailRoutingSummaryDmarcRequestFormat = "JSON" | "CSV"; export const EmailRoutingSummaryDmarcRequestFormat = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDmarcRequestIpVersion = "IPv4" | "IPv6"; export const EmailRoutingSummaryDmarcRequestIpVersion = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDmarcRequestIpVersionList = Array< EmailRoutingSummaryDmarcRequestIpVersion | (string & {}) >; export const EmailRoutingSummaryDmarcRequestIpVersionList = /*@__PURE__*/ S.Array( EmailRoutingSummaryDmarcRequestIpVersion, ) as any as S.Schema; export type EmailRoutingSummaryDmarcRequestNameList = Array; export const EmailRoutingSummaryDmarcRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryDmarcRequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryDmarcRequestSpf = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDmarcRequestSpfList = Array< EmailRoutingSummaryDmarcRequestSpf | (string & {}) >; export const EmailRoutingSummaryDmarcRequestSpfList = /*@__PURE__*/ S.Array( EmailRoutingSummaryDmarcRequestSpf, ) as any as S.Schema; export interface DmarcEmailRoutingSummaryRequest { /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailRoutingSummaryDmarcRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailRoutingSummaryDmarcRequestDateEndList; /** 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). */ dateRange?: EmailRoutingSummaryDmarcRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailRoutingSummaryDmarcRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailRoutingSummaryDmarcRequestDkimList; /** Filters results by encryption status (encrypted vs. not-encrypted). */ encrypted?: EmailRoutingSummaryDmarcRequestEncryptedList; /** Format in which results will be returned. */ format?: EmailRoutingSummaryDmarcRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: EmailRoutingSummaryDmarcRequestIpVersionList; /** Array of names used to label the series in the response. */ name?: EmailRoutingSummaryDmarcRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailRoutingSummaryDmarcRequestSpfList; } export const DmarcEmailRoutingSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ arc: S.optional(EmailRoutingSummaryDmarcRequestArcList.pipe(T.Query())), dateEnd: S.optional( EmailRoutingSummaryDmarcRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailRoutingSummaryDmarcRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailRoutingSummaryDmarcRequestDateStartList.pipe(T.Query()), ), dkim: S.optional(EmailRoutingSummaryDmarcRequestDkimList.pipe(T.Query())), encrypted: S.optional( EmailRoutingSummaryDmarcRequestEncryptedList.pipe(T.Query()), ), format: S.optional(EmailRoutingSummaryDmarcRequestFormat.pipe(T.Query())), ipVersion: S.optional( EmailRoutingSummaryDmarcRequestIpVersionList.pipe(T.Query()), ), name: S.optional(EmailRoutingSummaryDmarcRequestNameList.pipe(T.Query())), spf: S.optional(EmailRoutingSummaryDmarcRequestSpfList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/routing/summary/dmarc", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DmarcEmailRoutingSummaryRequest", }) as any as S.Schema; export type EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailRoutingSummaryDmarcResponseMetaConfidenceInfo { annotations: EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailRoutingSummaryDmarcResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailRoutingSummaryDmarcResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailRoutingSummaryDmarcResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailRoutingSummaryDmarcResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailRoutingSummaryDmarcResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailRoutingSummaryDmarcResponseMetaDateRangeList = Array; export const EmailRoutingSummaryDmarcResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailRoutingSummaryDmarcResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailRoutingSummaryDmarcResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailRoutingSummaryDmarcResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailRoutingSummaryDmarcResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailRoutingSummaryDmarcResponseMetaUnitsList = Array; export const EmailRoutingSummaryDmarcResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailRoutingSummaryDmarcResponseMeta { confidenceInfo: EmailRoutingSummaryDmarcResponseMetaConfidenceInfo; dateRange: EmailRoutingSummaryDmarcResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailRoutingSummaryDmarcResponseMetaNormalization; /** Measurement units for the results. */ units: EmailRoutingSummaryDmarcResponseMetaUnitsList; } export const EmailRoutingSummaryDmarcResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: EmailRoutingSummaryDmarcResponseMetaConfidenceInfo, dateRange: EmailRoutingSummaryDmarcResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailRoutingSummaryDmarcResponseMetaNormalization, units: EmailRoutingSummaryDmarcResponseMetaUnitsList, }), ).annotate({ identifier: "EmailRoutingSummaryDmarcResponseMeta", }) as any as S.Schema; export type EmailRoutingSummaryDmarcResponseSummary0 = EmailRoutingSummaryArcResponseSummary0; export const EmailRoutingSummaryDmarcResponseSummary0 = EmailRoutingSummaryArcResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DmarcEmailRoutingSummaryResponse { /** Metadata for the results. */ meta: EmailRoutingSummaryDmarcResponseMeta; summary_0: EmailRoutingSummaryArcResponseSummary0; } export const DmarcEmailRoutingSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailRoutingSummaryDmarcResponseMeta, summary_0: EmailRoutingSummaryArcResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DmarcEmailRoutingSummaryResponse", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDmarcRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const EmailRoutingTimeseriesGroupsDmarcRequestAggInterval = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDmarcRequestArc = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsDmarcRequestArc = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDmarcRequestArcList = Array< EmailRoutingTimeseriesGroupsDmarcRequestArc | (string & {}) >; export const EmailRoutingTimeseriesGroupsDmarcRequestArcList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsDmarcRequestArc, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDmarcRequestDateEndList = Array; export const EmailRoutingTimeseriesGroupsDmarcRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDmarcRequestDateRangeList = Array; export const EmailRoutingTimeseriesGroupsDmarcRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDmarcRequestDateStartList = Array; export const EmailRoutingTimeseriesGroupsDmarcRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDmarcRequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsDmarcRequestDkim = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDmarcRequestDkimList = Array< EmailRoutingTimeseriesGroupsDmarcRequestDkim | (string & {}) >; export const EmailRoutingTimeseriesGroupsDmarcRequestDkimList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsDmarcRequestDkim, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDmarcRequestEncrypted = | "ENCRYPTED" | "NOT_ENCRYPTED"; export const EmailRoutingTimeseriesGroupsDmarcRequestEncrypted = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDmarcRequestEncryptedList = Array< EmailRoutingTimeseriesGroupsDmarcRequestEncrypted | (string & {}) >; export const EmailRoutingTimeseriesGroupsDmarcRequestEncryptedList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsDmarcRequestEncrypted, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDmarcRequestFormat = "JSON" | "CSV"; export const EmailRoutingTimeseriesGroupsDmarcRequestFormat = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDmarcRequestIpVersion = "IPv4" | "IPv6"; export const EmailRoutingTimeseriesGroupsDmarcRequestIpVersion = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDmarcRequestIpVersionList = Array< EmailRoutingTimeseriesGroupsDmarcRequestIpVersion | (string & {}) >; export const EmailRoutingTimeseriesGroupsDmarcRequestIpVersionList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsDmarcRequestIpVersion, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDmarcRequestNameList = Array; export const EmailRoutingTimeseriesGroupsDmarcRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDmarcRequestSpf = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsDmarcRequestSpf = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDmarcRequestSpfList = Array< EmailRoutingTimeseriesGroupsDmarcRequestSpf | (string & {}) >; export const EmailRoutingTimeseriesGroupsDmarcRequestSpfList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsDmarcRequestSpf, ) as any as S.Schema; export interface DmarcEmailRoutingTimeseriesGroupRequest { /** 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/). */ aggInterval?: | EmailRoutingTimeseriesGroupsDmarcRequestAggInterval | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailRoutingTimeseriesGroupsDmarcRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailRoutingTimeseriesGroupsDmarcRequestDateEndList; /** 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). */ dateRange?: EmailRoutingTimeseriesGroupsDmarcRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailRoutingTimeseriesGroupsDmarcRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailRoutingTimeseriesGroupsDmarcRequestDkimList; /** Filters results by encryption status (encrypted vs. not-encrypted). */ encrypted?: EmailRoutingTimeseriesGroupsDmarcRequestEncryptedList; /** Format in which results will be returned. */ format?: EmailRoutingTimeseriesGroupsDmarcRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: EmailRoutingTimeseriesGroupsDmarcRequestIpVersionList; /** Array of names used to label the series in the response. */ name?: EmailRoutingTimeseriesGroupsDmarcRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailRoutingTimeseriesGroupsDmarcRequestSpfList; } export const DmarcEmailRoutingTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( EmailRoutingTimeseriesGroupsDmarcRequestAggInterval.pipe(T.Query()), ), arc: S.optional( EmailRoutingTimeseriesGroupsDmarcRequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailRoutingTimeseriesGroupsDmarcRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailRoutingTimeseriesGroupsDmarcRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailRoutingTimeseriesGroupsDmarcRequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailRoutingTimeseriesGroupsDmarcRequestDkimList.pipe(T.Query()), ), encrypted: S.optional( EmailRoutingTimeseriesGroupsDmarcRequestEncryptedList.pipe(T.Query()), ), format: S.optional( EmailRoutingTimeseriesGroupsDmarcRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( EmailRoutingTimeseriesGroupsDmarcRequestIpVersionList.pipe(T.Query()), ), name: S.optional( EmailRoutingTimeseriesGroupsDmarcRequestNameList.pipe(T.Query()), ), spf: S.optional( EmailRoutingTimeseriesGroupsDmarcRequestSpfList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/routing/timeseries_groups/dmarc", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DmarcEmailRoutingTimeseriesGroupRequest", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDmarcResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const EmailRoutingTimeseriesGroupsDmarcResponseMetaAggInterval = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfo { annotations: EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDmarcResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailRoutingTimeseriesGroupsDmarcResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailRoutingTimeseriesGroupsDmarcResponseMetaDateRangeList = Array; export const EmailRoutingTimeseriesGroupsDmarcResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDmarcResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailRoutingTimeseriesGroupsDmarcResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsDmarcResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailRoutingTimeseriesGroupsDmarcResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailRoutingTimeseriesGroupsDmarcResponseMetaUnitsList = Array; export const EmailRoutingTimeseriesGroupsDmarcResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsDmarcResponseMeta { /** 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/). */ aggInterval: EmailRoutingTimeseriesGroupsDmarcResponseMetaAggInterval; confidenceInfo: EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfo; dateRange: EmailRoutingTimeseriesGroupsDmarcResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailRoutingTimeseriesGroupsDmarcResponseMetaNormalization; /** Measurement units for the results. */ units: EmailRoutingTimeseriesGroupsDmarcResponseMetaUnitsList; } export const EmailRoutingTimeseriesGroupsDmarcResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: EmailRoutingTimeseriesGroupsDmarcResponseMetaAggInterval, confidenceInfo: EmailRoutingTimeseriesGroupsDmarcResponseMetaConfidenceInfo, dateRange: EmailRoutingTimeseriesGroupsDmarcResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailRoutingTimeseriesGroupsDmarcResponseMetaNormalization, units: EmailRoutingTimeseriesGroupsDmarcResponseMetaUnitsList, }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsDmarcResponseMeta", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDmarcResponseSerie0FAILList = Array; export const EmailRoutingTimeseriesGroupsDmarcResponseSerie0FAILList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDmarcResponseSerie0NONEList = Array; export const EmailRoutingTimeseriesGroupsDmarcResponseSerie0NONEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsDmarcResponseSerie0PASSList = Array; export const EmailRoutingTimeseriesGroupsDmarcResponseSerie0PASSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsDmarcResponseSerie0 { fAIL: EmailRoutingTimeseriesGroupsDmarcResponseSerie0FAILList; nONE: EmailRoutingTimeseriesGroupsDmarcResponseSerie0NONEList; pASS: EmailRoutingTimeseriesGroupsDmarcResponseSerie0PASSList; } export const EmailRoutingTimeseriesGroupsDmarcResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ fAIL: EmailRoutingTimeseriesGroupsDmarcResponseSerie0FAILList.pipe( T.Body("FAIL"), ), nONE: EmailRoutingTimeseriesGroupsDmarcResponseSerie0NONEList.pipe( T.Body("NONE"), ), pASS: EmailRoutingTimeseriesGroupsDmarcResponseSerie0PASSList.pipe( T.Body("PASS"), ), }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsDmarcResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DmarcEmailRoutingTimeseriesGroupResponse { /** Metadata for the results. */ meta: EmailRoutingTimeseriesGroupsDmarcResponseMeta; serie_0: EmailRoutingTimeseriesGroupsDmarcResponseSerie0; } export const DmarcEmailRoutingTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: EmailRoutingTimeseriesGroupsDmarcResponseMeta, serie_0: EmailRoutingTimeseriesGroupsDmarcResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DmarcEmailRoutingTimeseriesGroupResponse", }) as any as S.Schema; export type EmailSecuritySummaryDmarcRequestArc = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryDmarcRequestArc = /*@__PURE__*/ S.String; export type EmailSecuritySummaryDmarcRequestArcList = Array< EmailSecuritySummaryDmarcRequestArc | (string & {}) >; export const EmailSecuritySummaryDmarcRequestArcList = /*@__PURE__*/ S.Array( EmailSecuritySummaryDmarcRequestArc, ) as any as S.Schema; export type EmailSecuritySummaryDmarcRequestDateEndList = Array; export const EmailSecuritySummaryDmarcRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryDmarcRequestDateRangeList = Array; export const EmailSecuritySummaryDmarcRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryDmarcRequestDateStartList = Array; export const EmailSecuritySummaryDmarcRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryDmarcRequestDkim = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryDmarcRequestDkim = /*@__PURE__*/ S.String; export type EmailSecuritySummaryDmarcRequestDkimList = Array< EmailSecuritySummaryDmarcRequestDkim | (string & {}) >; export const EmailSecuritySummaryDmarcRequestDkimList = /*@__PURE__*/ S.Array( EmailSecuritySummaryDmarcRequestDkim, ) as any as S.Schema; export type EmailSecuritySummaryDmarcRequestFormat = "JSON" | "CSV"; export const EmailSecuritySummaryDmarcRequestFormat = /*@__PURE__*/ S.String; export type EmailSecuritySummaryDmarcRequestNameList = Array; export const EmailSecuritySummaryDmarcRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryDmarcRequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryDmarcRequestSpf = /*@__PURE__*/ S.String; export type EmailSecuritySummaryDmarcRequestSpfList = Array< EmailSecuritySummaryDmarcRequestSpf | (string & {}) >; export const EmailSecuritySummaryDmarcRequestSpfList = /*@__PURE__*/ S.Array( EmailSecuritySummaryDmarcRequestSpf, ) as any as S.Schema; export type EmailSecuritySummaryDmarcRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecuritySummaryDmarcRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecuritySummaryDmarcRequestTlsVersionList = Array< EmailSecuritySummaryDmarcRequestTlsVersion | (string & {}) >; export const EmailSecuritySummaryDmarcRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecuritySummaryDmarcRequestTlsVersion, ) as any as S.Schema; export interface DmarcEmailSecuritySummaryRequest { /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecuritySummaryDmarcRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecuritySummaryDmarcRequestDateEndList; /** 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). */ dateRange?: EmailSecuritySummaryDmarcRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecuritySummaryDmarcRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecuritySummaryDmarcRequestDkimList; /** Format in which results will be returned. */ format?: EmailSecuritySummaryDmarcRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecuritySummaryDmarcRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecuritySummaryDmarcRequestSpfList; /** Filters results by TLS version. */ tlsVersion?: EmailSecuritySummaryDmarcRequestTlsVersionList; } export const DmarcEmailSecuritySummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ arc: S.optional(EmailSecuritySummaryDmarcRequestArcList.pipe(T.Query())), dateEnd: S.optional( EmailSecuritySummaryDmarcRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecuritySummaryDmarcRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecuritySummaryDmarcRequestDateStartList.pipe(T.Query()), ), dkim: S.optional(EmailSecuritySummaryDmarcRequestDkimList.pipe(T.Query())), format: S.optional(EmailSecuritySummaryDmarcRequestFormat.pipe(T.Query())), name: S.optional(EmailSecuritySummaryDmarcRequestNameList.pipe(T.Query())), spf: S.optional(EmailSecuritySummaryDmarcRequestSpfList.pipe(T.Query())), tlsVersion: S.optional( EmailSecuritySummaryDmarcRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/summary/dmarc", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DmarcEmailSecuritySummaryRequest", }) as any as S.Schema; export type EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecuritySummaryDmarcResponseMetaConfidenceInfo { annotations: EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecuritySummaryDmarcResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecuritySummaryDmarcResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecuritySummaryDmarcResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecuritySummaryDmarcResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecuritySummaryDmarcResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecuritySummaryDmarcResponseMetaDateRangeList = Array; export const EmailSecuritySummaryDmarcResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecuritySummaryDmarcResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecuritySummaryDmarcResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecuritySummaryDmarcResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecuritySummaryDmarcResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecuritySummaryDmarcResponseMetaUnitsList = Array; export const EmailSecuritySummaryDmarcResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecuritySummaryDmarcResponseMeta { confidenceInfo: EmailSecuritySummaryDmarcResponseMetaConfidenceInfo; dateRange: EmailSecuritySummaryDmarcResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecuritySummaryDmarcResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecuritySummaryDmarcResponseMetaUnitsList; } export const EmailSecuritySummaryDmarcResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: EmailSecuritySummaryDmarcResponseMetaConfidenceInfo, dateRange: EmailSecuritySummaryDmarcResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecuritySummaryDmarcResponseMetaNormalization, units: EmailSecuritySummaryDmarcResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecuritySummaryDmarcResponseMeta", }) as any as S.Schema; export type EmailSecuritySummaryDmarcResponseSummary0 = EmailRoutingSummaryArcResponseSummary0; export const EmailSecuritySummaryDmarcResponseSummary0 = EmailRoutingSummaryArcResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DmarcEmailSecuritySummaryResponse { /** Metadata for the results. */ meta: EmailSecuritySummaryDmarcResponseMeta; summary_0: EmailRoutingSummaryArcResponseSummary0; } export const DmarcEmailSecuritySummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailSecuritySummaryDmarcResponseMeta, summary_0: EmailRoutingSummaryArcResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DmarcEmailSecuritySummaryResponse", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDmarcRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const EmailSecurityTimeseriesGroupsDmarcRequestAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDmarcRequestArc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsDmarcRequestArc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDmarcRequestArcList = Array< EmailSecurityTimeseriesGroupsDmarcRequestArc | (string & {}) >; export const EmailSecurityTimeseriesGroupsDmarcRequestArcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsDmarcRequestArc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDmarcRequestDateEndList = Array; export const EmailSecurityTimeseriesGroupsDmarcRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDmarcRequestDateRangeList = Array; export const EmailSecurityTimeseriesGroupsDmarcRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDmarcRequestDateStartList = Array; export const EmailSecurityTimeseriesGroupsDmarcRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDmarcRequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsDmarcRequestDkim = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDmarcRequestDkimList = Array< EmailSecurityTimeseriesGroupsDmarcRequestDkim | (string & {}) >; export const EmailSecurityTimeseriesGroupsDmarcRequestDkimList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsDmarcRequestDkim, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDmarcRequestFormat = "JSON" | "CSV"; export const EmailSecurityTimeseriesGroupsDmarcRequestFormat = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDmarcRequestNameList = Array; export const EmailSecurityTimeseriesGroupsDmarcRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDmarcRequestSpf = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsDmarcRequestSpf = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDmarcRequestSpfList = Array< EmailSecurityTimeseriesGroupsDmarcRequestSpf | (string & {}) >; export const EmailSecurityTimeseriesGroupsDmarcRequestSpfList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsDmarcRequestSpf, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDmarcRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecurityTimeseriesGroupsDmarcRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDmarcRequestTlsVersionList = Array< EmailSecurityTimeseriesGroupsDmarcRequestTlsVersion | (string & {}) >; export const EmailSecurityTimeseriesGroupsDmarcRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsDmarcRequestTlsVersion, ) as any as S.Schema; export interface DmarcEmailSecurityTimeseriesGroupRequest { /** 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/). */ aggInterval?: | EmailSecurityTimeseriesGroupsDmarcRequestAggInterval | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecurityTimeseriesGroupsDmarcRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecurityTimeseriesGroupsDmarcRequestDateEndList; /** 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). */ dateRange?: EmailSecurityTimeseriesGroupsDmarcRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecurityTimeseriesGroupsDmarcRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecurityTimeseriesGroupsDmarcRequestDkimList; /** Format in which results will be returned. */ format?: EmailSecurityTimeseriesGroupsDmarcRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecurityTimeseriesGroupsDmarcRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecurityTimeseriesGroupsDmarcRequestSpfList; /** Filters results by TLS version. */ tlsVersion?: EmailSecurityTimeseriesGroupsDmarcRequestTlsVersionList; } export const DmarcEmailSecurityTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( EmailSecurityTimeseriesGroupsDmarcRequestAggInterval.pipe(T.Query()), ), arc: S.optional( EmailSecurityTimeseriesGroupsDmarcRequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailSecurityTimeseriesGroupsDmarcRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecurityTimeseriesGroupsDmarcRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecurityTimeseriesGroupsDmarcRequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailSecurityTimeseriesGroupsDmarcRequestDkimList.pipe(T.Query()), ), format: S.optional( EmailSecurityTimeseriesGroupsDmarcRequestFormat.pipe(T.Query()), ), name: S.optional( EmailSecurityTimeseriesGroupsDmarcRequestNameList.pipe(T.Query()), ), spf: S.optional( EmailSecurityTimeseriesGroupsDmarcRequestSpfList.pipe(T.Query()), ), tlsVersion: S.optional( EmailSecurityTimeseriesGroupsDmarcRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/timeseries_groups/dmarc", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DmarcEmailSecurityTimeseriesGroupRequest", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDmarcResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const EmailSecurityTimeseriesGroupsDmarcResponseMetaAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfo { annotations: EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDmarcResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecurityTimeseriesGroupsDmarcResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecurityTimeseriesGroupsDmarcResponseMetaDateRangeList = Array; export const EmailSecurityTimeseriesGroupsDmarcResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDmarcResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecurityTimeseriesGroupsDmarcResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsDmarcResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecurityTimeseriesGroupsDmarcResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecurityTimeseriesGroupsDmarcResponseMetaUnitsList = Array; export const EmailSecurityTimeseriesGroupsDmarcResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsDmarcResponseMeta { /** 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/). */ aggInterval: EmailSecurityTimeseriesGroupsDmarcResponseMetaAggInterval; confidenceInfo: EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfo; dateRange: EmailSecurityTimeseriesGroupsDmarcResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecurityTimeseriesGroupsDmarcResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecurityTimeseriesGroupsDmarcResponseMetaUnitsList; } export const EmailSecurityTimeseriesGroupsDmarcResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: EmailSecurityTimeseriesGroupsDmarcResponseMetaAggInterval, confidenceInfo: EmailSecurityTimeseriesGroupsDmarcResponseMetaConfidenceInfo, dateRange: EmailSecurityTimeseriesGroupsDmarcResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecurityTimeseriesGroupsDmarcResponseMetaNormalization, units: EmailSecurityTimeseriesGroupsDmarcResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsDmarcResponseMeta", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDmarcResponseSerie0FAILList = Array; export const EmailSecurityTimeseriesGroupsDmarcResponseSerie0FAILList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDmarcResponseSerie0NONEList = Array; export const EmailSecurityTimeseriesGroupsDmarcResponseSerie0NONEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsDmarcResponseSerie0PASSList = Array; export const EmailSecurityTimeseriesGroupsDmarcResponseSerie0PASSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsDmarcResponseSerie0 { fAIL: EmailSecurityTimeseriesGroupsDmarcResponseSerie0FAILList; nONE: EmailSecurityTimeseriesGroupsDmarcResponseSerie0NONEList; pASS: EmailSecurityTimeseriesGroupsDmarcResponseSerie0PASSList; } export const EmailSecurityTimeseriesGroupsDmarcResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ fAIL: EmailSecurityTimeseriesGroupsDmarcResponseSerie0FAILList.pipe( T.Body("FAIL"), ), nONE: EmailSecurityTimeseriesGroupsDmarcResponseSerie0NONEList.pipe( T.Body("NONE"), ), pASS: EmailSecurityTimeseriesGroupsDmarcResponseSerie0PASSList.pipe( T.Body("PASS"), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsDmarcResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DmarcEmailSecurityTimeseriesGroupResponse { /** Metadata for the results. */ meta: EmailSecurityTimeseriesGroupsDmarcResponseMeta; serie_0: EmailSecurityTimeseriesGroupsDmarcResponseSerie0; } export const DmarcEmailSecurityTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailSecurityTimeseriesGroupsDmarcResponseMeta, serie_0: EmailSecurityTimeseriesGroupsDmarcResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DmarcEmailSecurityTimeseriesGroupResponse", }) as any as S.Schema; export type As112SummaryDnssecRequestContinentList = Array; export const As112SummaryDnssecRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryDnssecRequestDateEndList = Array; export const As112SummaryDnssecRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryDnssecRequestDateRangeList = Array; export const As112SummaryDnssecRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryDnssecRequestDateStartList = Array; export const As112SummaryDnssecRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryDnssecRequestFormat = "JSON" | "CSV"; export const As112SummaryDnssecRequestFormat = /*@__PURE__*/ S.String; export type As112SummaryDnssecRequestLocationList = Array; export const As112SummaryDnssecRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryDnssecRequestNameList = Array; export const As112SummaryDnssecRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryDnssecRequestProtocol = "UDP" | "TCP" | "HTTPS" | "TLS"; export const As112SummaryDnssecRequestProtocol = /*@__PURE__*/ S.String; export type As112SummaryDnssecRequestProtocolList = Array< As112SummaryDnssecRequestProtocol | (string & {}) >; export const As112SummaryDnssecRequestProtocolList = /*@__PURE__*/ S.Array( As112SummaryDnssecRequestProtocol, ) as any as S.Schema; export type As112SummaryDnssecRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const As112SummaryDnssecRequestQueryType = /*@__PURE__*/ S.String; export type As112SummaryDnssecRequestQueryTypeList = Array< As112SummaryDnssecRequestQueryType | (string & {}) >; export const As112SummaryDnssecRequestQueryTypeList = /*@__PURE__*/ S.Array( As112SummaryDnssecRequestQueryType, ) as any as S.Schema; export type As112SummaryDnssecRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const As112SummaryDnssecRequestResponseCode = /*@__PURE__*/ S.String; export type As112SummaryDnssecRequestResponseCodeList = Array< As112SummaryDnssecRequestResponseCode | (string & {}) >; export const As112SummaryDnssecRequestResponseCodeList = /*@__PURE__*/ S.Array( As112SummaryDnssecRequestResponseCode, ) as any as S.Schema; export interface DnssecAs112SummaryRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112SummaryDnssecRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112SummaryDnssecRequestDateEndList; /** 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). */ dateRange?: As112SummaryDnssecRequestDateRangeList; /** Start of the date range. */ dateStart?: As112SummaryDnssecRequestDateStartList; /** Format in which results will be returned. */ format?: As112SummaryDnssecRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112SummaryDnssecRequestLocationList; /** Array of names used to label the series in the response. */ name?: As112SummaryDnssecRequestNameList; /** Filters results by DNS transport protocol. */ protocol?: As112SummaryDnssecRequestProtocolList; /** Filters results by DNS query type. */ queryType?: As112SummaryDnssecRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: As112SummaryDnssecRequestResponseCodeList; } export const DnssecAs112SummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( As112SummaryDnssecRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(As112SummaryDnssecRequestDateEndList.pipe(T.Query())), dateRange: S.optional( As112SummaryDnssecRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( As112SummaryDnssecRequestDateStartList.pipe(T.Query()), ), format: S.optional(As112SummaryDnssecRequestFormat.pipe(T.Query())), location: S.optional(As112SummaryDnssecRequestLocationList.pipe(T.Query())), name: S.optional(As112SummaryDnssecRequestNameList.pipe(T.Query())), protocol: S.optional(As112SummaryDnssecRequestProtocolList.pipe(T.Query())), queryType: S.optional( As112SummaryDnssecRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( As112SummaryDnssecRequestResponseCodeList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/summary/dnssec", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecAs112SummaryRequest", }) as any as S.Schema; export type As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsList = Array; export const As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112SummaryDnssecResponseMetaConfidenceInfo { annotations: As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112SummaryDnssecResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: As112SummaryDnssecResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112SummaryDnssecResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112SummaryDnssecResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112SummaryDnssecResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112SummaryDnssecResponseMetaDateRangeList = Array; export const As112SummaryDnssecResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112SummaryDnssecResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112SummaryDnssecResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112SummaryDnssecResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112SummaryDnssecResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112SummaryDnssecResponseMetaUnitsList = Array; export const As112SummaryDnssecResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112SummaryDnssecResponseMeta { confidenceInfo: As112SummaryDnssecResponseMetaConfidenceInfo; dateRange: As112SummaryDnssecResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112SummaryDnssecResponseMetaNormalization; /** Measurement units for the results. */ units: As112SummaryDnssecResponseMetaUnitsList; } export const As112SummaryDnssecResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: As112SummaryDnssecResponseMetaConfidenceInfo, dateRange: As112SummaryDnssecResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112SummaryDnssecResponseMetaNormalization, units: As112SummaryDnssecResponseMetaUnitsList, }), ).annotate({ identifier: "As112SummaryDnssecResponseMeta", }) as any as S.Schema; export interface As112SummaryDnssecResponseSummary0 { /** A numeric string. */ nOTSUPPORTED: string; /** A numeric string. */ sUPPORTED: string; } export const As112SummaryDnssecResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ nOTSUPPORTED: S.String.pipe(T.Body("NOT_SUPPORTED")), sUPPORTED: S.String.pipe(T.Body("SUPPORTED")), }), ).annotate({ identifier: "As112SummaryDnssecResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DnssecAs112SummaryResponse { /** Metadata for the results. */ meta: As112SummaryDnssecResponseMeta; summary_0: As112SummaryDnssecResponseSummary0; } export const DnssecAs112SummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: As112SummaryDnssecResponseMeta, summary_0: As112SummaryDnssecResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecAs112SummaryResponse", }) as any as S.Schema; export type As112TimeseriesGroupsDnssecRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const As112TimeseriesGroupsDnssecRequestAggInterval = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsDnssecRequestContinentList = Array; export const As112TimeseriesGroupsDnssecRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsDnssecRequestDateEndList = Array; export const As112TimeseriesGroupsDnssecRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsDnssecRequestDateRangeList = Array; export const As112TimeseriesGroupsDnssecRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsDnssecRequestDateStartList = Array; export const As112TimeseriesGroupsDnssecRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsDnssecRequestFormat = "JSON" | "CSV"; export const As112TimeseriesGroupsDnssecRequestFormat = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsDnssecRequestLocationList = Array; export const As112TimeseriesGroupsDnssecRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsDnssecRequestNameList = Array; export const As112TimeseriesGroupsDnssecRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsDnssecRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const As112TimeseriesGroupsDnssecRequestProtocol = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsDnssecRequestProtocolList = Array< As112TimeseriesGroupsDnssecRequestProtocol | (string & {}) >; export const As112TimeseriesGroupsDnssecRequestProtocolList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsDnssecRequestProtocol, ) as any as S.Schema; export type As112TimeseriesGroupsDnssecRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const As112TimeseriesGroupsDnssecRequestQueryType = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsDnssecRequestQueryTypeList = Array< As112TimeseriesGroupsDnssecRequestQueryType | (string & {}) >; export const As112TimeseriesGroupsDnssecRequestQueryTypeList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsDnssecRequestQueryType, ) as any as S.Schema; export type As112TimeseriesGroupsDnssecRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const As112TimeseriesGroupsDnssecRequestResponseCode = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsDnssecRequestResponseCodeList = Array< As112TimeseriesGroupsDnssecRequestResponseCode | (string & {}) >; export const As112TimeseriesGroupsDnssecRequestResponseCodeList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsDnssecRequestResponseCode, ) as any as S.Schema; export interface DnssecAs112TimeseriesGroupRequest { /** 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/). */ aggInterval?: As112TimeseriesGroupsDnssecRequestAggInterval | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112TimeseriesGroupsDnssecRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112TimeseriesGroupsDnssecRequestDateEndList; /** 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). */ dateRange?: As112TimeseriesGroupsDnssecRequestDateRangeList; /** Start of the date range. */ dateStart?: As112TimeseriesGroupsDnssecRequestDateStartList; /** Format in which results will be returned. */ format?: As112TimeseriesGroupsDnssecRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112TimeseriesGroupsDnssecRequestLocationList; /** Array of names used to label the series in the response. */ name?: As112TimeseriesGroupsDnssecRequestNameList; /** Filters results by DNS transport protocol. */ protocol?: As112TimeseriesGroupsDnssecRequestProtocolList; /** Filters results by DNS query type. */ queryType?: As112TimeseriesGroupsDnssecRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: As112TimeseriesGroupsDnssecRequestResponseCodeList; } export const DnssecAs112TimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( As112TimeseriesGroupsDnssecRequestAggInterval.pipe(T.Query()), ), continent: S.optional( As112TimeseriesGroupsDnssecRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( As112TimeseriesGroupsDnssecRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( As112TimeseriesGroupsDnssecRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( As112TimeseriesGroupsDnssecRequestDateStartList.pipe(T.Query()), ), format: S.optional( As112TimeseriesGroupsDnssecRequestFormat.pipe(T.Query()), ), location: S.optional( As112TimeseriesGroupsDnssecRequestLocationList.pipe(T.Query()), ), name: S.optional( As112TimeseriesGroupsDnssecRequestNameList.pipe(T.Query()), ), protocol: S.optional( As112TimeseriesGroupsDnssecRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( As112TimeseriesGroupsDnssecRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( As112TimeseriesGroupsDnssecRequestResponseCodeList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/timeseries_groups/dnssec", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecAs112TimeseriesGroupRequest", }) as any as S.Schema; export type As112TimeseriesGroupsDnssecResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const As112TimeseriesGroupsDnssecResponseMetaAggInterval = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsList = Array; export const As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112TimeseriesGroupsDnssecResponseMetaConfidenceInfo { annotations: As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112TimeseriesGroupsDnssecResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: As112TimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112TimeseriesGroupsDnssecResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112TimeseriesGroupsDnssecResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112TimeseriesGroupsDnssecResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112TimeseriesGroupsDnssecResponseMetaDateRangeList = Array; export const As112TimeseriesGroupsDnssecResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112TimeseriesGroupsDnssecResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112TimeseriesGroupsDnssecResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsDnssecResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112TimeseriesGroupsDnssecResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112TimeseriesGroupsDnssecResponseMetaUnitsList = Array; export const As112TimeseriesGroupsDnssecResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112TimeseriesGroupsDnssecResponseMeta { /** 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/). */ aggInterval: As112TimeseriesGroupsDnssecResponseMetaAggInterval; confidenceInfo: As112TimeseriesGroupsDnssecResponseMetaConfidenceInfo; dateRange: As112TimeseriesGroupsDnssecResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112TimeseriesGroupsDnssecResponseMetaNormalization; /** Measurement units for the results. */ units: As112TimeseriesGroupsDnssecResponseMetaUnitsList; } export const As112TimeseriesGroupsDnssecResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: As112TimeseriesGroupsDnssecResponseMetaAggInterval, confidenceInfo: As112TimeseriesGroupsDnssecResponseMetaConfidenceInfo, dateRange: As112TimeseriesGroupsDnssecResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112TimeseriesGroupsDnssecResponseMetaNormalization, units: As112TimeseriesGroupsDnssecResponseMetaUnitsList, }), ).annotate({ identifier: "As112TimeseriesGroupsDnssecResponseMeta", }) as any as S.Schema; export type As112TimeseriesGroupsDnssecResponseSerie0NOTSUPPORTEDList = Array; export const As112TimeseriesGroupsDnssecResponseSerie0NOTSUPPORTEDList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsDnssecResponseSerie0SUPPORTEDList = Array; export const As112TimeseriesGroupsDnssecResponseSerie0SUPPORTEDList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TimeseriesGroupsDnssecResponseSerie0 { nOTSUPPORTED: As112TimeseriesGroupsDnssecResponseSerie0NOTSUPPORTEDList; sUPPORTED: As112TimeseriesGroupsDnssecResponseSerie0SUPPORTEDList; } export const As112TimeseriesGroupsDnssecResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ nOTSUPPORTED: As112TimeseriesGroupsDnssecResponseSerie0NOTSUPPORTEDList.pipe( T.Body("NOT_SUPPORTED"), ), sUPPORTED: As112TimeseriesGroupsDnssecResponseSerie0SUPPORTEDList.pipe( T.Body("SUPPORTED"), ), }), ).annotate({ identifier: "As112TimeseriesGroupsDnssecResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DnssecAs112TimeseriesGroupResponse { /** Metadata for the results. */ meta: As112TimeseriesGroupsDnssecResponseMeta; serie_0: As112TimeseriesGroupsDnssecResponseSerie0; } export const DnssecAs112TimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: As112TimeseriesGroupsDnssecResponseMeta, serie_0: As112TimeseriesGroupsDnssecResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecAs112TimeseriesGroupResponse", }) as any as S.Schema; export type As112TopDnssecRequestDnssec = "SUPPORTED" | "NOT_SUPPORTED"; export const As112TopDnssecRequestDnssec = /*@__PURE__*/ S.String; export type As112TopDnssecRequestContinentList = Array; export const As112TopDnssecRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopDnssecRequestDateEndList = Array; export const As112TopDnssecRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopDnssecRequestDateRangeList = Array; export const As112TopDnssecRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopDnssecRequestDateStartList = Array; export const As112TopDnssecRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopDnssecRequestFormat = "JSON" | "CSV"; export const As112TopDnssecRequestFormat = /*@__PURE__*/ S.String; export type As112TopDnssecRequestLocationList = Array; export const As112TopDnssecRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopDnssecRequestNameList = Array; export const As112TopDnssecRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnssecAs112TopRequest { /** DNSSEC (DNS Security Extensions) status. */ dnssec: As112TopDnssecRequestDnssec | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112TopDnssecRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112TopDnssecRequestDateEndList; /** 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). */ dateRange?: As112TopDnssecRequestDateRangeList; /** Start of the date range. */ dateStart?: As112TopDnssecRequestDateStartList; /** Format in which results will be returned. */ format?: As112TopDnssecRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112TopDnssecRequestLocationList; /** Array of names used to label the series in the response. */ name?: As112TopDnssecRequestNameList; } export const DnssecAs112TopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dnssec: As112TopDnssecRequestDnssec.pipe(T.Label()), continent: S.optional(As112TopDnssecRequestContinentList.pipe(T.Query())), dateEnd: S.optional(As112TopDnssecRequestDateEndList.pipe(T.Query())), dateRange: S.optional(As112TopDnssecRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(As112TopDnssecRequestDateStartList.pipe(T.Query())), format: S.optional(As112TopDnssecRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(As112TopDnssecRequestLocationList.pipe(T.Query())), name: S.optional(As112TopDnssecRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/top/locations/dnssec/{dnssec}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecAs112TopRequest", }) as any as S.Schema; export type As112TopDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112TopDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112TopDnssecResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112TopDnssecResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112TopDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112TopDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TopDnssecResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112TopDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112TopDnssecResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112TopDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112TopDnssecResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112TopDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112TopDnssecResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112TopDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112TopDnssecResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112TopDnssecResponseMetaConfidenceInfoAnnotationsList = Array; export const As112TopDnssecResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112TopDnssecResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112TopDnssecResponseMetaConfidenceInfo { annotations: As112TopDnssecResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112TopDnssecResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: As112TopDnssecResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112TopDnssecResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112TopDnssecResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112TopDnssecResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112TopDnssecResponseMetaDateRangeList = Array; export const As112TopDnssecResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112TopDnssecResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112TopDnssecResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112TopDnssecResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112TopDnssecResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112TopDnssecResponseMetaUnitsList = Array; export const As112TopDnssecResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112TopDnssecResponseMeta { confidenceInfo: As112TopDnssecResponseMetaConfidenceInfo; dateRange: As112TopDnssecResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112TopDnssecResponseMetaNormalization; /** Measurement units for the results. */ units: As112TopDnssecResponseMetaUnitsList; } export const As112TopDnssecResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: As112TopDnssecResponseMetaConfidenceInfo, dateRange: As112TopDnssecResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112TopDnssecResponseMetaNormalization, units: As112TopDnssecResponseMetaUnitsList, }), ).annotate({ identifier: "As112TopDnssecResponseMeta", }) as any as S.Schema; export interface As112TopDnssecResponseTop0Item { clientCountryAlpha2: string; clientCountryName: string; /** A numeric string. */ value: string; } export const As112TopDnssecResponseTop0Item = /*@__PURE__*/ S.suspend(() => S.Struct({ clientCountryAlpha2: S.String, clientCountryName: S.String, value: S.String, }), ).annotate({ identifier: "As112TopDnssecResponseTop0Item", }) as any as S.Schema; export type As112TopDnssecResponseTop0List = Array; export const As112TopDnssecResponseTop0List = /*@__PURE__*/ S.Array( As112TopDnssecResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DnssecAs112TopResponse { /** Metadata for the results. */ meta: As112TopDnssecResponseMeta; top_0: As112TopDnssecResponseTop0List; } export const DnssecAs112TopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: As112TopDnssecResponseMeta, top_0: As112TopDnssecResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecAs112TopResponse", }) as any as S.Schema; export type DnsSummaryDnssecAwareRequestAsnList = Array; export const DnsSummaryDnssecAwareRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecAwareRequestContinentList = Array; export const DnsSummaryDnssecAwareRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecAwareRequestDateEndList = Array; export const DnsSummaryDnssecAwareRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecAwareRequestDateRangeList = Array; export const DnsSummaryDnssecAwareRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecAwareRequestDateStartList = Array; export const DnsSummaryDnssecAwareRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecAwareRequestFormat = "JSON" | "CSV"; export const DnsSummaryDnssecAwareRequestFormat = /*@__PURE__*/ S.String; export type DnsSummaryDnssecAwareRequestLocationList = Array; export const DnsSummaryDnssecAwareRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecAwareRequestNameList = Array; export const DnsSummaryDnssecAwareRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecAwareRequestNodataList = Array; export const DnsSummaryDnssecAwareRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsSummaryDnssecAwareRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsSummaryDnssecAwareRequestProtocol = /*@__PURE__*/ S.String; export type DnsSummaryDnssecAwareRequestProtocolList = Array< DnsSummaryDnssecAwareRequestProtocol | (string & {}) >; export const DnsSummaryDnssecAwareRequestProtocolList = /*@__PURE__*/ S.Array( DnsSummaryDnssecAwareRequestProtocol, ) as any as S.Schema; export type DnsSummaryDnssecAwareRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsSummaryDnssecAwareRequestQueryType = /*@__PURE__*/ S.String; export type DnsSummaryDnssecAwareRequestQueryTypeList = Array< DnsSummaryDnssecAwareRequestQueryType | (string & {}) >; export const DnsSummaryDnssecAwareRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsSummaryDnssecAwareRequestQueryType, ) as any as S.Schema; export type DnsSummaryDnssecAwareRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsSummaryDnssecAwareRequestResponseCode = /*@__PURE__*/ S.String; export type DnsSummaryDnssecAwareRequestResponseCodeList = Array< DnsSummaryDnssecAwareRequestResponseCode | (string & {}) >; export const DnsSummaryDnssecAwareRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsSummaryDnssecAwareRequestResponseCode, ) as any as S.Schema; export type DnsSummaryDnssecAwareRequestTldList = Array; export const DnsSummaryDnssecAwareRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnssecAwareDnsSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsSummaryDnssecAwareRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsSummaryDnssecAwareRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsSummaryDnssecAwareRequestDateEndList; /** 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). */ dateRange?: DnsSummaryDnssecAwareRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsSummaryDnssecAwareRequestDateStartList; /** Format in which results will be returned. */ format?: DnsSummaryDnssecAwareRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsSummaryDnssecAwareRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsSummaryDnssecAwareRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsSummaryDnssecAwareRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsSummaryDnssecAwareRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsSummaryDnssecAwareRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsSummaryDnssecAwareRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsSummaryDnssecAwareRequestTldList; } export const DnssecAwareDnsSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(DnsSummaryDnssecAwareRequestAsnList.pipe(T.Query())), continent: S.optional( DnsSummaryDnssecAwareRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( DnsSummaryDnssecAwareRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( DnsSummaryDnssecAwareRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsSummaryDnssecAwareRequestDateStartList.pipe(T.Query()), ), format: S.optional(DnsSummaryDnssecAwareRequestFormat.pipe(T.Query())), location: S.optional( DnsSummaryDnssecAwareRequestLocationList.pipe(T.Query()), ), name: S.optional(DnsSummaryDnssecAwareRequestNameList.pipe(T.Query())), nodata: S.optional(DnsSummaryDnssecAwareRequestNodataList.pipe(T.Query())), protocol: S.optional( DnsSummaryDnssecAwareRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( DnsSummaryDnssecAwareRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( DnsSummaryDnssecAwareRequestResponseCodeList.pipe(T.Query()), ), tld: S.optional(DnsSummaryDnssecAwareRequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/summary/dnssec_aware", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecAwareDnsSummaryRequest", }) as any as S.Schema; export type DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsSummaryDnssecAwareResponseMetaConfidenceInfo { annotations: DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsSummaryDnssecAwareResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsSummaryDnssecAwareResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsSummaryDnssecAwareResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsSummaryDnssecAwareResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsSummaryDnssecAwareResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsSummaryDnssecAwareResponseMetaDateRangeList = Array; export const DnsSummaryDnssecAwareResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsSummaryDnssecAwareResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsSummaryDnssecAwareResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsSummaryDnssecAwareResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsSummaryDnssecAwareResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsSummaryDnssecAwareResponseMetaUnitsList = Array; export const DnsSummaryDnssecAwareResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsSummaryDnssecAwareResponseMeta { confidenceInfo: DnsSummaryDnssecAwareResponseMetaConfidenceInfo; dateRange: DnsSummaryDnssecAwareResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsSummaryDnssecAwareResponseMetaNormalization; /** Measurement units for the results. */ units: DnsSummaryDnssecAwareResponseMetaUnitsList; } export const DnsSummaryDnssecAwareResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: DnsSummaryDnssecAwareResponseMetaConfidenceInfo, dateRange: DnsSummaryDnssecAwareResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsSummaryDnssecAwareResponseMetaNormalization, units: DnsSummaryDnssecAwareResponseMetaUnitsList, }), ).annotate({ identifier: "DnsSummaryDnssecAwareResponseMeta", }) as any as S.Schema; export type DnsSummaryDnssecAwareResponseSummary0 = As112SummaryDnssecResponseSummary0; export const DnsSummaryDnssecAwareResponseSummary0 = As112SummaryDnssecResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DnssecAwareDnsSummaryResponse { /** Metadata for the results. */ meta: DnsSummaryDnssecAwareResponseMeta; summary_0: As112SummaryDnssecResponseSummary0; } export const DnssecAwareDnsSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsSummaryDnssecAwareResponseMeta, summary_0: As112SummaryDnssecResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecAwareDnsSummaryResponse", }) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const DnsTimeseriesGroupsDnssecAwareRequestAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecAwareRequestAsnList = Array; export const DnsTimeseriesGroupsDnssecAwareRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareRequestContinentList = Array; export const DnsTimeseriesGroupsDnssecAwareRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareRequestDateEndList = Array; export const DnsTimeseriesGroupsDnssecAwareRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareRequestDateRangeList = Array; export const DnsTimeseriesGroupsDnssecAwareRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareRequestDateStartList = Array; export const DnsTimeseriesGroupsDnssecAwareRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareRequestFormat = "JSON" | "CSV"; export const DnsTimeseriesGroupsDnssecAwareRequestFormat = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecAwareRequestLocationList = Array; export const DnsTimeseriesGroupsDnssecAwareRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareRequestNameList = Array; export const DnsTimeseriesGroupsDnssecAwareRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareRequestNodataList = Array; export const DnsTimeseriesGroupsDnssecAwareRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsTimeseriesGroupsDnssecAwareRequestProtocol = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecAwareRequestProtocolList = Array< DnsTimeseriesGroupsDnssecAwareRequestProtocol | (string & {}) >; export const DnsTimeseriesGroupsDnssecAwareRequestProtocolList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsDnssecAwareRequestProtocol, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsTimeseriesGroupsDnssecAwareRequestQueryType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecAwareRequestQueryTypeList = Array< DnsTimeseriesGroupsDnssecAwareRequestQueryType | (string & {}) >; export const DnsTimeseriesGroupsDnssecAwareRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsDnssecAwareRequestQueryType, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsTimeseriesGroupsDnssecAwareRequestResponseCode = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecAwareRequestResponseCodeList = Array< DnsTimeseriesGroupsDnssecAwareRequestResponseCode | (string & {}) >; export const DnsTimeseriesGroupsDnssecAwareRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsDnssecAwareRequestResponseCode, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareRequestTldList = Array; export const DnsTimeseriesGroupsDnssecAwareRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnssecAwareDnsTimeseriesGroupRequest { /** 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/). */ aggInterval?: | DnsTimeseriesGroupsDnssecAwareRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsTimeseriesGroupsDnssecAwareRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsTimeseriesGroupsDnssecAwareRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsTimeseriesGroupsDnssecAwareRequestDateEndList; /** 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). */ dateRange?: DnsTimeseriesGroupsDnssecAwareRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsTimeseriesGroupsDnssecAwareRequestDateStartList; /** Format in which results will be returned. */ format?: DnsTimeseriesGroupsDnssecAwareRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsTimeseriesGroupsDnssecAwareRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsTimeseriesGroupsDnssecAwareRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsTimeseriesGroupsDnssecAwareRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsTimeseriesGroupsDnssecAwareRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsTimeseriesGroupsDnssecAwareRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsTimeseriesGroupsDnssecAwareRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsTimeseriesGroupsDnssecAwareRequestTldList; } export const DnssecAwareDnsTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( DnsTimeseriesGroupsDnssecAwareRequestAggInterval.pipe(T.Query()), ), asn: S.optional( DnsTimeseriesGroupsDnssecAwareRequestAsnList.pipe(T.Query()), ), continent: S.optional( DnsTimeseriesGroupsDnssecAwareRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( DnsTimeseriesGroupsDnssecAwareRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( DnsTimeseriesGroupsDnssecAwareRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsTimeseriesGroupsDnssecAwareRequestDateStartList.pipe(T.Query()), ), format: S.optional( DnsTimeseriesGroupsDnssecAwareRequestFormat.pipe(T.Query()), ), location: S.optional( DnsTimeseriesGroupsDnssecAwareRequestLocationList.pipe(T.Query()), ), name: S.optional( DnsTimeseriesGroupsDnssecAwareRequestNameList.pipe(T.Query()), ), nodata: S.optional( DnsTimeseriesGroupsDnssecAwareRequestNodataList.pipe(T.Query()), ), protocol: S.optional( DnsTimeseriesGroupsDnssecAwareRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( DnsTimeseriesGroupsDnssecAwareRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( DnsTimeseriesGroupsDnssecAwareRequestResponseCodeList.pipe(T.Query()), ), tld: S.optional( DnsTimeseriesGroupsDnssecAwareRequestTldList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/timeseries_groups/dnssec_aware", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecAwareDnsTimeseriesGroupRequest", }) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const DnsTimeseriesGroupsDnssecAwareResponseMetaAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfo { annotations: DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsTimeseriesGroupsDnssecAwareResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsTimeseriesGroupsDnssecAwareResponseMetaDateRangeList = Array; export const DnsTimeseriesGroupsDnssecAwareResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsTimeseriesGroupsDnssecAwareResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecAwareResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsTimeseriesGroupsDnssecAwareResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsTimeseriesGroupsDnssecAwareResponseMetaUnitsList = Array; export const DnsTimeseriesGroupsDnssecAwareResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsDnssecAwareResponseMeta { /** 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/). */ aggInterval: DnsTimeseriesGroupsDnssecAwareResponseMetaAggInterval; confidenceInfo: DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfo; dateRange: DnsTimeseriesGroupsDnssecAwareResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsTimeseriesGroupsDnssecAwareResponseMetaNormalization; /** Measurement units for the results. */ units: DnsTimeseriesGroupsDnssecAwareResponseMetaUnitsList; } export const DnsTimeseriesGroupsDnssecAwareResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: DnsTimeseriesGroupsDnssecAwareResponseMetaAggInterval, confidenceInfo: DnsTimeseriesGroupsDnssecAwareResponseMetaConfidenceInfo, dateRange: DnsTimeseriesGroupsDnssecAwareResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsTimeseriesGroupsDnssecAwareResponseMetaNormalization, units: DnsTimeseriesGroupsDnssecAwareResponseMetaUnitsList, }), ).annotate({ identifier: "DnsTimeseriesGroupsDnssecAwareResponseMeta", }) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareResponseSerie0NOTSUPPORTEDList = Array; export const DnsTimeseriesGroupsDnssecAwareResponseSerie0NOTSUPPORTEDList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecAwareResponseSerie0SUPPORTEDList = Array; export const DnsTimeseriesGroupsDnssecAwareResponseSerie0SUPPORTEDList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsDnssecAwareResponseSerie0 { nOTSUPPORTED: DnsTimeseriesGroupsDnssecAwareResponseSerie0NOTSUPPORTEDList; sUPPORTED: DnsTimeseriesGroupsDnssecAwareResponseSerie0SUPPORTEDList; } export const DnsTimeseriesGroupsDnssecAwareResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ nOTSUPPORTED: DnsTimeseriesGroupsDnssecAwareResponseSerie0NOTSUPPORTEDList.pipe( T.Body("NOT_SUPPORTED"), ), sUPPORTED: DnsTimeseriesGroupsDnssecAwareResponseSerie0SUPPORTEDList.pipe( T.Body("SUPPORTED"), ), }), ).annotate({ identifier: "DnsTimeseriesGroupsDnssecAwareResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DnssecAwareDnsTimeseriesGroupResponse { /** Metadata for the results. */ meta: DnsTimeseriesGroupsDnssecAwareResponseMeta; serie_0: DnsTimeseriesGroupsDnssecAwareResponseSerie0; } export const DnssecAwareDnsTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: DnsTimeseriesGroupsDnssecAwareResponseMeta, serie_0: DnsTimeseriesGroupsDnssecAwareResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecAwareDnsTimeseriesGroupResponse", }) as any as S.Schema; export type DnsSummaryDnssecRequestAsnList = Array; export const DnsSummaryDnssecRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecRequestContinentList = Array; export const DnsSummaryDnssecRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecRequestDateEndList = Array; export const DnsSummaryDnssecRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecRequestDateRangeList = Array; export const DnsSummaryDnssecRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecRequestDateStartList = Array; export const DnsSummaryDnssecRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecRequestFormat = "JSON" | "CSV"; export const DnsSummaryDnssecRequestFormat = /*@__PURE__*/ S.String; export type DnsSummaryDnssecRequestLocationList = Array; export const DnsSummaryDnssecRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecRequestNameList = Array; export const DnsSummaryDnssecRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecRequestNodataList = Array; export const DnsSummaryDnssecRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsSummaryDnssecRequestProtocol = "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsSummaryDnssecRequestProtocol = /*@__PURE__*/ S.String; export type DnsSummaryDnssecRequestProtocolList = Array< DnsSummaryDnssecRequestProtocol | (string & {}) >; export const DnsSummaryDnssecRequestProtocolList = /*@__PURE__*/ S.Array( DnsSummaryDnssecRequestProtocol, ) as any as S.Schema; export type DnsSummaryDnssecRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsSummaryDnssecRequestQueryType = /*@__PURE__*/ S.String; export type DnsSummaryDnssecRequestQueryTypeList = Array< DnsSummaryDnssecRequestQueryType | (string & {}) >; export const DnsSummaryDnssecRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsSummaryDnssecRequestQueryType, ) as any as S.Schema; export type DnsSummaryDnssecRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsSummaryDnssecRequestResponseCode = /*@__PURE__*/ S.String; export type DnsSummaryDnssecRequestResponseCodeList = Array< DnsSummaryDnssecRequestResponseCode | (string & {}) >; export const DnsSummaryDnssecRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsSummaryDnssecRequestResponseCode, ) as any as S.Schema; export type DnsSummaryDnssecRequestTldList = Array; export const DnsSummaryDnssecRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnssecDnsSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsSummaryDnssecRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsSummaryDnssecRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsSummaryDnssecRequestDateEndList; /** 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). */ dateRange?: DnsSummaryDnssecRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsSummaryDnssecRequestDateStartList; /** Format in which results will be returned. */ format?: DnsSummaryDnssecRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsSummaryDnssecRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsSummaryDnssecRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsSummaryDnssecRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsSummaryDnssecRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsSummaryDnssecRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsSummaryDnssecRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsSummaryDnssecRequestTldList; } export const DnssecDnsSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(DnsSummaryDnssecRequestAsnList.pipe(T.Query())), continent: S.optional(DnsSummaryDnssecRequestContinentList.pipe(T.Query())), dateEnd: S.optional(DnsSummaryDnssecRequestDateEndList.pipe(T.Query())), dateRange: S.optional(DnsSummaryDnssecRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(DnsSummaryDnssecRequestDateStartList.pipe(T.Query())), format: S.optional(DnsSummaryDnssecRequestFormat.pipe(T.Query())), location: S.optional(DnsSummaryDnssecRequestLocationList.pipe(T.Query())), name: S.optional(DnsSummaryDnssecRequestNameList.pipe(T.Query())), nodata: S.optional(DnsSummaryDnssecRequestNodataList.pipe(T.Query())), protocol: S.optional(DnsSummaryDnssecRequestProtocolList.pipe(T.Query())), queryType: S.optional(DnsSummaryDnssecRequestQueryTypeList.pipe(T.Query())), responseCode: S.optional( DnsSummaryDnssecRequestResponseCodeList.pipe(T.Query()), ), tld: S.optional(DnsSummaryDnssecRequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/summary/dnssec", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecDnsSummaryRequest", }) as any as S.Schema; export type DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsSummaryDnssecResponseMetaConfidenceInfo { annotations: DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsSummaryDnssecResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsSummaryDnssecResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsSummaryDnssecResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsSummaryDnssecResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsSummaryDnssecResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsSummaryDnssecResponseMetaDateRangeList = Array; export const DnsSummaryDnssecResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsSummaryDnssecResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsSummaryDnssecResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsSummaryDnssecResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsSummaryDnssecResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsSummaryDnssecResponseMetaUnitsList = Array; export const DnsSummaryDnssecResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsSummaryDnssecResponseMeta { confidenceInfo: DnsSummaryDnssecResponseMetaConfidenceInfo; dateRange: DnsSummaryDnssecResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsSummaryDnssecResponseMetaNormalization; /** Measurement units for the results. */ units: DnsSummaryDnssecResponseMetaUnitsList; } export const DnsSummaryDnssecResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: DnsSummaryDnssecResponseMetaConfidenceInfo, dateRange: DnsSummaryDnssecResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsSummaryDnssecResponseMetaNormalization, units: DnsSummaryDnssecResponseMetaUnitsList, }), ).annotate({ identifier: "DnsSummaryDnssecResponseMeta", }) as any as S.Schema; export interface DnsSummaryDnssecResponseSummary0 { /** A numeric string. */ iNSECURE: string; /** A numeric string. */ iNVALID: string; /** A numeric string. */ oTHER: string; /** A numeric string. */ sECURE: string; } export const DnsSummaryDnssecResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ iNSECURE: S.String.pipe(T.Body("INSECURE")), iNVALID: S.String.pipe(T.Body("INVALID")), oTHER: S.String.pipe(T.Body("OTHER")), sECURE: S.String.pipe(T.Body("SECURE")), }), ).annotate({ identifier: "DnsSummaryDnssecResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DnssecDnsSummaryResponse { /** Metadata for the results. */ meta: DnsSummaryDnssecResponseMeta; summary_0: DnsSummaryDnssecResponseSummary0; } export const DnssecDnsSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsSummaryDnssecResponseMeta, summary_0: DnsSummaryDnssecResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecDnsSummaryResponse", }) as any as S.Schema; export type DnsTimeseriesGroupsDnssecRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const DnsTimeseriesGroupsDnssecRequestAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecRequestAsnList = Array; export const DnsTimeseriesGroupsDnssecRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecRequestContinentList = Array; export const DnsTimeseriesGroupsDnssecRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecRequestDateEndList = Array; export const DnsTimeseriesGroupsDnssecRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecRequestDateRangeList = Array; export const DnsTimeseriesGroupsDnssecRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecRequestDateStartList = Array; export const DnsTimeseriesGroupsDnssecRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecRequestFormat = "JSON" | "CSV"; export const DnsTimeseriesGroupsDnssecRequestFormat = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecRequestLocationList = Array; export const DnsTimeseriesGroupsDnssecRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecRequestNameList = Array; export const DnsTimeseriesGroupsDnssecRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecRequestNodataList = Array; export const DnsTimeseriesGroupsDnssecRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsTimeseriesGroupsDnssecRequestProtocol = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecRequestProtocolList = Array< DnsTimeseriesGroupsDnssecRequestProtocol | (string & {}) >; export const DnsTimeseriesGroupsDnssecRequestProtocolList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsDnssecRequestProtocol, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsTimeseriesGroupsDnssecRequestQueryType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecRequestQueryTypeList = Array< DnsTimeseriesGroupsDnssecRequestQueryType | (string & {}) >; export const DnsTimeseriesGroupsDnssecRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsDnssecRequestQueryType, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsTimeseriesGroupsDnssecRequestResponseCode = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecRequestResponseCodeList = Array< DnsTimeseriesGroupsDnssecRequestResponseCode | (string & {}) >; export const DnsTimeseriesGroupsDnssecRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsDnssecRequestResponseCode, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecRequestTldList = Array; export const DnsTimeseriesGroupsDnssecRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnssecDnsTimeseriesGroupRequest { /** 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/). */ aggInterval?: DnsTimeseriesGroupsDnssecRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsTimeseriesGroupsDnssecRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsTimeseriesGroupsDnssecRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsTimeseriesGroupsDnssecRequestDateEndList; /** 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). */ dateRange?: DnsTimeseriesGroupsDnssecRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsTimeseriesGroupsDnssecRequestDateStartList; /** Format in which results will be returned. */ format?: DnsTimeseriesGroupsDnssecRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsTimeseriesGroupsDnssecRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsTimeseriesGroupsDnssecRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsTimeseriesGroupsDnssecRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsTimeseriesGroupsDnssecRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsTimeseriesGroupsDnssecRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsTimeseriesGroupsDnssecRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsTimeseriesGroupsDnssecRequestTldList; } export const DnssecDnsTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( DnsTimeseriesGroupsDnssecRequestAggInterval.pipe(T.Query()), ), asn: S.optional(DnsTimeseriesGroupsDnssecRequestAsnList.pipe(T.Query())), continent: S.optional( DnsTimeseriesGroupsDnssecRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( DnsTimeseriesGroupsDnssecRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( DnsTimeseriesGroupsDnssecRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsTimeseriesGroupsDnssecRequestDateStartList.pipe(T.Query()), ), format: S.optional(DnsTimeseriesGroupsDnssecRequestFormat.pipe(T.Query())), location: S.optional( DnsTimeseriesGroupsDnssecRequestLocationList.pipe(T.Query()), ), name: S.optional(DnsTimeseriesGroupsDnssecRequestNameList.pipe(T.Query())), nodata: S.optional( DnsTimeseriesGroupsDnssecRequestNodataList.pipe(T.Query()), ), protocol: S.optional( DnsTimeseriesGroupsDnssecRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( DnsTimeseriesGroupsDnssecRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( DnsTimeseriesGroupsDnssecRequestResponseCodeList.pipe(T.Query()), ), tld: S.optional(DnsTimeseriesGroupsDnssecRequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/timeseries_groups/dnssec", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecDnsTimeseriesGroupRequest", }) as any as S.Schema; export type DnsTimeseriesGroupsDnssecResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const DnsTimeseriesGroupsDnssecResponseMetaAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfo { annotations: DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsTimeseriesGroupsDnssecResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsTimeseriesGroupsDnssecResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsTimeseriesGroupsDnssecResponseMetaDateRangeList = Array; export const DnsTimeseriesGroupsDnssecResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsTimeseriesGroupsDnssecResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsTimeseriesGroupsDnssecResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsTimeseriesGroupsDnssecResponseMetaUnitsList = Array; export const DnsTimeseriesGroupsDnssecResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsDnssecResponseMeta { /** 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/). */ aggInterval: DnsTimeseriesGroupsDnssecResponseMetaAggInterval; confidenceInfo: DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfo; dateRange: DnsTimeseriesGroupsDnssecResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsTimeseriesGroupsDnssecResponseMetaNormalization; /** Measurement units for the results. */ units: DnsTimeseriesGroupsDnssecResponseMetaUnitsList; } export const DnsTimeseriesGroupsDnssecResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: DnsTimeseriesGroupsDnssecResponseMetaAggInterval, confidenceInfo: DnsTimeseriesGroupsDnssecResponseMetaConfidenceInfo, dateRange: DnsTimeseriesGroupsDnssecResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsTimeseriesGroupsDnssecResponseMetaNormalization, units: DnsTimeseriesGroupsDnssecResponseMetaUnitsList, }), ).annotate({ identifier: "DnsTimeseriesGroupsDnssecResponseMeta", }) as any as S.Schema; export type DnsTimeseriesGroupsDnssecResponseSerie0INSECUREList = Array; export const DnsTimeseriesGroupsDnssecResponseSerie0INSECUREList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecResponseSerie0INVALIDList = Array; export const DnsTimeseriesGroupsDnssecResponseSerie0INVALIDList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecResponseSerie0OTHERList = Array; export const DnsTimeseriesGroupsDnssecResponseSerie0OTHERList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecResponseSerie0SECUREList = Array; export const DnsTimeseriesGroupsDnssecResponseSerie0SECUREList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsDnssecResponseSerie0 { iNSECURE: DnsTimeseriesGroupsDnssecResponseSerie0INSECUREList; iNVALID: DnsTimeseriesGroupsDnssecResponseSerie0INVALIDList; oTHER: DnsTimeseriesGroupsDnssecResponseSerie0OTHERList; sECURE: DnsTimeseriesGroupsDnssecResponseSerie0SECUREList; } export const DnsTimeseriesGroupsDnssecResponseSerie0 = /*@__PURE__*/ S.suspend( () => S.Struct({ iNSECURE: DnsTimeseriesGroupsDnssecResponseSerie0INSECUREList.pipe( T.Body("INSECURE"), ), iNVALID: DnsTimeseriesGroupsDnssecResponseSerie0INVALIDList.pipe( T.Body("INVALID"), ), oTHER: DnsTimeseriesGroupsDnssecResponseSerie0OTHERList.pipe( T.Body("OTHER"), ), sECURE: DnsTimeseriesGroupsDnssecResponseSerie0SECUREList.pipe( T.Body("SECURE"), ), }), ).annotate({ identifier: "DnsTimeseriesGroupsDnssecResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DnssecDnsTimeseriesGroupResponse { /** Metadata for the results. */ meta: DnsTimeseriesGroupsDnssecResponseMeta; serie_0: DnsTimeseriesGroupsDnssecResponseSerie0; } export const DnssecDnsTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsTimeseriesGroupsDnssecResponseMeta, serie_0: DnsTimeseriesGroupsDnssecResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecDnsTimeseriesGroupResponse", }) as any as S.Schema; export type DnsSummaryDnssecE2eRequestAsnList = Array; export const DnsSummaryDnssecE2eRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecE2eRequestContinentList = Array; export const DnsSummaryDnssecE2eRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecE2eRequestDateEndList = Array; export const DnsSummaryDnssecE2eRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecE2eRequestDateRangeList = Array; export const DnsSummaryDnssecE2eRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecE2eRequestDateStartList = Array; export const DnsSummaryDnssecE2eRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecE2eRequestFormat = "JSON" | "CSV"; export const DnsSummaryDnssecE2eRequestFormat = /*@__PURE__*/ S.String; export type DnsSummaryDnssecE2eRequestLocationList = Array; export const DnsSummaryDnssecE2eRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecE2eRequestNameList = Array; export const DnsSummaryDnssecE2eRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryDnssecE2eRequestNodataList = Array; export const DnsSummaryDnssecE2eRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsSummaryDnssecE2eRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsSummaryDnssecE2eRequestProtocol = /*@__PURE__*/ S.String; export type DnsSummaryDnssecE2eRequestProtocolList = Array< DnsSummaryDnssecE2eRequestProtocol | (string & {}) >; export const DnsSummaryDnssecE2eRequestProtocolList = /*@__PURE__*/ S.Array( DnsSummaryDnssecE2eRequestProtocol, ) as any as S.Schema; export type DnsSummaryDnssecE2eRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsSummaryDnssecE2eRequestQueryType = /*@__PURE__*/ S.String; export type DnsSummaryDnssecE2eRequestQueryTypeList = Array< DnsSummaryDnssecE2eRequestQueryType | (string & {}) >; export const DnsSummaryDnssecE2eRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsSummaryDnssecE2eRequestQueryType, ) as any as S.Schema; export type DnsSummaryDnssecE2eRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsSummaryDnssecE2eRequestResponseCode = /*@__PURE__*/ S.String; export type DnsSummaryDnssecE2eRequestResponseCodeList = Array< DnsSummaryDnssecE2eRequestResponseCode | (string & {}) >; export const DnsSummaryDnssecE2eRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsSummaryDnssecE2eRequestResponseCode, ) as any as S.Schema; export type DnsSummaryDnssecE2eRequestTldList = Array; export const DnsSummaryDnssecE2eRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnssecE2EDnsSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsSummaryDnssecE2eRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsSummaryDnssecE2eRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsSummaryDnssecE2eRequestDateEndList; /** 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). */ dateRange?: DnsSummaryDnssecE2eRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsSummaryDnssecE2eRequestDateStartList; /** Format in which results will be returned. */ format?: DnsSummaryDnssecE2eRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsSummaryDnssecE2eRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsSummaryDnssecE2eRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsSummaryDnssecE2eRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsSummaryDnssecE2eRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsSummaryDnssecE2eRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsSummaryDnssecE2eRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsSummaryDnssecE2eRequestTldList; } export const DnssecE2EDnsSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(DnsSummaryDnssecE2eRequestAsnList.pipe(T.Query())), continent: S.optional( DnsSummaryDnssecE2eRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(DnsSummaryDnssecE2eRequestDateEndList.pipe(T.Query())), dateRange: S.optional( DnsSummaryDnssecE2eRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsSummaryDnssecE2eRequestDateStartList.pipe(T.Query()), ), format: S.optional(DnsSummaryDnssecE2eRequestFormat.pipe(T.Query())), location: S.optional( DnsSummaryDnssecE2eRequestLocationList.pipe(T.Query()), ), name: S.optional(DnsSummaryDnssecE2eRequestNameList.pipe(T.Query())), nodata: S.optional(DnsSummaryDnssecE2eRequestNodataList.pipe(T.Query())), protocol: S.optional( DnsSummaryDnssecE2eRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( DnsSummaryDnssecE2eRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( DnsSummaryDnssecE2eRequestResponseCodeList.pipe(T.Query()), ), tld: S.optional(DnsSummaryDnssecE2eRequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/summary/dnssec_e2e", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecE2EDnsSummaryRequest", }) as any as S.Schema; export type DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsSummaryDnssecE2eResponseMetaConfidenceInfo { annotations: DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsSummaryDnssecE2eResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsSummaryDnssecE2eResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsSummaryDnssecE2eResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsSummaryDnssecE2eResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsSummaryDnssecE2eResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsSummaryDnssecE2eResponseMetaDateRangeList = Array; export const DnsSummaryDnssecE2eResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsSummaryDnssecE2eResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsSummaryDnssecE2eResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsSummaryDnssecE2eResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsSummaryDnssecE2eResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsSummaryDnssecE2eResponseMetaUnitsList = Array; export const DnsSummaryDnssecE2eResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsSummaryDnssecE2eResponseMeta { confidenceInfo: DnsSummaryDnssecE2eResponseMetaConfidenceInfo; dateRange: DnsSummaryDnssecE2eResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsSummaryDnssecE2eResponseMetaNormalization; /** Measurement units for the results. */ units: DnsSummaryDnssecE2eResponseMetaUnitsList; } export const DnsSummaryDnssecE2eResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: DnsSummaryDnssecE2eResponseMetaConfidenceInfo, dateRange: DnsSummaryDnssecE2eResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsSummaryDnssecE2eResponseMetaNormalization, units: DnsSummaryDnssecE2eResponseMetaUnitsList, }), ).annotate({ identifier: "DnsSummaryDnssecE2eResponseMeta", }) as any as S.Schema; export type DnsSummaryDnssecE2eResponseSummary0 = DnsSummaryCacheHitResponseSummary0; export const DnsSummaryDnssecE2eResponseSummary0 = DnsSummaryCacheHitResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DnssecE2EDnsSummaryResponse { /** Metadata for the results. */ meta: DnsSummaryDnssecE2eResponseMeta; summary_0: DnsSummaryCacheHitResponseSummary0; } export const DnssecE2EDnsSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsSummaryDnssecE2eResponseMeta, summary_0: DnsSummaryCacheHitResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecE2EDnsSummaryResponse", }) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const DnsTimeseriesGroupsDnssecE2eRequestAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecE2eRequestAsnList = Array; export const DnsTimeseriesGroupsDnssecE2eRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eRequestContinentList = Array; export const DnsTimeseriesGroupsDnssecE2eRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eRequestDateEndList = Array; export const DnsTimeseriesGroupsDnssecE2eRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eRequestDateRangeList = Array; export const DnsTimeseriesGroupsDnssecE2eRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eRequestDateStartList = Array; export const DnsTimeseriesGroupsDnssecE2eRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eRequestFormat = "JSON" | "CSV"; export const DnsTimeseriesGroupsDnssecE2eRequestFormat = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecE2eRequestLocationList = Array; export const DnsTimeseriesGroupsDnssecE2eRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eRequestNameList = Array; export const DnsTimeseriesGroupsDnssecE2eRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eRequestNodataList = Array; export const DnsTimeseriesGroupsDnssecE2eRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsTimeseriesGroupsDnssecE2eRequestProtocol = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecE2eRequestProtocolList = Array< DnsTimeseriesGroupsDnssecE2eRequestProtocol | (string & {}) >; export const DnsTimeseriesGroupsDnssecE2eRequestProtocolList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsDnssecE2eRequestProtocol, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsTimeseriesGroupsDnssecE2eRequestQueryType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecE2eRequestQueryTypeList = Array< DnsTimeseriesGroupsDnssecE2eRequestQueryType | (string & {}) >; export const DnsTimeseriesGroupsDnssecE2eRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsDnssecE2eRequestQueryType, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsTimeseriesGroupsDnssecE2eRequestResponseCode = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecE2eRequestResponseCodeList = Array< DnsTimeseriesGroupsDnssecE2eRequestResponseCode | (string & {}) >; export const DnsTimeseriesGroupsDnssecE2eRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsDnssecE2eRequestResponseCode, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eRequestTldList = Array; export const DnsTimeseriesGroupsDnssecE2eRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnssecE2EDnsTimeseriesGroupRequest { /** 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/). */ aggInterval?: DnsTimeseriesGroupsDnssecE2eRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsTimeseriesGroupsDnssecE2eRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsTimeseriesGroupsDnssecE2eRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsTimeseriesGroupsDnssecE2eRequestDateEndList; /** 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). */ dateRange?: DnsTimeseriesGroupsDnssecE2eRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsTimeseriesGroupsDnssecE2eRequestDateStartList; /** Format in which results will be returned. */ format?: DnsTimeseriesGroupsDnssecE2eRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsTimeseriesGroupsDnssecE2eRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsTimeseriesGroupsDnssecE2eRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsTimeseriesGroupsDnssecE2eRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsTimeseriesGroupsDnssecE2eRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsTimeseriesGroupsDnssecE2eRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsTimeseriesGroupsDnssecE2eRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsTimeseriesGroupsDnssecE2eRequestTldList; } export const DnssecE2EDnsTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( DnsTimeseriesGroupsDnssecE2eRequestAggInterval.pipe(T.Query()), ), asn: S.optional(DnsTimeseriesGroupsDnssecE2eRequestAsnList.pipe(T.Query())), continent: S.optional( DnsTimeseriesGroupsDnssecE2eRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( DnsTimeseriesGroupsDnssecE2eRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( DnsTimeseriesGroupsDnssecE2eRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsTimeseriesGroupsDnssecE2eRequestDateStartList.pipe(T.Query()), ), format: S.optional( DnsTimeseriesGroupsDnssecE2eRequestFormat.pipe(T.Query()), ), location: S.optional( DnsTimeseriesGroupsDnssecE2eRequestLocationList.pipe(T.Query()), ), name: S.optional( DnsTimeseriesGroupsDnssecE2eRequestNameList.pipe(T.Query()), ), nodata: S.optional( DnsTimeseriesGroupsDnssecE2eRequestNodataList.pipe(T.Query()), ), protocol: S.optional( DnsTimeseriesGroupsDnssecE2eRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( DnsTimeseriesGroupsDnssecE2eRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( DnsTimeseriesGroupsDnssecE2eRequestResponseCodeList.pipe(T.Query()), ), tld: S.optional(DnsTimeseriesGroupsDnssecE2eRequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/timeseries_groups/dnssec_e2e", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecE2EDnsTimeseriesGroupRequest", }) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const DnsTimeseriesGroupsDnssecE2eResponseMetaAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfo { annotations: DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsTimeseriesGroupsDnssecE2eResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsTimeseriesGroupsDnssecE2eResponseMetaDateRangeList = Array; export const DnsTimeseriesGroupsDnssecE2eResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsTimeseriesGroupsDnssecE2eResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsDnssecE2eResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsTimeseriesGroupsDnssecE2eResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsTimeseriesGroupsDnssecE2eResponseMetaUnitsList = Array; export const DnsTimeseriesGroupsDnssecE2eResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsDnssecE2eResponseMeta { /** 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/). */ aggInterval: DnsTimeseriesGroupsDnssecE2eResponseMetaAggInterval; confidenceInfo: DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfo; dateRange: DnsTimeseriesGroupsDnssecE2eResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsTimeseriesGroupsDnssecE2eResponseMetaNormalization; /** Measurement units for the results. */ units: DnsTimeseriesGroupsDnssecE2eResponseMetaUnitsList; } export const DnsTimeseriesGroupsDnssecE2eResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: DnsTimeseriesGroupsDnssecE2eResponseMetaAggInterval, confidenceInfo: DnsTimeseriesGroupsDnssecE2eResponseMetaConfidenceInfo, dateRange: DnsTimeseriesGroupsDnssecE2eResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsTimeseriesGroupsDnssecE2eResponseMetaNormalization, units: DnsTimeseriesGroupsDnssecE2eResponseMetaUnitsList, }), ).annotate({ identifier: "DnsTimeseriesGroupsDnssecE2eResponseMeta", }) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eResponseSerie0NEGATIVEList = Array; export const DnsTimeseriesGroupsDnssecE2eResponseSerie0NEGATIVEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsDnssecE2eResponseSerie0POSITIVEList = Array; export const DnsTimeseriesGroupsDnssecE2eResponseSerie0POSITIVEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsDnssecE2eResponseSerie0 { nEGATIVE: DnsTimeseriesGroupsDnssecE2eResponseSerie0NEGATIVEList; pOSITIVE: DnsTimeseriesGroupsDnssecE2eResponseSerie0POSITIVEList; } export const DnsTimeseriesGroupsDnssecE2eResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ nEGATIVE: DnsTimeseriesGroupsDnssecE2eResponseSerie0NEGATIVEList.pipe( T.Body("NEGATIVE"), ), pOSITIVE: DnsTimeseriesGroupsDnssecE2eResponseSerie0POSITIVEList.pipe( T.Body("POSITIVE"), ), }), ).annotate({ identifier: "DnsTimeseriesGroupsDnssecE2eResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DnssecE2EDnsTimeseriesGroupResponse { /** Metadata for the results. */ meta: DnsTimeseriesGroupsDnssecE2eResponseMeta; serie_0: DnsTimeseriesGroupsDnssecE2eResponseSerie0; } export const DnssecE2EDnsTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsTimeseriesGroupsDnssecE2eResponseMeta, serie_0: DnsTimeseriesGroupsDnssecE2eResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DnssecE2EDnsTimeseriesGroupResponse", }) as any as S.Schema; export type RobotsTxtTopDomainCategoriesRequestDateList = Array; export const RobotsTxtTopDomainCategoriesRequestDateList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RobotsTxtTopDomainCategoriesRequestFormat = "JSON" | "CSV"; export const RobotsTxtTopDomainCategoriesRequestFormat = /*@__PURE__*/ S.String; export type RobotsTxtTopDomainCategoriesRequestNameList = Array; export const RobotsTxtTopDomainCategoriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RobotsTxtTopDomainCategoriesRequestUserAgentCategory = "AI"; export const RobotsTxtTopDomainCategoriesRequestUserAgentCategory = /*@__PURE__*/ S.String; export interface DomainCategoriesRobotsTxtTopRequest { /** Filters results by the specified array of dates. */ date?: RobotsTxtTopDomainCategoriesRequestDateList; /** Format in which results will be returned. */ format?: RobotsTxtTopDomainCategoriesRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Array of names used to label the series in the response. */ name?: RobotsTxtTopDomainCategoriesRequestNameList; /** Filters results by user agent category. */ userAgentCategory?: | RobotsTxtTopDomainCategoriesRequestUserAgentCategory | (string & {}); } export const DomainCategoriesRobotsTxtTopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ date: S.optional( RobotsTxtTopDomainCategoriesRequestDateList.pipe(T.Query()), ), format: S.optional( RobotsTxtTopDomainCategoriesRequestFormat.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), name: S.optional( RobotsTxtTopDomainCategoriesRequestNameList.pipe(T.Query()), ), userAgentCategory: S.optional( RobotsTxtTopDomainCategoriesRequestUserAgentCategory.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/robots_txt/top/domain_categories", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DomainCategoriesRobotsTxtTopRequest", }) as any as S.Schema; export type RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsList = Array; export const RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfo { annotations: RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfo", }) as any as S.Schema; export type RobotsTxtTopDomainCategoriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const RobotsTxtTopDomainCategoriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type RobotsTxtTopDomainCategoriesResponseMetaDateRangeList = Array; export const RobotsTxtTopDomainCategoriesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type RobotsTxtTopDomainCategoriesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const RobotsTxtTopDomainCategoriesResponseMetaNormalization = /*@__PURE__*/ S.String; export type RobotsTxtTopDomainCategoriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const RobotsTxtTopDomainCategoriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type RobotsTxtTopDomainCategoriesResponseMetaUnitsList = Array; export const RobotsTxtTopDomainCategoriesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface RobotsTxtTopDomainCategoriesResponseMeta { confidenceInfo: RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfo; dateRange: RobotsTxtTopDomainCategoriesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: RobotsTxtTopDomainCategoriesResponseMetaNormalization; /** Measurement units for the results. */ units: RobotsTxtTopDomainCategoriesResponseMetaUnitsList; } export const RobotsTxtTopDomainCategoriesResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: RobotsTxtTopDomainCategoriesResponseMetaConfidenceInfo, dateRange: RobotsTxtTopDomainCategoriesResponseMetaDateRangeList, lastUpdated: S.String, normalization: RobotsTxtTopDomainCategoriesResponseMetaNormalization, units: RobotsTxtTopDomainCategoriesResponseMetaUnitsList, }), ).annotate({ identifier: "RobotsTxtTopDomainCategoriesResponseMeta", }) as any as S.Schema; export interface RobotsTxtTopDomainCategoriesResponseTop0Item { name: string; value: number; } export const RobotsTxtTopDomainCategoriesResponseTop0Item = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, value: S.Number, }), ).annotate({ identifier: "RobotsTxtTopDomainCategoriesResponseTop0Item", }) as any as S.Schema; export type RobotsTxtTopDomainCategoriesResponseTop0List = Array; export const RobotsTxtTopDomainCategoriesResponseTop0List = /*@__PURE__*/ S.Array( RobotsTxtTopDomainCategoriesResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DomainCategoriesRobotsTxtTopResponse { /** Metadata for the results. */ meta: RobotsTxtTopDomainCategoriesResponseMeta; top_0: RobotsTxtTopDomainCategoriesResponseTop0List; } export const DomainCategoriesRobotsTxtTopResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: RobotsTxtTopDomainCategoriesResponseMeta, top_0: RobotsTxtTopDomainCategoriesResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DomainCategoriesRobotsTxtTopResponse", }) as any as S.Schema; export type DatasetsDownloadRequestFormat = "JSON" | "CSV"; export const DatasetsDownloadRequestFormat = /*@__PURE__*/ S.String; export interface DownloadDatasetRequest { /** Format in which results will be returned. */ format?: DatasetsDownloadRequestFormat | (string & {}); datasetId: number; } export const DownloadDatasetRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ format: S.optional(DatasetsDownloadRequestFormat.pipe(T.Query())), datasetId: S.Number, }) .pipe( T.Http({ method: "POST", uri: "/radar/datasets/download", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DownloadDatasetRequest", }) as any as S.Schema; export interface DatasetsDownloadResponseDataset { url: string; } export const DatasetsDownloadResponseDataset = /*@__PURE__*/ S.suspend(() => S.Struct({ url: S.String, }), ).annotate({ identifier: "DatasetsDownloadResponseDataset", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DownloadDatasetResponse { dataset: DatasetsDownloadResponseDataset; } export const DownloadDatasetResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ dataset: DatasetsDownloadResponseDataset, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DownloadDatasetResponse", }) as any as S.Schema; export type AttacksLayer3SummaryDurationRequestContinentList = Array; export const AttacksLayer3SummaryDurationRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryDurationRequestDateEndList = Array; export const AttacksLayer3SummaryDurationRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryDurationRequestDateRangeList = Array; export const AttacksLayer3SummaryDurationRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryDurationRequestDateStartList = Array; export const AttacksLayer3SummaryDurationRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryDurationRequestDirection = "ORIGIN" | "TARGET"; export const AttacksLayer3SummaryDurationRequestDirection = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryDurationRequestFormat = "JSON" | "CSV"; export const AttacksLayer3SummaryDurationRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryDurationRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer3SummaryDurationRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryDurationRequestIpVersionList = Array< AttacksLayer3SummaryDurationRequestIpVersion | (string & {}) >; export const AttacksLayer3SummaryDurationRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryDurationRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3SummaryDurationRequestLocationList = Array; export const AttacksLayer3SummaryDurationRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryDurationRequestNameList = Array; export const AttacksLayer3SummaryDurationRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryDurationRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3SummaryDurationRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryDurationRequestProtocolList = Array< AttacksLayer3SummaryDurationRequestProtocol | (string & {}) >; export const AttacksLayer3SummaryDurationRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryDurationRequestProtocol, ) as any as S.Schema; export interface DurationAttackLayer3SummaryRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3SummaryDurationRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3SummaryDurationRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3SummaryDurationRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3SummaryDurationRequestDateStartList; /** Specifies whether the `location` filter applies to the source or target location. */ direction?: AttacksLayer3SummaryDurationRequestDirection | (string & {}); /** Format in which results will be returned. */ format?: AttacksLayer3SummaryDurationRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3SummaryDurationRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3SummaryDurationRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3SummaryDurationRequestNameList; /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3SummaryDurationRequestProtocolList; } export const DurationAttackLayer3SummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( AttacksLayer3SummaryDurationRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer3SummaryDurationRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3SummaryDurationRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer3SummaryDurationRequestDateStartList.pipe(T.Query()), ), direction: S.optional( AttacksLayer3SummaryDurationRequestDirection.pipe(T.Query()), ), format: S.optional( AttacksLayer3SummaryDurationRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer3SummaryDurationRequestIpVersionList.pipe(T.Query()), ), location: S.optional( AttacksLayer3SummaryDurationRequestLocationList.pipe(T.Query()), ), name: S.optional( AttacksLayer3SummaryDurationRequestNameList.pipe(T.Query()), ), protocol: S.optional( AttacksLayer3SummaryDurationRequestProtocolList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/summary/duration", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DurationAttackLayer3SummaryRequest", }) as any as S.Schema; export type AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3SummaryDurationResponseMetaConfidenceInfo { annotations: AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3SummaryDurationResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3SummaryDurationResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3SummaryDurationResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3SummaryDurationResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3SummaryDurationResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3SummaryDurationResponseMetaDateRangeList = Array; export const AttacksLayer3SummaryDurationResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3SummaryDurationResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3SummaryDurationResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryDurationResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3SummaryDurationResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3SummaryDurationResponseMetaUnitsList = Array; export const AttacksLayer3SummaryDurationResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3SummaryDurationResponseMeta { confidenceInfo: AttacksLayer3SummaryDurationResponseMetaConfidenceInfo; dateRange: AttacksLayer3SummaryDurationResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3SummaryDurationResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3SummaryDurationResponseMetaUnitsList; } export const AttacksLayer3SummaryDurationResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: AttacksLayer3SummaryDurationResponseMetaConfidenceInfo, dateRange: AttacksLayer3SummaryDurationResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3SummaryDurationResponseMetaNormalization, units: AttacksLayer3SummaryDurationResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3SummaryDurationResponseMeta", }) as any as S.Schema; export interface AttacksLayer3SummaryDurationResponseSummary0 { /** A numeric string. */ "1_HOUR_TO_3_HOURS": string; /** A numeric string. */ "10_MINS_TO_20_MINS": string; /** A numeric string. */ "20_MINS_TO_40_MINS": string; /** A numeric string. */ "40_MINS_TO_1_HOUR": string; /** A numeric string. */ OVER_3_HOURS: string; /** A numeric string. */ UNDER_10_MINS: string; } export const AttacksLayer3SummaryDurationResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ "1_HOUR_TO_3_HOURS": S.String.pipe(T.Body("_1_HOUR_TO_3_HOURS")), "10_MINS_TO_20_MINS": S.String.pipe(T.Body("_10_MINS_TO_20_MINS")), "20_MINS_TO_40_MINS": S.String.pipe(T.Body("_20_MINS_TO_40_MINS")), "40_MINS_TO_1_HOUR": S.String.pipe(T.Body("_40_MINS_TO_1_HOUR")), OVER_3_HOURS: S.String, UNDER_10_MINS: S.String, }), ).annotate({ identifier: "AttacksLayer3SummaryDurationResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DurationAttackLayer3SummaryResponse { /** Metadata for the results. */ meta: AttacksLayer3SummaryDurationResponseMeta; summary_0: AttacksLayer3SummaryDurationResponseSummary0; } export const DurationAttackLayer3SummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3SummaryDurationResponseMeta, summary_0: AttacksLayer3SummaryDurationResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DurationAttackLayer3SummaryResponse", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer3TimeseriesGroupsDurationRequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsDurationRequestContinentList = Array; export const AttacksLayer3TimeseriesGroupsDurationRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationRequestDateEndList = Array; export const AttacksLayer3TimeseriesGroupsDurationRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationRequestDateRangeList = Array; export const AttacksLayer3TimeseriesGroupsDurationRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationRequestDateStartList = Array; export const AttacksLayer3TimeseriesGroupsDurationRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationRequestDirection = | "ORIGIN" | "TARGET"; export const AttacksLayer3TimeseriesGroupsDurationRequestDirection = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsDurationRequestFormat = "JSON" | "CSV"; export const AttacksLayer3TimeseriesGroupsDurationRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsDurationRequestIpVersion = | "IPv4" | "IPv6"; export const AttacksLayer3TimeseriesGroupsDurationRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsDurationRequestIpVersionList = Array< AttacksLayer3TimeseriesGroupsDurationRequestIpVersion | (string & {}) >; export const AttacksLayer3TimeseriesGroupsDurationRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsDurationRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationRequestLocationList = Array; export const AttacksLayer3TimeseriesGroupsDurationRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationRequestNameList = Array; export const AttacksLayer3TimeseriesGroupsDurationRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationRequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const AttacksLayer3TimeseriesGroupsDurationRequestNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsDurationRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3TimeseriesGroupsDurationRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsDurationRequestProtocolList = Array< AttacksLayer3TimeseriesGroupsDurationRequestProtocol | (string & {}) >; export const AttacksLayer3TimeseriesGroupsDurationRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsDurationRequestProtocol, ) as any as S.Schema; export interface DurationAttackLayer3TimeseriesGroupRequest { /** 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/). */ aggInterval?: | AttacksLayer3TimeseriesGroupsDurationRequestAggInterval | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3TimeseriesGroupsDurationRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3TimeseriesGroupsDurationRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3TimeseriesGroupsDurationRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3TimeseriesGroupsDurationRequestDateStartList; /** Specifies whether the `location` filter applies to the source or target location. */ direction?: | AttacksLayer3TimeseriesGroupsDurationRequestDirection | (string & {}); /** Format in which results will be returned. */ format?: AttacksLayer3TimeseriesGroupsDurationRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3TimeseriesGroupsDurationRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3TimeseriesGroupsDurationRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3TimeseriesGroupsDurationRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AttacksLayer3TimeseriesGroupsDurationRequestNormalization | (string & {}); /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3TimeseriesGroupsDurationRequestProtocolList; } export const DurationAttackLayer3TimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AttacksLayer3TimeseriesGroupsDurationRequestAggInterval.pipe(T.Query()), ), continent: S.optional( AttacksLayer3TimeseriesGroupsDurationRequestContinentList.pipe( T.Query(), ), ), dateEnd: S.optional( AttacksLayer3TimeseriesGroupsDurationRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3TimeseriesGroupsDurationRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( AttacksLayer3TimeseriesGroupsDurationRequestDateStartList.pipe( T.Query(), ), ), direction: S.optional( AttacksLayer3TimeseriesGroupsDurationRequestDirection.pipe(T.Query()), ), format: S.optional( AttacksLayer3TimeseriesGroupsDurationRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer3TimeseriesGroupsDurationRequestIpVersionList.pipe( T.Query(), ), ), location: S.optional( AttacksLayer3TimeseriesGroupsDurationRequestLocationList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer3TimeseriesGroupsDurationRequestNameList.pipe(T.Query()), ), normalization: S.optional( AttacksLayer3TimeseriesGroupsDurationRequestNormalization.pipe( T.Query(), ), ), protocol: S.optional( AttacksLayer3TimeseriesGroupsDurationRequestProtocolList.pipe( T.Query(), ), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/timeseries_groups/duration", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DurationAttackLayer3TimeseriesGroupRequest", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer3TimeseriesGroupsDurationResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfo { annotations: AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3TimeseriesGroupsDurationResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3TimeseriesGroupsDurationResponseMetaDateRangeList = Array; export const AttacksLayer3TimeseriesGroupsDurationResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3TimeseriesGroupsDurationResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsDurationResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3TimeseriesGroupsDurationResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3TimeseriesGroupsDurationResponseMetaUnitsList = Array; export const AttacksLayer3TimeseriesGroupsDurationResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsDurationResponseMeta { /** 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/). */ aggInterval: AttacksLayer3TimeseriesGroupsDurationResponseMetaAggInterval; confidenceInfo: AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfo; dateRange: AttacksLayer3TimeseriesGroupsDurationResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3TimeseriesGroupsDurationResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3TimeseriesGroupsDurationResponseMetaUnitsList; } export const AttacksLayer3TimeseriesGroupsDurationResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer3TimeseriesGroupsDurationResponseMetaAggInterval, confidenceInfo: AttacksLayer3TimeseriesGroupsDurationResponseMetaConfidenceInfo, dateRange: AttacksLayer3TimeseriesGroupsDurationResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3TimeseriesGroupsDurationResponseMetaNormalization, units: AttacksLayer3TimeseriesGroupsDurationResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsDurationResponseMeta", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationResponseSerie01HOURTO3HOURSList = Array; export const AttacksLayer3TimeseriesGroupsDurationResponseSerie01HOURTO3HOURSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationResponseSerie010MINSTO20MINSList = Array; export const AttacksLayer3TimeseriesGroupsDurationResponseSerie010MINSTO20MINSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationResponseSerie020MINSTO40MINSList = Array; export const AttacksLayer3TimeseriesGroupsDurationResponseSerie020MINSTO40MINSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationResponseSerie040MINSTO1HOURList = Array; export const AttacksLayer3TimeseriesGroupsDurationResponseSerie040MINSTO1HOURList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationResponseSerie0OVER3HOURSList = Array; export const AttacksLayer3TimeseriesGroupsDurationResponseSerie0OVER3HOURSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationResponseSerie0TimestampsList = Array; export const AttacksLayer3TimeseriesGroupsDurationResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsDurationResponseSerie0UNDER10MINSList = Array; export const AttacksLayer3TimeseriesGroupsDurationResponseSerie0UNDER10MINSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsDurationResponseSerie0 { "1_HOUR_TO_3_HOURS": AttacksLayer3TimeseriesGroupsDurationResponseSerie01HOURTO3HOURSList; "10_MINS_TO_20_MINS": AttacksLayer3TimeseriesGroupsDurationResponseSerie010MINSTO20MINSList; "20_MINS_TO_40_MINS": AttacksLayer3TimeseriesGroupsDurationResponseSerie020MINSTO40MINSList; "40_MINS_TO_1_HOUR": AttacksLayer3TimeseriesGroupsDurationResponseSerie040MINSTO1HOURList; OVER_3_HOURS: AttacksLayer3TimeseriesGroupsDurationResponseSerie0OVER3HOURSList; timestamps: AttacksLayer3TimeseriesGroupsDurationResponseSerie0TimestampsList; UNDER_10_MINS: AttacksLayer3TimeseriesGroupsDurationResponseSerie0UNDER10MINSList; } export const AttacksLayer3TimeseriesGroupsDurationResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ "1_HOUR_TO_3_HOURS": AttacksLayer3TimeseriesGroupsDurationResponseSerie01HOURTO3HOURSList.pipe( T.Body("_1_HOUR_TO_3_HOURS"), ), "10_MINS_TO_20_MINS": AttacksLayer3TimeseriesGroupsDurationResponseSerie010MINSTO20MINSList.pipe( T.Body("_10_MINS_TO_20_MINS"), ), "20_MINS_TO_40_MINS": AttacksLayer3TimeseriesGroupsDurationResponseSerie020MINSTO40MINSList.pipe( T.Body("_20_MINS_TO_40_MINS"), ), "40_MINS_TO_1_HOUR": AttacksLayer3TimeseriesGroupsDurationResponseSerie040MINSTO1HOURList.pipe( T.Body("_40_MINS_TO_1_HOUR"), ), OVER_3_HOURS: AttacksLayer3TimeseriesGroupsDurationResponseSerie0OVER3HOURSList, timestamps: AttacksLayer3TimeseriesGroupsDurationResponseSerie0TimestampsList, UNDER_10_MINS: AttacksLayer3TimeseriesGroupsDurationResponseSerie0UNDER10MINSList, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsDurationResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface DurationAttackLayer3TimeseriesGroupResponse { /** Metadata for the results. */ meta: AttacksLayer3TimeseriesGroupsDurationResponseMeta; serie_0: AttacksLayer3TimeseriesGroupsDurationResponseSerie0; } export const DurationAttackLayer3TimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3TimeseriesGroupsDurationResponseMeta, serie_0: AttacksLayer3TimeseriesGroupsDurationResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DurationAttackLayer3TimeseriesGroupResponse", }) as any as S.Schema; export type As112SummaryEdnsRequestContinentList = Array; export const As112SummaryEdnsRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryEdnsRequestDateEndList = Array; export const As112SummaryEdnsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryEdnsRequestDateRangeList = Array; export const As112SummaryEdnsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryEdnsRequestDateStartList = Array; export const As112SummaryEdnsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryEdnsRequestFormat = "JSON" | "CSV"; export const As112SummaryEdnsRequestFormat = /*@__PURE__*/ S.String; export type As112SummaryEdnsRequestLocationList = Array; export const As112SummaryEdnsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryEdnsRequestNameList = Array; export const As112SummaryEdnsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryEdnsRequestProtocol = "UDP" | "TCP" | "HTTPS" | "TLS"; export const As112SummaryEdnsRequestProtocol = /*@__PURE__*/ S.String; export type As112SummaryEdnsRequestProtocolList = Array< As112SummaryEdnsRequestProtocol | (string & {}) >; export const As112SummaryEdnsRequestProtocolList = /*@__PURE__*/ S.Array( As112SummaryEdnsRequestProtocol, ) as any as S.Schema; export type As112SummaryEdnsRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const As112SummaryEdnsRequestQueryType = /*@__PURE__*/ S.String; export type As112SummaryEdnsRequestQueryTypeList = Array< As112SummaryEdnsRequestQueryType | (string & {}) >; export const As112SummaryEdnsRequestQueryTypeList = /*@__PURE__*/ S.Array( As112SummaryEdnsRequestQueryType, ) as any as S.Schema; export type As112SummaryEdnsRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const As112SummaryEdnsRequestResponseCode = /*@__PURE__*/ S.String; export type As112SummaryEdnsRequestResponseCodeList = Array< As112SummaryEdnsRequestResponseCode | (string & {}) >; export const As112SummaryEdnsRequestResponseCodeList = /*@__PURE__*/ S.Array( As112SummaryEdnsRequestResponseCode, ) as any as S.Schema; export interface EdnsAs112SummaryRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112SummaryEdnsRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112SummaryEdnsRequestDateEndList; /** 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). */ dateRange?: As112SummaryEdnsRequestDateRangeList; /** Start of the date range. */ dateStart?: As112SummaryEdnsRequestDateStartList; /** Format in which results will be returned. */ format?: As112SummaryEdnsRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112SummaryEdnsRequestLocationList; /** Array of names used to label the series in the response. */ name?: As112SummaryEdnsRequestNameList; /** Filters results by DNS transport protocol. */ protocol?: As112SummaryEdnsRequestProtocolList; /** Filters results by DNS query type. */ queryType?: As112SummaryEdnsRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: As112SummaryEdnsRequestResponseCodeList; } export const EdnsAs112SummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional(As112SummaryEdnsRequestContinentList.pipe(T.Query())), dateEnd: S.optional(As112SummaryEdnsRequestDateEndList.pipe(T.Query())), dateRange: S.optional(As112SummaryEdnsRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(As112SummaryEdnsRequestDateStartList.pipe(T.Query())), format: S.optional(As112SummaryEdnsRequestFormat.pipe(T.Query())), location: S.optional(As112SummaryEdnsRequestLocationList.pipe(T.Query())), name: S.optional(As112SummaryEdnsRequestNameList.pipe(T.Query())), protocol: S.optional(As112SummaryEdnsRequestProtocolList.pipe(T.Query())), queryType: S.optional(As112SummaryEdnsRequestQueryTypeList.pipe(T.Query())), responseCode: S.optional( As112SummaryEdnsRequestResponseCodeList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/summary/edns", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "EdnsAs112SummaryRequest", }) as any as S.Schema; export type As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsList = Array; export const As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112SummaryEdnsResponseMetaConfidenceInfo { annotations: As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112SummaryEdnsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: As112SummaryEdnsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112SummaryEdnsResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112SummaryEdnsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112SummaryEdnsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112SummaryEdnsResponseMetaDateRangeList = Array; export const As112SummaryEdnsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112SummaryEdnsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112SummaryEdnsResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112SummaryEdnsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112SummaryEdnsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112SummaryEdnsResponseMetaUnitsList = Array; export const As112SummaryEdnsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112SummaryEdnsResponseMeta { confidenceInfo: As112SummaryEdnsResponseMetaConfidenceInfo; dateRange: As112SummaryEdnsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112SummaryEdnsResponseMetaNormalization; /** Measurement units for the results. */ units: As112SummaryEdnsResponseMetaUnitsList; } export const As112SummaryEdnsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: As112SummaryEdnsResponseMetaConfidenceInfo, dateRange: As112SummaryEdnsResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112SummaryEdnsResponseMetaNormalization, units: As112SummaryEdnsResponseMetaUnitsList, }), ).annotate({ identifier: "As112SummaryEdnsResponseMeta", }) as any as S.Schema; export type As112SummaryEdnsResponseSummary0 = As112SummaryDnssecResponseSummary0; export const As112SummaryEdnsResponseSummary0 = As112SummaryDnssecResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface EdnsAs112SummaryResponse { /** Metadata for the results. */ meta: As112SummaryEdnsResponseMeta; summary_0: As112SummaryDnssecResponseSummary0; } export const EdnsAs112SummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: As112SummaryEdnsResponseMeta, summary_0: As112SummaryDnssecResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "EdnsAs112SummaryResponse", }) as any as S.Schema; export type As112TimeseriesGroupsEdnsRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const As112TimeseriesGroupsEdnsRequestAggInterval = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsEdnsRequestContinentList = Array; export const As112TimeseriesGroupsEdnsRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsEdnsRequestDateEndList = Array; export const As112TimeseriesGroupsEdnsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsEdnsRequestDateRangeList = Array; export const As112TimeseriesGroupsEdnsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsEdnsRequestDateStartList = Array; export const As112TimeseriesGroupsEdnsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsEdnsRequestFormat = "JSON" | "CSV"; export const As112TimeseriesGroupsEdnsRequestFormat = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsEdnsRequestLocationList = Array; export const As112TimeseriesGroupsEdnsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsEdnsRequestNameList = Array; export const As112TimeseriesGroupsEdnsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsEdnsRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const As112TimeseriesGroupsEdnsRequestProtocol = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsEdnsRequestProtocolList = Array< As112TimeseriesGroupsEdnsRequestProtocol | (string & {}) >; export const As112TimeseriesGroupsEdnsRequestProtocolList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsEdnsRequestProtocol, ) as any as S.Schema; export type As112TimeseriesGroupsEdnsRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const As112TimeseriesGroupsEdnsRequestQueryType = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsEdnsRequestQueryTypeList = Array< As112TimeseriesGroupsEdnsRequestQueryType | (string & {}) >; export const As112TimeseriesGroupsEdnsRequestQueryTypeList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsEdnsRequestQueryType, ) as any as S.Schema; export type As112TimeseriesGroupsEdnsRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const As112TimeseriesGroupsEdnsRequestResponseCode = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsEdnsRequestResponseCodeList = Array< As112TimeseriesGroupsEdnsRequestResponseCode | (string & {}) >; export const As112TimeseriesGroupsEdnsRequestResponseCodeList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsEdnsRequestResponseCode, ) as any as S.Schema; export interface EdnsAs112TimeseriesGroupRequest { /** 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/). */ aggInterval?: As112TimeseriesGroupsEdnsRequestAggInterval | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112TimeseriesGroupsEdnsRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112TimeseriesGroupsEdnsRequestDateEndList; /** 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). */ dateRange?: As112TimeseriesGroupsEdnsRequestDateRangeList; /** Start of the date range. */ dateStart?: As112TimeseriesGroupsEdnsRequestDateStartList; /** Format in which results will be returned. */ format?: As112TimeseriesGroupsEdnsRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112TimeseriesGroupsEdnsRequestLocationList; /** Array of names used to label the series in the response. */ name?: As112TimeseriesGroupsEdnsRequestNameList; /** Filters results by DNS transport protocol. */ protocol?: As112TimeseriesGroupsEdnsRequestProtocolList; /** Filters results by DNS query type. */ queryType?: As112TimeseriesGroupsEdnsRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: As112TimeseriesGroupsEdnsRequestResponseCodeList; } export const EdnsAs112TimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( As112TimeseriesGroupsEdnsRequestAggInterval.pipe(T.Query()), ), continent: S.optional( As112TimeseriesGroupsEdnsRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( As112TimeseriesGroupsEdnsRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( As112TimeseriesGroupsEdnsRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( As112TimeseriesGroupsEdnsRequestDateStartList.pipe(T.Query()), ), format: S.optional(As112TimeseriesGroupsEdnsRequestFormat.pipe(T.Query())), location: S.optional( As112TimeseriesGroupsEdnsRequestLocationList.pipe(T.Query()), ), name: S.optional(As112TimeseriesGroupsEdnsRequestNameList.pipe(T.Query())), protocol: S.optional( As112TimeseriesGroupsEdnsRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( As112TimeseriesGroupsEdnsRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( As112TimeseriesGroupsEdnsRequestResponseCodeList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/timeseries_groups/edns", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "EdnsAs112TimeseriesGroupRequest", }) as any as S.Schema; export type As112TimeseriesGroupsEdnsResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const As112TimeseriesGroupsEdnsResponseMetaAggInterval = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsList = Array; export const As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112TimeseriesGroupsEdnsResponseMetaConfidenceInfo { annotations: As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112TimeseriesGroupsEdnsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: As112TimeseriesGroupsEdnsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112TimeseriesGroupsEdnsResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112TimeseriesGroupsEdnsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112TimeseriesGroupsEdnsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112TimeseriesGroupsEdnsResponseMetaDateRangeList = Array; export const As112TimeseriesGroupsEdnsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112TimeseriesGroupsEdnsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112TimeseriesGroupsEdnsResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsEdnsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112TimeseriesGroupsEdnsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112TimeseriesGroupsEdnsResponseMetaUnitsList = Array; export const As112TimeseriesGroupsEdnsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112TimeseriesGroupsEdnsResponseMeta { /** 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/). */ aggInterval: As112TimeseriesGroupsEdnsResponseMetaAggInterval; confidenceInfo: As112TimeseriesGroupsEdnsResponseMetaConfidenceInfo; dateRange: As112TimeseriesGroupsEdnsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112TimeseriesGroupsEdnsResponseMetaNormalization; /** Measurement units for the results. */ units: As112TimeseriesGroupsEdnsResponseMetaUnitsList; } export const As112TimeseriesGroupsEdnsResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: As112TimeseriesGroupsEdnsResponseMetaAggInterval, confidenceInfo: As112TimeseriesGroupsEdnsResponseMetaConfidenceInfo, dateRange: As112TimeseriesGroupsEdnsResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112TimeseriesGroupsEdnsResponseMetaNormalization, units: As112TimeseriesGroupsEdnsResponseMetaUnitsList, }), ).annotate({ identifier: "As112TimeseriesGroupsEdnsResponseMeta", }) as any as S.Schema; export type As112TimeseriesGroupsEdnsResponseSerie0NOTSUPPORTEDList = Array; export const As112TimeseriesGroupsEdnsResponseSerie0NOTSUPPORTEDList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsEdnsResponseSerie0SUPPORTEDList = Array; export const As112TimeseriesGroupsEdnsResponseSerie0SUPPORTEDList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TimeseriesGroupsEdnsResponseSerie0 { nOTSUPPORTED: As112TimeseriesGroupsEdnsResponseSerie0NOTSUPPORTEDList; sUPPORTED: As112TimeseriesGroupsEdnsResponseSerie0SUPPORTEDList; } export const As112TimeseriesGroupsEdnsResponseSerie0 = /*@__PURE__*/ S.suspend( () => S.Struct({ nOTSUPPORTED: As112TimeseriesGroupsEdnsResponseSerie0NOTSUPPORTEDList.pipe( T.Body("NOT_SUPPORTED"), ), sUPPORTED: As112TimeseriesGroupsEdnsResponseSerie0SUPPORTEDList.pipe( T.Body("SUPPORTED"), ), }), ).annotate({ identifier: "As112TimeseriesGroupsEdnsResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface EdnsAs112TimeseriesGroupResponse { /** Metadata for the results. */ meta: As112TimeseriesGroupsEdnsResponseMeta; serie_0: As112TimeseriesGroupsEdnsResponseSerie0; } export const EdnsAs112TimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: As112TimeseriesGroupsEdnsResponseMeta, serie_0: As112TimeseriesGroupsEdnsResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "EdnsAs112TimeseriesGroupResponse", }) as any as S.Schema; export type As112TopEdnsRequestEdns = "SUPPORTED" | "NOT_SUPPORTED"; export const As112TopEdnsRequestEdns = /*@__PURE__*/ S.String; export type As112TopEdnsRequestContinentList = Array; export const As112TopEdnsRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopEdnsRequestDateEndList = Array; export const As112TopEdnsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopEdnsRequestDateRangeList = Array; export const As112TopEdnsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopEdnsRequestDateStartList = Array; export const As112TopEdnsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopEdnsRequestFormat = "JSON" | "CSV"; export const As112TopEdnsRequestFormat = /*@__PURE__*/ S.String; export type As112TopEdnsRequestLocationList = Array; export const As112TopEdnsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopEdnsRequestNameList = Array; export const As112TopEdnsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EdnsAs112TopRequest { /** EDNS (Extension Mechanisms for DNS) status. */ edns: As112TopEdnsRequestEdns | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112TopEdnsRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112TopEdnsRequestDateEndList; /** 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). */ dateRange?: As112TopEdnsRequestDateRangeList; /** Start of the date range. */ dateStart?: As112TopEdnsRequestDateStartList; /** Format in which results will be returned. */ format?: As112TopEdnsRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112TopEdnsRequestLocationList; /** Array of names used to label the series in the response. */ name?: As112TopEdnsRequestNameList; } export const EdnsAs112TopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ edns: As112TopEdnsRequestEdns.pipe(T.Label()), continent: S.optional(As112TopEdnsRequestContinentList.pipe(T.Query())), dateEnd: S.optional(As112TopEdnsRequestDateEndList.pipe(T.Query())), dateRange: S.optional(As112TopEdnsRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(As112TopEdnsRequestDateStartList.pipe(T.Query())), format: S.optional(As112TopEdnsRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(As112TopEdnsRequestLocationList.pipe(T.Query())), name: S.optional(As112TopEdnsRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/top/locations/edns/{edns}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "EdnsAs112TopRequest", }) as any as S.Schema; export type As112TopEdnsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112TopEdnsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112TopEdnsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112TopEdnsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112TopEdnsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112TopEdnsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TopEdnsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112TopEdnsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112TopEdnsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112TopEdnsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112TopEdnsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112TopEdnsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112TopEdnsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr(As112TopEdnsResponseMetaConfidenceInfoAnnotationsItemTagsList), ), }), ).annotate({ identifier: "As112TopEdnsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112TopEdnsResponseMetaConfidenceInfoAnnotationsList = Array; export const As112TopEdnsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112TopEdnsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112TopEdnsResponseMetaConfidenceInfo { annotations: As112TopEdnsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112TopEdnsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: As112TopEdnsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112TopEdnsResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112TopEdnsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112TopEdnsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112TopEdnsResponseMetaDateRangeList = Array; export const As112TopEdnsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112TopEdnsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112TopEdnsResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112TopEdnsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112TopEdnsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112TopEdnsResponseMetaUnitsList = Array; export const As112TopEdnsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112TopEdnsResponseMeta { confidenceInfo: As112TopEdnsResponseMetaConfidenceInfo; dateRange: As112TopEdnsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112TopEdnsResponseMetaNormalization; /** Measurement units for the results. */ units: As112TopEdnsResponseMetaUnitsList; } export const As112TopEdnsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: As112TopEdnsResponseMetaConfidenceInfo, dateRange: As112TopEdnsResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112TopEdnsResponseMetaNormalization, units: As112TopEdnsResponseMetaUnitsList, }), ).annotate({ identifier: "As112TopEdnsResponseMeta", }) as any as S.Schema; export type As112TopEdnsResponseTop0Item = As112TopDnssecResponseTop0Item; export const As112TopEdnsResponseTop0Item = As112TopDnssecResponseTop0Item; export type As112TopEdnsResponseTop0List = Array; export const As112TopEdnsResponseTop0List = /*@__PURE__*/ S.Array( As112TopDnssecResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface EdnsAs112TopResponse { /** Metadata for the results. */ meta: As112TopEdnsResponseMeta; top_0: As112TopEdnsResponseTop0List; } export const EdnsAs112TopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: As112TopEdnsResponseMeta, top_0: As112TopEdnsResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "EdnsAs112TopResponse", }) as any as S.Schema; export type EmailRoutingSummaryEncryptedRequestArc = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryEncryptedRequestArc = /*@__PURE__*/ S.String; export type EmailRoutingSummaryEncryptedRequestArcList = Array< EmailRoutingSummaryEncryptedRequestArc | (string & {}) >; export const EmailRoutingSummaryEncryptedRequestArcList = /*@__PURE__*/ S.Array( EmailRoutingSummaryEncryptedRequestArc, ) as any as S.Schema; export type EmailRoutingSummaryEncryptedRequestDateEndList = Array; export const EmailRoutingSummaryEncryptedRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryEncryptedRequestDateRangeList = Array; export const EmailRoutingSummaryEncryptedRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryEncryptedRequestDateStartList = Array; export const EmailRoutingSummaryEncryptedRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryEncryptedRequestDkim = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryEncryptedRequestDkim = /*@__PURE__*/ S.String; export type EmailRoutingSummaryEncryptedRequestDkimList = Array< EmailRoutingSummaryEncryptedRequestDkim | (string & {}) >; export const EmailRoutingSummaryEncryptedRequestDkimList = /*@__PURE__*/ S.Array( EmailRoutingSummaryEncryptedRequestDkim, ) as any as S.Schema; export type EmailRoutingSummaryEncryptedRequestDmarc = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryEncryptedRequestDmarc = /*@__PURE__*/ S.String; export type EmailRoutingSummaryEncryptedRequestDmarcList = Array< EmailRoutingSummaryEncryptedRequestDmarc | (string & {}) >; export const EmailRoutingSummaryEncryptedRequestDmarcList = /*@__PURE__*/ S.Array( EmailRoutingSummaryEncryptedRequestDmarc, ) as any as S.Schema; export type EmailRoutingSummaryEncryptedRequestFormat = "JSON" | "CSV"; export const EmailRoutingSummaryEncryptedRequestFormat = /*@__PURE__*/ S.String; export type EmailRoutingSummaryEncryptedRequestIpVersion = "IPv4" | "IPv6"; export const EmailRoutingSummaryEncryptedRequestIpVersion = /*@__PURE__*/ S.String; export type EmailRoutingSummaryEncryptedRequestIpVersionList = Array< EmailRoutingSummaryEncryptedRequestIpVersion | (string & {}) >; export const EmailRoutingSummaryEncryptedRequestIpVersionList = /*@__PURE__*/ S.Array( EmailRoutingSummaryEncryptedRequestIpVersion, ) as any as S.Schema; export type EmailRoutingSummaryEncryptedRequestNameList = Array; export const EmailRoutingSummaryEncryptedRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryEncryptedRequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryEncryptedRequestSpf = /*@__PURE__*/ S.String; export type EmailRoutingSummaryEncryptedRequestSpfList = Array< EmailRoutingSummaryEncryptedRequestSpf | (string & {}) >; export const EmailRoutingSummaryEncryptedRequestSpfList = /*@__PURE__*/ S.Array( EmailRoutingSummaryEncryptedRequestSpf, ) as any as S.Schema; export interface EncryptedEmailRoutingSummaryRequest { /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailRoutingSummaryEncryptedRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailRoutingSummaryEncryptedRequestDateEndList; /** 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). */ dateRange?: EmailRoutingSummaryEncryptedRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailRoutingSummaryEncryptedRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailRoutingSummaryEncryptedRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailRoutingSummaryEncryptedRequestDmarcList; /** Format in which results will be returned. */ format?: EmailRoutingSummaryEncryptedRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: EmailRoutingSummaryEncryptedRequestIpVersionList; /** Array of names used to label the series in the response. */ name?: EmailRoutingSummaryEncryptedRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailRoutingSummaryEncryptedRequestSpfList; } export const EncryptedEmailRoutingSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ arc: S.optional(EmailRoutingSummaryEncryptedRequestArcList.pipe(T.Query())), dateEnd: S.optional( EmailRoutingSummaryEncryptedRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailRoutingSummaryEncryptedRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailRoutingSummaryEncryptedRequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailRoutingSummaryEncryptedRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailRoutingSummaryEncryptedRequestDmarcList.pipe(T.Query()), ), format: S.optional( EmailRoutingSummaryEncryptedRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( EmailRoutingSummaryEncryptedRequestIpVersionList.pipe(T.Query()), ), name: S.optional( EmailRoutingSummaryEncryptedRequestNameList.pipe(T.Query()), ), spf: S.optional(EmailRoutingSummaryEncryptedRequestSpfList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/routing/summary/encrypted", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "EncryptedEmailRoutingSummaryRequest", }) as any as S.Schema; export type EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailRoutingSummaryEncryptedResponseMetaConfidenceInfo { annotations: EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailRoutingSummaryEncryptedResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailRoutingSummaryEncryptedResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailRoutingSummaryEncryptedResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailRoutingSummaryEncryptedResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailRoutingSummaryEncryptedResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailRoutingSummaryEncryptedResponseMetaDateRangeList = Array; export const EmailRoutingSummaryEncryptedResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailRoutingSummaryEncryptedResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailRoutingSummaryEncryptedResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailRoutingSummaryEncryptedResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailRoutingSummaryEncryptedResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailRoutingSummaryEncryptedResponseMetaUnitsList = Array; export const EmailRoutingSummaryEncryptedResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailRoutingSummaryEncryptedResponseMeta { confidenceInfo: EmailRoutingSummaryEncryptedResponseMetaConfidenceInfo; dateRange: EmailRoutingSummaryEncryptedResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailRoutingSummaryEncryptedResponseMetaNormalization; /** Measurement units for the results. */ units: EmailRoutingSummaryEncryptedResponseMetaUnitsList; } export const EmailRoutingSummaryEncryptedResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: EmailRoutingSummaryEncryptedResponseMetaConfidenceInfo, dateRange: EmailRoutingSummaryEncryptedResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailRoutingSummaryEncryptedResponseMetaNormalization, units: EmailRoutingSummaryEncryptedResponseMetaUnitsList, }), ).annotate({ identifier: "EmailRoutingSummaryEncryptedResponseMeta", }) as any as S.Schema; export interface EmailRoutingSummaryEncryptedResponseSummary0 { /** A numeric string. */ eNCRYPTED: string; /** A numeric string. */ nOTENCRYPTED: string; } export const EmailRoutingSummaryEncryptedResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ eNCRYPTED: S.String.pipe(T.Body("ENCRYPTED")), nOTENCRYPTED: S.String.pipe(T.Body("NOT_ENCRYPTED")), }), ).annotate({ identifier: "EmailRoutingSummaryEncryptedResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface EncryptedEmailRoutingSummaryResponse { /** Metadata for the results. */ meta: EmailRoutingSummaryEncryptedResponseMeta; summary_0: EmailRoutingSummaryEncryptedResponseSummary0; } export const EncryptedEmailRoutingSummaryResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: EmailRoutingSummaryEncryptedResponseMeta, summary_0: EmailRoutingSummaryEncryptedResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "EncryptedEmailRoutingSummaryResponse", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsEncryptedRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const EmailRoutingTimeseriesGroupsEncryptedRequestAggInterval = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsEncryptedRequestArc = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsEncryptedRequestArc = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsEncryptedRequestArcList = Array< EmailRoutingTimeseriesGroupsEncryptedRequestArc | (string & {}) >; export const EmailRoutingTimeseriesGroupsEncryptedRequestArcList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsEncryptedRequestArc, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsEncryptedRequestDateEndList = Array; export const EmailRoutingTimeseriesGroupsEncryptedRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsEncryptedRequestDateRangeList = Array; export const EmailRoutingTimeseriesGroupsEncryptedRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsEncryptedRequestDateStartList = Array; export const EmailRoutingTimeseriesGroupsEncryptedRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsEncryptedRequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsEncryptedRequestDkim = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsEncryptedRequestDkimList = Array< EmailRoutingTimeseriesGroupsEncryptedRequestDkim | (string & {}) >; export const EmailRoutingTimeseriesGroupsEncryptedRequestDkimList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsEncryptedRequestDkim, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsEncryptedRequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsEncryptedRequestDmarc = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsEncryptedRequestDmarcList = Array< EmailRoutingTimeseriesGroupsEncryptedRequestDmarc | (string & {}) >; export const EmailRoutingTimeseriesGroupsEncryptedRequestDmarcList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsEncryptedRequestDmarc, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsEncryptedRequestFormat = "JSON" | "CSV"; export const EmailRoutingTimeseriesGroupsEncryptedRequestFormat = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsEncryptedRequestIpVersion = | "IPv4" | "IPv6"; export const EmailRoutingTimeseriesGroupsEncryptedRequestIpVersion = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsEncryptedRequestIpVersionList = Array< EmailRoutingTimeseriesGroupsEncryptedRequestIpVersion | (string & {}) >; export const EmailRoutingTimeseriesGroupsEncryptedRequestIpVersionList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsEncryptedRequestIpVersion, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsEncryptedRequestNameList = Array; export const EmailRoutingTimeseriesGroupsEncryptedRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsEncryptedRequestSpf = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsEncryptedRequestSpf = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsEncryptedRequestSpfList = Array< EmailRoutingTimeseriesGroupsEncryptedRequestSpf | (string & {}) >; export const EmailRoutingTimeseriesGroupsEncryptedRequestSpfList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsEncryptedRequestSpf, ) as any as S.Schema; export interface EncryptedEmailRoutingTimeseriesGroupRequest { /** 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/). */ aggInterval?: | EmailRoutingTimeseriesGroupsEncryptedRequestAggInterval | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailRoutingTimeseriesGroupsEncryptedRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailRoutingTimeseriesGroupsEncryptedRequestDateEndList; /** 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). */ dateRange?: EmailRoutingTimeseriesGroupsEncryptedRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailRoutingTimeseriesGroupsEncryptedRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailRoutingTimeseriesGroupsEncryptedRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailRoutingTimeseriesGroupsEncryptedRequestDmarcList; /** Format in which results will be returned. */ format?: EmailRoutingTimeseriesGroupsEncryptedRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: EmailRoutingTimeseriesGroupsEncryptedRequestIpVersionList; /** Array of names used to label the series in the response. */ name?: EmailRoutingTimeseriesGroupsEncryptedRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailRoutingTimeseriesGroupsEncryptedRequestSpfList; } export const EncryptedEmailRoutingTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( EmailRoutingTimeseriesGroupsEncryptedRequestAggInterval.pipe(T.Query()), ), arc: S.optional( EmailRoutingTimeseriesGroupsEncryptedRequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailRoutingTimeseriesGroupsEncryptedRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailRoutingTimeseriesGroupsEncryptedRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( EmailRoutingTimeseriesGroupsEncryptedRequestDateStartList.pipe( T.Query(), ), ), dkim: S.optional( EmailRoutingTimeseriesGroupsEncryptedRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailRoutingTimeseriesGroupsEncryptedRequestDmarcList.pipe(T.Query()), ), format: S.optional( EmailRoutingTimeseriesGroupsEncryptedRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( EmailRoutingTimeseriesGroupsEncryptedRequestIpVersionList.pipe( T.Query(), ), ), name: S.optional( EmailRoutingTimeseriesGroupsEncryptedRequestNameList.pipe(T.Query()), ), spf: S.optional( EmailRoutingTimeseriesGroupsEncryptedRequestSpfList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/routing/timeseries_groups/encrypted", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "EncryptedEmailRoutingTimeseriesGroupRequest", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsEncryptedResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const EmailRoutingTimeseriesGroupsEncryptedResponseMetaAggInterval = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfo { annotations: EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsEncryptedResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailRoutingTimeseriesGroupsEncryptedResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailRoutingTimeseriesGroupsEncryptedResponseMetaDateRangeList = Array; export const EmailRoutingTimeseriesGroupsEncryptedResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsEncryptedResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailRoutingTimeseriesGroupsEncryptedResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsEncryptedResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailRoutingTimeseriesGroupsEncryptedResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailRoutingTimeseriesGroupsEncryptedResponseMetaUnitsList = Array; export const EmailRoutingTimeseriesGroupsEncryptedResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsEncryptedResponseMeta { /** 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/). */ aggInterval: EmailRoutingTimeseriesGroupsEncryptedResponseMetaAggInterval; confidenceInfo: EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfo; dateRange: EmailRoutingTimeseriesGroupsEncryptedResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailRoutingTimeseriesGroupsEncryptedResponseMetaNormalization; /** Measurement units for the results. */ units: EmailRoutingTimeseriesGroupsEncryptedResponseMetaUnitsList; } export const EmailRoutingTimeseriesGroupsEncryptedResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: EmailRoutingTimeseriesGroupsEncryptedResponseMetaAggInterval, confidenceInfo: EmailRoutingTimeseriesGroupsEncryptedResponseMetaConfidenceInfo, dateRange: EmailRoutingTimeseriesGroupsEncryptedResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailRoutingTimeseriesGroupsEncryptedResponseMetaNormalization, units: EmailRoutingTimeseriesGroupsEncryptedResponseMetaUnitsList, }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsEncryptedResponseMeta", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsEncryptedResponseSerie0ENCRYPTEDList = Array; export const EmailRoutingTimeseriesGroupsEncryptedResponseSerie0ENCRYPTEDList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsEncryptedResponseSerie0NOTENCRYPTEDList = Array; export const EmailRoutingTimeseriesGroupsEncryptedResponseSerie0NOTENCRYPTEDList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsEncryptedResponseSerie0 { eNCRYPTED: EmailRoutingTimeseriesGroupsEncryptedResponseSerie0ENCRYPTEDList; nOTENCRYPTED: EmailRoutingTimeseriesGroupsEncryptedResponseSerie0NOTENCRYPTEDList; } export const EmailRoutingTimeseriesGroupsEncryptedResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ eNCRYPTED: EmailRoutingTimeseriesGroupsEncryptedResponseSerie0ENCRYPTEDList.pipe( T.Body("ENCRYPTED"), ), nOTENCRYPTED: EmailRoutingTimeseriesGroupsEncryptedResponseSerie0NOTENCRYPTEDList.pipe( T.Body("NOT_ENCRYPTED"), ), }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsEncryptedResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface EncryptedEmailRoutingTimeseriesGroupResponse { /** Metadata for the results. */ meta: EmailRoutingTimeseriesGroupsEncryptedResponseMeta; serie_0: EmailRoutingTimeseriesGroupsEncryptedResponseSerie0; } export const EncryptedEmailRoutingTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailRoutingTimeseriesGroupsEncryptedResponseMeta, serie_0: EmailRoutingTimeseriesGroupsEncryptedResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "EncryptedEmailRoutingTimeseriesGroupResponse", }) as any as S.Schema; export type AnnotationsOutagesGetRequestFormat = "JSON" | "CSV"; export const AnnotationsOutagesGetRequestFormat = /*@__PURE__*/ S.String; export interface GetAnnotationOutageRequest { /** Filters results by Autonomous System. Specify a single Autonomous System Number (ASN) as integer. */ asn?: number; /** End of the date range (inclusive). */ dateEnd?: string; /** Filters results by date range. */ dateRange?: string; /** Start of the date range (inclusive). */ dateStart?: string; /** Format in which results will be returned. */ format?: AnnotationsOutagesGetRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify an alpha-2 location code. */ location?: string; /** Skips the specified number of objects before fetching the results. */ offset?: number; /** Filters results by origin. */ origin?: string; } export const GetAnnotationOutageRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(S.Number.pipe(T.Query())), dateEnd: S.optional(S.String.pipe(T.Query())), dateRange: S.optional(S.String.pipe(T.Query())), dateStart: S.optional(S.String.pipe(T.Query())), format: S.optional(AnnotationsOutagesGetRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(S.String.pipe(T.Query())), offset: S.optional(S.Number.pipe(T.Query())), origin: S.optional(S.String.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/annotations/outages", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetAnnotationOutageRequest", }) as any as S.Schema; export type AnnotationsOutagesGetResponseAnnotationsItemAsnsList = Array; export const AnnotationsOutagesGetResponseAnnotationsItemAsnsList = /*@__PURE__*/ S.Array( S.Number, ) as any as S.Schema; export interface AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations { code: string; name: string; } export const AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations = /*@__PURE__*/ S.suspend(() => S.Struct({ code: S.String, name: S.String, }), ).annotate({ identifier: "AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations", }) as any as S.Schema; export interface AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItem { asn: string; name: string; locations?: AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations | null; } export const AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.String, name: S.String, locations: S.optional( S.NullOr( AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations, ), ), }), ).annotate({ identifier: "AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItem", }) as any as S.Schema; export type AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsList = Array; export const AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsList = /*@__PURE__*/ S.Array( AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItem, ) as any as S.Schema; export type AnnotationsOutagesGetResponseAnnotationsItemLocationsList = Array; export const AnnotationsOutagesGetResponseAnnotationsItemLocationsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AnnotationsOutagesGetResponseAnnotationsItemLocationsDetailsItem = AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations; export const AnnotationsOutagesGetResponseAnnotationsItemLocationsDetailsItem = AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations; export type AnnotationsOutagesGetResponseAnnotationsItemLocationsDetailsList = Array; export const AnnotationsOutagesGetResponseAnnotationsItemLocationsDetailsList = /*@__PURE__*/ S.Array( AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations, ) as any as S.Schema; export type AnnotationsOutagesGetResponseAnnotationsItemOriginsList = Array; export const AnnotationsOutagesGetResponseAnnotationsItemOriginsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AnnotationsOutagesGetResponseAnnotationsItemOriginsDetailsItem { name: string; origin: string; } export const AnnotationsOutagesGetResponseAnnotationsItemOriginsDetailsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, origin: S.String, }), ).annotate({ identifier: "AnnotationsOutagesGetResponseAnnotationsItemOriginsDetailsItem", }) as any as S.Schema; export type AnnotationsOutagesGetResponseAnnotationsItemOriginsDetailsList = Array; export const AnnotationsOutagesGetResponseAnnotationsItemOriginsDetailsList = /*@__PURE__*/ S.Array( AnnotationsOutagesGetResponseAnnotationsItemOriginsDetailsItem, ) as any as S.Schema; export interface AnnotationsOutagesGetResponseAnnotationsItemOutage { outageCause: string; outageType: string; } export const AnnotationsOutagesGetResponseAnnotationsItemOutage = /*@__PURE__*/ S.suspend(() => S.Struct({ outageCause: S.String, outageType: S.String, }), ).annotate({ identifier: "AnnotationsOutagesGetResponseAnnotationsItemOutage", }) as any as S.Schema; export interface AnnotationsOutagesGetResponseAnnotationsItem { id: string; asns: AnnotationsOutagesGetResponseAnnotationsItemAsnsList; asnsDetails: AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsList; dataSource: string; eventType: string; locations: AnnotationsOutagesGetResponseAnnotationsItemLocationsList; locationsDetails: AnnotationsOutagesGetResponseAnnotationsItemLocationsDetailsList; origins: AnnotationsOutagesGetResponseAnnotationsItemOriginsList; originsDetails: AnnotationsOutagesGetResponseAnnotationsItemOriginsDetailsList; outage: AnnotationsOutagesGetResponseAnnotationsItemOutage; startDate: string; description?: string | null; endDate?: string | null; linkedUrl?: string | null; scope?: string | null; } export const AnnotationsOutagesGetResponseAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.String, asns: AnnotationsOutagesGetResponseAnnotationsItemAsnsList, asnsDetails: AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsList, dataSource: S.String, eventType: S.String, locations: AnnotationsOutagesGetResponseAnnotationsItemLocationsList, locationsDetails: AnnotationsOutagesGetResponseAnnotationsItemLocationsDetailsList, origins: AnnotationsOutagesGetResponseAnnotationsItemOriginsList, originsDetails: AnnotationsOutagesGetResponseAnnotationsItemOriginsDetailsList, outage: AnnotationsOutagesGetResponseAnnotationsItemOutage, startDate: S.String, description: S.optional(S.NullOr(S.String)), endDate: S.optional(S.NullOr(S.String)), linkedUrl: S.optional(S.NullOr(S.String)), scope: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "AnnotationsOutagesGetResponseAnnotationsItem", }) as any as S.Schema; export type AnnotationsOutagesGetResponseAnnotationsList = Array; export const AnnotationsOutagesGetResponseAnnotationsList = /*@__PURE__*/ S.Array( AnnotationsOutagesGetResponseAnnotationsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetAnnotationOutageResponse { annotations: AnnotationsOutagesGetResponseAnnotationsList; } export const GetAnnotationOutageResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AnnotationsOutagesGetResponseAnnotationsList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetAnnotationOutageResponse", }) as any as S.Schema; export type BgpTopAsesGetRequestAsnList = Array; export const BgpTopAsesGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTopAsesGetRequestDateEndList = Array; export const BgpTopAsesGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTopAsesGetRequestDateRangeList = Array; export const BgpTopAsesGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTopAsesGetRequestDateStartList = Array; export const BgpTopAsesGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTopAsesGetRequestFormat = "JSON" | "CSV"; export const BgpTopAsesGetRequestFormat = /*@__PURE__*/ S.String; export type BgpTopAsesGetRequestNameList = Array; export const BgpTopAsesGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTopAsesGetRequestPrefixList = Array; export const BgpTopAsesGetRequestPrefixList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTopAsesGetRequestUpdateType = "ANNOUNCEMENT" | "WITHDRAWAL"; export const BgpTopAsesGetRequestUpdateType = /*@__PURE__*/ S.String; export type BgpTopAsesGetRequestUpdateTypeList = Array< BgpTopAsesGetRequestUpdateType | (string & {}) >; export const BgpTopAsesGetRequestUpdateTypeList = /*@__PURE__*/ S.Array( BgpTopAsesGetRequestUpdateType, ) as any as S.Schema; export interface GetBgpTopAsRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: BgpTopAsesGetRequestAsnList; /** End of the date range (inclusive). */ dateEnd?: BgpTopAsesGetRequestDateEndList; /** 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). */ dateRange?: BgpTopAsesGetRequestDateRangeList; /** Start of the date range. */ dateStart?: BgpTopAsesGetRequestDateStartList; /** Format in which results will be returned. */ format?: BgpTopAsesGetRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Array of names used to label the series in the response. */ name?: BgpTopAsesGetRequestNameList; /** Filters results by BGP network prefix. */ prefix?: BgpTopAsesGetRequestPrefixList; /** Filters results by BGP update type. */ updateType?: BgpTopAsesGetRequestUpdateTypeList; } export const GetBgpTopAsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(BgpTopAsesGetRequestAsnList.pipe(T.Query())), dateEnd: S.optional(BgpTopAsesGetRequestDateEndList.pipe(T.Query())), dateRange: S.optional(BgpTopAsesGetRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(BgpTopAsesGetRequestDateStartList.pipe(T.Query())), format: S.optional(BgpTopAsesGetRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), name: S.optional(BgpTopAsesGetRequestNameList.pipe(T.Query())), prefix: S.optional(BgpTopAsesGetRequestPrefixList.pipe(T.Query())), updateType: S.optional(BgpTopAsesGetRequestUpdateTypeList.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/bgp/top/ases", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetBgpTopAsRequest", }) as any as S.Schema; export type BgpTopAsesGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const BgpTopAsesGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type BgpTopAsesGetResponseMetaDateRangeList = Array; export const BgpTopAsesGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export interface BgpTopAsesGetResponseMeta { dateRange: BgpTopAsesGetResponseMetaDateRangeList; } export const BgpTopAsesGetResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ dateRange: BgpTopAsesGetResponseMetaDateRangeList, }), ).annotate({ identifier: "BgpTopAsesGetResponseMeta", }) as any as S.Schema; export interface BgpTopAsesGetResponseTop0Item { asn: number; aSName: string; /** Percentage of updates by this AS out of the total updates by all autonomous systems. */ value: string; } export const BgpTopAsesGetResponseTop0Item = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.Number, aSName: S.String.pipe(T.Body("ASName")), value: S.String, }), ).annotate({ identifier: "BgpTopAsesGetResponseTop0Item", }) as any as S.Schema; export type BgpTopAsesGetResponseTop0List = Array; export const BgpTopAsesGetResponseTop0List = /*@__PURE__*/ S.Array( BgpTopAsesGetResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetBgpTopAsResponse { meta: BgpTopAsesGetResponseMeta; top_0: BgpTopAsesGetResponseTop0List; } export const GetBgpTopAsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: BgpTopAsesGetResponseMeta, top_0: BgpTopAsesGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetBgpTopAsResponse", }) as any as S.Schema; export type BotsGetRequestFormat = "JSON" | "CSV"; export const BotsGetRequestFormat = /*@__PURE__*/ S.String; export interface GetBotRequest { /** Bot slug. */ botSlug: string; /** Format in which results will be returned. */ format?: BotsGetRequestFormat | (string & {}); } export const GetBotRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ botSlug: S.String.pipe(T.Label("bot_slug")), format: S.optional(BotsGetRequestFormat.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/bots/{bot_slug}", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetBotRequest" }) as any as S.Schema; export type BotsGetResponseBotUserAgentPatternsList = Array; export const BotsGetResponseBotUserAgentPatternsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsGetResponseBotUserAgentsList = Array; export const BotsGetResponseBotUserAgentsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BotsGetResponseBot { /** The category of the bot. */ category: string; /** A summary for the bot (e.g., purpose). */ description: string; /** The kind of the bot. */ kind: string; /** The name of the bot. */ name: string; /** The organization that owns and operates the bot. */ operator: string; /** The link to the bot documentation. */ operatorUrl: string; /** A kebab-case identifier derived from the bot name. */ slug: string; userAgentPatterns: BotsGetResponseBotUserAgentPatternsList; userAgents: BotsGetResponseBotUserAgentsList; /** The URL of the agent's [Web Bot Auth](https://blog.cloudflare.com/web-bot-auth/) resource. Null for bots not verified via request signature. */ signatureAgentUrl?: string | null; } export const BotsGetResponseBot = /*@__PURE__*/ S.suspend(() => S.Struct({ category: S.String, description: S.String, kind: S.String, name: S.String, operator: S.String, operatorUrl: S.String, slug: S.String, userAgentPatterns: BotsGetResponseBotUserAgentPatternsList, userAgents: BotsGetResponseBotUserAgentsList, signatureAgentUrl: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "BotsGetResponseBot", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetBotResponse { bot: BotsGetResponseBot; } export const GetBotResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ bot: BotsGetResponseBot, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetBotResponse" }) as any as S.Schema; export type CtAuthoritiesGetRequestFormat = "JSON" | "CSV"; export const CtAuthoritiesGetRequestFormat = /*@__PURE__*/ S.String; export interface GetCtAuthorityRequest { /** Certificate authority SHA256 fingerprint. */ caSlug: string; /** Format in which results will be returned. */ format?: CtAuthoritiesGetRequestFormat | (string & {}); } export const GetCtAuthorityRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ caSlug: S.String.pipe(T.Label("ca_slug")), format: S.optional(CtAuthoritiesGetRequestFormat.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/ct/authorities/{ca_slug}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetCtAuthorityRequest", }) as any as S.Schema; export type CtAuthoritiesGetResponseCertificateAuthorityAppleStatus = | "INCLUDED" | "NOT_YET_INCLUDED" | "NOT_INCLUDED" | "NOT_BEFORE" | "REMOVED" | "DISABLED" | "BLOCKED"; export const CtAuthoritiesGetResponseCertificateAuthorityAppleStatus = /*@__PURE__*/ S.String; export type CtAuthoritiesGetResponseCertificateAuthorityCertificateRecordType = | "ROOT_CERTIFICATE" | "INTERMEDIATE_CERTIFICATE"; export const CtAuthoritiesGetResponseCertificateAuthorityCertificateRecordType = /*@__PURE__*/ S.String; export type CtAuthoritiesGetResponseCertificateAuthorityChromeStatus = | "INCLUDED" | "NOT_YET_INCLUDED" | "NOT_INCLUDED" | "NOT_BEFORE" | "REMOVED" | "DISABLED" | "BLOCKED"; export const CtAuthoritiesGetResponseCertificateAuthorityChromeStatus = /*@__PURE__*/ S.String; export type CtAuthoritiesGetResponseCertificateAuthorityMicrosoftStatus = | "INCLUDED" | "NOT_YET_INCLUDED" | "NOT_INCLUDED" | "NOT_BEFORE" | "REMOVED" | "DISABLED" | "BLOCKED"; export const CtAuthoritiesGetResponseCertificateAuthorityMicrosoftStatus = /*@__PURE__*/ S.String; export type CtAuthoritiesGetResponseCertificateAuthorityMozillaStatus = | "INCLUDED" | "NOT_YET_INCLUDED" | "NOT_INCLUDED" | "NOT_BEFORE" | "REMOVED" | "DISABLED" | "BLOCKED"; export const CtAuthoritiesGetResponseCertificateAuthorityMozillaStatus = /*@__PURE__*/ S.String; export type CtAuthoritiesGetResponseCertificateAuthorityRelatedItemCertificateRecordType = | "ROOT_CERTIFICATE" | "INTERMEDIATE_CERTIFICATE"; export const CtAuthoritiesGetResponseCertificateAuthorityRelatedItemCertificateRecordType = /*@__PURE__*/ S.String; export type CtAuthoritiesGetResponseCertificateAuthorityRelatedItemRevocationStatus = | "NOT_REVOKED" | "REVOKED" | "PARENT_CERT_REVOKED"; export const CtAuthoritiesGetResponseCertificateAuthorityRelatedItemRevocationStatus = /*@__PURE__*/ S.String; export interface CtAuthoritiesGetResponseCertificateAuthorityRelatedItem { /** Specifies the type of certificate in the trust chain. */ certificateRecordType: CtAuthoritiesGetResponseCertificateAuthorityRelatedItemCertificateRecordType; /** The full name of the certificate authority (CA). */ name: string; /** The current revocation status of a Certificate Authority (CA) certificate. */ revocationStatus: CtAuthoritiesGetResponseCertificateAuthorityRelatedItemRevocationStatus; /** The SHA-256 fingerprint of the intermediate certificate. */ sha256Fingerprint: string; } export const CtAuthoritiesGetResponseCertificateAuthorityRelatedItem = /*@__PURE__*/ S.suspend(() => S.Struct({ certificateRecordType: CtAuthoritiesGetResponseCertificateAuthorityRelatedItemCertificateRecordType, name: S.String, revocationStatus: CtAuthoritiesGetResponseCertificateAuthorityRelatedItemRevocationStatus, sha256Fingerprint: S.String, }), ).annotate({ identifier: "CtAuthoritiesGetResponseCertificateAuthorityRelatedItem", }) as any as S.Schema; export type CtAuthoritiesGetResponseCertificateAuthorityRelatedList = Array; export const CtAuthoritiesGetResponseCertificateAuthorityRelatedList = /*@__PURE__*/ S.Array( CtAuthoritiesGetResponseCertificateAuthorityRelatedItem, ) as any as S.Schema; export type CtAuthoritiesGetResponseCertificateAuthorityRevocationStatus = | "NOT_REVOKED" | "REVOKED" | "PARENT_CERT_REVOKED"; export const CtAuthoritiesGetResponseCertificateAuthorityRevocationStatus = /*@__PURE__*/ S.String; export interface CtAuthoritiesGetResponseCertificateAuthority { /** The inclusion status of a Certificate Authority (CA) in the trust store. */ appleStatus: CtAuthoritiesGetResponseCertificateAuthorityAppleStatus; /** The authorityKeyIdentifier value extracted from the certificate PEM. */ authorityKeyIdentifier: string; /** Specifies the type of certificate in the trust chain. */ certificateRecordType: CtAuthoritiesGetResponseCertificateAuthorityCertificateRecordType; /** The inclusion status of a Certificate Authority (CA) in the trust store. */ chromeStatus: CtAuthoritiesGetResponseCertificateAuthorityChromeStatus; /** The two-letter ISO country code where the CA organization is based. */ country: string; /** The full country name corresponding to the country code. */ countryName: string; /** The inclusion status of a Certificate Authority (CA) in the trust store. */ microsoftStatus: CtAuthoritiesGetResponseCertificateAuthorityMicrosoftStatus; /** The inclusion status of a Certificate Authority (CA) in the trust store. */ mozillaStatus: CtAuthoritiesGetResponseCertificateAuthorityMozillaStatus; /** The full name of the certificate authority (CA). */ name: string; /** The organization that owns and operates the CA. */ owner: string; /** The name of the parent/root certificate authority that issued this intermediate certificate. */ parentName: string; /** The SHA-256 fingerprint of the parent certificate. */ parentSha256Fingerprint: string; /** CAs from the same owner. */ related: CtAuthoritiesGetResponseCertificateAuthorityRelatedList; /** The current revocation status of a Certificate Authority (CA) certificate. */ revocationStatus: CtAuthoritiesGetResponseCertificateAuthorityRevocationStatus; /** The SHA-256 fingerprint of the intermediate certificate. */ sha256Fingerprint: string; /** The subjectKeyIdentifier value extracted from the certificate PEM. */ subjectKeyIdentifier: string; /** The start date of the certificate’s validity period (ISO format). */ validFrom: string; /** The end date of the certificate’s validity period (ISO format). */ validTo: string; } export const CtAuthoritiesGetResponseCertificateAuthority = /*@__PURE__*/ S.suspend(() => S.Struct({ appleStatus: CtAuthoritiesGetResponseCertificateAuthorityAppleStatus, authorityKeyIdentifier: S.String, certificateRecordType: CtAuthoritiesGetResponseCertificateAuthorityCertificateRecordType, chromeStatus: CtAuthoritiesGetResponseCertificateAuthorityChromeStatus, country: S.String, countryName: S.String, microsoftStatus: CtAuthoritiesGetResponseCertificateAuthorityMicrosoftStatus, mozillaStatus: CtAuthoritiesGetResponseCertificateAuthorityMozillaStatus, name: S.String, owner: S.String, parentName: S.String, parentSha256Fingerprint: S.String, related: CtAuthoritiesGetResponseCertificateAuthorityRelatedList, revocationStatus: CtAuthoritiesGetResponseCertificateAuthorityRevocationStatus, sha256Fingerprint: S.String, subjectKeyIdentifier: S.String, validFrom: S.String, validTo: S.String, }), ).annotate({ identifier: "CtAuthoritiesGetResponseCertificateAuthority", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetCtAuthorityResponse { certificateAuthority: CtAuthoritiesGetResponseCertificateAuthority; } export const GetCtAuthorityResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ certificateAuthority: CtAuthoritiesGetResponseCertificateAuthority, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetCtAuthorityResponse", }) as any as S.Schema; export type CtLogsGetRequestFormat = "JSON" | "CSV"; export const CtLogsGetRequestFormat = /*@__PURE__*/ S.String; export interface GetCtLogRequest { /** Certificate log slug. */ logSlug: string; /** Format in which results will be returned. */ format?: CtLogsGetRequestFormat | (string & {}); } export const GetCtLogRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ logSlug: S.String.pipe(T.Label("log_slug")), format: S.optional(CtLogsGetRequestFormat.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/ct/logs/{log_slug}", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetCtLogRequest", }) as any as S.Schema; export type CtLogsGetResponseCertificateLogApi = "RFC6962" | "STATIC"; export const CtLogsGetResponseCertificateLogApi = /*@__PURE__*/ S.String; export type CtLogsGetResponseCertificateLogPerformanceEndpointsItemEndpoint = | "add-chain (new)" | "add-chain (old)" | "add-pre-chain (new)" | "add-pre-chain (old)" | "get-entries" | "get-roots" | "get-sth"; export const CtLogsGetResponseCertificateLogPerformanceEndpointsItemEndpoint = /*@__PURE__*/ S.String; export interface CtLogsGetResponseCertificateLogPerformanceEndpointsItem { /** The certificate log endpoint names used in performance metrics. */ endpoint: CtLogsGetResponseCertificateLogPerformanceEndpointsItemEndpoint; responseTime: number; uptime: number; } export const CtLogsGetResponseCertificateLogPerformanceEndpointsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ endpoint: CtLogsGetResponseCertificateLogPerformanceEndpointsItemEndpoint, responseTime: S.Number, uptime: S.Number, }), ).annotate({ identifier: "CtLogsGetResponseCertificateLogPerformanceEndpointsItem", }) as any as S.Schema; export type CtLogsGetResponseCertificateLogPerformanceEndpointsList = Array; export const CtLogsGetResponseCertificateLogPerformanceEndpointsList = /*@__PURE__*/ S.Array( CtLogsGetResponseCertificateLogPerformanceEndpointsItem, ) as any as S.Schema; export interface CtLogsGetResponseCertificateLogPerformance { endpoints: CtLogsGetResponseCertificateLogPerformanceEndpointsList; responseTime: number; uptime: number; } export const CtLogsGetResponseCertificateLogPerformance = /*@__PURE__*/ S.suspend(() => S.Struct({ endpoints: CtLogsGetResponseCertificateLogPerformanceEndpointsList, responseTime: S.Number, uptime: S.Number, }), ).annotate({ identifier: "CtLogsGetResponseCertificateLogPerformance", }) as any as S.Schema; export type CtLogsGetResponseCertificateLogRelatedItemState = | "USABLE" | "PENDING" | "QUALIFIED" | "READ_ONLY" | "RETIRED" | "REJECTED"; export const CtLogsGetResponseCertificateLogRelatedItemState = /*@__PURE__*/ S.String; export interface CtLogsGetResponseCertificateLogRelatedItem { /** A brief description of the certificate log. */ description: string; /** The end date and time for when the log will stop accepting certificates. */ endExclusive: string; /** A URL-friendly, kebab-case identifier for the certificate log. */ slug: string; /** The start date and time for when the log starts accepting certificates. */ startInclusive: string; /** The current state of the certificate log. More details about log states can be found here: https://googlechrome.github.io/CertificateTransparency/log_states.html */ state: CtLogsGetResponseCertificateLogRelatedItemState; } export const CtLogsGetResponseCertificateLogRelatedItem = /*@__PURE__*/ S.suspend(() => S.Struct({ description: S.String, endExclusive: S.String, slug: S.String, startInclusive: S.String, state: CtLogsGetResponseCertificateLogRelatedItemState, }), ).annotate({ identifier: "CtLogsGetResponseCertificateLogRelatedItem", }) as any as S.Schema; export type CtLogsGetResponseCertificateLogRelatedList = Array; export const CtLogsGetResponseCertificateLogRelatedList = /*@__PURE__*/ S.Array( CtLogsGetResponseCertificateLogRelatedItem, ) as any as S.Schema; export type CtLogsGetResponseCertificateLogState = | "USABLE" | "PENDING" | "QUALIFIED" | "READ_ONLY" | "RETIRED" | "REJECTED"; export const CtLogsGetResponseCertificateLogState = /*@__PURE__*/ S.String; export interface CtLogsGetResponseCertificateLog { /** The API standard that the certificate log follows. */ api: CtLogsGetResponseCertificateLogApi; /** The average throughput of the CT log, measured in certificates per hour (certs/hour). */ avgThroughput: number; /** A brief description of the certificate log. */ description: string; /** The end date and time for when the log will stop accepting certificates. */ endExclusive: string; /** Timestamp of the most recent update to the CT log. */ lastUpdate: string; /** The organization responsible for operating the certificate log. */ operator: string; /** Log performance metrics, including averages and per-endpoint details. */ performance: CtLogsGetResponseCertificateLogPerformance; /** Logs from the same operator. */ related: CtLogsGetResponseCertificateLogRelatedList; /** A URL-friendly, kebab-case identifier for the certificate log. */ slug: string; /** The start date and time for when the log starts accepting certificates. */ startInclusive: string; /** The current state of the certificate log. More details about log states can be found here: https://googlechrome.github.io/CertificateTransparency/log_states.html */ state: CtLogsGetResponseCertificateLogState; /** Timestamp of when the log state was last updated. */ stateTimestamp: string; /** Number of certificates that are eligible for inclusion to this log but have not been included yet. Based on certificates signed by trusted root CAs within the log's accepted date range. */ submittableCertCount: string; /** Number of certificates already included in this CT log. */ submittedCertCount: string; /** The URL for the certificate log. */ url: string; } export const CtLogsGetResponseCertificateLog = /*@__PURE__*/ S.suspend(() => S.Struct({ api: CtLogsGetResponseCertificateLogApi, avgThroughput: S.Number, description: S.String, endExclusive: S.String, lastUpdate: S.String, operator: S.String, performance: CtLogsGetResponseCertificateLogPerformance, related: CtLogsGetResponseCertificateLogRelatedList, slug: S.String, startInclusive: S.String, state: CtLogsGetResponseCertificateLogState, stateTimestamp: S.String, submittableCertCount: S.String, submittedCertCount: S.String, url: S.String, }), ).annotate({ identifier: "CtLogsGetResponseCertificateLog", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetCtLogResponse { certificateLog: CtLogsGetResponseCertificateLog; } export const GetCtLogResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ certificateLog: CtLogsGetResponseCertificateLog, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetCtLogResponse", }) as any as S.Schema; export interface GetDatasetRequest { /** Dataset alias or ID. */ alias: string; } export const GetDatasetRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ alias: S.String.pipe(T.Label()), }) .pipe(T.Http({ method: "GET", uri: "/radar/datasets/{alias}", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetDatasetRequest", }) as any as S.Schema; export interface GetDatasetResponse {} export const GetDatasetResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetDatasetResponse", }) as any as S.Schema; export type EmailSecurityTopTldsGetRequestArc = "PASS" | "NONE" | "FAIL"; export const EmailSecurityTopTldsGetRequestArc = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsGetRequestArcList = Array< EmailSecurityTopTldsGetRequestArc | (string & {}) >; export const EmailSecurityTopTldsGetRequestArcList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsGetRequestArc, ) as any as S.Schema; export type EmailSecurityTopTldsGetRequestDateEndList = Array; export const EmailSecurityTopTldsGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTopTldsGetRequestDateRangeList = Array; export const EmailSecurityTopTldsGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTopTldsGetRequestDateStartList = Array; export const EmailSecurityTopTldsGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTopTldsGetRequestDkim = "PASS" | "NONE" | "FAIL"; export const EmailSecurityTopTldsGetRequestDkim = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsGetRequestDkimList = Array< EmailSecurityTopTldsGetRequestDkim | (string & {}) >; export const EmailSecurityTopTldsGetRequestDkimList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsGetRequestDkim, ) as any as S.Schema; export type EmailSecurityTopTldsGetRequestDmarc = "PASS" | "NONE" | "FAIL"; export const EmailSecurityTopTldsGetRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsGetRequestDmarcList = Array< EmailSecurityTopTldsGetRequestDmarc | (string & {}) >; export const EmailSecurityTopTldsGetRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsGetRequestDmarc, ) as any as S.Schema; export type EmailSecurityTopTldsGetRequestFormat = "JSON" | "CSV"; export const EmailSecurityTopTldsGetRequestFormat = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsGetRequestNameList = Array; export const EmailSecurityTopTldsGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTopTldsGetRequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailSecurityTopTldsGetRequestSpf = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsGetRequestSpfList = Array< EmailSecurityTopTldsGetRequestSpf | (string & {}) >; export const EmailSecurityTopTldsGetRequestSpfList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsGetRequestSpf, ) as any as S.Schema; export type EmailSecurityTopTldsGetRequestTldCategory = "CLASSIC" | "COUNTRY"; export const EmailSecurityTopTldsGetRequestTldCategory = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecurityTopTldsGetRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsGetRequestTlsVersionList = Array< EmailSecurityTopTldsGetRequestTlsVersion | (string & {}) >; export const EmailSecurityTopTldsGetRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsGetRequestTlsVersion, ) as any as S.Schema; export interface GetEmailSecurityTopTldRequest { /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecurityTopTldsGetRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecurityTopTldsGetRequestDateEndList; /** 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). */ dateRange?: EmailSecurityTopTldsGetRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecurityTopTldsGetRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecurityTopTldsGetRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecurityTopTldsGetRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecurityTopTldsGetRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Array of names used to label the series in the response. */ name?: EmailSecurityTopTldsGetRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecurityTopTldsGetRequestSpfList; /** Filters results by TLD category. */ tldCategory?: EmailSecurityTopTldsGetRequestTldCategory | (string & {}); /** Filters results by TLS version. */ tlsVersion?: EmailSecurityTopTldsGetRequestTlsVersionList; } export const GetEmailSecurityTopTldRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ arc: S.optional(EmailSecurityTopTldsGetRequestArcList.pipe(T.Query())), dateEnd: S.optional( EmailSecurityTopTldsGetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecurityTopTldsGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecurityTopTldsGetRequestDateStartList.pipe(T.Query()), ), dkim: S.optional(EmailSecurityTopTldsGetRequestDkimList.pipe(T.Query())), dmarc: S.optional(EmailSecurityTopTldsGetRequestDmarcList.pipe(T.Query())), format: S.optional(EmailSecurityTopTldsGetRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), name: S.optional(EmailSecurityTopTldsGetRequestNameList.pipe(T.Query())), spf: S.optional(EmailSecurityTopTldsGetRequestSpfList.pipe(T.Query())), tldCategory: S.optional( EmailSecurityTopTldsGetRequestTldCategory.pipe(T.Query()), ), tlsVersion: S.optional( EmailSecurityTopTldsGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/top/tlds", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetEmailSecurityTopTldRequest", }) as any as S.Schema; export type EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecurityTopTldsGetResponseMetaConfidenceInfo { annotations: EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecurityTopTldsGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecurityTopTldsGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecurityTopTldsGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecurityTopTldsGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecurityTopTldsGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecurityTopTldsGetResponseMetaDateRangeList = Array; export const EmailSecurityTopTldsGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecurityTopTldsGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecurityTopTldsGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecurityTopTldsGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecurityTopTldsGetResponseMetaUnitsList = Array; export const EmailSecurityTopTldsGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecurityTopTldsGetResponseMeta { confidenceInfo: EmailSecurityTopTldsGetResponseMetaConfidenceInfo; dateRange: EmailSecurityTopTldsGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecurityTopTldsGetResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecurityTopTldsGetResponseMetaUnitsList; } export const EmailSecurityTopTldsGetResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: EmailSecurityTopTldsGetResponseMetaConfidenceInfo, dateRange: EmailSecurityTopTldsGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecurityTopTldsGetResponseMetaNormalization, units: EmailSecurityTopTldsGetResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecurityTopTldsGetResponseMeta", }) as any as S.Schema; export interface EmailSecurityTopTldsGetResponseTop0Item { name: string; /** A numeric string. */ value: string; } export const EmailSecurityTopTldsGetResponseTop0Item = /*@__PURE__*/ S.suspend( () => S.Struct({ name: S.String, value: S.String, }), ).annotate({ identifier: "EmailSecurityTopTldsGetResponseTop0Item", }) as any as S.Schema; export type EmailSecurityTopTldsGetResponseTop0List = Array; export const EmailSecurityTopTldsGetResponseTop0List = /*@__PURE__*/ S.Array( EmailSecurityTopTldsGetResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetEmailSecurityTopTldResponse { /** Metadata for the results. */ meta: EmailSecurityTopTldsGetResponseMeta; top_0: EmailSecurityTopTldsGetResponseTop0List; } export const GetEmailSecurityTopTldResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailSecurityTopTldsGetResponseMeta, top_0: EmailSecurityTopTldsGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetEmailSecurityTopTldResponse", }) as any as S.Schema; export type EmailSecurityTopTldsMaliciousGetRequestMalicious = | "MALICIOUS" | "NOT_MALICIOUS"; export const EmailSecurityTopTldsMaliciousGetRequestMalicious = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsMaliciousGetRequestArc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTopTldsMaliciousGetRequestArc = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsMaliciousGetRequestArcList = Array< EmailSecurityTopTldsMaliciousGetRequestArc | (string & {}) >; export const EmailSecurityTopTldsMaliciousGetRequestArcList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsMaliciousGetRequestArc, ) as any as S.Schema; export type EmailSecurityTopTldsMaliciousGetRequestDateEndList = Array; export const EmailSecurityTopTldsMaliciousGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTopTldsMaliciousGetRequestDateRangeList = Array; export const EmailSecurityTopTldsMaliciousGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTopTldsMaliciousGetRequestDateStartList = Array; export const EmailSecurityTopTldsMaliciousGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTopTldsMaliciousGetRequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTopTldsMaliciousGetRequestDkim = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsMaliciousGetRequestDkimList = Array< EmailSecurityTopTldsMaliciousGetRequestDkim | (string & {}) >; export const EmailSecurityTopTldsMaliciousGetRequestDkimList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsMaliciousGetRequestDkim, ) as any as S.Schema; export type EmailSecurityTopTldsMaliciousGetRequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTopTldsMaliciousGetRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsMaliciousGetRequestDmarcList = Array< EmailSecurityTopTldsMaliciousGetRequestDmarc | (string & {}) >; export const EmailSecurityTopTldsMaliciousGetRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsMaliciousGetRequestDmarc, ) as any as S.Schema; export type EmailSecurityTopTldsMaliciousGetRequestFormat = "JSON" | "CSV"; export const EmailSecurityTopTldsMaliciousGetRequestFormat = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsMaliciousGetRequestNameList = Array; export const EmailSecurityTopTldsMaliciousGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTopTldsMaliciousGetRequestSpf = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTopTldsMaliciousGetRequestSpf = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsMaliciousGetRequestSpfList = Array< EmailSecurityTopTldsMaliciousGetRequestSpf | (string & {}) >; export const EmailSecurityTopTldsMaliciousGetRequestSpfList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsMaliciousGetRequestSpf, ) as any as S.Schema; export type EmailSecurityTopTldsMaliciousGetRequestTldCategory = | "CLASSIC" | "COUNTRY"; export const EmailSecurityTopTldsMaliciousGetRequestTldCategory = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsMaliciousGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecurityTopTldsMaliciousGetRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsMaliciousGetRequestTlsVersionList = Array< EmailSecurityTopTldsMaliciousGetRequestTlsVersion | (string & {}) >; export const EmailSecurityTopTldsMaliciousGetRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsMaliciousGetRequestTlsVersion, ) as any as S.Schema; export interface GetEmailSecurityTopTldMaliciousRequest { /** Malicious classification. */ malicious: EmailSecurityTopTldsMaliciousGetRequestMalicious | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecurityTopTldsMaliciousGetRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecurityTopTldsMaliciousGetRequestDateEndList; /** 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). */ dateRange?: EmailSecurityTopTldsMaliciousGetRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecurityTopTldsMaliciousGetRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecurityTopTldsMaliciousGetRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecurityTopTldsMaliciousGetRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecurityTopTldsMaliciousGetRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Array of names used to label the series in the response. */ name?: EmailSecurityTopTldsMaliciousGetRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecurityTopTldsMaliciousGetRequestSpfList; /** Filters results by TLD category. */ tldCategory?: | EmailSecurityTopTldsMaliciousGetRequestTldCategory | (string & {}); /** Filters results by TLS version. */ tlsVersion?: EmailSecurityTopTldsMaliciousGetRequestTlsVersionList; } export const GetEmailSecurityTopTldMaliciousRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ malicious: EmailSecurityTopTldsMaliciousGetRequestMalicious.pipe( T.Label(), ), arc: S.optional( EmailSecurityTopTldsMaliciousGetRequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailSecurityTopTldsMaliciousGetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecurityTopTldsMaliciousGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecurityTopTldsMaliciousGetRequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailSecurityTopTldsMaliciousGetRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailSecurityTopTldsMaliciousGetRequestDmarcList.pipe(T.Query()), ), format: S.optional( EmailSecurityTopTldsMaliciousGetRequestFormat.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), name: S.optional( EmailSecurityTopTldsMaliciousGetRequestNameList.pipe(T.Query()), ), spf: S.optional( EmailSecurityTopTldsMaliciousGetRequestSpfList.pipe(T.Query()), ), tldCategory: S.optional( EmailSecurityTopTldsMaliciousGetRequestTldCategory.pipe(T.Query()), ), tlsVersion: S.optional( EmailSecurityTopTldsMaliciousGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/top/tlds/malicious/{malicious}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetEmailSecurityTopTldMaliciousRequest", }) as any as S.Schema; export type EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfo { annotations: EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecurityTopTldsMaliciousGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecurityTopTldsMaliciousGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecurityTopTldsMaliciousGetResponseMetaDateRangeList = Array; export const EmailSecurityTopTldsMaliciousGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecurityTopTldsMaliciousGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecurityTopTldsMaliciousGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsMaliciousGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecurityTopTldsMaliciousGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecurityTopTldsMaliciousGetResponseMetaUnitsList = Array; export const EmailSecurityTopTldsMaliciousGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecurityTopTldsMaliciousGetResponseMeta { confidenceInfo: EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfo; dateRange: EmailSecurityTopTldsMaliciousGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecurityTopTldsMaliciousGetResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecurityTopTldsMaliciousGetResponseMetaUnitsList; } export const EmailSecurityTopTldsMaliciousGetResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: EmailSecurityTopTldsMaliciousGetResponseMetaConfidenceInfo, dateRange: EmailSecurityTopTldsMaliciousGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecurityTopTldsMaliciousGetResponseMetaNormalization, units: EmailSecurityTopTldsMaliciousGetResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecurityTopTldsMaliciousGetResponseMeta", }) as any as S.Schema; export type EmailSecurityTopTldsMaliciousGetResponseTop0Item = EmailSecurityTopTldsGetResponseTop0Item; export const EmailSecurityTopTldsMaliciousGetResponseTop0Item = EmailSecurityTopTldsGetResponseTop0Item; export type EmailSecurityTopTldsMaliciousGetResponseTop0List = Array; export const EmailSecurityTopTldsMaliciousGetResponseTop0List = /*@__PURE__*/ S.Array( EmailSecurityTopTldsGetResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetEmailSecurityTopTldMaliciousResponse { /** Metadata for the results. */ meta: EmailSecurityTopTldsMaliciousGetResponseMeta; top_0: EmailSecurityTopTldsMaliciousGetResponseTop0List; } export const GetEmailSecurityTopTldMaliciousResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: EmailSecurityTopTldsMaliciousGetResponseMeta, top_0: EmailSecurityTopTldsMaliciousGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetEmailSecurityTopTldMaliciousResponse", }) as any as S.Schema; export type EmailSecurityTopTldsSpamGetRequestSpam = "SPAM" | "NOT_SPAM"; export const EmailSecurityTopTldsSpamGetRequestSpam = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpamGetRequestArc = "PASS" | "NONE" | "FAIL"; export const EmailSecurityTopTldsSpamGetRequestArc = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpamGetRequestArcList = Array< EmailSecurityTopTldsSpamGetRequestArc | (string & {}) >; export const EmailSecurityTopTldsSpamGetRequestArcList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsSpamGetRequestArc, ) as any as S.Schema; export type EmailSecurityTopTldsSpamGetRequestDateEndList = Array; export const EmailSecurityTopTldsSpamGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTopTldsSpamGetRequestDateRangeList = Array; export const EmailSecurityTopTldsSpamGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTopTldsSpamGetRequestDateStartList = Array; export const EmailSecurityTopTldsSpamGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTopTldsSpamGetRequestDkim = "PASS" | "NONE" | "FAIL"; export const EmailSecurityTopTldsSpamGetRequestDkim = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpamGetRequestDkimList = Array< EmailSecurityTopTldsSpamGetRequestDkim | (string & {}) >; export const EmailSecurityTopTldsSpamGetRequestDkimList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsSpamGetRequestDkim, ) as any as S.Schema; export type EmailSecurityTopTldsSpamGetRequestDmarc = "PASS" | "NONE" | "FAIL"; export const EmailSecurityTopTldsSpamGetRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpamGetRequestDmarcList = Array< EmailSecurityTopTldsSpamGetRequestDmarc | (string & {}) >; export const EmailSecurityTopTldsSpamGetRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsSpamGetRequestDmarc, ) as any as S.Schema; export type EmailSecurityTopTldsSpamGetRequestFormat = "JSON" | "CSV"; export const EmailSecurityTopTldsSpamGetRequestFormat = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpamGetRequestNameList = Array; export const EmailSecurityTopTldsSpamGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTopTldsSpamGetRequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailSecurityTopTldsSpamGetRequestSpf = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpamGetRequestSpfList = Array< EmailSecurityTopTldsSpamGetRequestSpf | (string & {}) >; export const EmailSecurityTopTldsSpamGetRequestSpfList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsSpamGetRequestSpf, ) as any as S.Schema; export type EmailSecurityTopTldsSpamGetRequestTldCategory = | "CLASSIC" | "COUNTRY"; export const EmailSecurityTopTldsSpamGetRequestTldCategory = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpamGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecurityTopTldsSpamGetRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpamGetRequestTlsVersionList = Array< EmailSecurityTopTldsSpamGetRequestTlsVersion | (string & {}) >; export const EmailSecurityTopTldsSpamGetRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsSpamGetRequestTlsVersion, ) as any as S.Schema; export interface GetEmailSecurityTopTldSpamRequest { /** Spam classification. */ spam: EmailSecurityTopTldsSpamGetRequestSpam | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecurityTopTldsSpamGetRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecurityTopTldsSpamGetRequestDateEndList; /** 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). */ dateRange?: EmailSecurityTopTldsSpamGetRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecurityTopTldsSpamGetRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecurityTopTldsSpamGetRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecurityTopTldsSpamGetRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecurityTopTldsSpamGetRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Array of names used to label the series in the response. */ name?: EmailSecurityTopTldsSpamGetRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecurityTopTldsSpamGetRequestSpfList; /** Filters results by TLD category. */ tldCategory?: EmailSecurityTopTldsSpamGetRequestTldCategory | (string & {}); /** Filters results by TLS version. */ tlsVersion?: EmailSecurityTopTldsSpamGetRequestTlsVersionList; } export const GetEmailSecurityTopTldSpamRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ spam: EmailSecurityTopTldsSpamGetRequestSpam.pipe(T.Label()), arc: S.optional(EmailSecurityTopTldsSpamGetRequestArcList.pipe(T.Query())), dateEnd: S.optional( EmailSecurityTopTldsSpamGetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecurityTopTldsSpamGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecurityTopTldsSpamGetRequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailSecurityTopTldsSpamGetRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailSecurityTopTldsSpamGetRequestDmarcList.pipe(T.Query()), ), format: S.optional( EmailSecurityTopTldsSpamGetRequestFormat.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), name: S.optional( EmailSecurityTopTldsSpamGetRequestNameList.pipe(T.Query()), ), spf: S.optional(EmailSecurityTopTldsSpamGetRequestSpfList.pipe(T.Query())), tldCategory: S.optional( EmailSecurityTopTldsSpamGetRequestTldCategory.pipe(T.Query()), ), tlsVersion: S.optional( EmailSecurityTopTldsSpamGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/top/tlds/spam/{spam}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetEmailSecurityTopTldSpamRequest", }) as any as S.Schema; export type EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfo { annotations: EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecurityTopTldsSpamGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecurityTopTldsSpamGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecurityTopTldsSpamGetResponseMetaDateRangeList = Array; export const EmailSecurityTopTldsSpamGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecurityTopTldsSpamGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecurityTopTldsSpamGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpamGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecurityTopTldsSpamGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecurityTopTldsSpamGetResponseMetaUnitsList = Array; export const EmailSecurityTopTldsSpamGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecurityTopTldsSpamGetResponseMeta { confidenceInfo: EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfo; dateRange: EmailSecurityTopTldsSpamGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecurityTopTldsSpamGetResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecurityTopTldsSpamGetResponseMetaUnitsList; } export const EmailSecurityTopTldsSpamGetResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: EmailSecurityTopTldsSpamGetResponseMetaConfidenceInfo, dateRange: EmailSecurityTopTldsSpamGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecurityTopTldsSpamGetResponseMetaNormalization, units: EmailSecurityTopTldsSpamGetResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecurityTopTldsSpamGetResponseMeta", }) as any as S.Schema; export type EmailSecurityTopTldsSpamGetResponseTop0Item = EmailSecurityTopTldsGetResponseTop0Item; export const EmailSecurityTopTldsSpamGetResponseTop0Item = EmailSecurityTopTldsGetResponseTop0Item; export type EmailSecurityTopTldsSpamGetResponseTop0List = Array; export const EmailSecurityTopTldsSpamGetResponseTop0List = /*@__PURE__*/ S.Array( EmailSecurityTopTldsGetResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetEmailSecurityTopTldSpamResponse { /** Metadata for the results. */ meta: EmailSecurityTopTldsSpamGetResponseMeta; top_0: EmailSecurityTopTldsSpamGetResponseTop0List; } export const GetEmailSecurityTopTldSpamResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailSecurityTopTldsSpamGetResponseMeta, top_0: EmailSecurityTopTldsSpamGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetEmailSecurityTopTldSpamResponse", }) as any as S.Schema; export type EmailSecurityTopTldsSpoofGetRequestSpoof = "SPOOF" | "NOT_SPOOF"; export const EmailSecurityTopTldsSpoofGetRequestSpoof = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpoofGetRequestArc = "PASS" | "NONE" | "FAIL"; export const EmailSecurityTopTldsSpoofGetRequestArc = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpoofGetRequestArcList = Array< EmailSecurityTopTldsSpoofGetRequestArc | (string & {}) >; export const EmailSecurityTopTldsSpoofGetRequestArcList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsSpoofGetRequestArc, ) as any as S.Schema; export type EmailSecurityTopTldsSpoofGetRequestDateEndList = Array; export const EmailSecurityTopTldsSpoofGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTopTldsSpoofGetRequestDateRangeList = Array; export const EmailSecurityTopTldsSpoofGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTopTldsSpoofGetRequestDateStartList = Array; export const EmailSecurityTopTldsSpoofGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTopTldsSpoofGetRequestDkim = "PASS" | "NONE" | "FAIL"; export const EmailSecurityTopTldsSpoofGetRequestDkim = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpoofGetRequestDkimList = Array< EmailSecurityTopTldsSpoofGetRequestDkim | (string & {}) >; export const EmailSecurityTopTldsSpoofGetRequestDkimList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsSpoofGetRequestDkim, ) as any as S.Schema; export type EmailSecurityTopTldsSpoofGetRequestDmarc = "PASS" | "NONE" | "FAIL"; export const EmailSecurityTopTldsSpoofGetRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpoofGetRequestDmarcList = Array< EmailSecurityTopTldsSpoofGetRequestDmarc | (string & {}) >; export const EmailSecurityTopTldsSpoofGetRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsSpoofGetRequestDmarc, ) as any as S.Schema; export type EmailSecurityTopTldsSpoofGetRequestFormat = "JSON" | "CSV"; export const EmailSecurityTopTldsSpoofGetRequestFormat = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpoofGetRequestNameList = Array; export const EmailSecurityTopTldsSpoofGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTopTldsSpoofGetRequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailSecurityTopTldsSpoofGetRequestSpf = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpoofGetRequestSpfList = Array< EmailSecurityTopTldsSpoofGetRequestSpf | (string & {}) >; export const EmailSecurityTopTldsSpoofGetRequestSpfList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsSpoofGetRequestSpf, ) as any as S.Schema; export type EmailSecurityTopTldsSpoofGetRequestTldCategory = | "CLASSIC" | "COUNTRY"; export const EmailSecurityTopTldsSpoofGetRequestTldCategory = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpoofGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecurityTopTldsSpoofGetRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpoofGetRequestTlsVersionList = Array< EmailSecurityTopTldsSpoofGetRequestTlsVersion | (string & {}) >; export const EmailSecurityTopTldsSpoofGetRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsSpoofGetRequestTlsVersion, ) as any as S.Schema; export interface GetEmailSecurityTopTldSpoofRequest { /** Spoof classification. */ spoof: EmailSecurityTopTldsSpoofGetRequestSpoof | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecurityTopTldsSpoofGetRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecurityTopTldsSpoofGetRequestDateEndList; /** 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). */ dateRange?: EmailSecurityTopTldsSpoofGetRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecurityTopTldsSpoofGetRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecurityTopTldsSpoofGetRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecurityTopTldsSpoofGetRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecurityTopTldsSpoofGetRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Array of names used to label the series in the response. */ name?: EmailSecurityTopTldsSpoofGetRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecurityTopTldsSpoofGetRequestSpfList; /** Filters results by TLD category. */ tldCategory?: EmailSecurityTopTldsSpoofGetRequestTldCategory | (string & {}); /** Filters results by TLS version. */ tlsVersion?: EmailSecurityTopTldsSpoofGetRequestTlsVersionList; } export const GetEmailSecurityTopTldSpoofRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ spoof: EmailSecurityTopTldsSpoofGetRequestSpoof.pipe(T.Label()), arc: S.optional(EmailSecurityTopTldsSpoofGetRequestArcList.pipe(T.Query())), dateEnd: S.optional( EmailSecurityTopTldsSpoofGetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecurityTopTldsSpoofGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecurityTopTldsSpoofGetRequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailSecurityTopTldsSpoofGetRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailSecurityTopTldsSpoofGetRequestDmarcList.pipe(T.Query()), ), format: S.optional( EmailSecurityTopTldsSpoofGetRequestFormat.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), name: S.optional( EmailSecurityTopTldsSpoofGetRequestNameList.pipe(T.Query()), ), spf: S.optional(EmailSecurityTopTldsSpoofGetRequestSpfList.pipe(T.Query())), tldCategory: S.optional( EmailSecurityTopTldsSpoofGetRequestTldCategory.pipe(T.Query()), ), tlsVersion: S.optional( EmailSecurityTopTldsSpoofGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/top/tlds/spoof/{spoof}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetEmailSecurityTopTldSpoofRequest", }) as any as S.Schema; export type EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfo { annotations: EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecurityTopTldsSpoofGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecurityTopTldsSpoofGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecurityTopTldsSpoofGetResponseMetaDateRangeList = Array; export const EmailSecurityTopTldsSpoofGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecurityTopTldsSpoofGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecurityTopTldsSpoofGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecurityTopTldsSpoofGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecurityTopTldsSpoofGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecurityTopTldsSpoofGetResponseMetaUnitsList = Array; export const EmailSecurityTopTldsSpoofGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecurityTopTldsSpoofGetResponseMeta { confidenceInfo: EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfo; dateRange: EmailSecurityTopTldsSpoofGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecurityTopTldsSpoofGetResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecurityTopTldsSpoofGetResponseMetaUnitsList; } export const EmailSecurityTopTldsSpoofGetResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: EmailSecurityTopTldsSpoofGetResponseMetaConfidenceInfo, dateRange: EmailSecurityTopTldsSpoofGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecurityTopTldsSpoofGetResponseMetaNormalization, units: EmailSecurityTopTldsSpoofGetResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecurityTopTldsSpoofGetResponseMeta", }) as any as S.Schema; export type EmailSecurityTopTldsSpoofGetResponseTop0Item = EmailSecurityTopTldsGetResponseTop0Item; export const EmailSecurityTopTldsSpoofGetResponseTop0Item = EmailSecurityTopTldsGetResponseTop0Item; export type EmailSecurityTopTldsSpoofGetResponseTop0List = Array; export const EmailSecurityTopTldsSpoofGetResponseTop0List = /*@__PURE__*/ S.Array( EmailSecurityTopTldsGetResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetEmailSecurityTopTldSpoofResponse { /** Metadata for the results. */ meta: EmailSecurityTopTldsSpoofGetResponseMeta; top_0: EmailSecurityTopTldsSpoofGetResponseTop0List; } export const GetEmailSecurityTopTldSpoofResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailSecurityTopTldsSpoofGetResponseMeta, top_0: EmailSecurityTopTldsSpoofGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetEmailSecurityTopTldSpoofResponse", }) as any as S.Schema; export type EntitiesGetRequestFormat = "JSON" | "CSV"; export const EntitiesGetRequestFormat = /*@__PURE__*/ S.String; export interface GetEntityRequest { /** IP address. */ ip: string; /** Format in which results will be returned. */ format?: EntitiesGetRequestFormat | (string & {}); } export const GetEntityRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ ip: S.String.pipe(T.Query()), format: S.optional(EntitiesGetRequestFormat.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/entities/ip", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetEntityRequest", }) as any as S.Schema; export interface EntitiesGetResponseIp { asn: string; asnLocation: string; asnName: string; asnOrgName: string; ip: string; ipVersion: string; location: string; locationName: string; } export const EntitiesGetResponseIp = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.String, asnLocation: S.String, asnName: S.String, asnOrgName: S.String, ip: S.String, ipVersion: S.String, location: S.String, locationName: S.String, }), ).annotate({ identifier: "EntitiesGetResponseIp", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetEntityResponse { ip: EntitiesGetResponseIp; } export const GetEntityResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ ip: EntitiesGetResponseIp, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetEntityResponse", }) as any as S.Schema; export type EntitiesAsnsGetRequestFormat = "JSON" | "CSV"; export const EntitiesAsnsGetRequestFormat = /*@__PURE__*/ S.String; export interface GetEntityAsnRequest { /** Single Autonomous System Number (ASN) as integer. */ asn: number; /** Format in which results will be returned. */ format?: EntitiesAsnsGetRequestFormat | (string & {}); } export const GetEntityAsnRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.Number.pipe(T.Label()), format: S.optional(EntitiesAsnsGetRequestFormat.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/entities/asns/{asn}", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetEntityAsnRequest", }) as any as S.Schema; export interface EntitiesAsnsGetResponseAsnEstimatedUsersLocationsItem { locationAlpha2: string; locationName: string; /** Estimated users per location. */ estimatedUsers?: number | null; } export const EntitiesAsnsGetResponseAsnEstimatedUsersLocationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ locationAlpha2: S.String, locationName: S.String, estimatedUsers: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "EntitiesAsnsGetResponseAsnEstimatedUsersLocationsItem", }) as any as S.Schema; export type EntitiesAsnsGetResponseAsnEstimatedUsersLocationsList = Array; export const EntitiesAsnsGetResponseAsnEstimatedUsersLocationsList = /*@__PURE__*/ S.Array( EntitiesAsnsGetResponseAsnEstimatedUsersLocationsItem, ) as any as S.Schema; export interface EntitiesAsnsGetResponseAsnEstimatedUsers { locations: EntitiesAsnsGetResponseAsnEstimatedUsersLocationsList; /** Total estimated users. */ estimatedUsers?: number | null; } export const EntitiesAsnsGetResponseAsnEstimatedUsers = /*@__PURE__*/ S.suspend( () => S.Struct({ locations: EntitiesAsnsGetResponseAsnEstimatedUsersLocationsList, estimatedUsers: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "EntitiesAsnsGetResponseAsnEstimatedUsers", }) as any as S.Schema; export interface EntitiesAsnsGetResponseAsnRelatedItem { asn: number; name: string; aka?: string | null; /** Total estimated users. */ estimatedUsers?: number | null; } export const EntitiesAsnsGetResponseAsnRelatedItem = /*@__PURE__*/ S.suspend( () => S.Struct({ asn: S.Number, name: S.String, aka: S.optional(S.NullOr(S.String)), estimatedUsers: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "EntitiesAsnsGetResponseAsnRelatedItem", }) as any as S.Schema; export type EntitiesAsnsGetResponseAsnRelatedList = Array; export const EntitiesAsnsGetResponseAsnRelatedList = /*@__PURE__*/ S.Array( EntitiesAsnsGetResponseAsnRelatedItem, ) as any as S.Schema; export interface EntitiesAsnsGetResponseAsn { asn: number; confidenceLevel: number; country: string; countryName: string; estimatedUsers: EntitiesAsnsGetResponseAsnEstimatedUsers; name: string; orgName: string; related: EntitiesAsnsGetResponseAsnRelatedList; /** Regional Internet Registry. */ source: string; website: string; aka?: string | null; } export const EntitiesAsnsGetResponseAsn = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.Number, confidenceLevel: S.Number, country: S.String, countryName: S.String, estimatedUsers: EntitiesAsnsGetResponseAsnEstimatedUsers, name: S.String, orgName: S.String, related: EntitiesAsnsGetResponseAsnRelatedList, source: S.String, website: S.String, aka: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "EntitiesAsnsGetResponseAsn", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetEntityAsnResponse { asn: EntitiesAsnsGetResponseAsn; } export const GetEntityAsnResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: EntitiesAsnsGetResponseAsn, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetEntityAsnResponse", }) as any as S.Schema; export type EntitiesLocationsGetRequestFormat = "JSON" | "CSV"; export const EntitiesLocationsGetRequestFormat = /*@__PURE__*/ S.String; export interface GetEntityLocationRequest { /** Location alpha-2 code. */ location: string; /** Format in which results will be returned. */ format?: EntitiesLocationsGetRequestFormat | (string & {}); } export const GetEntityLocationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ location: S.String.pipe(T.Label()), format: S.optional(EntitiesLocationsGetRequestFormat.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/entities/locations/{location}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetEntityLocationRequest", }) as any as S.Schema; export interface EntitiesLocationsGetResponseLocation { alpha2: string; confidenceLevel: number; continent: string; /** A numeric string. */ latitude: string; /** A numeric string. */ longitude: string; name: string; region: string; subregion: string; } export const EntitiesLocationsGetResponseLocation = /*@__PURE__*/ S.suspend( () => S.Struct({ alpha2: S.String, confidenceLevel: S.Number, continent: S.String, latitude: S.String, longitude: S.String, name: S.String, region: S.String, subregion: S.String, }), ).annotate({ identifier: "EntitiesLocationsGetResponseLocation", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetEntityLocationResponse { location: EntitiesLocationsGetResponseLocation; } export const GetEntityLocationResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ location: EntitiesLocationsGetResponseLocation, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetEntityLocationResponse", }) as any as S.Schema; export type GeolocationsGetRequestFormat = "JSON" | "CSV"; export const GeolocationsGetRequestFormat = /*@__PURE__*/ S.String; export interface GetGeolocationRequest { /** Geolocation ID. Refer to [GeoNames](https://download.geonames.org/export/dump/readme.txt) */ geoId: string; /** Format in which results will be returned. */ format?: GeolocationsGetRequestFormat | (string & {}); } export const GetGeolocationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ geoId: S.String.pipe(T.Label("geo_id")), format: S.optional(GeolocationsGetRequestFormat.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/geolocations/{geo_id}", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetGeolocationRequest", }) as any as S.Schema; export type GeolocationsGetResponseGeolocationParentParentType = | "CONTINENT" | "COUNTRY" | "ADM1"; export const GeolocationsGetResponseGeolocationParentParentType = /*@__PURE__*/ S.String; export interface GeolocationsGetResponseGeolocationParentParent { geoId: string; /** A numeric string. */ latitude: string; /** A numeric string. */ longitude: string; name: string; /** The type of the geolocation. */ type: GeolocationsGetResponseGeolocationParentParentType; code?: string | null; /** BCP 47 locale code used for the geolocation name translation */ locale?: string | null; } export const GeolocationsGetResponseGeolocationParentParent = /*@__PURE__*/ S.suspend(() => S.Struct({ geoId: S.String, latitude: S.String, longitude: S.String, name: S.String, type: GeolocationsGetResponseGeolocationParentParentType, code: S.optional(S.NullOr(S.String)), locale: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "GeolocationsGetResponseGeolocationParentParent", }) as any as S.Schema; export type GeolocationsGetResponseGeolocationParentType = | "CONTINENT" | "COUNTRY" | "ADM1"; export const GeolocationsGetResponseGeolocationParentType = /*@__PURE__*/ S.String; export interface GeolocationsGetResponseGeolocationParent { geoId: string; /** A numeric string. */ latitude: string; /** A numeric string. */ longitude: string; name: string; parent: GeolocationsGetResponseGeolocationParentParent; /** The type of the geolocation. */ type: GeolocationsGetResponseGeolocationParentType; code?: string | null; /** BCP 47 locale code used for the geolocation name translation */ locale?: string | null; } export const GeolocationsGetResponseGeolocationParent = /*@__PURE__*/ S.suspend( () => S.Struct({ geoId: S.String, latitude: S.String, longitude: S.String, name: S.String, parent: GeolocationsGetResponseGeolocationParentParent, type: GeolocationsGetResponseGeolocationParentType, code: S.optional(S.NullOr(S.String)), locale: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "GeolocationsGetResponseGeolocationParent", }) as any as S.Schema; export type GeolocationsGetResponseGeolocationType = | "CONTINENT" | "COUNTRY" | "ADM1"; export const GeolocationsGetResponseGeolocationType = /*@__PURE__*/ S.String; export interface GeolocationsGetResponseGeolocation { geoId: string; /** A numeric string. */ latitude: string; /** A numeric string. */ longitude: string; name: string; parent: GeolocationsGetResponseGeolocationParent; /** The type of the geolocation. */ type: GeolocationsGetResponseGeolocationType; code?: string | null; /** BCP 47 locale code used for the geolocation name translation */ locale?: string | null; } export const GeolocationsGetResponseGeolocation = /*@__PURE__*/ S.suspend(() => S.Struct({ geoId: S.String, latitude: S.String, longitude: S.String, name: S.String, parent: GeolocationsGetResponseGeolocationParent, type: GeolocationsGetResponseGeolocationType, code: S.optional(S.NullOr(S.String)), locale: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "GeolocationsGetResponseGeolocation", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetGeolocationResponse { geolocation: GeolocationsGetResponseGeolocation; } export const GetGeolocationResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ geolocation: GeolocationsGetResponseGeolocation, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetGeolocationResponse", }) as any as S.Schema; export type HttpAsesGetRequestAsnList = Array; export const HttpAsesGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesGetRequestBotClass = "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpAsesGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpAsesGetRequestBotClassList = Array< HttpAsesGetRequestBotClass | (string & {}) >; export const HttpAsesGetRequestBotClassList = /*@__PURE__*/ S.Array( HttpAsesGetRequestBotClass, ) as any as S.Schema; export type HttpAsesGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpAsesGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpAsesGetRequestBrowserFamilyList = Array< HttpAsesGetRequestBrowserFamily | (string & {}) >; export const HttpAsesGetRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpAsesGetRequestBrowserFamily, ) as any as S.Schema; export type HttpAsesGetRequestContinentList = Array; export const HttpAsesGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesGetRequestDateEndList = Array; export const HttpAsesGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesGetRequestDateRangeList = Array; export const HttpAsesGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesGetRequestDateStartList = Array; export const HttpAsesGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesGetRequestDeviceType = "DESKTOP" | "MOBILE" | "OTHER"; export const HttpAsesGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpAsesGetRequestDeviceTypeList = Array< HttpAsesGetRequestDeviceType | (string & {}) >; export const HttpAsesGetRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpAsesGetRequestDeviceType, ) as any as S.Schema; export type HttpAsesGetRequestFormat = "JSON" | "CSV"; export const HttpAsesGetRequestFormat = /*@__PURE__*/ S.String; export type HttpAsesGetRequestGeoIdList = Array; export const HttpAsesGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpAsesGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpAsesGetRequestHttpProtocolList = Array< HttpAsesGetRequestHttpProtocol | (string & {}) >; export const HttpAsesGetRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpAsesGetRequestHttpProtocol, ) as any as S.Schema; export type HttpAsesGetRequestHttpVersion = "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpAsesGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpAsesGetRequestHttpVersionList = Array< HttpAsesGetRequestHttpVersion | (string & {}) >; export const HttpAsesGetRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpAsesGetRequestHttpVersion, ) as any as S.Schema; export type HttpAsesGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpAsesGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpAsesGetRequestIpVersionList = Array< HttpAsesGetRequestIpVersion | (string & {}) >; export const HttpAsesGetRequestIpVersionList = /*@__PURE__*/ S.Array( HttpAsesGetRequestIpVersion, ) as any as S.Schema; export type HttpAsesGetRequestLocationList = Array; export const HttpAsesGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesGetRequestNameList = Array; export const HttpAsesGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpAsesGetRequestOs = /*@__PURE__*/ S.String; export type HttpAsesGetRequestOsList = Array< HttpAsesGetRequestOs | (string & {}) >; export const HttpAsesGetRequestOsList = /*@__PURE__*/ S.Array( HttpAsesGetRequestOs, ) as any as S.Schema; export type HttpAsesGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpAsesGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpAsesGetRequestTlsVersionList = Array< HttpAsesGetRequestTlsVersion | (string & {}) >; export const HttpAsesGetRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpAsesGetRequestTlsVersion, ) as any as S.Schema; export interface GetHttpAsRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpAsesGetRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpAsesGetRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpAsesGetRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpAsesGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpAsesGetRequestDateEndList; /** 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). */ dateRange?: HttpAsesGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpAsesGetRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpAsesGetRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpAsesGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpAsesGetRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpAsesGetRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpAsesGetRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpAsesGetRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpAsesGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpAsesGetRequestNameList; /** Filters results by operating system. */ os?: HttpAsesGetRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpAsesGetRequestTlsVersionList; } export const GetHttpAsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(HttpAsesGetRequestAsnList.pipe(T.Query())), botClass: S.optional(HttpAsesGetRequestBotClassList.pipe(T.Query())), browserFamily: S.optional( HttpAsesGetRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional(HttpAsesGetRequestContinentList.pipe(T.Query())), dateEnd: S.optional(HttpAsesGetRequestDateEndList.pipe(T.Query())), dateRange: S.optional(HttpAsesGetRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(HttpAsesGetRequestDateStartList.pipe(T.Query())), deviceType: S.optional(HttpAsesGetRequestDeviceTypeList.pipe(T.Query())), format: S.optional(HttpAsesGetRequestFormat.pipe(T.Query())), geoId: S.optional(HttpAsesGetRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpAsesGetRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional(HttpAsesGetRequestHttpVersionList.pipe(T.Query())), ipVersion: S.optional(HttpAsesGetRequestIpVersionList.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(HttpAsesGetRequestLocationList.pipe(T.Query())), name: S.optional(HttpAsesGetRequestNameList.pipe(T.Query())), os: S.optional(HttpAsesGetRequestOsList.pipe(T.Query())), tlsVersion: S.optional(HttpAsesGetRequestTlsVersionList.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/http/top/ases", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsRequest", }) as any as S.Schema; export type HttpAsesGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpAsesGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpAsesGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpAsesGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpAsesGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpAsesGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpAsesGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpAsesGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpAsesGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpAsesGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpAsesGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpAsesGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpAsesGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr(HttpAsesGetResponseMetaConfidenceInfoAnnotationsItemTagsList), ), }), ).annotate({ identifier: "HttpAsesGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpAsesGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpAsesGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpAsesGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpAsesGetResponseMetaConfidenceInfo { annotations: HttpAsesGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpAsesGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: HttpAsesGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpAsesGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpAsesGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpAsesGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpAsesGetResponseMetaDateRangeList = Array; export const HttpAsesGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpAsesGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpAsesGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpAsesGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpAsesGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpAsesGetResponseMetaUnitsList = Array; export const HttpAsesGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpAsesGetResponseMeta { confidenceInfo: HttpAsesGetResponseMetaConfidenceInfo; dateRange: HttpAsesGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpAsesGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpAsesGetResponseMetaUnitsList; } export const HttpAsesGetResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpAsesGetResponseMetaConfidenceInfo, dateRange: HttpAsesGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpAsesGetResponseMetaNormalization, units: HttpAsesGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpAsesGetResponseMeta", }) as any as S.Schema; export type HttpAsesGetResponseTop0Item = DnsTopAsesResponseTop0Item; export const HttpAsesGetResponseTop0Item = DnsTopAsesResponseTop0Item; export type HttpAsesGetResponseTop0List = Array; export const HttpAsesGetResponseTop0List = /*@__PURE__*/ S.Array( DnsTopAsesResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpAsResponse { /** Metadata for the results. */ meta: HttpAsesGetResponseMeta; top_0: HttpAsesGetResponseTop0List; } export const GetHttpAsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpAsesGetResponseMeta, top_0: HttpAsesGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsResponse", }) as any as S.Schema; export type HttpAsesBotClassGetRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpAsesBotClassGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpAsesBotClassGetRequestAsnList = Array; export const HttpAsesBotClassGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesBotClassGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpAsesBotClassGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpAsesBotClassGetRequestBrowserFamilyList = Array< HttpAsesBotClassGetRequestBrowserFamily | (string & {}) >; export const HttpAsesBotClassGetRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpAsesBotClassGetRequestBrowserFamily, ) as any as S.Schema; export type HttpAsesBotClassGetRequestContinentList = Array; export const HttpAsesBotClassGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesBotClassGetRequestDateEndList = Array; export const HttpAsesBotClassGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesBotClassGetRequestDateRangeList = Array; export const HttpAsesBotClassGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesBotClassGetRequestDateStartList = Array; export const HttpAsesBotClassGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesBotClassGetRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpAsesBotClassGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpAsesBotClassGetRequestDeviceTypeList = Array< HttpAsesBotClassGetRequestDeviceType | (string & {}) >; export const HttpAsesBotClassGetRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpAsesBotClassGetRequestDeviceType, ) as any as S.Schema; export type HttpAsesBotClassGetRequestFormat = "JSON" | "CSV"; export const HttpAsesBotClassGetRequestFormat = /*@__PURE__*/ S.String; export type HttpAsesBotClassGetRequestGeoIdList = Array; export const HttpAsesBotClassGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesBotClassGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpAsesBotClassGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpAsesBotClassGetRequestHttpProtocolList = Array< HttpAsesBotClassGetRequestHttpProtocol | (string & {}) >; export const HttpAsesBotClassGetRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpAsesBotClassGetRequestHttpProtocol, ) as any as S.Schema; export type HttpAsesBotClassGetRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpAsesBotClassGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpAsesBotClassGetRequestHttpVersionList = Array< HttpAsesBotClassGetRequestHttpVersion | (string & {}) >; export const HttpAsesBotClassGetRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpAsesBotClassGetRequestHttpVersion, ) as any as S.Schema; export type HttpAsesBotClassGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpAsesBotClassGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpAsesBotClassGetRequestIpVersionList = Array< HttpAsesBotClassGetRequestIpVersion | (string & {}) >; export const HttpAsesBotClassGetRequestIpVersionList = /*@__PURE__*/ S.Array( HttpAsesBotClassGetRequestIpVersion, ) as any as S.Schema; export type HttpAsesBotClassGetRequestLocationList = Array; export const HttpAsesBotClassGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesBotClassGetRequestNameList = Array; export const HttpAsesBotClassGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesBotClassGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpAsesBotClassGetRequestOs = /*@__PURE__*/ S.String; export type HttpAsesBotClassGetRequestOsList = Array< HttpAsesBotClassGetRequestOs | (string & {}) >; export const HttpAsesBotClassGetRequestOsList = /*@__PURE__*/ S.Array( HttpAsesBotClassGetRequestOs, ) as any as S.Schema; export type HttpAsesBotClassGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpAsesBotClassGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpAsesBotClassGetRequestTlsVersionList = Array< HttpAsesBotClassGetRequestTlsVersion | (string & {}) >; export const HttpAsesBotClassGetRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpAsesBotClassGetRequestTlsVersion, ) as any as S.Schema; export interface GetHttpAsBotClassRequest { /** Bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass: HttpAsesBotClassGetRequestBotClass | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpAsesBotClassGetRequestAsnList; /** Filters results by browser family. */ browserFamily?: HttpAsesBotClassGetRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpAsesBotClassGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpAsesBotClassGetRequestDateEndList; /** 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). */ dateRange?: HttpAsesBotClassGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpAsesBotClassGetRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpAsesBotClassGetRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpAsesBotClassGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpAsesBotClassGetRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpAsesBotClassGetRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpAsesBotClassGetRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpAsesBotClassGetRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpAsesBotClassGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpAsesBotClassGetRequestNameList; /** Filters results by operating system. */ os?: HttpAsesBotClassGetRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpAsesBotClassGetRequestTlsVersionList; } export const GetHttpAsBotClassRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ botClass: HttpAsesBotClassGetRequestBotClass.pipe(T.Label("bot_class")), asn: S.optional(HttpAsesBotClassGetRequestAsnList.pipe(T.Query())), browserFamily: S.optional( HttpAsesBotClassGetRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpAsesBotClassGetRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(HttpAsesBotClassGetRequestDateEndList.pipe(T.Query())), dateRange: S.optional( HttpAsesBotClassGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpAsesBotClassGetRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpAsesBotClassGetRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpAsesBotClassGetRequestFormat.pipe(T.Query())), geoId: S.optional(HttpAsesBotClassGetRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpAsesBotClassGetRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpAsesBotClassGetRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpAsesBotClassGetRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpAsesBotClassGetRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpAsesBotClassGetRequestNameList.pipe(T.Query())), os: S.optional(HttpAsesBotClassGetRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpAsesBotClassGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/ases/bot_class/{bot_class}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsBotClassRequest", }) as any as S.Schema; export type HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpAsesBotClassGetResponseMetaConfidenceInfo { annotations: HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpAsesBotClassGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpAsesBotClassGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpAsesBotClassGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpAsesBotClassGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpAsesBotClassGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpAsesBotClassGetResponseMetaDateRangeList = Array; export const HttpAsesBotClassGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpAsesBotClassGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpAsesBotClassGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpAsesBotClassGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpAsesBotClassGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpAsesBotClassGetResponseMetaUnitsList = Array; export const HttpAsesBotClassGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpAsesBotClassGetResponseMeta { confidenceInfo: HttpAsesBotClassGetResponseMetaConfidenceInfo; dateRange: HttpAsesBotClassGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpAsesBotClassGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpAsesBotClassGetResponseMetaUnitsList; } export const HttpAsesBotClassGetResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpAsesBotClassGetResponseMetaConfidenceInfo, dateRange: HttpAsesBotClassGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpAsesBotClassGetResponseMetaNormalization, units: HttpAsesBotClassGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpAsesBotClassGetResponseMeta", }) as any as S.Schema; export type HttpAsesBotClassGetResponseTop0Item = DnsTopAsesResponseTop0Item; export const HttpAsesBotClassGetResponseTop0Item = DnsTopAsesResponseTop0Item; export type HttpAsesBotClassGetResponseTop0List = Array; export const HttpAsesBotClassGetResponseTop0List = /*@__PURE__*/ S.Array( DnsTopAsesResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpAsBotClassResponse { /** Metadata for the results. */ meta: HttpAsesBotClassGetResponseMeta; top_0: HttpAsesBotClassGetResponseTop0List; } export const GetHttpAsBotClassResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpAsesBotClassGetResponseMeta, top_0: HttpAsesBotClassGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsBotClassResponse", }) as any as S.Schema; export type HttpAsesBrowserFamilyGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpAsesBrowserFamilyGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpAsesBrowserFamilyGetRequestAsnList = Array; export const HttpAsesBrowserFamilyGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesBrowserFamilyGetRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpAsesBrowserFamilyGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpAsesBrowserFamilyGetRequestBotClassList = Array< HttpAsesBrowserFamilyGetRequestBotClass | (string & {}) >; export const HttpAsesBrowserFamilyGetRequestBotClassList = /*@__PURE__*/ S.Array( HttpAsesBrowserFamilyGetRequestBotClass, ) as any as S.Schema; export type HttpAsesBrowserFamilyGetRequestContinentList = Array; export const HttpAsesBrowserFamilyGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesBrowserFamilyGetRequestDateEndList = Array; export const HttpAsesBrowserFamilyGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesBrowserFamilyGetRequestDateRangeList = Array; export const HttpAsesBrowserFamilyGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesBrowserFamilyGetRequestDateStartList = Array; export const HttpAsesBrowserFamilyGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesBrowserFamilyGetRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpAsesBrowserFamilyGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpAsesBrowserFamilyGetRequestDeviceTypeList = Array< HttpAsesBrowserFamilyGetRequestDeviceType | (string & {}) >; export const HttpAsesBrowserFamilyGetRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpAsesBrowserFamilyGetRequestDeviceType, ) as any as S.Schema; export type HttpAsesBrowserFamilyGetRequestFormat = "JSON" | "CSV"; export const HttpAsesBrowserFamilyGetRequestFormat = /*@__PURE__*/ S.String; export type HttpAsesBrowserFamilyGetRequestGeoIdList = Array; export const HttpAsesBrowserFamilyGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesBrowserFamilyGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpAsesBrowserFamilyGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpAsesBrowserFamilyGetRequestHttpProtocolList = Array< HttpAsesBrowserFamilyGetRequestHttpProtocol | (string & {}) >; export const HttpAsesBrowserFamilyGetRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpAsesBrowserFamilyGetRequestHttpProtocol, ) as any as S.Schema; export type HttpAsesBrowserFamilyGetRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpAsesBrowserFamilyGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpAsesBrowserFamilyGetRequestHttpVersionList = Array< HttpAsesBrowserFamilyGetRequestHttpVersion | (string & {}) >; export const HttpAsesBrowserFamilyGetRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpAsesBrowserFamilyGetRequestHttpVersion, ) as any as S.Schema; export type HttpAsesBrowserFamilyGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpAsesBrowserFamilyGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpAsesBrowserFamilyGetRequestIpVersionList = Array< HttpAsesBrowserFamilyGetRequestIpVersion | (string & {}) >; export const HttpAsesBrowserFamilyGetRequestIpVersionList = /*@__PURE__*/ S.Array( HttpAsesBrowserFamilyGetRequestIpVersion, ) as any as S.Schema; export type HttpAsesBrowserFamilyGetRequestLocationList = Array; export const HttpAsesBrowserFamilyGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesBrowserFamilyGetRequestNameList = Array; export const HttpAsesBrowserFamilyGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesBrowserFamilyGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpAsesBrowserFamilyGetRequestOs = /*@__PURE__*/ S.String; export type HttpAsesBrowserFamilyGetRequestOsList = Array< HttpAsesBrowserFamilyGetRequestOs | (string & {}) >; export const HttpAsesBrowserFamilyGetRequestOsList = /*@__PURE__*/ S.Array( HttpAsesBrowserFamilyGetRequestOs, ) as any as S.Schema; export type HttpAsesBrowserFamilyGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpAsesBrowserFamilyGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpAsesBrowserFamilyGetRequestTlsVersionList = Array< HttpAsesBrowserFamilyGetRequestTlsVersion | (string & {}) >; export const HttpAsesBrowserFamilyGetRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpAsesBrowserFamilyGetRequestTlsVersion, ) as any as S.Schema; export interface GetHttpAsBrowserFamilyRequest { /** Browser family. */ browserFamily: HttpAsesBrowserFamilyGetRequestBrowserFamily | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpAsesBrowserFamilyGetRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpAsesBrowserFamilyGetRequestBotClassList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpAsesBrowserFamilyGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpAsesBrowserFamilyGetRequestDateEndList; /** 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). */ dateRange?: HttpAsesBrowserFamilyGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpAsesBrowserFamilyGetRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpAsesBrowserFamilyGetRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpAsesBrowserFamilyGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpAsesBrowserFamilyGetRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpAsesBrowserFamilyGetRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpAsesBrowserFamilyGetRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpAsesBrowserFamilyGetRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpAsesBrowserFamilyGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpAsesBrowserFamilyGetRequestNameList; /** Filters results by operating system. */ os?: HttpAsesBrowserFamilyGetRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpAsesBrowserFamilyGetRequestTlsVersionList; } export const GetHttpAsBrowserFamilyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ browserFamily: HttpAsesBrowserFamilyGetRequestBrowserFamily.pipe( T.Label("browser_family"), ), asn: S.optional(HttpAsesBrowserFamilyGetRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpAsesBrowserFamilyGetRequestBotClassList.pipe(T.Query()), ), continent: S.optional( HttpAsesBrowserFamilyGetRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpAsesBrowserFamilyGetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpAsesBrowserFamilyGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpAsesBrowserFamilyGetRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpAsesBrowserFamilyGetRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpAsesBrowserFamilyGetRequestFormat.pipe(T.Query())), geoId: S.optional(HttpAsesBrowserFamilyGetRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpAsesBrowserFamilyGetRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpAsesBrowserFamilyGetRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpAsesBrowserFamilyGetRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpAsesBrowserFamilyGetRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpAsesBrowserFamilyGetRequestNameList.pipe(T.Query())), os: S.optional(HttpAsesBrowserFamilyGetRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpAsesBrowserFamilyGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/ases/browser_family/{browser_family}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsBrowserFamilyRequest", }) as any as S.Schema; export type HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpAsesBrowserFamilyGetResponseMetaConfidenceInfo { annotations: HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpAsesBrowserFamilyGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpAsesBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpAsesBrowserFamilyGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpAsesBrowserFamilyGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpAsesBrowserFamilyGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpAsesBrowserFamilyGetResponseMetaDateRangeList = Array; export const HttpAsesBrowserFamilyGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpAsesBrowserFamilyGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpAsesBrowserFamilyGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpAsesBrowserFamilyGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpAsesBrowserFamilyGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpAsesBrowserFamilyGetResponseMetaUnitsList = Array; export const HttpAsesBrowserFamilyGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpAsesBrowserFamilyGetResponseMeta { confidenceInfo: HttpAsesBrowserFamilyGetResponseMetaConfidenceInfo; dateRange: HttpAsesBrowserFamilyGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpAsesBrowserFamilyGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpAsesBrowserFamilyGetResponseMetaUnitsList; } export const HttpAsesBrowserFamilyGetResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: HttpAsesBrowserFamilyGetResponseMetaConfidenceInfo, dateRange: HttpAsesBrowserFamilyGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpAsesBrowserFamilyGetResponseMetaNormalization, units: HttpAsesBrowserFamilyGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpAsesBrowserFamilyGetResponseMeta", }) as any as S.Schema; export type HttpAsesBrowserFamilyGetResponseTop0Item = DnsTopAsesResponseTop0Item; export const HttpAsesBrowserFamilyGetResponseTop0Item = DnsTopAsesResponseTop0Item; export type HttpAsesBrowserFamilyGetResponseTop0List = Array; export const HttpAsesBrowserFamilyGetResponseTop0List = /*@__PURE__*/ S.Array( DnsTopAsesResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpAsBrowserFamilyResponse { /** Metadata for the results. */ meta: HttpAsesBrowserFamilyGetResponseMeta; top_0: HttpAsesBrowserFamilyGetResponseTop0List; } export const GetHttpAsBrowserFamilyResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpAsesBrowserFamilyGetResponseMeta, top_0: HttpAsesBrowserFamilyGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsBrowserFamilyResponse", }) as any as S.Schema; export type HttpAsesDeviceTypeGetRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpAsesDeviceTypeGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpAsesDeviceTypeGetRequestAsnList = Array; export const HttpAsesDeviceTypeGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesDeviceTypeGetRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpAsesDeviceTypeGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpAsesDeviceTypeGetRequestBotClassList = Array< HttpAsesDeviceTypeGetRequestBotClass | (string & {}) >; export const HttpAsesDeviceTypeGetRequestBotClassList = /*@__PURE__*/ S.Array( HttpAsesDeviceTypeGetRequestBotClass, ) as any as S.Schema; export type HttpAsesDeviceTypeGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpAsesDeviceTypeGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpAsesDeviceTypeGetRequestBrowserFamilyList = Array< HttpAsesDeviceTypeGetRequestBrowserFamily | (string & {}) >; export const HttpAsesDeviceTypeGetRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpAsesDeviceTypeGetRequestBrowserFamily, ) as any as S.Schema; export type HttpAsesDeviceTypeGetRequestContinentList = Array; export const HttpAsesDeviceTypeGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesDeviceTypeGetRequestDateEndList = Array; export const HttpAsesDeviceTypeGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesDeviceTypeGetRequestDateRangeList = Array; export const HttpAsesDeviceTypeGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesDeviceTypeGetRequestDateStartList = Array; export const HttpAsesDeviceTypeGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesDeviceTypeGetRequestFormat = "JSON" | "CSV"; export const HttpAsesDeviceTypeGetRequestFormat = /*@__PURE__*/ S.String; export type HttpAsesDeviceTypeGetRequestGeoIdList = Array; export const HttpAsesDeviceTypeGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesDeviceTypeGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpAsesDeviceTypeGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpAsesDeviceTypeGetRequestHttpProtocolList = Array< HttpAsesDeviceTypeGetRequestHttpProtocol | (string & {}) >; export const HttpAsesDeviceTypeGetRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpAsesDeviceTypeGetRequestHttpProtocol, ) as any as S.Schema; export type HttpAsesDeviceTypeGetRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpAsesDeviceTypeGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpAsesDeviceTypeGetRequestHttpVersionList = Array< HttpAsesDeviceTypeGetRequestHttpVersion | (string & {}) >; export const HttpAsesDeviceTypeGetRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpAsesDeviceTypeGetRequestHttpVersion, ) as any as S.Schema; export type HttpAsesDeviceTypeGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpAsesDeviceTypeGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpAsesDeviceTypeGetRequestIpVersionList = Array< HttpAsesDeviceTypeGetRequestIpVersion | (string & {}) >; export const HttpAsesDeviceTypeGetRequestIpVersionList = /*@__PURE__*/ S.Array( HttpAsesDeviceTypeGetRequestIpVersion, ) as any as S.Schema; export type HttpAsesDeviceTypeGetRequestLocationList = Array; export const HttpAsesDeviceTypeGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesDeviceTypeGetRequestNameList = Array; export const HttpAsesDeviceTypeGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesDeviceTypeGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpAsesDeviceTypeGetRequestOs = /*@__PURE__*/ S.String; export type HttpAsesDeviceTypeGetRequestOsList = Array< HttpAsesDeviceTypeGetRequestOs | (string & {}) >; export const HttpAsesDeviceTypeGetRequestOsList = /*@__PURE__*/ S.Array( HttpAsesDeviceTypeGetRequestOs, ) as any as S.Schema; export type HttpAsesDeviceTypeGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpAsesDeviceTypeGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpAsesDeviceTypeGetRequestTlsVersionList = Array< HttpAsesDeviceTypeGetRequestTlsVersion | (string & {}) >; export const HttpAsesDeviceTypeGetRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpAsesDeviceTypeGetRequestTlsVersion, ) as any as S.Schema; export interface GetHttpAsDeviceTypeRequest { /** Device type. */ deviceType: HttpAsesDeviceTypeGetRequestDeviceType | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpAsesDeviceTypeGetRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpAsesDeviceTypeGetRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpAsesDeviceTypeGetRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpAsesDeviceTypeGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpAsesDeviceTypeGetRequestDateEndList; /** 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). */ dateRange?: HttpAsesDeviceTypeGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpAsesDeviceTypeGetRequestDateStartList; /** Format in which results will be returned. */ format?: HttpAsesDeviceTypeGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpAsesDeviceTypeGetRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpAsesDeviceTypeGetRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpAsesDeviceTypeGetRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpAsesDeviceTypeGetRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpAsesDeviceTypeGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpAsesDeviceTypeGetRequestNameList; /** Filters results by operating system. */ os?: HttpAsesDeviceTypeGetRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpAsesDeviceTypeGetRequestTlsVersionList; } export const GetHttpAsDeviceTypeRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ deviceType: HttpAsesDeviceTypeGetRequestDeviceType.pipe( T.Label("device_type"), ), asn: S.optional(HttpAsesDeviceTypeGetRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpAsesDeviceTypeGetRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpAsesDeviceTypeGetRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpAsesDeviceTypeGetRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpAsesDeviceTypeGetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpAsesDeviceTypeGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpAsesDeviceTypeGetRequestDateStartList.pipe(T.Query()), ), format: S.optional(HttpAsesDeviceTypeGetRequestFormat.pipe(T.Query())), geoId: S.optional(HttpAsesDeviceTypeGetRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpAsesDeviceTypeGetRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpAsesDeviceTypeGetRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpAsesDeviceTypeGetRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpAsesDeviceTypeGetRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpAsesDeviceTypeGetRequestNameList.pipe(T.Query())), os: S.optional(HttpAsesDeviceTypeGetRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpAsesDeviceTypeGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/ases/device_type/{device_type}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsDeviceTypeRequest", }) as any as S.Schema; export type HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpAsesDeviceTypeGetResponseMetaConfidenceInfo { annotations: HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpAsesDeviceTypeGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpAsesDeviceTypeGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpAsesDeviceTypeGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpAsesDeviceTypeGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpAsesDeviceTypeGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpAsesDeviceTypeGetResponseMetaDateRangeList = Array; export const HttpAsesDeviceTypeGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpAsesDeviceTypeGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpAsesDeviceTypeGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpAsesDeviceTypeGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpAsesDeviceTypeGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpAsesDeviceTypeGetResponseMetaUnitsList = Array; export const HttpAsesDeviceTypeGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpAsesDeviceTypeGetResponseMeta { confidenceInfo: HttpAsesDeviceTypeGetResponseMetaConfidenceInfo; dateRange: HttpAsesDeviceTypeGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpAsesDeviceTypeGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpAsesDeviceTypeGetResponseMetaUnitsList; } export const HttpAsesDeviceTypeGetResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpAsesDeviceTypeGetResponseMetaConfidenceInfo, dateRange: HttpAsesDeviceTypeGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpAsesDeviceTypeGetResponseMetaNormalization, units: HttpAsesDeviceTypeGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpAsesDeviceTypeGetResponseMeta", }) as any as S.Schema; export type HttpAsesDeviceTypeGetResponseTop0Item = DnsTopAsesResponseTop0Item; export const HttpAsesDeviceTypeGetResponseTop0Item = DnsTopAsesResponseTop0Item; export type HttpAsesDeviceTypeGetResponseTop0List = Array; export const HttpAsesDeviceTypeGetResponseTop0List = /*@__PURE__*/ S.Array( DnsTopAsesResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpAsDeviceTypeResponse { /** Metadata for the results. */ meta: HttpAsesDeviceTypeGetResponseMeta; top_0: HttpAsesDeviceTypeGetResponseTop0List; } export const GetHttpAsDeviceTypeResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpAsesDeviceTypeGetResponseMeta, top_0: HttpAsesDeviceTypeGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsDeviceTypeResponse", }) as any as S.Schema; export type HttpAsesHttpMethodGetRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpAsesHttpMethodGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpAsesHttpMethodGetRequestAsnList = Array; export const HttpAsesHttpMethodGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesHttpMethodGetRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpAsesHttpMethodGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpAsesHttpMethodGetRequestBotClassList = Array< HttpAsesHttpMethodGetRequestBotClass | (string & {}) >; export const HttpAsesHttpMethodGetRequestBotClassList = /*@__PURE__*/ S.Array( HttpAsesHttpMethodGetRequestBotClass, ) as any as S.Schema; export type HttpAsesHttpMethodGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpAsesHttpMethodGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpAsesHttpMethodGetRequestBrowserFamilyList = Array< HttpAsesHttpMethodGetRequestBrowserFamily | (string & {}) >; export const HttpAsesHttpMethodGetRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpAsesHttpMethodGetRequestBrowserFamily, ) as any as S.Schema; export type HttpAsesHttpMethodGetRequestContinentList = Array; export const HttpAsesHttpMethodGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesHttpMethodGetRequestDateEndList = Array; export const HttpAsesHttpMethodGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesHttpMethodGetRequestDateRangeList = Array; export const HttpAsesHttpMethodGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesHttpMethodGetRequestDateStartList = Array; export const HttpAsesHttpMethodGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesHttpMethodGetRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpAsesHttpMethodGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpAsesHttpMethodGetRequestDeviceTypeList = Array< HttpAsesHttpMethodGetRequestDeviceType | (string & {}) >; export const HttpAsesHttpMethodGetRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpAsesHttpMethodGetRequestDeviceType, ) as any as S.Schema; export type HttpAsesHttpMethodGetRequestFormat = "JSON" | "CSV"; export const HttpAsesHttpMethodGetRequestFormat = /*@__PURE__*/ S.String; export type HttpAsesHttpMethodGetRequestGeoIdList = Array; export const HttpAsesHttpMethodGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesHttpMethodGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpAsesHttpMethodGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpAsesHttpMethodGetRequestHttpProtocolList = Array< HttpAsesHttpMethodGetRequestHttpProtocol | (string & {}) >; export const HttpAsesHttpMethodGetRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpAsesHttpMethodGetRequestHttpProtocol, ) as any as S.Schema; export type HttpAsesHttpMethodGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpAsesHttpMethodGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpAsesHttpMethodGetRequestIpVersionList = Array< HttpAsesHttpMethodGetRequestIpVersion | (string & {}) >; export const HttpAsesHttpMethodGetRequestIpVersionList = /*@__PURE__*/ S.Array( HttpAsesHttpMethodGetRequestIpVersion, ) as any as S.Schema; export type HttpAsesHttpMethodGetRequestLocationList = Array; export const HttpAsesHttpMethodGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesHttpMethodGetRequestNameList = Array; export const HttpAsesHttpMethodGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesHttpMethodGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpAsesHttpMethodGetRequestOs = /*@__PURE__*/ S.String; export type HttpAsesHttpMethodGetRequestOsList = Array< HttpAsesHttpMethodGetRequestOs | (string & {}) >; export const HttpAsesHttpMethodGetRequestOsList = /*@__PURE__*/ S.Array( HttpAsesHttpMethodGetRequestOs, ) as any as S.Schema; export type HttpAsesHttpMethodGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpAsesHttpMethodGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpAsesHttpMethodGetRequestTlsVersionList = Array< HttpAsesHttpMethodGetRequestTlsVersion | (string & {}) >; export const HttpAsesHttpMethodGetRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpAsesHttpMethodGetRequestTlsVersion, ) as any as S.Schema; export interface GetHttpAsHttpMethodRequest { /** HTTP version. */ httpVersion: HttpAsesHttpMethodGetRequestHttpVersion | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpAsesHttpMethodGetRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpAsesHttpMethodGetRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpAsesHttpMethodGetRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpAsesHttpMethodGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpAsesHttpMethodGetRequestDateEndList; /** 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). */ dateRange?: HttpAsesHttpMethodGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpAsesHttpMethodGetRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpAsesHttpMethodGetRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpAsesHttpMethodGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpAsesHttpMethodGetRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpAsesHttpMethodGetRequestHttpProtocolList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpAsesHttpMethodGetRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpAsesHttpMethodGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpAsesHttpMethodGetRequestNameList; /** Filters results by operating system. */ os?: HttpAsesHttpMethodGetRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpAsesHttpMethodGetRequestTlsVersionList; } export const GetHttpAsHttpMethodRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ httpVersion: HttpAsesHttpMethodGetRequestHttpVersion.pipe( T.Label("http_version"), ), asn: S.optional(HttpAsesHttpMethodGetRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpAsesHttpMethodGetRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpAsesHttpMethodGetRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpAsesHttpMethodGetRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpAsesHttpMethodGetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpAsesHttpMethodGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpAsesHttpMethodGetRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpAsesHttpMethodGetRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpAsesHttpMethodGetRequestFormat.pipe(T.Query())), geoId: S.optional(HttpAsesHttpMethodGetRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpAsesHttpMethodGetRequestHttpProtocolList.pipe(T.Query()), ), ipVersion: S.optional( HttpAsesHttpMethodGetRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpAsesHttpMethodGetRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpAsesHttpMethodGetRequestNameList.pipe(T.Query())), os: S.optional(HttpAsesHttpMethodGetRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpAsesHttpMethodGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/ases/http_version/{http_version}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsHttpMethodRequest", }) as any as S.Schema; export type HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpAsesHttpMethodGetResponseMetaConfidenceInfo { annotations: HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpAsesHttpMethodGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpAsesHttpMethodGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpAsesHttpMethodGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpAsesHttpMethodGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpAsesHttpMethodGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpAsesHttpMethodGetResponseMetaDateRangeList = Array; export const HttpAsesHttpMethodGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpAsesHttpMethodGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpAsesHttpMethodGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpAsesHttpMethodGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpAsesHttpMethodGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpAsesHttpMethodGetResponseMetaUnitsList = Array; export const HttpAsesHttpMethodGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpAsesHttpMethodGetResponseMeta { confidenceInfo: HttpAsesHttpMethodGetResponseMetaConfidenceInfo; dateRange: HttpAsesHttpMethodGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpAsesHttpMethodGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpAsesHttpMethodGetResponseMetaUnitsList; } export const HttpAsesHttpMethodGetResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpAsesHttpMethodGetResponseMetaConfidenceInfo, dateRange: HttpAsesHttpMethodGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpAsesHttpMethodGetResponseMetaNormalization, units: HttpAsesHttpMethodGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpAsesHttpMethodGetResponseMeta", }) as any as S.Schema; export type HttpAsesHttpMethodGetResponseTop0Item = DnsTopAsesResponseTop0Item; export const HttpAsesHttpMethodGetResponseTop0Item = DnsTopAsesResponseTop0Item; export type HttpAsesHttpMethodGetResponseTop0List = Array; export const HttpAsesHttpMethodGetResponseTop0List = /*@__PURE__*/ S.Array( DnsTopAsesResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpAsHttpMethodResponse { /** Metadata for the results. */ meta: HttpAsesHttpMethodGetResponseMeta; top_0: HttpAsesHttpMethodGetResponseTop0List; } export const GetHttpAsHttpMethodResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpAsesHttpMethodGetResponseMeta, top_0: HttpAsesHttpMethodGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsHttpMethodResponse", }) as any as S.Schema; export type HttpAsesHttpProtocolGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpAsesHttpProtocolGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpAsesHttpProtocolGetRequestAsnList = Array; export const HttpAsesHttpProtocolGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesHttpProtocolGetRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpAsesHttpProtocolGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpAsesHttpProtocolGetRequestBotClassList = Array< HttpAsesHttpProtocolGetRequestBotClass | (string & {}) >; export const HttpAsesHttpProtocolGetRequestBotClassList = /*@__PURE__*/ S.Array( HttpAsesHttpProtocolGetRequestBotClass, ) as any as S.Schema; export type HttpAsesHttpProtocolGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpAsesHttpProtocolGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpAsesHttpProtocolGetRequestBrowserFamilyList = Array< HttpAsesHttpProtocolGetRequestBrowserFamily | (string & {}) >; export const HttpAsesHttpProtocolGetRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpAsesHttpProtocolGetRequestBrowserFamily, ) as any as S.Schema; export type HttpAsesHttpProtocolGetRequestContinentList = Array; export const HttpAsesHttpProtocolGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesHttpProtocolGetRequestDateEndList = Array; export const HttpAsesHttpProtocolGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesHttpProtocolGetRequestDateRangeList = Array; export const HttpAsesHttpProtocolGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesHttpProtocolGetRequestDateStartList = Array; export const HttpAsesHttpProtocolGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesHttpProtocolGetRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpAsesHttpProtocolGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpAsesHttpProtocolGetRequestDeviceTypeList = Array< HttpAsesHttpProtocolGetRequestDeviceType | (string & {}) >; export const HttpAsesHttpProtocolGetRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpAsesHttpProtocolGetRequestDeviceType, ) as any as S.Schema; export type HttpAsesHttpProtocolGetRequestFormat = "JSON" | "CSV"; export const HttpAsesHttpProtocolGetRequestFormat = /*@__PURE__*/ S.String; export type HttpAsesHttpProtocolGetRequestGeoIdList = Array; export const HttpAsesHttpProtocolGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesHttpProtocolGetRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpAsesHttpProtocolGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpAsesHttpProtocolGetRequestHttpVersionList = Array< HttpAsesHttpProtocolGetRequestHttpVersion | (string & {}) >; export const HttpAsesHttpProtocolGetRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpAsesHttpProtocolGetRequestHttpVersion, ) as any as S.Schema; export type HttpAsesHttpProtocolGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpAsesHttpProtocolGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpAsesHttpProtocolGetRequestIpVersionList = Array< HttpAsesHttpProtocolGetRequestIpVersion | (string & {}) >; export const HttpAsesHttpProtocolGetRequestIpVersionList = /*@__PURE__*/ S.Array( HttpAsesHttpProtocolGetRequestIpVersion, ) as any as S.Schema; export type HttpAsesHttpProtocolGetRequestLocationList = Array; export const HttpAsesHttpProtocolGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesHttpProtocolGetRequestNameList = Array; export const HttpAsesHttpProtocolGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesHttpProtocolGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpAsesHttpProtocolGetRequestOs = /*@__PURE__*/ S.String; export type HttpAsesHttpProtocolGetRequestOsList = Array< HttpAsesHttpProtocolGetRequestOs | (string & {}) >; export const HttpAsesHttpProtocolGetRequestOsList = /*@__PURE__*/ S.Array( HttpAsesHttpProtocolGetRequestOs, ) as any as S.Schema; export type HttpAsesHttpProtocolGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpAsesHttpProtocolGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpAsesHttpProtocolGetRequestTlsVersionList = Array< HttpAsesHttpProtocolGetRequestTlsVersion | (string & {}) >; export const HttpAsesHttpProtocolGetRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpAsesHttpProtocolGetRequestTlsVersion, ) as any as S.Schema; export interface GetHttpAsHttpProtocolRequest { /** HTTP protocol (HTTP vs. HTTPS). */ httpProtocol: HttpAsesHttpProtocolGetRequestHttpProtocol | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpAsesHttpProtocolGetRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpAsesHttpProtocolGetRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpAsesHttpProtocolGetRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpAsesHttpProtocolGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpAsesHttpProtocolGetRequestDateEndList; /** 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). */ dateRange?: HttpAsesHttpProtocolGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpAsesHttpProtocolGetRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpAsesHttpProtocolGetRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpAsesHttpProtocolGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpAsesHttpProtocolGetRequestGeoIdList; /** Filters results by HTTP version. */ httpVersion?: HttpAsesHttpProtocolGetRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpAsesHttpProtocolGetRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpAsesHttpProtocolGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpAsesHttpProtocolGetRequestNameList; /** Filters results by operating system. */ os?: HttpAsesHttpProtocolGetRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpAsesHttpProtocolGetRequestTlsVersionList; } export const GetHttpAsHttpProtocolRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ httpProtocol: HttpAsesHttpProtocolGetRequestHttpProtocol.pipe( T.Label("http_protocol"), ), asn: S.optional(HttpAsesHttpProtocolGetRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpAsesHttpProtocolGetRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpAsesHttpProtocolGetRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpAsesHttpProtocolGetRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpAsesHttpProtocolGetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpAsesHttpProtocolGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpAsesHttpProtocolGetRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpAsesHttpProtocolGetRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpAsesHttpProtocolGetRequestFormat.pipe(T.Query())), geoId: S.optional(HttpAsesHttpProtocolGetRequestGeoIdList.pipe(T.Query())), httpVersion: S.optional( HttpAsesHttpProtocolGetRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpAsesHttpProtocolGetRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpAsesHttpProtocolGetRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpAsesHttpProtocolGetRequestNameList.pipe(T.Query())), os: S.optional(HttpAsesHttpProtocolGetRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpAsesHttpProtocolGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/ases/http_protocol/{http_protocol}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsHttpProtocolRequest", }) as any as S.Schema; export type HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpAsesHttpProtocolGetResponseMetaConfidenceInfo { annotations: HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpAsesHttpProtocolGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpAsesHttpProtocolGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpAsesHttpProtocolGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpAsesHttpProtocolGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpAsesHttpProtocolGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpAsesHttpProtocolGetResponseMetaDateRangeList = Array; export const HttpAsesHttpProtocolGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpAsesHttpProtocolGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpAsesHttpProtocolGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpAsesHttpProtocolGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpAsesHttpProtocolGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpAsesHttpProtocolGetResponseMetaUnitsList = Array; export const HttpAsesHttpProtocolGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpAsesHttpProtocolGetResponseMeta { confidenceInfo: HttpAsesHttpProtocolGetResponseMetaConfidenceInfo; dateRange: HttpAsesHttpProtocolGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpAsesHttpProtocolGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpAsesHttpProtocolGetResponseMetaUnitsList; } export const HttpAsesHttpProtocolGetResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpAsesHttpProtocolGetResponseMetaConfidenceInfo, dateRange: HttpAsesHttpProtocolGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpAsesHttpProtocolGetResponseMetaNormalization, units: HttpAsesHttpProtocolGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpAsesHttpProtocolGetResponseMeta", }) as any as S.Schema; export type HttpAsesHttpProtocolGetResponseTop0Item = DnsTopAsesResponseTop0Item; export const HttpAsesHttpProtocolGetResponseTop0Item = DnsTopAsesResponseTop0Item; export type HttpAsesHttpProtocolGetResponseTop0List = Array; export const HttpAsesHttpProtocolGetResponseTop0List = /*@__PURE__*/ S.Array( DnsTopAsesResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpAsHttpProtocolResponse { /** Metadata for the results. */ meta: HttpAsesHttpProtocolGetResponseMeta; top_0: HttpAsesHttpProtocolGetResponseTop0List; } export const GetHttpAsHttpProtocolResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpAsesHttpProtocolGetResponseMeta, top_0: HttpAsesHttpProtocolGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsHttpProtocolResponse", }) as any as S.Schema; export type HttpAsesIpVersionGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpAsesIpVersionGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpAsesIpVersionGetRequestAsnList = Array; export const HttpAsesIpVersionGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesIpVersionGetRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpAsesIpVersionGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpAsesIpVersionGetRequestBotClassList = Array< HttpAsesIpVersionGetRequestBotClass | (string & {}) >; export const HttpAsesIpVersionGetRequestBotClassList = /*@__PURE__*/ S.Array( HttpAsesIpVersionGetRequestBotClass, ) as any as S.Schema; export type HttpAsesIpVersionGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpAsesIpVersionGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpAsesIpVersionGetRequestBrowserFamilyList = Array< HttpAsesIpVersionGetRequestBrowserFamily | (string & {}) >; export const HttpAsesIpVersionGetRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpAsesIpVersionGetRequestBrowserFamily, ) as any as S.Schema; export type HttpAsesIpVersionGetRequestContinentList = Array; export const HttpAsesIpVersionGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesIpVersionGetRequestDateEndList = Array; export const HttpAsesIpVersionGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesIpVersionGetRequestDateRangeList = Array; export const HttpAsesIpVersionGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesIpVersionGetRequestDateStartList = Array; export const HttpAsesIpVersionGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesIpVersionGetRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpAsesIpVersionGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpAsesIpVersionGetRequestDeviceTypeList = Array< HttpAsesIpVersionGetRequestDeviceType | (string & {}) >; export const HttpAsesIpVersionGetRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpAsesIpVersionGetRequestDeviceType, ) as any as S.Schema; export type HttpAsesIpVersionGetRequestFormat = "JSON" | "CSV"; export const HttpAsesIpVersionGetRequestFormat = /*@__PURE__*/ S.String; export type HttpAsesIpVersionGetRequestGeoIdList = Array; export const HttpAsesIpVersionGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesIpVersionGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpAsesIpVersionGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpAsesIpVersionGetRequestHttpProtocolList = Array< HttpAsesIpVersionGetRequestHttpProtocol | (string & {}) >; export const HttpAsesIpVersionGetRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpAsesIpVersionGetRequestHttpProtocol, ) as any as S.Schema; export type HttpAsesIpVersionGetRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpAsesIpVersionGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpAsesIpVersionGetRequestHttpVersionList = Array< HttpAsesIpVersionGetRequestHttpVersion | (string & {}) >; export const HttpAsesIpVersionGetRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpAsesIpVersionGetRequestHttpVersion, ) as any as S.Schema; export type HttpAsesIpVersionGetRequestLocationList = Array; export const HttpAsesIpVersionGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesIpVersionGetRequestNameList = Array; export const HttpAsesIpVersionGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesIpVersionGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpAsesIpVersionGetRequestOs = /*@__PURE__*/ S.String; export type HttpAsesIpVersionGetRequestOsList = Array< HttpAsesIpVersionGetRequestOs | (string & {}) >; export const HttpAsesIpVersionGetRequestOsList = /*@__PURE__*/ S.Array( HttpAsesIpVersionGetRequestOs, ) as any as S.Schema; export type HttpAsesIpVersionGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpAsesIpVersionGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpAsesIpVersionGetRequestTlsVersionList = Array< HttpAsesIpVersionGetRequestTlsVersion | (string & {}) >; export const HttpAsesIpVersionGetRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpAsesIpVersionGetRequestTlsVersion, ) as any as S.Schema; export interface GetHttpAsIpVersionRequest { /** IP version. */ ipVersion: HttpAsesIpVersionGetRequestIpVersion | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpAsesIpVersionGetRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpAsesIpVersionGetRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpAsesIpVersionGetRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpAsesIpVersionGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpAsesIpVersionGetRequestDateEndList; /** 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). */ dateRange?: HttpAsesIpVersionGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpAsesIpVersionGetRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpAsesIpVersionGetRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpAsesIpVersionGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpAsesIpVersionGetRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpAsesIpVersionGetRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpAsesIpVersionGetRequestHttpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpAsesIpVersionGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpAsesIpVersionGetRequestNameList; /** Filters results by operating system. */ os?: HttpAsesIpVersionGetRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpAsesIpVersionGetRequestTlsVersionList; } export const GetHttpAsIpVersionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ ipVersion: HttpAsesIpVersionGetRequestIpVersion.pipe(T.Label("ip_version")), asn: S.optional(HttpAsesIpVersionGetRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpAsesIpVersionGetRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpAsesIpVersionGetRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpAsesIpVersionGetRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(HttpAsesIpVersionGetRequestDateEndList.pipe(T.Query())), dateRange: S.optional( HttpAsesIpVersionGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpAsesIpVersionGetRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpAsesIpVersionGetRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpAsesIpVersionGetRequestFormat.pipe(T.Query())), geoId: S.optional(HttpAsesIpVersionGetRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpAsesIpVersionGetRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpAsesIpVersionGetRequestHttpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpAsesIpVersionGetRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpAsesIpVersionGetRequestNameList.pipe(T.Query())), os: S.optional(HttpAsesIpVersionGetRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpAsesIpVersionGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/ases/ip_version/{ip_version}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsIpVersionRequest", }) as any as S.Schema; export type HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpAsesIpVersionGetResponseMetaConfidenceInfo { annotations: HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpAsesIpVersionGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpAsesIpVersionGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpAsesIpVersionGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpAsesIpVersionGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpAsesIpVersionGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpAsesIpVersionGetResponseMetaDateRangeList = Array; export const HttpAsesIpVersionGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpAsesIpVersionGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpAsesIpVersionGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpAsesIpVersionGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpAsesIpVersionGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpAsesIpVersionGetResponseMetaUnitsList = Array; export const HttpAsesIpVersionGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpAsesIpVersionGetResponseMeta { confidenceInfo: HttpAsesIpVersionGetResponseMetaConfidenceInfo; dateRange: HttpAsesIpVersionGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpAsesIpVersionGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpAsesIpVersionGetResponseMetaUnitsList; } export const HttpAsesIpVersionGetResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpAsesIpVersionGetResponseMetaConfidenceInfo, dateRange: HttpAsesIpVersionGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpAsesIpVersionGetResponseMetaNormalization, units: HttpAsesIpVersionGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpAsesIpVersionGetResponseMeta", }) as any as S.Schema; export type HttpAsesIpVersionGetResponseTop0Item = DnsTopAsesResponseTop0Item; export const HttpAsesIpVersionGetResponseTop0Item = DnsTopAsesResponseTop0Item; export type HttpAsesIpVersionGetResponseTop0List = Array; export const HttpAsesIpVersionGetResponseTop0List = /*@__PURE__*/ S.Array( DnsTopAsesResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpAsIpVersionResponse { /** Metadata for the results. */ meta: HttpAsesIpVersionGetResponseMeta; top_0: HttpAsesIpVersionGetResponseTop0List; } export const GetHttpAsIpVersionResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpAsesIpVersionGetResponseMeta, top_0: HttpAsesIpVersionGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsIpVersionResponse", }) as any as S.Schema; export type HttpAsesOsGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpAsesOsGetRequestOs = /*@__PURE__*/ S.String; export type HttpAsesOsGetRequestAsnList = Array; export const HttpAsesOsGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesOsGetRequestBotClass = "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpAsesOsGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpAsesOsGetRequestBotClassList = Array< HttpAsesOsGetRequestBotClass | (string & {}) >; export const HttpAsesOsGetRequestBotClassList = /*@__PURE__*/ S.Array( HttpAsesOsGetRequestBotClass, ) as any as S.Schema; export type HttpAsesOsGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpAsesOsGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpAsesOsGetRequestBrowserFamilyList = Array< HttpAsesOsGetRequestBrowserFamily | (string & {}) >; export const HttpAsesOsGetRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpAsesOsGetRequestBrowserFamily, ) as any as S.Schema; export type HttpAsesOsGetRequestContinentList = Array; export const HttpAsesOsGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesOsGetRequestDateEndList = Array; export const HttpAsesOsGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesOsGetRequestDateRangeList = Array; export const HttpAsesOsGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesOsGetRequestDateStartList = Array; export const HttpAsesOsGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesOsGetRequestDeviceType = "DESKTOP" | "MOBILE" | "OTHER"; export const HttpAsesOsGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpAsesOsGetRequestDeviceTypeList = Array< HttpAsesOsGetRequestDeviceType | (string & {}) >; export const HttpAsesOsGetRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpAsesOsGetRequestDeviceType, ) as any as S.Schema; export type HttpAsesOsGetRequestFormat = "JSON" | "CSV"; export const HttpAsesOsGetRequestFormat = /*@__PURE__*/ S.String; export type HttpAsesOsGetRequestGeoIdList = Array; export const HttpAsesOsGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesOsGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpAsesOsGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpAsesOsGetRequestHttpProtocolList = Array< HttpAsesOsGetRequestHttpProtocol | (string & {}) >; export const HttpAsesOsGetRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpAsesOsGetRequestHttpProtocol, ) as any as S.Schema; export type HttpAsesOsGetRequestHttpVersion = "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpAsesOsGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpAsesOsGetRequestHttpVersionList = Array< HttpAsesOsGetRequestHttpVersion | (string & {}) >; export const HttpAsesOsGetRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpAsesOsGetRequestHttpVersion, ) as any as S.Schema; export type HttpAsesOsGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpAsesOsGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpAsesOsGetRequestIpVersionList = Array< HttpAsesOsGetRequestIpVersion | (string & {}) >; export const HttpAsesOsGetRequestIpVersionList = /*@__PURE__*/ S.Array( HttpAsesOsGetRequestIpVersion, ) as any as S.Schema; export type HttpAsesOsGetRequestLocationList = Array; export const HttpAsesOsGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesOsGetRequestNameList = Array; export const HttpAsesOsGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesOsGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpAsesOsGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpAsesOsGetRequestTlsVersionList = Array< HttpAsesOsGetRequestTlsVersion | (string & {}) >; export const HttpAsesOsGetRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpAsesOsGetRequestTlsVersion, ) as any as S.Schema; export interface GetHttpAsOsRequest { /** Operating system. */ os: HttpAsesOsGetRequestOs | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpAsesOsGetRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpAsesOsGetRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpAsesOsGetRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpAsesOsGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpAsesOsGetRequestDateEndList; /** 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). */ dateRange?: HttpAsesOsGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpAsesOsGetRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpAsesOsGetRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpAsesOsGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpAsesOsGetRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpAsesOsGetRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpAsesOsGetRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpAsesOsGetRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpAsesOsGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpAsesOsGetRequestNameList; /** Filters results by TLS version. */ tlsVersion?: HttpAsesOsGetRequestTlsVersionList; } export const GetHttpAsOsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ os: HttpAsesOsGetRequestOs.pipe(T.Label()), asn: S.optional(HttpAsesOsGetRequestAsnList.pipe(T.Query())), botClass: S.optional(HttpAsesOsGetRequestBotClassList.pipe(T.Query())), browserFamily: S.optional( HttpAsesOsGetRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional(HttpAsesOsGetRequestContinentList.pipe(T.Query())), dateEnd: S.optional(HttpAsesOsGetRequestDateEndList.pipe(T.Query())), dateRange: S.optional(HttpAsesOsGetRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(HttpAsesOsGetRequestDateStartList.pipe(T.Query())), deviceType: S.optional(HttpAsesOsGetRequestDeviceTypeList.pipe(T.Query())), format: S.optional(HttpAsesOsGetRequestFormat.pipe(T.Query())), geoId: S.optional(HttpAsesOsGetRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpAsesOsGetRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpAsesOsGetRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional(HttpAsesOsGetRequestIpVersionList.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(HttpAsesOsGetRequestLocationList.pipe(T.Query())), name: S.optional(HttpAsesOsGetRequestNameList.pipe(T.Query())), tlsVersion: S.optional(HttpAsesOsGetRequestTlsVersionList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/ases/os/{os}", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsOsRequest", }) as any as S.Schema; export type HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpAsesOsGetResponseMetaConfidenceInfo { annotations: HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpAsesOsGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: HttpAsesOsGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpAsesOsGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpAsesOsGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpAsesOsGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpAsesOsGetResponseMetaDateRangeList = Array; export const HttpAsesOsGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpAsesOsGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpAsesOsGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpAsesOsGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpAsesOsGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpAsesOsGetResponseMetaUnitsList = Array; export const HttpAsesOsGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpAsesOsGetResponseMeta { confidenceInfo: HttpAsesOsGetResponseMetaConfidenceInfo; dateRange: HttpAsesOsGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpAsesOsGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpAsesOsGetResponseMetaUnitsList; } export const HttpAsesOsGetResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpAsesOsGetResponseMetaConfidenceInfo, dateRange: HttpAsesOsGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpAsesOsGetResponseMetaNormalization, units: HttpAsesOsGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpAsesOsGetResponseMeta", }) as any as S.Schema; export type HttpAsesOsGetResponseTop0Item = DnsTopAsesResponseTop0Item; export const HttpAsesOsGetResponseTop0Item = DnsTopAsesResponseTop0Item; export type HttpAsesOsGetResponseTop0List = Array; export const HttpAsesOsGetResponseTop0List = /*@__PURE__*/ S.Array( DnsTopAsesResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpAsOsResponse { /** Metadata for the results. */ meta: HttpAsesOsGetResponseMeta; top_0: HttpAsesOsGetResponseTop0List; } export const GetHttpAsOsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpAsesOsGetResponseMeta, top_0: HttpAsesOsGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsOsResponse", }) as any as S.Schema; export type HttpAsesTlsVersionGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpAsesTlsVersionGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpAsesTlsVersionGetRequestAsnList = Array; export const HttpAsesTlsVersionGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesTlsVersionGetRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpAsesTlsVersionGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpAsesTlsVersionGetRequestBotClassList = Array< HttpAsesTlsVersionGetRequestBotClass | (string & {}) >; export const HttpAsesTlsVersionGetRequestBotClassList = /*@__PURE__*/ S.Array( HttpAsesTlsVersionGetRequestBotClass, ) as any as S.Schema; export type HttpAsesTlsVersionGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpAsesTlsVersionGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpAsesTlsVersionGetRequestBrowserFamilyList = Array< HttpAsesTlsVersionGetRequestBrowserFamily | (string & {}) >; export const HttpAsesTlsVersionGetRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpAsesTlsVersionGetRequestBrowserFamily, ) as any as S.Schema; export type HttpAsesTlsVersionGetRequestContinentList = Array; export const HttpAsesTlsVersionGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesTlsVersionGetRequestDateEndList = Array; export const HttpAsesTlsVersionGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesTlsVersionGetRequestDateRangeList = Array; export const HttpAsesTlsVersionGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesTlsVersionGetRequestDateStartList = Array; export const HttpAsesTlsVersionGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesTlsVersionGetRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpAsesTlsVersionGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpAsesTlsVersionGetRequestDeviceTypeList = Array< HttpAsesTlsVersionGetRequestDeviceType | (string & {}) >; export const HttpAsesTlsVersionGetRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpAsesTlsVersionGetRequestDeviceType, ) as any as S.Schema; export type HttpAsesTlsVersionGetRequestFormat = "JSON" | "CSV"; export const HttpAsesTlsVersionGetRequestFormat = /*@__PURE__*/ S.String; export type HttpAsesTlsVersionGetRequestGeoIdList = Array; export const HttpAsesTlsVersionGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesTlsVersionGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpAsesTlsVersionGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpAsesTlsVersionGetRequestHttpProtocolList = Array< HttpAsesTlsVersionGetRequestHttpProtocol | (string & {}) >; export const HttpAsesTlsVersionGetRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpAsesTlsVersionGetRequestHttpProtocol, ) as any as S.Schema; export type HttpAsesTlsVersionGetRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpAsesTlsVersionGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpAsesTlsVersionGetRequestHttpVersionList = Array< HttpAsesTlsVersionGetRequestHttpVersion | (string & {}) >; export const HttpAsesTlsVersionGetRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpAsesTlsVersionGetRequestHttpVersion, ) as any as S.Schema; export type HttpAsesTlsVersionGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpAsesTlsVersionGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpAsesTlsVersionGetRequestIpVersionList = Array< HttpAsesTlsVersionGetRequestIpVersion | (string & {}) >; export const HttpAsesTlsVersionGetRequestIpVersionList = /*@__PURE__*/ S.Array( HttpAsesTlsVersionGetRequestIpVersion, ) as any as S.Schema; export type HttpAsesTlsVersionGetRequestLocationList = Array; export const HttpAsesTlsVersionGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesTlsVersionGetRequestNameList = Array; export const HttpAsesTlsVersionGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpAsesTlsVersionGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpAsesTlsVersionGetRequestOs = /*@__PURE__*/ S.String; export type HttpAsesTlsVersionGetRequestOsList = Array< HttpAsesTlsVersionGetRequestOs | (string & {}) >; export const HttpAsesTlsVersionGetRequestOsList = /*@__PURE__*/ S.Array( HttpAsesTlsVersionGetRequestOs, ) as any as S.Schema; export interface GetHttpAsTlsVersionRequest { /** TLS version. */ tlsVersion: HttpAsesTlsVersionGetRequestTlsVersion | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpAsesTlsVersionGetRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpAsesTlsVersionGetRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpAsesTlsVersionGetRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpAsesTlsVersionGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpAsesTlsVersionGetRequestDateEndList; /** 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). */ dateRange?: HttpAsesTlsVersionGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpAsesTlsVersionGetRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpAsesTlsVersionGetRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpAsesTlsVersionGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpAsesTlsVersionGetRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpAsesTlsVersionGetRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpAsesTlsVersionGetRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpAsesTlsVersionGetRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpAsesTlsVersionGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpAsesTlsVersionGetRequestNameList; /** Filters results by operating system. */ os?: HttpAsesTlsVersionGetRequestOsList; } export const GetHttpAsTlsVersionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ tlsVersion: HttpAsesTlsVersionGetRequestTlsVersion.pipe( T.Label("tls_version"), ), asn: S.optional(HttpAsesTlsVersionGetRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpAsesTlsVersionGetRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpAsesTlsVersionGetRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpAsesTlsVersionGetRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpAsesTlsVersionGetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpAsesTlsVersionGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpAsesTlsVersionGetRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpAsesTlsVersionGetRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpAsesTlsVersionGetRequestFormat.pipe(T.Query())), geoId: S.optional(HttpAsesTlsVersionGetRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpAsesTlsVersionGetRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpAsesTlsVersionGetRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpAsesTlsVersionGetRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpAsesTlsVersionGetRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpAsesTlsVersionGetRequestNameList.pipe(T.Query())), os: S.optional(HttpAsesTlsVersionGetRequestOsList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/ases/tls_version/{tls_version}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsTlsVersionRequest", }) as any as S.Schema; export type HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpAsesTlsVersionGetResponseMetaConfidenceInfo { annotations: HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpAsesTlsVersionGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpAsesTlsVersionGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpAsesTlsVersionGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpAsesTlsVersionGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpAsesTlsVersionGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpAsesTlsVersionGetResponseMetaDateRangeList = Array; export const HttpAsesTlsVersionGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpAsesTlsVersionGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpAsesTlsVersionGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpAsesTlsVersionGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpAsesTlsVersionGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpAsesTlsVersionGetResponseMetaUnitsList = Array; export const HttpAsesTlsVersionGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpAsesTlsVersionGetResponseMeta { confidenceInfo: HttpAsesTlsVersionGetResponseMetaConfidenceInfo; dateRange: HttpAsesTlsVersionGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpAsesTlsVersionGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpAsesTlsVersionGetResponseMetaUnitsList; } export const HttpAsesTlsVersionGetResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpAsesTlsVersionGetResponseMetaConfidenceInfo, dateRange: HttpAsesTlsVersionGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpAsesTlsVersionGetResponseMetaNormalization, units: HttpAsesTlsVersionGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpAsesTlsVersionGetResponseMeta", }) as any as S.Schema; export type HttpAsesTlsVersionGetResponseTop0Item = DnsTopAsesResponseTop0Item; export const HttpAsesTlsVersionGetResponseTop0Item = DnsTopAsesResponseTop0Item; export type HttpAsesTlsVersionGetResponseTop0List = Array; export const HttpAsesTlsVersionGetResponseTop0List = /*@__PURE__*/ S.Array( DnsTopAsesResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpAsTlsVersionResponse { /** Metadata for the results. */ meta: HttpAsesTlsVersionGetResponseMeta; top_0: HttpAsesTlsVersionGetResponseTop0List; } export const GetHttpAsTlsVersionResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpAsesTlsVersionGetResponseMeta, top_0: HttpAsesTlsVersionGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpAsTlsVersionResponse", }) as any as S.Schema; export type HttpLocationsGetRequestAsnList = Array; export const HttpLocationsGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsGetRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpLocationsGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpLocationsGetRequestBotClassList = Array< HttpLocationsGetRequestBotClass | (string & {}) >; export const HttpLocationsGetRequestBotClassList = /*@__PURE__*/ S.Array( HttpLocationsGetRequestBotClass, ) as any as S.Schema; export type HttpLocationsGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpLocationsGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpLocationsGetRequestBrowserFamilyList = Array< HttpLocationsGetRequestBrowserFamily | (string & {}) >; export const HttpLocationsGetRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpLocationsGetRequestBrowserFamily, ) as any as S.Schema; export type HttpLocationsGetRequestContinentList = Array; export const HttpLocationsGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsGetRequestDateEndList = Array; export const HttpLocationsGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsGetRequestDateRangeList = Array; export const HttpLocationsGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsGetRequestDateStartList = Array; export const HttpLocationsGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsGetRequestDeviceType = "DESKTOP" | "MOBILE" | "OTHER"; export const HttpLocationsGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpLocationsGetRequestDeviceTypeList = Array< HttpLocationsGetRequestDeviceType | (string & {}) >; export const HttpLocationsGetRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpLocationsGetRequestDeviceType, ) as any as S.Schema; export type HttpLocationsGetRequestFormat = "JSON" | "CSV"; export const HttpLocationsGetRequestFormat = /*@__PURE__*/ S.String; export type HttpLocationsGetRequestGeoIdList = Array; export const HttpLocationsGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpLocationsGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpLocationsGetRequestHttpProtocolList = Array< HttpLocationsGetRequestHttpProtocol | (string & {}) >; export const HttpLocationsGetRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpLocationsGetRequestHttpProtocol, ) as any as S.Schema; export type HttpLocationsGetRequestHttpVersion = "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpLocationsGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpLocationsGetRequestHttpVersionList = Array< HttpLocationsGetRequestHttpVersion | (string & {}) >; export const HttpLocationsGetRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpLocationsGetRequestHttpVersion, ) as any as S.Schema; export type HttpLocationsGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpLocationsGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpLocationsGetRequestIpVersionList = Array< HttpLocationsGetRequestIpVersion | (string & {}) >; export const HttpLocationsGetRequestIpVersionList = /*@__PURE__*/ S.Array( HttpLocationsGetRequestIpVersion, ) as any as S.Schema; export type HttpLocationsGetRequestLocationList = Array; export const HttpLocationsGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsGetRequestNameList = Array; export const HttpLocationsGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpLocationsGetRequestOs = /*@__PURE__*/ S.String; export type HttpLocationsGetRequestOsList = Array< HttpLocationsGetRequestOs | (string & {}) >; export const HttpLocationsGetRequestOsList = /*@__PURE__*/ S.Array( HttpLocationsGetRequestOs, ) as any as S.Schema; export type HttpLocationsGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpLocationsGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpLocationsGetRequestTlsVersionList = Array< HttpLocationsGetRequestTlsVersion | (string & {}) >; export const HttpLocationsGetRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpLocationsGetRequestTlsVersion, ) as any as S.Schema; export interface GetHttpLocationRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpLocationsGetRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpLocationsGetRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpLocationsGetRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpLocationsGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpLocationsGetRequestDateEndList; /** 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). */ dateRange?: HttpLocationsGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpLocationsGetRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpLocationsGetRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpLocationsGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpLocationsGetRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpLocationsGetRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpLocationsGetRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpLocationsGetRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpLocationsGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpLocationsGetRequestNameList; /** Filters results by operating system. */ os?: HttpLocationsGetRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpLocationsGetRequestTlsVersionList; } export const GetHttpLocationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(HttpLocationsGetRequestAsnList.pipe(T.Query())), botClass: S.optional(HttpLocationsGetRequestBotClassList.pipe(T.Query())), browserFamily: S.optional( HttpLocationsGetRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional(HttpLocationsGetRequestContinentList.pipe(T.Query())), dateEnd: S.optional(HttpLocationsGetRequestDateEndList.pipe(T.Query())), dateRange: S.optional(HttpLocationsGetRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(HttpLocationsGetRequestDateStartList.pipe(T.Query())), deviceType: S.optional( HttpLocationsGetRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpLocationsGetRequestFormat.pipe(T.Query())), geoId: S.optional(HttpLocationsGetRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpLocationsGetRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpLocationsGetRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional(HttpLocationsGetRequestIpVersionList.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(HttpLocationsGetRequestLocationList.pipe(T.Query())), name: S.optional(HttpLocationsGetRequestNameList.pipe(T.Query())), os: S.optional(HttpLocationsGetRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpLocationsGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/locations", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationRequest", }) as any as S.Schema; export type HttpLocationsGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpLocationsGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpLocationsGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpLocationsGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpLocationsGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpLocationsGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpLocationsGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpLocationsGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpLocationsGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpLocationsGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpLocationsGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpLocationsGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpLocationsGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpLocationsGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpLocationsGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpLocationsGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpLocationsGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpLocationsGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpLocationsGetResponseMetaConfidenceInfo { annotations: HttpLocationsGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpLocationsGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpLocationsGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpLocationsGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpLocationsGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpLocationsGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpLocationsGetResponseMetaDateRangeList = Array; export const HttpLocationsGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpLocationsGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpLocationsGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpLocationsGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpLocationsGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpLocationsGetResponseMetaUnitsList = Array; export const HttpLocationsGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpLocationsGetResponseMeta { confidenceInfo: HttpLocationsGetResponseMetaConfidenceInfo; dateRange: HttpLocationsGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpLocationsGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpLocationsGetResponseMetaUnitsList; } export const HttpLocationsGetResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpLocationsGetResponseMetaConfidenceInfo, dateRange: HttpLocationsGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpLocationsGetResponseMetaNormalization, units: HttpLocationsGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpLocationsGetResponseMeta", }) as any as S.Schema; export type HttpLocationsGetResponseTop0Item = As112TopDnssecResponseTop0Item; export const HttpLocationsGetResponseTop0Item = As112TopDnssecResponseTop0Item; export type HttpLocationsGetResponseTop0List = Array; export const HttpLocationsGetResponseTop0List = /*@__PURE__*/ S.Array( As112TopDnssecResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpLocationResponse { /** Metadata for the results. */ meta: HttpLocationsGetResponseMeta; top_0: HttpLocationsGetResponseTop0List; } export const GetHttpLocationResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpLocationsGetResponseMeta, top_0: HttpLocationsGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationResponse", }) as any as S.Schema; export type HttpLocationsBotClassGetRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpLocationsBotClassGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpLocationsBotClassGetRequestAsnList = Array; export const HttpLocationsBotClassGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsBotClassGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpLocationsBotClassGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpLocationsBotClassGetRequestBrowserFamilyList = Array< HttpLocationsBotClassGetRequestBrowserFamily | (string & {}) >; export const HttpLocationsBotClassGetRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpLocationsBotClassGetRequestBrowserFamily, ) as any as S.Schema; export type HttpLocationsBotClassGetRequestContinentList = Array; export const HttpLocationsBotClassGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsBotClassGetRequestDateEndList = Array; export const HttpLocationsBotClassGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsBotClassGetRequestDateRangeList = Array; export const HttpLocationsBotClassGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsBotClassGetRequestDateStartList = Array; export const HttpLocationsBotClassGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsBotClassGetRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpLocationsBotClassGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpLocationsBotClassGetRequestDeviceTypeList = Array< HttpLocationsBotClassGetRequestDeviceType | (string & {}) >; export const HttpLocationsBotClassGetRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpLocationsBotClassGetRequestDeviceType, ) as any as S.Schema; export type HttpLocationsBotClassGetRequestFormat = "JSON" | "CSV"; export const HttpLocationsBotClassGetRequestFormat = /*@__PURE__*/ S.String; export type HttpLocationsBotClassGetRequestGeoIdList = Array; export const HttpLocationsBotClassGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsBotClassGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpLocationsBotClassGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpLocationsBotClassGetRequestHttpProtocolList = Array< HttpLocationsBotClassGetRequestHttpProtocol | (string & {}) >; export const HttpLocationsBotClassGetRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpLocationsBotClassGetRequestHttpProtocol, ) as any as S.Schema; export type HttpLocationsBotClassGetRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpLocationsBotClassGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpLocationsBotClassGetRequestHttpVersionList = Array< HttpLocationsBotClassGetRequestHttpVersion | (string & {}) >; export const HttpLocationsBotClassGetRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpLocationsBotClassGetRequestHttpVersion, ) as any as S.Schema; export type HttpLocationsBotClassGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpLocationsBotClassGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpLocationsBotClassGetRequestIpVersionList = Array< HttpLocationsBotClassGetRequestIpVersion | (string & {}) >; export const HttpLocationsBotClassGetRequestIpVersionList = /*@__PURE__*/ S.Array( HttpLocationsBotClassGetRequestIpVersion, ) as any as S.Schema; export type HttpLocationsBotClassGetRequestLocationList = Array; export const HttpLocationsBotClassGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsBotClassGetRequestNameList = Array; export const HttpLocationsBotClassGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsBotClassGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpLocationsBotClassGetRequestOs = /*@__PURE__*/ S.String; export type HttpLocationsBotClassGetRequestOsList = Array< HttpLocationsBotClassGetRequestOs | (string & {}) >; export const HttpLocationsBotClassGetRequestOsList = /*@__PURE__*/ S.Array( HttpLocationsBotClassGetRequestOs, ) as any as S.Schema; export type HttpLocationsBotClassGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpLocationsBotClassGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpLocationsBotClassGetRequestTlsVersionList = Array< HttpLocationsBotClassGetRequestTlsVersion | (string & {}) >; export const HttpLocationsBotClassGetRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpLocationsBotClassGetRequestTlsVersion, ) as any as S.Schema; export interface GetHttpLocationBotClassRequest { /** Bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass: HttpLocationsBotClassGetRequestBotClass | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpLocationsBotClassGetRequestAsnList; /** Filters results by browser family. */ browserFamily?: HttpLocationsBotClassGetRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpLocationsBotClassGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpLocationsBotClassGetRequestDateEndList; /** 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). */ dateRange?: HttpLocationsBotClassGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpLocationsBotClassGetRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpLocationsBotClassGetRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpLocationsBotClassGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpLocationsBotClassGetRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpLocationsBotClassGetRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpLocationsBotClassGetRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpLocationsBotClassGetRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpLocationsBotClassGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpLocationsBotClassGetRequestNameList; /** Filters results by operating system. */ os?: HttpLocationsBotClassGetRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpLocationsBotClassGetRequestTlsVersionList; } export const GetHttpLocationBotClassRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ botClass: HttpLocationsBotClassGetRequestBotClass.pipe( T.Label("bot_class"), ), asn: S.optional(HttpLocationsBotClassGetRequestAsnList.pipe(T.Query())), browserFamily: S.optional( HttpLocationsBotClassGetRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpLocationsBotClassGetRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpLocationsBotClassGetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpLocationsBotClassGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpLocationsBotClassGetRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpLocationsBotClassGetRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpLocationsBotClassGetRequestFormat.pipe(T.Query())), geoId: S.optional(HttpLocationsBotClassGetRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpLocationsBotClassGetRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpLocationsBotClassGetRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpLocationsBotClassGetRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpLocationsBotClassGetRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpLocationsBotClassGetRequestNameList.pipe(T.Query())), os: S.optional(HttpLocationsBotClassGetRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpLocationsBotClassGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/locations/bot_class/{bot_class}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationBotClassRequest", }) as any as S.Schema; export type HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpLocationsBotClassGetResponseMetaConfidenceInfo { annotations: HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpLocationsBotClassGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpLocationsBotClassGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpLocationsBotClassGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpLocationsBotClassGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpLocationsBotClassGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpLocationsBotClassGetResponseMetaDateRangeList = Array; export const HttpLocationsBotClassGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpLocationsBotClassGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpLocationsBotClassGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpLocationsBotClassGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpLocationsBotClassGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpLocationsBotClassGetResponseMetaUnitsList = Array; export const HttpLocationsBotClassGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpLocationsBotClassGetResponseMeta { confidenceInfo: HttpLocationsBotClassGetResponseMetaConfidenceInfo; dateRange: HttpLocationsBotClassGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpLocationsBotClassGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpLocationsBotClassGetResponseMetaUnitsList; } export const HttpLocationsBotClassGetResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: HttpLocationsBotClassGetResponseMetaConfidenceInfo, dateRange: HttpLocationsBotClassGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpLocationsBotClassGetResponseMetaNormalization, units: HttpLocationsBotClassGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpLocationsBotClassGetResponseMeta", }) as any as S.Schema; export type HttpLocationsBotClassGetResponseTop0Item = As112TopDnssecResponseTop0Item; export const HttpLocationsBotClassGetResponseTop0Item = As112TopDnssecResponseTop0Item; export type HttpLocationsBotClassGetResponseTop0List = Array; export const HttpLocationsBotClassGetResponseTop0List = /*@__PURE__*/ S.Array( As112TopDnssecResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpLocationBotClassResponse { /** Metadata for the results. */ meta: HttpLocationsBotClassGetResponseMeta; top_0: HttpLocationsBotClassGetResponseTop0List; } export const GetHttpLocationBotClassResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpLocationsBotClassGetResponseMeta, top_0: HttpLocationsBotClassGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationBotClassResponse", }) as any as S.Schema; export type HttpLocationsBrowserFamilyGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpLocationsBrowserFamilyGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpLocationsBrowserFamilyGetRequestAsnList = Array; export const HttpLocationsBrowserFamilyGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsBrowserFamilyGetRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpLocationsBrowserFamilyGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpLocationsBrowserFamilyGetRequestBotClassList = Array< HttpLocationsBrowserFamilyGetRequestBotClass | (string & {}) >; export const HttpLocationsBrowserFamilyGetRequestBotClassList = /*@__PURE__*/ S.Array( HttpLocationsBrowserFamilyGetRequestBotClass, ) as any as S.Schema; export type HttpLocationsBrowserFamilyGetRequestContinentList = Array; export const HttpLocationsBrowserFamilyGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsBrowserFamilyGetRequestDateEndList = Array; export const HttpLocationsBrowserFamilyGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsBrowserFamilyGetRequestDateRangeList = Array; export const HttpLocationsBrowserFamilyGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsBrowserFamilyGetRequestDateStartList = Array; export const HttpLocationsBrowserFamilyGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsBrowserFamilyGetRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpLocationsBrowserFamilyGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpLocationsBrowserFamilyGetRequestDeviceTypeList = Array< HttpLocationsBrowserFamilyGetRequestDeviceType | (string & {}) >; export const HttpLocationsBrowserFamilyGetRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpLocationsBrowserFamilyGetRequestDeviceType, ) as any as S.Schema; export type HttpLocationsBrowserFamilyGetRequestFormat = "JSON" | "CSV"; export const HttpLocationsBrowserFamilyGetRequestFormat = /*@__PURE__*/ S.String; export type HttpLocationsBrowserFamilyGetRequestGeoIdList = Array; export const HttpLocationsBrowserFamilyGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsBrowserFamilyGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpLocationsBrowserFamilyGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpLocationsBrowserFamilyGetRequestHttpProtocolList = Array< HttpLocationsBrowserFamilyGetRequestHttpProtocol | (string & {}) >; export const HttpLocationsBrowserFamilyGetRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpLocationsBrowserFamilyGetRequestHttpProtocol, ) as any as S.Schema; export type HttpLocationsBrowserFamilyGetRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpLocationsBrowserFamilyGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpLocationsBrowserFamilyGetRequestHttpVersionList = Array< HttpLocationsBrowserFamilyGetRequestHttpVersion | (string & {}) >; export const HttpLocationsBrowserFamilyGetRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpLocationsBrowserFamilyGetRequestHttpVersion, ) as any as S.Schema; export type HttpLocationsBrowserFamilyGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpLocationsBrowserFamilyGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpLocationsBrowserFamilyGetRequestIpVersionList = Array< HttpLocationsBrowserFamilyGetRequestIpVersion | (string & {}) >; export const HttpLocationsBrowserFamilyGetRequestIpVersionList = /*@__PURE__*/ S.Array( HttpLocationsBrowserFamilyGetRequestIpVersion, ) as any as S.Schema; export type HttpLocationsBrowserFamilyGetRequestLocationList = Array; export const HttpLocationsBrowserFamilyGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsBrowserFamilyGetRequestNameList = Array; export const HttpLocationsBrowserFamilyGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsBrowserFamilyGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpLocationsBrowserFamilyGetRequestOs = /*@__PURE__*/ S.String; export type HttpLocationsBrowserFamilyGetRequestOsList = Array< HttpLocationsBrowserFamilyGetRequestOs | (string & {}) >; export const HttpLocationsBrowserFamilyGetRequestOsList = /*@__PURE__*/ S.Array( HttpLocationsBrowserFamilyGetRequestOs, ) as any as S.Schema; export type HttpLocationsBrowserFamilyGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpLocationsBrowserFamilyGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpLocationsBrowserFamilyGetRequestTlsVersionList = Array< HttpLocationsBrowserFamilyGetRequestTlsVersion | (string & {}) >; export const HttpLocationsBrowserFamilyGetRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpLocationsBrowserFamilyGetRequestTlsVersion, ) as any as S.Schema; export interface GetHttpLocationBrowserFamilyRequest { /** Browser family. */ browserFamily: | HttpLocationsBrowserFamilyGetRequestBrowserFamily | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpLocationsBrowserFamilyGetRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpLocationsBrowserFamilyGetRequestBotClassList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpLocationsBrowserFamilyGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpLocationsBrowserFamilyGetRequestDateEndList; /** 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). */ dateRange?: HttpLocationsBrowserFamilyGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpLocationsBrowserFamilyGetRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpLocationsBrowserFamilyGetRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpLocationsBrowserFamilyGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpLocationsBrowserFamilyGetRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpLocationsBrowserFamilyGetRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpLocationsBrowserFamilyGetRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpLocationsBrowserFamilyGetRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpLocationsBrowserFamilyGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpLocationsBrowserFamilyGetRequestNameList; /** Filters results by operating system. */ os?: HttpLocationsBrowserFamilyGetRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpLocationsBrowserFamilyGetRequestTlsVersionList; } export const GetHttpLocationBrowserFamilyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ browserFamily: HttpLocationsBrowserFamilyGetRequestBrowserFamily.pipe( T.Label("browser_family"), ), asn: S.optional( HttpLocationsBrowserFamilyGetRequestAsnList.pipe(T.Query()), ), botClass: S.optional( HttpLocationsBrowserFamilyGetRequestBotClassList.pipe(T.Query()), ), continent: S.optional( HttpLocationsBrowserFamilyGetRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpLocationsBrowserFamilyGetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpLocationsBrowserFamilyGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpLocationsBrowserFamilyGetRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpLocationsBrowserFamilyGetRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional( HttpLocationsBrowserFamilyGetRequestFormat.pipe(T.Query()), ), geoId: S.optional( HttpLocationsBrowserFamilyGetRequestGeoIdList.pipe(T.Query()), ), httpProtocol: S.optional( HttpLocationsBrowserFamilyGetRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpLocationsBrowserFamilyGetRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpLocationsBrowserFamilyGetRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpLocationsBrowserFamilyGetRequestLocationList.pipe(T.Query()), ), name: S.optional( HttpLocationsBrowserFamilyGetRequestNameList.pipe(T.Query()), ), os: S.optional(HttpLocationsBrowserFamilyGetRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpLocationsBrowserFamilyGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/locations/browser_family/{browser_family}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationBrowserFamilyRequest", }) as any as S.Schema; export type HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfo { annotations: HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpLocationsBrowserFamilyGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpLocationsBrowserFamilyGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpLocationsBrowserFamilyGetResponseMetaDateRangeList = Array; export const HttpLocationsBrowserFamilyGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpLocationsBrowserFamilyGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpLocationsBrowserFamilyGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpLocationsBrowserFamilyGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpLocationsBrowserFamilyGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpLocationsBrowserFamilyGetResponseMetaUnitsList = Array; export const HttpLocationsBrowserFamilyGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpLocationsBrowserFamilyGetResponseMeta { confidenceInfo: HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfo; dateRange: HttpLocationsBrowserFamilyGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpLocationsBrowserFamilyGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpLocationsBrowserFamilyGetResponseMetaUnitsList; } export const HttpLocationsBrowserFamilyGetResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpLocationsBrowserFamilyGetResponseMetaConfidenceInfo, dateRange: HttpLocationsBrowserFamilyGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpLocationsBrowserFamilyGetResponseMetaNormalization, units: HttpLocationsBrowserFamilyGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpLocationsBrowserFamilyGetResponseMeta", }) as any as S.Schema; export type HttpLocationsBrowserFamilyGetResponseTop0Item = As112TopDnssecResponseTop0Item; export const HttpLocationsBrowserFamilyGetResponseTop0Item = As112TopDnssecResponseTop0Item; export type HttpLocationsBrowserFamilyGetResponseTop0List = Array; export const HttpLocationsBrowserFamilyGetResponseTop0List = /*@__PURE__*/ S.Array( As112TopDnssecResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpLocationBrowserFamilyResponse { /** Metadata for the results. */ meta: HttpLocationsBrowserFamilyGetResponseMeta; top_0: HttpLocationsBrowserFamilyGetResponseTop0List; } export const GetHttpLocationBrowserFamilyResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: HttpLocationsBrowserFamilyGetResponseMeta, top_0: HttpLocationsBrowserFamilyGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationBrowserFamilyResponse", }) as any as S.Schema; export type HttpLocationsDeviceTypeGetRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpLocationsDeviceTypeGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpLocationsDeviceTypeGetRequestAsnList = Array; export const HttpLocationsDeviceTypeGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsDeviceTypeGetRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpLocationsDeviceTypeGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpLocationsDeviceTypeGetRequestBotClassList = Array< HttpLocationsDeviceTypeGetRequestBotClass | (string & {}) >; export const HttpLocationsDeviceTypeGetRequestBotClassList = /*@__PURE__*/ S.Array( HttpLocationsDeviceTypeGetRequestBotClass, ) as any as S.Schema; export type HttpLocationsDeviceTypeGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpLocationsDeviceTypeGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpLocationsDeviceTypeGetRequestBrowserFamilyList = Array< HttpLocationsDeviceTypeGetRequestBrowserFamily | (string & {}) >; export const HttpLocationsDeviceTypeGetRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpLocationsDeviceTypeGetRequestBrowserFamily, ) as any as S.Schema; export type HttpLocationsDeviceTypeGetRequestContinentList = Array; export const HttpLocationsDeviceTypeGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsDeviceTypeGetRequestDateEndList = Array; export const HttpLocationsDeviceTypeGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsDeviceTypeGetRequestDateRangeList = Array; export const HttpLocationsDeviceTypeGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsDeviceTypeGetRequestDateStartList = Array; export const HttpLocationsDeviceTypeGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsDeviceTypeGetRequestFormat = "JSON" | "CSV"; export const HttpLocationsDeviceTypeGetRequestFormat = /*@__PURE__*/ S.String; export type HttpLocationsDeviceTypeGetRequestGeoIdList = Array; export const HttpLocationsDeviceTypeGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsDeviceTypeGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpLocationsDeviceTypeGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpLocationsDeviceTypeGetRequestHttpProtocolList = Array< HttpLocationsDeviceTypeGetRequestHttpProtocol | (string & {}) >; export const HttpLocationsDeviceTypeGetRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpLocationsDeviceTypeGetRequestHttpProtocol, ) as any as S.Schema; export type HttpLocationsDeviceTypeGetRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpLocationsDeviceTypeGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpLocationsDeviceTypeGetRequestHttpVersionList = Array< HttpLocationsDeviceTypeGetRequestHttpVersion | (string & {}) >; export const HttpLocationsDeviceTypeGetRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpLocationsDeviceTypeGetRequestHttpVersion, ) as any as S.Schema; export type HttpLocationsDeviceTypeGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpLocationsDeviceTypeGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpLocationsDeviceTypeGetRequestIpVersionList = Array< HttpLocationsDeviceTypeGetRequestIpVersion | (string & {}) >; export const HttpLocationsDeviceTypeGetRequestIpVersionList = /*@__PURE__*/ S.Array( HttpLocationsDeviceTypeGetRequestIpVersion, ) as any as S.Schema; export type HttpLocationsDeviceTypeGetRequestLocationList = Array; export const HttpLocationsDeviceTypeGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsDeviceTypeGetRequestNameList = Array; export const HttpLocationsDeviceTypeGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsDeviceTypeGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpLocationsDeviceTypeGetRequestOs = /*@__PURE__*/ S.String; export type HttpLocationsDeviceTypeGetRequestOsList = Array< HttpLocationsDeviceTypeGetRequestOs | (string & {}) >; export const HttpLocationsDeviceTypeGetRequestOsList = /*@__PURE__*/ S.Array( HttpLocationsDeviceTypeGetRequestOs, ) as any as S.Schema; export type HttpLocationsDeviceTypeGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpLocationsDeviceTypeGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpLocationsDeviceTypeGetRequestTlsVersionList = Array< HttpLocationsDeviceTypeGetRequestTlsVersion | (string & {}) >; export const HttpLocationsDeviceTypeGetRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpLocationsDeviceTypeGetRequestTlsVersion, ) as any as S.Schema; export interface GetHttpLocationDeviceTypeRequest { /** Device type. */ deviceType: HttpLocationsDeviceTypeGetRequestDeviceType | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpLocationsDeviceTypeGetRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpLocationsDeviceTypeGetRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpLocationsDeviceTypeGetRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpLocationsDeviceTypeGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpLocationsDeviceTypeGetRequestDateEndList; /** 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). */ dateRange?: HttpLocationsDeviceTypeGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpLocationsDeviceTypeGetRequestDateStartList; /** Format in which results will be returned. */ format?: HttpLocationsDeviceTypeGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpLocationsDeviceTypeGetRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpLocationsDeviceTypeGetRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpLocationsDeviceTypeGetRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpLocationsDeviceTypeGetRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpLocationsDeviceTypeGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpLocationsDeviceTypeGetRequestNameList; /** Filters results by operating system. */ os?: HttpLocationsDeviceTypeGetRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpLocationsDeviceTypeGetRequestTlsVersionList; } export const GetHttpLocationDeviceTypeRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ deviceType: HttpLocationsDeviceTypeGetRequestDeviceType.pipe( T.Label("device_type"), ), asn: S.optional(HttpLocationsDeviceTypeGetRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpLocationsDeviceTypeGetRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpLocationsDeviceTypeGetRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpLocationsDeviceTypeGetRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpLocationsDeviceTypeGetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpLocationsDeviceTypeGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpLocationsDeviceTypeGetRequestDateStartList.pipe(T.Query()), ), format: S.optional(HttpLocationsDeviceTypeGetRequestFormat.pipe(T.Query())), geoId: S.optional( HttpLocationsDeviceTypeGetRequestGeoIdList.pipe(T.Query()), ), httpProtocol: S.optional( HttpLocationsDeviceTypeGetRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpLocationsDeviceTypeGetRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpLocationsDeviceTypeGetRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpLocationsDeviceTypeGetRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpLocationsDeviceTypeGetRequestNameList.pipe(T.Query())), os: S.optional(HttpLocationsDeviceTypeGetRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpLocationsDeviceTypeGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/locations/device_type/{device_type}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationDeviceTypeRequest", }) as any as S.Schema; export type HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpLocationsDeviceTypeGetResponseMetaConfidenceInfo { annotations: HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpLocationsDeviceTypeGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpLocationsDeviceTypeGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpLocationsDeviceTypeGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpLocationsDeviceTypeGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpLocationsDeviceTypeGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpLocationsDeviceTypeGetResponseMetaDateRangeList = Array; export const HttpLocationsDeviceTypeGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpLocationsDeviceTypeGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpLocationsDeviceTypeGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpLocationsDeviceTypeGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpLocationsDeviceTypeGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpLocationsDeviceTypeGetResponseMetaUnitsList = Array; export const HttpLocationsDeviceTypeGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpLocationsDeviceTypeGetResponseMeta { confidenceInfo: HttpLocationsDeviceTypeGetResponseMetaConfidenceInfo; dateRange: HttpLocationsDeviceTypeGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpLocationsDeviceTypeGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpLocationsDeviceTypeGetResponseMetaUnitsList; } export const HttpLocationsDeviceTypeGetResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: HttpLocationsDeviceTypeGetResponseMetaConfidenceInfo, dateRange: HttpLocationsDeviceTypeGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpLocationsDeviceTypeGetResponseMetaNormalization, units: HttpLocationsDeviceTypeGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpLocationsDeviceTypeGetResponseMeta", }) as any as S.Schema; export type HttpLocationsDeviceTypeGetResponseTop0Item = As112TopDnssecResponseTop0Item; export const HttpLocationsDeviceTypeGetResponseTop0Item = As112TopDnssecResponseTop0Item; export type HttpLocationsDeviceTypeGetResponseTop0List = Array; export const HttpLocationsDeviceTypeGetResponseTop0List = /*@__PURE__*/ S.Array( As112TopDnssecResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpLocationDeviceTypeResponse { /** Metadata for the results. */ meta: HttpLocationsDeviceTypeGetResponseMeta; top_0: HttpLocationsDeviceTypeGetResponseTop0List; } export const GetHttpLocationDeviceTypeResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpLocationsDeviceTypeGetResponseMeta, top_0: HttpLocationsDeviceTypeGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationDeviceTypeResponse", }) as any as S.Schema; export type HttpLocationsHttpMethodGetRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpLocationsHttpMethodGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpLocationsHttpMethodGetRequestAsnList = Array; export const HttpLocationsHttpMethodGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsHttpMethodGetRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpLocationsHttpMethodGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpLocationsHttpMethodGetRequestBotClassList = Array< HttpLocationsHttpMethodGetRequestBotClass | (string & {}) >; export const HttpLocationsHttpMethodGetRequestBotClassList = /*@__PURE__*/ S.Array( HttpLocationsHttpMethodGetRequestBotClass, ) as any as S.Schema; export type HttpLocationsHttpMethodGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpLocationsHttpMethodGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpLocationsHttpMethodGetRequestBrowserFamilyList = Array< HttpLocationsHttpMethodGetRequestBrowserFamily | (string & {}) >; export const HttpLocationsHttpMethodGetRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpLocationsHttpMethodGetRequestBrowserFamily, ) as any as S.Schema; export type HttpLocationsHttpMethodGetRequestContinentList = Array; export const HttpLocationsHttpMethodGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsHttpMethodGetRequestDateEndList = Array; export const HttpLocationsHttpMethodGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsHttpMethodGetRequestDateRangeList = Array; export const HttpLocationsHttpMethodGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsHttpMethodGetRequestDateStartList = Array; export const HttpLocationsHttpMethodGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsHttpMethodGetRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpLocationsHttpMethodGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpLocationsHttpMethodGetRequestDeviceTypeList = Array< HttpLocationsHttpMethodGetRequestDeviceType | (string & {}) >; export const HttpLocationsHttpMethodGetRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpLocationsHttpMethodGetRequestDeviceType, ) as any as S.Schema; export type HttpLocationsHttpMethodGetRequestFormat = "JSON" | "CSV"; export const HttpLocationsHttpMethodGetRequestFormat = /*@__PURE__*/ S.String; export type HttpLocationsHttpMethodGetRequestGeoIdList = Array; export const HttpLocationsHttpMethodGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsHttpMethodGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpLocationsHttpMethodGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpLocationsHttpMethodGetRequestHttpProtocolList = Array< HttpLocationsHttpMethodGetRequestHttpProtocol | (string & {}) >; export const HttpLocationsHttpMethodGetRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpLocationsHttpMethodGetRequestHttpProtocol, ) as any as S.Schema; export type HttpLocationsHttpMethodGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpLocationsHttpMethodGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpLocationsHttpMethodGetRequestIpVersionList = Array< HttpLocationsHttpMethodGetRequestIpVersion | (string & {}) >; export const HttpLocationsHttpMethodGetRequestIpVersionList = /*@__PURE__*/ S.Array( HttpLocationsHttpMethodGetRequestIpVersion, ) as any as S.Schema; export type HttpLocationsHttpMethodGetRequestLocationList = Array; export const HttpLocationsHttpMethodGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsHttpMethodGetRequestNameList = Array; export const HttpLocationsHttpMethodGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsHttpMethodGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpLocationsHttpMethodGetRequestOs = /*@__PURE__*/ S.String; export type HttpLocationsHttpMethodGetRequestOsList = Array< HttpLocationsHttpMethodGetRequestOs | (string & {}) >; export const HttpLocationsHttpMethodGetRequestOsList = /*@__PURE__*/ S.Array( HttpLocationsHttpMethodGetRequestOs, ) as any as S.Schema; export type HttpLocationsHttpMethodGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpLocationsHttpMethodGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpLocationsHttpMethodGetRequestTlsVersionList = Array< HttpLocationsHttpMethodGetRequestTlsVersion | (string & {}) >; export const HttpLocationsHttpMethodGetRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpLocationsHttpMethodGetRequestTlsVersion, ) as any as S.Schema; export interface GetHttpLocationHttpMethodRequest { /** HTTP version. */ httpVersion: HttpLocationsHttpMethodGetRequestHttpVersion | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpLocationsHttpMethodGetRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpLocationsHttpMethodGetRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpLocationsHttpMethodGetRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpLocationsHttpMethodGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpLocationsHttpMethodGetRequestDateEndList; /** 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). */ dateRange?: HttpLocationsHttpMethodGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpLocationsHttpMethodGetRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpLocationsHttpMethodGetRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpLocationsHttpMethodGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpLocationsHttpMethodGetRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpLocationsHttpMethodGetRequestHttpProtocolList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpLocationsHttpMethodGetRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpLocationsHttpMethodGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpLocationsHttpMethodGetRequestNameList; /** Filters results by operating system. */ os?: HttpLocationsHttpMethodGetRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpLocationsHttpMethodGetRequestTlsVersionList; } export const GetHttpLocationHttpMethodRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ httpVersion: HttpLocationsHttpMethodGetRequestHttpVersion.pipe( T.Label("http_version"), ), asn: S.optional(HttpLocationsHttpMethodGetRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpLocationsHttpMethodGetRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpLocationsHttpMethodGetRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpLocationsHttpMethodGetRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpLocationsHttpMethodGetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpLocationsHttpMethodGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpLocationsHttpMethodGetRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpLocationsHttpMethodGetRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpLocationsHttpMethodGetRequestFormat.pipe(T.Query())), geoId: S.optional( HttpLocationsHttpMethodGetRequestGeoIdList.pipe(T.Query()), ), httpProtocol: S.optional( HttpLocationsHttpMethodGetRequestHttpProtocolList.pipe(T.Query()), ), ipVersion: S.optional( HttpLocationsHttpMethodGetRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpLocationsHttpMethodGetRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpLocationsHttpMethodGetRequestNameList.pipe(T.Query())), os: S.optional(HttpLocationsHttpMethodGetRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpLocationsHttpMethodGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/locations/http_version/{http_version}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationHttpMethodRequest", }) as any as S.Schema; export type HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpLocationsHttpMethodGetResponseMetaConfidenceInfo { annotations: HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpLocationsHttpMethodGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpLocationsHttpMethodGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpLocationsHttpMethodGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpLocationsHttpMethodGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpLocationsHttpMethodGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpLocationsHttpMethodGetResponseMetaDateRangeList = Array; export const HttpLocationsHttpMethodGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpLocationsHttpMethodGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpLocationsHttpMethodGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpLocationsHttpMethodGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpLocationsHttpMethodGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpLocationsHttpMethodGetResponseMetaUnitsList = Array; export const HttpLocationsHttpMethodGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpLocationsHttpMethodGetResponseMeta { confidenceInfo: HttpLocationsHttpMethodGetResponseMetaConfidenceInfo; dateRange: HttpLocationsHttpMethodGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpLocationsHttpMethodGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpLocationsHttpMethodGetResponseMetaUnitsList; } export const HttpLocationsHttpMethodGetResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: HttpLocationsHttpMethodGetResponseMetaConfidenceInfo, dateRange: HttpLocationsHttpMethodGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpLocationsHttpMethodGetResponseMetaNormalization, units: HttpLocationsHttpMethodGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpLocationsHttpMethodGetResponseMeta", }) as any as S.Schema; export type HttpLocationsHttpMethodGetResponseTop0Item = As112TopDnssecResponseTop0Item; export const HttpLocationsHttpMethodGetResponseTop0Item = As112TopDnssecResponseTop0Item; export type HttpLocationsHttpMethodGetResponseTop0List = Array; export const HttpLocationsHttpMethodGetResponseTop0List = /*@__PURE__*/ S.Array( As112TopDnssecResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpLocationHttpMethodResponse { /** Metadata for the results. */ meta: HttpLocationsHttpMethodGetResponseMeta; top_0: HttpLocationsHttpMethodGetResponseTop0List; } export const GetHttpLocationHttpMethodResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpLocationsHttpMethodGetResponseMeta, top_0: HttpLocationsHttpMethodGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationHttpMethodResponse", }) as any as S.Schema; export type HttpLocationsHttpProtocolGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpLocationsHttpProtocolGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpLocationsHttpProtocolGetRequestAsnList = Array; export const HttpLocationsHttpProtocolGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsHttpProtocolGetRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpLocationsHttpProtocolGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpLocationsHttpProtocolGetRequestBotClassList = Array< HttpLocationsHttpProtocolGetRequestBotClass | (string & {}) >; export const HttpLocationsHttpProtocolGetRequestBotClassList = /*@__PURE__*/ S.Array( HttpLocationsHttpProtocolGetRequestBotClass, ) as any as S.Schema; export type HttpLocationsHttpProtocolGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpLocationsHttpProtocolGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpLocationsHttpProtocolGetRequestBrowserFamilyList = Array< HttpLocationsHttpProtocolGetRequestBrowserFamily | (string & {}) >; export const HttpLocationsHttpProtocolGetRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpLocationsHttpProtocolGetRequestBrowserFamily, ) as any as S.Schema; export type HttpLocationsHttpProtocolGetRequestContinentList = Array; export const HttpLocationsHttpProtocolGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsHttpProtocolGetRequestDateEndList = Array; export const HttpLocationsHttpProtocolGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsHttpProtocolGetRequestDateRangeList = Array; export const HttpLocationsHttpProtocolGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsHttpProtocolGetRequestDateStartList = Array; export const HttpLocationsHttpProtocolGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsHttpProtocolGetRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpLocationsHttpProtocolGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpLocationsHttpProtocolGetRequestDeviceTypeList = Array< HttpLocationsHttpProtocolGetRequestDeviceType | (string & {}) >; export const HttpLocationsHttpProtocolGetRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpLocationsHttpProtocolGetRequestDeviceType, ) as any as S.Schema; export type HttpLocationsHttpProtocolGetRequestFormat = "JSON" | "CSV"; export const HttpLocationsHttpProtocolGetRequestFormat = /*@__PURE__*/ S.String; export type HttpLocationsHttpProtocolGetRequestGeoIdList = Array; export const HttpLocationsHttpProtocolGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsHttpProtocolGetRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpLocationsHttpProtocolGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpLocationsHttpProtocolGetRequestHttpVersionList = Array< HttpLocationsHttpProtocolGetRequestHttpVersion | (string & {}) >; export const HttpLocationsHttpProtocolGetRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpLocationsHttpProtocolGetRequestHttpVersion, ) as any as S.Schema; export type HttpLocationsHttpProtocolGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpLocationsHttpProtocolGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpLocationsHttpProtocolGetRequestIpVersionList = Array< HttpLocationsHttpProtocolGetRequestIpVersion | (string & {}) >; export const HttpLocationsHttpProtocolGetRequestIpVersionList = /*@__PURE__*/ S.Array( HttpLocationsHttpProtocolGetRequestIpVersion, ) as any as S.Schema; export type HttpLocationsHttpProtocolGetRequestLocationList = Array; export const HttpLocationsHttpProtocolGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsHttpProtocolGetRequestNameList = Array; export const HttpLocationsHttpProtocolGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsHttpProtocolGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpLocationsHttpProtocolGetRequestOs = /*@__PURE__*/ S.String; export type HttpLocationsHttpProtocolGetRequestOsList = Array< HttpLocationsHttpProtocolGetRequestOs | (string & {}) >; export const HttpLocationsHttpProtocolGetRequestOsList = /*@__PURE__*/ S.Array( HttpLocationsHttpProtocolGetRequestOs, ) as any as S.Schema; export type HttpLocationsHttpProtocolGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpLocationsHttpProtocolGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpLocationsHttpProtocolGetRequestTlsVersionList = Array< HttpLocationsHttpProtocolGetRequestTlsVersion | (string & {}) >; export const HttpLocationsHttpProtocolGetRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpLocationsHttpProtocolGetRequestTlsVersion, ) as any as S.Schema; export interface GetHttpLocationHttpProtocolRequest { /** HTTP protocol (HTTP vs. HTTPS). */ httpProtocol: HttpLocationsHttpProtocolGetRequestHttpProtocol | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpLocationsHttpProtocolGetRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpLocationsHttpProtocolGetRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpLocationsHttpProtocolGetRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpLocationsHttpProtocolGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpLocationsHttpProtocolGetRequestDateEndList; /** 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). */ dateRange?: HttpLocationsHttpProtocolGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpLocationsHttpProtocolGetRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpLocationsHttpProtocolGetRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpLocationsHttpProtocolGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpLocationsHttpProtocolGetRequestGeoIdList; /** Filters results by HTTP version. */ httpVersion?: HttpLocationsHttpProtocolGetRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpLocationsHttpProtocolGetRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpLocationsHttpProtocolGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpLocationsHttpProtocolGetRequestNameList; /** Filters results by operating system. */ os?: HttpLocationsHttpProtocolGetRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpLocationsHttpProtocolGetRequestTlsVersionList; } export const GetHttpLocationHttpProtocolRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ httpProtocol: HttpLocationsHttpProtocolGetRequestHttpProtocol.pipe( T.Label("http_protocol"), ), asn: S.optional(HttpLocationsHttpProtocolGetRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpLocationsHttpProtocolGetRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpLocationsHttpProtocolGetRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpLocationsHttpProtocolGetRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpLocationsHttpProtocolGetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpLocationsHttpProtocolGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpLocationsHttpProtocolGetRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpLocationsHttpProtocolGetRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional( HttpLocationsHttpProtocolGetRequestFormat.pipe(T.Query()), ), geoId: S.optional( HttpLocationsHttpProtocolGetRequestGeoIdList.pipe(T.Query()), ), httpVersion: S.optional( HttpLocationsHttpProtocolGetRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpLocationsHttpProtocolGetRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpLocationsHttpProtocolGetRequestLocationList.pipe(T.Query()), ), name: S.optional( HttpLocationsHttpProtocolGetRequestNameList.pipe(T.Query()), ), os: S.optional(HttpLocationsHttpProtocolGetRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpLocationsHttpProtocolGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/locations/http_protocol/{http_protocol}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationHttpProtocolRequest", }) as any as S.Schema; export type HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpLocationsHttpProtocolGetResponseMetaConfidenceInfo { annotations: HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpLocationsHttpProtocolGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpLocationsHttpProtocolGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpLocationsHttpProtocolGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpLocationsHttpProtocolGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpLocationsHttpProtocolGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpLocationsHttpProtocolGetResponseMetaDateRangeList = Array; export const HttpLocationsHttpProtocolGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpLocationsHttpProtocolGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpLocationsHttpProtocolGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpLocationsHttpProtocolGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpLocationsHttpProtocolGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpLocationsHttpProtocolGetResponseMetaUnitsList = Array; export const HttpLocationsHttpProtocolGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpLocationsHttpProtocolGetResponseMeta { confidenceInfo: HttpLocationsHttpProtocolGetResponseMetaConfidenceInfo; dateRange: HttpLocationsHttpProtocolGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpLocationsHttpProtocolGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpLocationsHttpProtocolGetResponseMetaUnitsList; } export const HttpLocationsHttpProtocolGetResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: HttpLocationsHttpProtocolGetResponseMetaConfidenceInfo, dateRange: HttpLocationsHttpProtocolGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpLocationsHttpProtocolGetResponseMetaNormalization, units: HttpLocationsHttpProtocolGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpLocationsHttpProtocolGetResponseMeta", }) as any as S.Schema; export type HttpLocationsHttpProtocolGetResponseTop0Item = As112TopDnssecResponseTop0Item; export const HttpLocationsHttpProtocolGetResponseTop0Item = As112TopDnssecResponseTop0Item; export type HttpLocationsHttpProtocolGetResponseTop0List = Array; export const HttpLocationsHttpProtocolGetResponseTop0List = /*@__PURE__*/ S.Array( As112TopDnssecResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpLocationHttpProtocolResponse { /** Metadata for the results. */ meta: HttpLocationsHttpProtocolGetResponseMeta; top_0: HttpLocationsHttpProtocolGetResponseTop0List; } export const GetHttpLocationHttpProtocolResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpLocationsHttpProtocolGetResponseMeta, top_0: HttpLocationsHttpProtocolGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationHttpProtocolResponse", }) as any as S.Schema; export type HttpLocationsIpVersionGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpLocationsIpVersionGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpLocationsIpVersionGetRequestAsnList = Array; export const HttpLocationsIpVersionGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsIpVersionGetRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpLocationsIpVersionGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpLocationsIpVersionGetRequestBotClassList = Array< HttpLocationsIpVersionGetRequestBotClass | (string & {}) >; export const HttpLocationsIpVersionGetRequestBotClassList = /*@__PURE__*/ S.Array( HttpLocationsIpVersionGetRequestBotClass, ) as any as S.Schema; export type HttpLocationsIpVersionGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpLocationsIpVersionGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpLocationsIpVersionGetRequestBrowserFamilyList = Array< HttpLocationsIpVersionGetRequestBrowserFamily | (string & {}) >; export const HttpLocationsIpVersionGetRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpLocationsIpVersionGetRequestBrowserFamily, ) as any as S.Schema; export type HttpLocationsIpVersionGetRequestContinentList = Array; export const HttpLocationsIpVersionGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsIpVersionGetRequestDateEndList = Array; export const HttpLocationsIpVersionGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsIpVersionGetRequestDateRangeList = Array; export const HttpLocationsIpVersionGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsIpVersionGetRequestDateStartList = Array; export const HttpLocationsIpVersionGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsIpVersionGetRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpLocationsIpVersionGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpLocationsIpVersionGetRequestDeviceTypeList = Array< HttpLocationsIpVersionGetRequestDeviceType | (string & {}) >; export const HttpLocationsIpVersionGetRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpLocationsIpVersionGetRequestDeviceType, ) as any as S.Schema; export type HttpLocationsIpVersionGetRequestFormat = "JSON" | "CSV"; export const HttpLocationsIpVersionGetRequestFormat = /*@__PURE__*/ S.String; export type HttpLocationsIpVersionGetRequestGeoIdList = Array; export const HttpLocationsIpVersionGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsIpVersionGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpLocationsIpVersionGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpLocationsIpVersionGetRequestHttpProtocolList = Array< HttpLocationsIpVersionGetRequestHttpProtocol | (string & {}) >; export const HttpLocationsIpVersionGetRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpLocationsIpVersionGetRequestHttpProtocol, ) as any as S.Schema; export type HttpLocationsIpVersionGetRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpLocationsIpVersionGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpLocationsIpVersionGetRequestHttpVersionList = Array< HttpLocationsIpVersionGetRequestHttpVersion | (string & {}) >; export const HttpLocationsIpVersionGetRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpLocationsIpVersionGetRequestHttpVersion, ) as any as S.Schema; export type HttpLocationsIpVersionGetRequestLocationList = Array; export const HttpLocationsIpVersionGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsIpVersionGetRequestNameList = Array; export const HttpLocationsIpVersionGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsIpVersionGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpLocationsIpVersionGetRequestOs = /*@__PURE__*/ S.String; export type HttpLocationsIpVersionGetRequestOsList = Array< HttpLocationsIpVersionGetRequestOs | (string & {}) >; export const HttpLocationsIpVersionGetRequestOsList = /*@__PURE__*/ S.Array( HttpLocationsIpVersionGetRequestOs, ) as any as S.Schema; export type HttpLocationsIpVersionGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpLocationsIpVersionGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpLocationsIpVersionGetRequestTlsVersionList = Array< HttpLocationsIpVersionGetRequestTlsVersion | (string & {}) >; export const HttpLocationsIpVersionGetRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpLocationsIpVersionGetRequestTlsVersion, ) as any as S.Schema; export interface GetHttpLocationIpVersionRequest { /** IP version. */ ipVersion: HttpLocationsIpVersionGetRequestIpVersion | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpLocationsIpVersionGetRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpLocationsIpVersionGetRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpLocationsIpVersionGetRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpLocationsIpVersionGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpLocationsIpVersionGetRequestDateEndList; /** 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). */ dateRange?: HttpLocationsIpVersionGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpLocationsIpVersionGetRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpLocationsIpVersionGetRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpLocationsIpVersionGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpLocationsIpVersionGetRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpLocationsIpVersionGetRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpLocationsIpVersionGetRequestHttpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpLocationsIpVersionGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpLocationsIpVersionGetRequestNameList; /** Filters results by operating system. */ os?: HttpLocationsIpVersionGetRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpLocationsIpVersionGetRequestTlsVersionList; } export const GetHttpLocationIpVersionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ ipVersion: HttpLocationsIpVersionGetRequestIpVersion.pipe( T.Label("ip_version"), ), asn: S.optional(HttpLocationsIpVersionGetRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpLocationsIpVersionGetRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpLocationsIpVersionGetRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpLocationsIpVersionGetRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpLocationsIpVersionGetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpLocationsIpVersionGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpLocationsIpVersionGetRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpLocationsIpVersionGetRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpLocationsIpVersionGetRequestFormat.pipe(T.Query())), geoId: S.optional( HttpLocationsIpVersionGetRequestGeoIdList.pipe(T.Query()), ), httpProtocol: S.optional( HttpLocationsIpVersionGetRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpLocationsIpVersionGetRequestHttpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpLocationsIpVersionGetRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpLocationsIpVersionGetRequestNameList.pipe(T.Query())), os: S.optional(HttpLocationsIpVersionGetRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpLocationsIpVersionGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/locations/ip_version/{ip_version}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationIpVersionRequest", }) as any as S.Schema; export type HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpLocationsIpVersionGetResponseMetaConfidenceInfo { annotations: HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpLocationsIpVersionGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpLocationsIpVersionGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpLocationsIpVersionGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpLocationsIpVersionGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpLocationsIpVersionGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpLocationsIpVersionGetResponseMetaDateRangeList = Array; export const HttpLocationsIpVersionGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpLocationsIpVersionGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpLocationsIpVersionGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpLocationsIpVersionGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpLocationsIpVersionGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpLocationsIpVersionGetResponseMetaUnitsList = Array; export const HttpLocationsIpVersionGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpLocationsIpVersionGetResponseMeta { confidenceInfo: HttpLocationsIpVersionGetResponseMetaConfidenceInfo; dateRange: HttpLocationsIpVersionGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpLocationsIpVersionGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpLocationsIpVersionGetResponseMetaUnitsList; } export const HttpLocationsIpVersionGetResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: HttpLocationsIpVersionGetResponseMetaConfidenceInfo, dateRange: HttpLocationsIpVersionGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpLocationsIpVersionGetResponseMetaNormalization, units: HttpLocationsIpVersionGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpLocationsIpVersionGetResponseMeta", }) as any as S.Schema; export type HttpLocationsIpVersionGetResponseTop0Item = As112TopDnssecResponseTop0Item; export const HttpLocationsIpVersionGetResponseTop0Item = As112TopDnssecResponseTop0Item; export type HttpLocationsIpVersionGetResponseTop0List = Array; export const HttpLocationsIpVersionGetResponseTop0List = /*@__PURE__*/ S.Array( As112TopDnssecResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpLocationIpVersionResponse { /** Metadata for the results. */ meta: HttpLocationsIpVersionGetResponseMeta; top_0: HttpLocationsIpVersionGetResponseTop0List; } export const GetHttpLocationIpVersionResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpLocationsIpVersionGetResponseMeta, top_0: HttpLocationsIpVersionGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationIpVersionResponse", }) as any as S.Schema; export type HttpLocationsOsGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpLocationsOsGetRequestOs = /*@__PURE__*/ S.String; export type HttpLocationsOsGetRequestAsnList = Array; export const HttpLocationsOsGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsOsGetRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpLocationsOsGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpLocationsOsGetRequestBotClassList = Array< HttpLocationsOsGetRequestBotClass | (string & {}) >; export const HttpLocationsOsGetRequestBotClassList = /*@__PURE__*/ S.Array( HttpLocationsOsGetRequestBotClass, ) as any as S.Schema; export type HttpLocationsOsGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpLocationsOsGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpLocationsOsGetRequestBrowserFamilyList = Array< HttpLocationsOsGetRequestBrowserFamily | (string & {}) >; export const HttpLocationsOsGetRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpLocationsOsGetRequestBrowserFamily, ) as any as S.Schema; export type HttpLocationsOsGetRequestContinentList = Array; export const HttpLocationsOsGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsOsGetRequestDateEndList = Array; export const HttpLocationsOsGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsOsGetRequestDateRangeList = Array; export const HttpLocationsOsGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsOsGetRequestDateStartList = Array; export const HttpLocationsOsGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsOsGetRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpLocationsOsGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpLocationsOsGetRequestDeviceTypeList = Array< HttpLocationsOsGetRequestDeviceType | (string & {}) >; export const HttpLocationsOsGetRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpLocationsOsGetRequestDeviceType, ) as any as S.Schema; export type HttpLocationsOsGetRequestFormat = "JSON" | "CSV"; export const HttpLocationsOsGetRequestFormat = /*@__PURE__*/ S.String; export type HttpLocationsOsGetRequestGeoIdList = Array; export const HttpLocationsOsGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsOsGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpLocationsOsGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpLocationsOsGetRequestHttpProtocolList = Array< HttpLocationsOsGetRequestHttpProtocol | (string & {}) >; export const HttpLocationsOsGetRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpLocationsOsGetRequestHttpProtocol, ) as any as S.Schema; export type HttpLocationsOsGetRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpLocationsOsGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpLocationsOsGetRequestHttpVersionList = Array< HttpLocationsOsGetRequestHttpVersion | (string & {}) >; export const HttpLocationsOsGetRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpLocationsOsGetRequestHttpVersion, ) as any as S.Schema; export type HttpLocationsOsGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpLocationsOsGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpLocationsOsGetRequestIpVersionList = Array< HttpLocationsOsGetRequestIpVersion | (string & {}) >; export const HttpLocationsOsGetRequestIpVersionList = /*@__PURE__*/ S.Array( HttpLocationsOsGetRequestIpVersion, ) as any as S.Schema; export type HttpLocationsOsGetRequestLocationList = Array; export const HttpLocationsOsGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsOsGetRequestNameList = Array; export const HttpLocationsOsGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsOsGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpLocationsOsGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpLocationsOsGetRequestTlsVersionList = Array< HttpLocationsOsGetRequestTlsVersion | (string & {}) >; export const HttpLocationsOsGetRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpLocationsOsGetRequestTlsVersion, ) as any as S.Schema; export interface GetHttpLocationOsRequest { /** Operating system. */ os: HttpLocationsOsGetRequestOs | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpLocationsOsGetRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpLocationsOsGetRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpLocationsOsGetRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpLocationsOsGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpLocationsOsGetRequestDateEndList; /** 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). */ dateRange?: HttpLocationsOsGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpLocationsOsGetRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpLocationsOsGetRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpLocationsOsGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpLocationsOsGetRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpLocationsOsGetRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpLocationsOsGetRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpLocationsOsGetRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpLocationsOsGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpLocationsOsGetRequestNameList; /** Filters results by TLS version. */ tlsVersion?: HttpLocationsOsGetRequestTlsVersionList; } export const GetHttpLocationOsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ os: HttpLocationsOsGetRequestOs.pipe(T.Label()), asn: S.optional(HttpLocationsOsGetRequestAsnList.pipe(T.Query())), botClass: S.optional(HttpLocationsOsGetRequestBotClassList.pipe(T.Query())), browserFamily: S.optional( HttpLocationsOsGetRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpLocationsOsGetRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(HttpLocationsOsGetRequestDateEndList.pipe(T.Query())), dateRange: S.optional( HttpLocationsOsGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpLocationsOsGetRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpLocationsOsGetRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpLocationsOsGetRequestFormat.pipe(T.Query())), geoId: S.optional(HttpLocationsOsGetRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpLocationsOsGetRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpLocationsOsGetRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpLocationsOsGetRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(HttpLocationsOsGetRequestLocationList.pipe(T.Query())), name: S.optional(HttpLocationsOsGetRequestNameList.pipe(T.Query())), tlsVersion: S.optional( HttpLocationsOsGetRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/locations/os/{os}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationOsRequest", }) as any as S.Schema; export type HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpLocationsOsGetResponseMetaConfidenceInfo { annotations: HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpLocationsOsGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpLocationsOsGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpLocationsOsGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpLocationsOsGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpLocationsOsGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpLocationsOsGetResponseMetaDateRangeList = Array; export const HttpLocationsOsGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpLocationsOsGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpLocationsOsGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpLocationsOsGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpLocationsOsGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpLocationsOsGetResponseMetaUnitsList = Array; export const HttpLocationsOsGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpLocationsOsGetResponseMeta { confidenceInfo: HttpLocationsOsGetResponseMetaConfidenceInfo; dateRange: HttpLocationsOsGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpLocationsOsGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpLocationsOsGetResponseMetaUnitsList; } export const HttpLocationsOsGetResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpLocationsOsGetResponseMetaConfidenceInfo, dateRange: HttpLocationsOsGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpLocationsOsGetResponseMetaNormalization, units: HttpLocationsOsGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpLocationsOsGetResponseMeta", }) as any as S.Schema; export type HttpLocationsOsGetResponseTop0Item = As112TopDnssecResponseTop0Item; export const HttpLocationsOsGetResponseTop0Item = As112TopDnssecResponseTop0Item; export type HttpLocationsOsGetResponseTop0List = Array; export const HttpLocationsOsGetResponseTop0List = /*@__PURE__*/ S.Array( As112TopDnssecResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpLocationOsResponse { /** Metadata for the results. */ meta: HttpLocationsOsGetResponseMeta; top_0: HttpLocationsOsGetResponseTop0List; } export const GetHttpLocationOsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpLocationsOsGetResponseMeta, top_0: HttpLocationsOsGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationOsResponse", }) as any as S.Schema; export type HttpLocationsTlsVersionGetRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpLocationsTlsVersionGetRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpLocationsTlsVersionGetRequestAsnList = Array; export const HttpLocationsTlsVersionGetRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsTlsVersionGetRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpLocationsTlsVersionGetRequestBotClass = /*@__PURE__*/ S.String; export type HttpLocationsTlsVersionGetRequestBotClassList = Array< HttpLocationsTlsVersionGetRequestBotClass | (string & {}) >; export const HttpLocationsTlsVersionGetRequestBotClassList = /*@__PURE__*/ S.Array( HttpLocationsTlsVersionGetRequestBotClass, ) as any as S.Schema; export type HttpLocationsTlsVersionGetRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpLocationsTlsVersionGetRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpLocationsTlsVersionGetRequestBrowserFamilyList = Array< HttpLocationsTlsVersionGetRequestBrowserFamily | (string & {}) >; export const HttpLocationsTlsVersionGetRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpLocationsTlsVersionGetRequestBrowserFamily, ) as any as S.Schema; export type HttpLocationsTlsVersionGetRequestContinentList = Array; export const HttpLocationsTlsVersionGetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsTlsVersionGetRequestDateEndList = Array; export const HttpLocationsTlsVersionGetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsTlsVersionGetRequestDateRangeList = Array; export const HttpLocationsTlsVersionGetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsTlsVersionGetRequestDateStartList = Array; export const HttpLocationsTlsVersionGetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsTlsVersionGetRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpLocationsTlsVersionGetRequestDeviceType = /*@__PURE__*/ S.String; export type HttpLocationsTlsVersionGetRequestDeviceTypeList = Array< HttpLocationsTlsVersionGetRequestDeviceType | (string & {}) >; export const HttpLocationsTlsVersionGetRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpLocationsTlsVersionGetRequestDeviceType, ) as any as S.Schema; export type HttpLocationsTlsVersionGetRequestFormat = "JSON" | "CSV"; export const HttpLocationsTlsVersionGetRequestFormat = /*@__PURE__*/ S.String; export type HttpLocationsTlsVersionGetRequestGeoIdList = Array; export const HttpLocationsTlsVersionGetRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsTlsVersionGetRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpLocationsTlsVersionGetRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpLocationsTlsVersionGetRequestHttpProtocolList = Array< HttpLocationsTlsVersionGetRequestHttpProtocol | (string & {}) >; export const HttpLocationsTlsVersionGetRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpLocationsTlsVersionGetRequestHttpProtocol, ) as any as S.Schema; export type HttpLocationsTlsVersionGetRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpLocationsTlsVersionGetRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpLocationsTlsVersionGetRequestHttpVersionList = Array< HttpLocationsTlsVersionGetRequestHttpVersion | (string & {}) >; export const HttpLocationsTlsVersionGetRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpLocationsTlsVersionGetRequestHttpVersion, ) as any as S.Schema; export type HttpLocationsTlsVersionGetRequestIpVersion = "IPv4" | "IPv6"; export const HttpLocationsTlsVersionGetRequestIpVersion = /*@__PURE__*/ S.String; export type HttpLocationsTlsVersionGetRequestIpVersionList = Array< HttpLocationsTlsVersionGetRequestIpVersion | (string & {}) >; export const HttpLocationsTlsVersionGetRequestIpVersionList = /*@__PURE__*/ S.Array( HttpLocationsTlsVersionGetRequestIpVersion, ) as any as S.Schema; export type HttpLocationsTlsVersionGetRequestLocationList = Array; export const HttpLocationsTlsVersionGetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsTlsVersionGetRequestNameList = Array; export const HttpLocationsTlsVersionGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpLocationsTlsVersionGetRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpLocationsTlsVersionGetRequestOs = /*@__PURE__*/ S.String; export type HttpLocationsTlsVersionGetRequestOsList = Array< HttpLocationsTlsVersionGetRequestOs | (string & {}) >; export const HttpLocationsTlsVersionGetRequestOsList = /*@__PURE__*/ S.Array( HttpLocationsTlsVersionGetRequestOs, ) as any as S.Schema; export interface GetHttpLocationTlsVersionRequest { /** TLS version. */ tlsVersion: HttpLocationsTlsVersionGetRequestTlsVersion | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpLocationsTlsVersionGetRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpLocationsTlsVersionGetRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpLocationsTlsVersionGetRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpLocationsTlsVersionGetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpLocationsTlsVersionGetRequestDateEndList; /** 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). */ dateRange?: HttpLocationsTlsVersionGetRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpLocationsTlsVersionGetRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpLocationsTlsVersionGetRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpLocationsTlsVersionGetRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpLocationsTlsVersionGetRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpLocationsTlsVersionGetRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpLocationsTlsVersionGetRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpLocationsTlsVersionGetRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpLocationsTlsVersionGetRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpLocationsTlsVersionGetRequestNameList; /** Filters results by operating system. */ os?: HttpLocationsTlsVersionGetRequestOsList; } export const GetHttpLocationTlsVersionRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ tlsVersion: HttpLocationsTlsVersionGetRequestTlsVersion.pipe( T.Label("tls_version"), ), asn: S.optional(HttpLocationsTlsVersionGetRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpLocationsTlsVersionGetRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpLocationsTlsVersionGetRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpLocationsTlsVersionGetRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpLocationsTlsVersionGetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpLocationsTlsVersionGetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpLocationsTlsVersionGetRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpLocationsTlsVersionGetRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpLocationsTlsVersionGetRequestFormat.pipe(T.Query())), geoId: S.optional( HttpLocationsTlsVersionGetRequestGeoIdList.pipe(T.Query()), ), httpProtocol: S.optional( HttpLocationsTlsVersionGetRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpLocationsTlsVersionGetRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpLocationsTlsVersionGetRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpLocationsTlsVersionGetRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpLocationsTlsVersionGetRequestNameList.pipe(T.Query())), os: S.optional(HttpLocationsTlsVersionGetRequestOsList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/top/locations/tls_version/{tls_version}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationTlsVersionRequest", }) as any as S.Schema; export type HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpLocationsTlsVersionGetResponseMetaConfidenceInfo { annotations: HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpLocationsTlsVersionGetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpLocationsTlsVersionGetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpLocationsTlsVersionGetResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpLocationsTlsVersionGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpLocationsTlsVersionGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpLocationsTlsVersionGetResponseMetaDateRangeList = Array; export const HttpLocationsTlsVersionGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpLocationsTlsVersionGetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpLocationsTlsVersionGetResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpLocationsTlsVersionGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpLocationsTlsVersionGetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpLocationsTlsVersionGetResponseMetaUnitsList = Array; export const HttpLocationsTlsVersionGetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpLocationsTlsVersionGetResponseMeta { confidenceInfo: HttpLocationsTlsVersionGetResponseMetaConfidenceInfo; dateRange: HttpLocationsTlsVersionGetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpLocationsTlsVersionGetResponseMetaNormalization; /** Measurement units for the results. */ units: HttpLocationsTlsVersionGetResponseMetaUnitsList; } export const HttpLocationsTlsVersionGetResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: HttpLocationsTlsVersionGetResponseMetaConfidenceInfo, dateRange: HttpLocationsTlsVersionGetResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpLocationsTlsVersionGetResponseMetaNormalization, units: HttpLocationsTlsVersionGetResponseMetaUnitsList, }), ).annotate({ identifier: "HttpLocationsTlsVersionGetResponseMeta", }) as any as S.Schema; export type HttpLocationsTlsVersionGetResponseTop0Item = As112TopDnssecResponseTop0Item; export const HttpLocationsTlsVersionGetResponseTop0Item = As112TopDnssecResponseTop0Item; export type HttpLocationsTlsVersionGetResponseTop0List = Array; export const HttpLocationsTlsVersionGetResponseTop0List = /*@__PURE__*/ S.Array( As112TopDnssecResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetHttpLocationTlsVersionResponse { /** Metadata for the results. */ meta: HttpLocationsTlsVersionGetResponseMeta; top_0: HttpLocationsTlsVersionGetResponseTop0List; } export const GetHttpLocationTlsVersionResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpLocationsTlsVersionGetResponseMeta, top_0: HttpLocationsTlsVersionGetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetHttpLocationTlsVersionResponse", }) as any as S.Schema; export type GetOriginRequestSlug = "AMAZON" | "GOOGLE" | "MICROSOFT" | "ORACLE"; export const GetOriginRequestSlug = /*@__PURE__*/ S.String; export type GetOriginRequestFormat = "JSON" | "CSV"; export const GetOriginRequestFormat = /*@__PURE__*/ S.String; export interface GetOriginRequest { /** Origin slug. */ slug: GetOriginRequestSlug | (string & {}); /** Format in which results will be returned. */ format?: GetOriginRequestFormat | (string & {}); } export const GetOriginRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ slug: GetOriginRequestSlug.pipe(T.Label()), format: S.optional(GetOriginRequestFormat.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/origins/{slug}", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetOriginRequest", }) as any as S.Schema; export interface GetOriginResponseOriginRegionsItem { /** The region code. */ region: string; } export const GetOriginResponseOriginRegionsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ region: S.String, }), ).annotate({ identifier: "GetOriginResponseOriginRegionsItem", }) as any as S.Schema; export type GetOriginResponseOriginRegionsList = Array; export const GetOriginResponseOriginRegionsList = /*@__PURE__*/ S.Array( GetOriginResponseOriginRegionsItem, ) as any as S.Schema; export interface GetOriginResponseOrigin { regions: GetOriginResponseOriginRegionsList; /** The origin slug. */ slug: string; } export const GetOriginResponseOrigin = /*@__PURE__*/ S.suspend(() => S.Struct({ regions: GetOriginResponseOriginRegionsList, slug: S.String, }), ).annotate({ identifier: "GetOriginResponseOrigin", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetOriginResponse { origin: GetOriginResponseOrigin; } export const GetOriginResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ origin: GetOriginResponseOrigin, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetOriginResponse", }) as any as S.Schema; export type RankingDomainGetRequestDateList = Array; export const RankingDomainGetRequestDateList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingDomainGetRequestFormat = "JSON" | "CSV"; export const RankingDomainGetRequestFormat = /*@__PURE__*/ S.String; export type RankingDomainGetRequestNameList = Array; export const RankingDomainGetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingDomainGetRequestRankingType = | "POPULAR" | "TRENDING_RISE" | "TRENDING_STEADY"; export const RankingDomainGetRequestRankingType = /*@__PURE__*/ S.String; export interface GetRankingDomainRequest { /** Domain name. */ domain: string; /** Filters results by the specified array of dates. */ date?: RankingDomainGetRequestDateList; /** Format in which results will be returned. */ format?: RankingDomainGetRequestFormat | (string & {}); /** Includes top locations in the response. */ includeTopLocations?: boolean; /** Limits the number of objects returned in the response. */ limit?: number; /** Array of names used to label the series in the response. */ name?: RankingDomainGetRequestNameList; /** The ranking type. */ rankingType?: RankingDomainGetRequestRankingType | (string & {}); } export const GetRankingDomainRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ domain: S.String.pipe(T.Label()), date: S.optional(RankingDomainGetRequestDateList.pipe(T.Query())), format: S.optional(RankingDomainGetRequestFormat.pipe(T.Query())), includeTopLocations: S.optional(S.Boolean.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), name: S.optional(RankingDomainGetRequestNameList.pipe(T.Query())), rankingType: S.optional(RankingDomainGetRequestRankingType.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/ranking/domain/{domain}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetRankingDomainRequest", }) as any as S.Schema; export interface RankingDomainGetResponseDetails0CategoriesItem { id: number; name: string; superCategoryId: number; } export const RankingDomainGetResponseDetails0CategoriesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.Number, name: S.String, superCategoryId: S.Number, }), ).annotate({ identifier: "RankingDomainGetResponseDetails0CategoriesItem", }) as any as S.Schema; export type RankingDomainGetResponseDetails0CategoriesList = Array; export const RankingDomainGetResponseDetails0CategoriesList = /*@__PURE__*/ S.Array( RankingDomainGetResponseDetails0CategoriesItem, ) as any as S.Schema; export interface RankingDomainGetResponseDetails0TopLocationsItem { locationCode: string; locationName: string; rank: number; } export const RankingDomainGetResponseDetails0TopLocationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ locationCode: S.String, locationName: S.String, rank: S.Number, }), ).annotate({ identifier: "RankingDomainGetResponseDetails0TopLocationsItem", }) as any as S.Schema; export type RankingDomainGetResponseDetails0TopLocationsList = Array; export const RankingDomainGetResponseDetails0TopLocationsList = /*@__PURE__*/ S.Array( RankingDomainGetResponseDetails0TopLocationsItem, ) as any as S.Schema; export interface RankingDomainGetResponseDetails0 { categories: RankingDomainGetResponseDetails0CategoriesList; /** Only available in POPULAR ranking for the most recent ranking. */ bucket?: string | null; rank?: number | null; topLocations?: RankingDomainGetResponseDetails0TopLocationsList | null; } export const RankingDomainGetResponseDetails0 = /*@__PURE__*/ S.suspend(() => S.Struct({ categories: RankingDomainGetResponseDetails0CategoriesList, bucket: S.optional(S.NullOr(S.String)), rank: S.optional(S.NullOr(S.Number)), topLocations: S.optional( S.NullOr(RankingDomainGetResponseDetails0TopLocationsList).pipe( T.Body("top_locations"), ), ), }), ).annotate({ identifier: "RankingDomainGetResponseDetails0", }) as any as S.Schema; export type RankingDomainGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const RankingDomainGetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type RankingDomainGetResponseMetaDateRangeList = Array; export const RankingDomainGetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export interface RankingDomainGetResponseMeta { dateRange: RankingDomainGetResponseMetaDateRangeList; } export const RankingDomainGetResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ dateRange: RankingDomainGetResponseMetaDateRangeList, }), ).annotate({ identifier: "RankingDomainGetResponseMeta", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetRankingDomainResponse { details_0: RankingDomainGetResponseDetails0; meta: RankingDomainGetResponseMeta; } export const GetRankingDomainResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ details_0: RankingDomainGetResponseDetails0, meta: RankingDomainGetResponseMeta, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetRankingDomainResponse", }) as any as S.Schema; export type GetTldRequestFormat = "JSON" | "CSV"; export const GetTldRequestFormat = /*@__PURE__*/ S.String; export interface GetTldRequest { /** Top-level domain. */ tld: string; /** Format in which results will be returned. */ format?: GetTldRequestFormat | (string & {}); } export const GetTldRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ tld: S.String.pipe(T.Label()), format: S.optional(GetTldRequestFormat.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/tlds/{tld}", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetTldRequest" }) as any as S.Schema; export interface GetTldResponseTld { /** The organization that manages the TLD. */ manager: string; /** The actual TLD. */ tld: string; /** The type of TLD. */ type: string; } export const GetTldResponseTld = /*@__PURE__*/ S.suspend(() => S.Struct({ manager: S.String, tld: S.String, type: S.String, }), ).annotate({ identifier: "GetTldResponseTld", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetTldResponse { tld: GetTldResponseTld; } export const GetTldResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ tld: GetTldResponseTld, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetTldResponse" }) as any as S.Schema; export type TrafficAnomaliesGetRequestFormat = "JSON" | "CSV"; export const TrafficAnomaliesGetRequestFormat = /*@__PURE__*/ S.String; export type TrafficAnomaliesGetRequestStatus = "VERIFIED" | "UNVERIFIED"; export const TrafficAnomaliesGetRequestStatus = /*@__PURE__*/ S.String; export type TrafficAnomaliesGetRequestType = "LOCATION" | "AS" | "ORIGIN"; export const TrafficAnomaliesGetRequestType = /*@__PURE__*/ S.String; export type TrafficAnomaliesGetRequestTypeList = Array< TrafficAnomaliesGetRequestType | (string & {}) >; export const TrafficAnomaliesGetRequestTypeList = /*@__PURE__*/ S.Array( TrafficAnomaliesGetRequestType, ) as any as S.Schema; export interface GetTrafficAnomalyRequest { /** Filters results by Autonomous System. Specify a single Autonomous System Number (ASN) as integer. */ asn?: number; /** End of the date range (inclusive). */ dateEnd?: string; /** Filters results by date range. */ dateRange?: string; /** Start of the date range (inclusive). */ dateStart?: string; /** Format in which results will be returned. */ format?: TrafficAnomaliesGetRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify an alpha-2 location code. */ location?: string; /** Skips the specified number of objects before fetching the results. */ offset?: number; /** Filters results by origin. */ origin?: string; status?: TrafficAnomaliesGetRequestStatus | (string & {}); /** Filters results by entity type (LOCATION, AS, or ORIGIN). */ type?: TrafficAnomaliesGetRequestTypeList; } export const GetTrafficAnomalyRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(S.Number.pipe(T.Query())), dateEnd: S.optional(S.String.pipe(T.Query())), dateRange: S.optional(S.String.pipe(T.Query())), dateStart: S.optional(S.String.pipe(T.Query())), format: S.optional(TrafficAnomaliesGetRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(S.String.pipe(T.Query())), offset: S.optional(S.Number.pipe(T.Query())), origin: S.optional(S.String.pipe(T.Query())), status: S.optional(TrafficAnomaliesGetRequestStatus.pipe(T.Query())), type: S.optional(TrafficAnomaliesGetRequestTypeList.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/traffic_anomalies", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetTrafficAnomalyRequest", }) as any as S.Schema; export type TrafficAnomaliesGetResponseTrafficAnomaliesItemAsnDetailsLocations = AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations; export const TrafficAnomaliesGetResponseTrafficAnomaliesItemAsnDetailsLocations = AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations; export type TrafficAnomaliesGetResponseTrafficAnomaliesItemAsnDetails = AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItem; export const TrafficAnomaliesGetResponseTrafficAnomaliesItemAsnDetails = AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItem; export type TrafficAnomaliesGetResponseTrafficAnomaliesItemLocationDetails = AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations; export const TrafficAnomaliesGetResponseTrafficAnomaliesItemLocationDetails = AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations; export type TrafficAnomaliesGetResponseTrafficAnomaliesItemOriginDetails = AnnotationsOutagesGetResponseAnnotationsItemOriginsDetailsItem; export const TrafficAnomaliesGetResponseTrafficAnomaliesItemOriginDetails = AnnotationsOutagesGetResponseAnnotationsItemOriginsDetailsItem; export type TrafficAnomaliesGetResponseTrafficAnomaliesItemVisibleInDataSourcesList = Array; export const TrafficAnomaliesGetResponseTrafficAnomaliesItemVisibleInDataSourcesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TrafficAnomaliesGetResponseTrafficAnomaliesItem { startDate: string; status: string; type: string; uuid: string; asnDetails?: AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItem | null; endDate?: string | null; locationDetails?: AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations | null; originDetails?: AnnotationsOutagesGetResponseAnnotationsItemOriginsDetailsItem | null; visibleInDataSources?: TrafficAnomaliesGetResponseTrafficAnomaliesItemVisibleInDataSourcesList | null; } export const TrafficAnomaliesGetResponseTrafficAnomaliesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ startDate: S.String, status: S.String, type: S.String, uuid: S.String, asnDetails: S.optional( S.NullOr(AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItem), ), endDate: S.optional(S.NullOr(S.String)), locationDetails: S.optional( S.NullOr( AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations, ), ), originDetails: S.optional( S.NullOr( AnnotationsOutagesGetResponseAnnotationsItemOriginsDetailsItem, ), ), visibleInDataSources: S.optional( S.NullOr( TrafficAnomaliesGetResponseTrafficAnomaliesItemVisibleInDataSourcesList, ), ), }), ).annotate({ identifier: "TrafficAnomaliesGetResponseTrafficAnomaliesItem", }) as any as S.Schema; export type TrafficAnomaliesGetResponseTrafficAnomaliesList = Array; export const TrafficAnomaliesGetResponseTrafficAnomaliesList = /*@__PURE__*/ S.Array( TrafficAnomaliesGetResponseTrafficAnomaliesItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetTrafficAnomalyResponse { trafficAnomalies: TrafficAnomaliesGetResponseTrafficAnomaliesList; } export const GetTrafficAnomalyResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ trafficAnomalies: TrafficAnomaliesGetResponseTrafficAnomaliesList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetTrafficAnomalyResponse", }) as any as S.Schema; export type TrafficAnomaliesLocationsGetRequestFormat = "JSON" | "CSV"; export const TrafficAnomaliesLocationsGetRequestFormat = /*@__PURE__*/ S.String; export type TrafficAnomaliesLocationsGetRequestStatus = | "VERIFIED" | "UNVERIFIED"; export const TrafficAnomaliesLocationsGetRequestStatus = /*@__PURE__*/ S.String; export interface GetTrafficAnomalyLocationRequest { /** End of the date range (inclusive). */ dateEnd?: string; /** Filters results by date range. */ dateRange?: string; /** Start of the date range (inclusive). */ dateStart?: string; /** Format in which results will be returned. */ format?: TrafficAnomaliesLocationsGetRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; status?: TrafficAnomaliesLocationsGetRequestStatus | (string & {}); } export const GetTrafficAnomalyLocationRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dateEnd: S.optional(S.String.pipe(T.Query())), dateRange: S.optional(S.String.pipe(T.Query())), dateStart: S.optional(S.String.pipe(T.Query())), format: S.optional( TrafficAnomaliesLocationsGetRequestFormat.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), status: S.optional( TrafficAnomaliesLocationsGetRequestStatus.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/traffic_anomalies/locations", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetTrafficAnomalyLocationRequest", }) as any as S.Schema; export type TrafficAnomaliesLocationsGetResponseTrafficAnomaliesItem = As112TopDnssecResponseTop0Item; export const TrafficAnomaliesLocationsGetResponseTrafficAnomaliesItem = As112TopDnssecResponseTop0Item; export type TrafficAnomaliesLocationsGetResponseTrafficAnomaliesList = Array; export const TrafficAnomaliesLocationsGetResponseTrafficAnomaliesList = /*@__PURE__*/ S.Array( As112TopDnssecResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface GetTrafficAnomalyLocationResponse { trafficAnomalies: TrafficAnomaliesLocationsGetResponseTrafficAnomaliesList; } export const GetTrafficAnomalyLocationResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ trafficAnomalies: TrafficAnomaliesLocationsGetResponseTrafficAnomaliesList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetTrafficAnomalyLocationResponse", }) as any as S.Schema; export type QualitySpeedHistogramRequestAsnList = Array; export const QualitySpeedHistogramRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedHistogramRequestContinentList = Array; export const QualitySpeedHistogramRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedHistogramRequestDateEndList = Array; export const QualitySpeedHistogramRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedHistogramRequestFormat = "JSON" | "CSV"; export const QualitySpeedHistogramRequestFormat = /*@__PURE__*/ S.String; export type QualitySpeedHistogramRequestLocationList = Array; export const QualitySpeedHistogramRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedHistogramRequestMetricGroup = | "BANDWIDTH" | "LATENCY" | "JITTER"; export const QualitySpeedHistogramRequestMetricGroup = /*@__PURE__*/ S.String; export type QualitySpeedHistogramRequestNameList = Array; export const QualitySpeedHistogramRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HistogramQualitySpeedRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: QualitySpeedHistogramRequestAsnList; /** Specifies the width for every bucket in the histogram. */ bucketSize?: number; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: QualitySpeedHistogramRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: QualitySpeedHistogramRequestDateEndList; /** Format in which results will be returned. */ format?: QualitySpeedHistogramRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: QualitySpeedHistogramRequestLocationList; /** Metrics to be returned. */ metricGroup?: QualitySpeedHistogramRequestMetricGroup | (string & {}); /** Array of names used to label the series in the response. */ name?: QualitySpeedHistogramRequestNameList; } export const HistogramQualitySpeedRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(QualitySpeedHistogramRequestAsnList.pipe(T.Query())), bucketSize: S.optional(S.Number.pipe(T.Query())), continent: S.optional( QualitySpeedHistogramRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( QualitySpeedHistogramRequestDateEndList.pipe(T.Query()), ), format: S.optional(QualitySpeedHistogramRequestFormat.pipe(T.Query())), location: S.optional( QualitySpeedHistogramRequestLocationList.pipe(T.Query()), ), metricGroup: S.optional( QualitySpeedHistogramRequestMetricGroup.pipe(T.Query()), ), name: S.optional(QualitySpeedHistogramRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/quality/speed/histogram", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HistogramQualitySpeedRequest", }) as any as S.Schema; export type QualitySpeedHistogramResponseHistogram0BandwidthDownloadList = Array; export const QualitySpeedHistogramResponseHistogram0BandwidthDownloadList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedHistogramResponseHistogram0BandwidthUploadList = Array; export const QualitySpeedHistogramResponseHistogram0BandwidthUploadList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedHistogramResponseHistogram0BucketMinList = Array; export const QualitySpeedHistogramResponseHistogram0BucketMinList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface QualitySpeedHistogramResponseHistogram0 { bandwidthDownload: QualitySpeedHistogramResponseHistogram0BandwidthDownloadList; bandwidthUpload: QualitySpeedHistogramResponseHistogram0BandwidthUploadList; bucketMin: QualitySpeedHistogramResponseHistogram0BucketMinList; } export const QualitySpeedHistogramResponseHistogram0 = /*@__PURE__*/ S.suspend( () => S.Struct({ bandwidthDownload: QualitySpeedHistogramResponseHistogram0BandwidthDownloadList, bandwidthUpload: QualitySpeedHistogramResponseHistogram0BandwidthUploadList, bucketMin: QualitySpeedHistogramResponseHistogram0BucketMinList, }), ).annotate({ identifier: "QualitySpeedHistogramResponseHistogram0", }) as any as S.Schema; export type QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsList = Array; export const QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface QualitySpeedHistogramResponseMetaConfidenceInfo { annotations: QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const QualitySpeedHistogramResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: QualitySpeedHistogramResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "QualitySpeedHistogramResponseMetaConfidenceInfo", }) as any as S.Schema; export type QualitySpeedHistogramResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const QualitySpeedHistogramResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type QualitySpeedHistogramResponseMetaDateRangeList = Array; export const QualitySpeedHistogramResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type QualitySpeedHistogramResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const QualitySpeedHistogramResponseMetaNormalization = /*@__PURE__*/ S.String; export type QualitySpeedHistogramResponseMetaTotalTestsList = Array; export const QualitySpeedHistogramResponseMetaTotalTestsList = /*@__PURE__*/ S.Array( S.Number, ) as any as S.Schema; export type QualitySpeedHistogramResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const QualitySpeedHistogramResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type QualitySpeedHistogramResponseMetaUnitsList = Array; export const QualitySpeedHistogramResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface QualitySpeedHistogramResponseMeta { /** The width for every bucket in the histogram. */ bucketSize: number; confidenceInfo: QualitySpeedHistogramResponseMetaConfidenceInfo; dateRange: QualitySpeedHistogramResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: QualitySpeedHistogramResponseMetaNormalization; totalTests: QualitySpeedHistogramResponseMetaTotalTestsList; /** Measurement units for the results. */ units: QualitySpeedHistogramResponseMetaUnitsList; } export const QualitySpeedHistogramResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ bucketSize: S.Number, confidenceInfo: QualitySpeedHistogramResponseMetaConfidenceInfo, dateRange: QualitySpeedHistogramResponseMetaDateRangeList, lastUpdated: S.String, normalization: QualitySpeedHistogramResponseMetaNormalization, totalTests: QualitySpeedHistogramResponseMetaTotalTestsList, units: QualitySpeedHistogramResponseMetaUnitsList, }), ).annotate({ identifier: "QualitySpeedHistogramResponseMeta", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface HistogramQualitySpeedResponse { histogram_0: QualitySpeedHistogramResponseHistogram0; /** Metadata for the results. */ meta: QualitySpeedHistogramResponseMeta; } export const HistogramQualitySpeedResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ histogram_0: QualitySpeedHistogramResponseHistogram0, meta: QualitySpeedHistogramResponseMeta, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HistogramQualitySpeedResponse", }) as any as S.Schema; export type AttacksLayer7SummaryHttpMethodRequestAsnList = Array; export const AttacksLayer7SummaryHttpMethodRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryHttpMethodRequestContinentList = Array; export const AttacksLayer7SummaryHttpMethodRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryHttpMethodRequestDateEndList = Array; export const AttacksLayer7SummaryHttpMethodRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryHttpMethodRequestDateRangeList = Array; export const AttacksLayer7SummaryHttpMethodRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryHttpMethodRequestDateStartList = Array; export const AttacksLayer7SummaryHttpMethodRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryHttpMethodRequestFormat = "JSON" | "CSV"; export const AttacksLayer7SummaryHttpMethodRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryHttpMethodRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7SummaryHttpMethodRequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryHttpMethodRequestHttpVersionList = Array< AttacksLayer7SummaryHttpMethodRequestHttpVersion | (string & {}) >; export const AttacksLayer7SummaryHttpMethodRequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryHttpMethodRequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7SummaryHttpMethodRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer7SummaryHttpMethodRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryHttpMethodRequestIpVersionList = Array< AttacksLayer7SummaryHttpMethodRequestIpVersion | (string & {}) >; export const AttacksLayer7SummaryHttpMethodRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryHttpMethodRequestIpVersion, ) as any as S.Schema; export type AttacksLayer7SummaryHttpMethodRequestLocationList = Array; export const AttacksLayer7SummaryHttpMethodRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryHttpMethodRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7SummaryHttpMethodRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryHttpMethodRequestMitigationProductList = Array< AttacksLayer7SummaryHttpMethodRequestMitigationProduct | (string & {}) >; export const AttacksLayer7SummaryHttpMethodRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryHttpMethodRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7SummaryHttpMethodRequestNameList = Array; export const AttacksLayer7SummaryHttpMethodRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpMethodAttackLayer7SummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7SummaryHttpMethodRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7SummaryHttpMethodRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7SummaryHttpMethodRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7SummaryHttpMethodRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7SummaryHttpMethodRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7SummaryHttpMethodRequestFormat | (string & {}); /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7SummaryHttpMethodRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7SummaryHttpMethodRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7SummaryHttpMethodRequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7SummaryHttpMethodRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7SummaryHttpMethodRequestNameList; } export const HttpMethodAttackLayer7SummaryRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ asn: S.optional( AttacksLayer7SummaryHttpMethodRequestAsnList.pipe(T.Query()), ), continent: S.optional( AttacksLayer7SummaryHttpMethodRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer7SummaryHttpMethodRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7SummaryHttpMethodRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer7SummaryHttpMethodRequestDateStartList.pipe(T.Query()), ), format: S.optional( AttacksLayer7SummaryHttpMethodRequestFormat.pipe(T.Query()), ), httpVersion: S.optional( AttacksLayer7SummaryHttpMethodRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer7SummaryHttpMethodRequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer7SummaryHttpMethodRequestLocationList.pipe(T.Query()), ), mitigationProduct: S.optional( AttacksLayer7SummaryHttpMethodRequestMitigationProductList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer7SummaryHttpMethodRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/summary/http_method", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HttpMethodAttackLayer7SummaryRequest", }) as any as S.Schema; export type AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfo { annotations: AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7SummaryHttpMethodResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7SummaryHttpMethodResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7SummaryHttpMethodResponseMetaDateRangeList = Array; export const AttacksLayer7SummaryHttpMethodResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7SummaryHttpMethodResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7SummaryHttpMethodResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryHttpMethodResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7SummaryHttpMethodResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7SummaryHttpMethodResponseMetaUnitsList = Array; export const AttacksLayer7SummaryHttpMethodResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7SummaryHttpMethodResponseMeta { confidenceInfo: AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfo; dateRange: AttacksLayer7SummaryHttpMethodResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7SummaryHttpMethodResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7SummaryHttpMethodResponseMetaUnitsList; } export const AttacksLayer7SummaryHttpMethodResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AttacksLayer7SummaryHttpMethodResponseMetaConfidenceInfo, dateRange: AttacksLayer7SummaryHttpMethodResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7SummaryHttpMethodResponseMetaNormalization, units: AttacksLayer7SummaryHttpMethodResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7SummaryHttpMethodResponseMeta", }) as any as S.Schema; export type AttacksLayer7SummaryHttpMethodResponseSummary0Map = { [key: string]: string | undefined; }; export const AttacksLayer7SummaryHttpMethodResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface HttpMethodAttackLayer7SummaryResponse { /** Metadata for the results. */ meta: AttacksLayer7SummaryHttpMethodResponseMeta; summary_0: AttacksLayer7SummaryHttpMethodResponseSummary0Map; } export const HttpMethodAttackLayer7SummaryResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: AttacksLayer7SummaryHttpMethodResponseMeta, summary_0: AttacksLayer7SummaryHttpMethodResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HttpMethodAttackLayer7SummaryResponse", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpMethodRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer7TimeseriesGroupsHttpMethodRequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpMethodRequestAsnList = Array; export const AttacksLayer7TimeseriesGroupsHttpMethodRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpMethodRequestContinentList = Array; export const AttacksLayer7TimeseriesGroupsHttpMethodRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpMethodRequestDateEndList = Array; export const AttacksLayer7TimeseriesGroupsHttpMethodRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpMethodRequestDateRangeList = Array; export const AttacksLayer7TimeseriesGroupsHttpMethodRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpMethodRequestDateStartList = Array; export const AttacksLayer7TimeseriesGroupsHttpMethodRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpMethodRequestFormat = | "JSON" | "CSV"; export const AttacksLayer7TimeseriesGroupsHttpMethodRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpMethodRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7TimeseriesGroupsHttpMethodRequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpMethodRequestHttpVersionList = Array< AttacksLayer7TimeseriesGroupsHttpMethodRequestHttpVersion | (string & {}) >; export const AttacksLayer7TimeseriesGroupsHttpMethodRequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsHttpMethodRequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpMethodRequestIpVersion = | "IPv4" | "IPv6"; export const AttacksLayer7TimeseriesGroupsHttpMethodRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpMethodRequestIpVersionList = Array< AttacksLayer7TimeseriesGroupsHttpMethodRequestIpVersion | (string & {}) >; export const AttacksLayer7TimeseriesGroupsHttpMethodRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsHttpMethodRequestIpVersion, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpMethodRequestLocationList = Array; export const AttacksLayer7TimeseriesGroupsHttpMethodRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpMethodRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7TimeseriesGroupsHttpMethodRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpMethodRequestMitigationProductList = Array< | AttacksLayer7TimeseriesGroupsHttpMethodRequestMitigationProduct | (string & {}) >; export const AttacksLayer7TimeseriesGroupsHttpMethodRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsHttpMethodRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpMethodRequestNameList = Array; export const AttacksLayer7TimeseriesGroupsHttpMethodRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpMethodRequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const AttacksLayer7TimeseriesGroupsHttpMethodRequestNormalization = /*@__PURE__*/ S.String; export interface HttpMethodAttackLayer7TimeseriesGroupRequest { /** 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/). */ aggInterval?: | AttacksLayer7TimeseriesGroupsHttpMethodRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7TimeseriesGroupsHttpMethodRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7TimeseriesGroupsHttpMethodRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7TimeseriesGroupsHttpMethodRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7TimeseriesGroupsHttpMethodRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7TimeseriesGroupsHttpMethodRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7TimeseriesGroupsHttpMethodRequestFormat | (string & {}); /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7TimeseriesGroupsHttpMethodRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7TimeseriesGroupsHttpMethodRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7TimeseriesGroupsHttpMethodRequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7TimeseriesGroupsHttpMethodRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7TimeseriesGroupsHttpMethodRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AttacksLayer7TimeseriesGroupsHttpMethodRequestNormalization | (string & {}); } export const HttpMethodAttackLayer7TimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AttacksLayer7TimeseriesGroupsHttpMethodRequestAggInterval.pipe( T.Query(), ), ), asn: S.optional( AttacksLayer7TimeseriesGroupsHttpMethodRequestAsnList.pipe(T.Query()), ), continent: S.optional( AttacksLayer7TimeseriesGroupsHttpMethodRequestContinentList.pipe( T.Query(), ), ), dateEnd: S.optional( AttacksLayer7TimeseriesGroupsHttpMethodRequestDateEndList.pipe( T.Query(), ), ), dateRange: S.optional( AttacksLayer7TimeseriesGroupsHttpMethodRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( AttacksLayer7TimeseriesGroupsHttpMethodRequestDateStartList.pipe( T.Query(), ), ), format: S.optional( AttacksLayer7TimeseriesGroupsHttpMethodRequestFormat.pipe(T.Query()), ), httpVersion: S.optional( AttacksLayer7TimeseriesGroupsHttpMethodRequestHttpVersionList.pipe( T.Query(), ), ), ipVersion: S.optional( AttacksLayer7TimeseriesGroupsHttpMethodRequestIpVersionList.pipe( T.Query(), ), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer7TimeseriesGroupsHttpMethodRequestLocationList.pipe( T.Query(), ), ), mitigationProduct: S.optional( AttacksLayer7TimeseriesGroupsHttpMethodRequestMitigationProductList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer7TimeseriesGroupsHttpMethodRequestNameList.pipe(T.Query()), ), normalization: S.optional( AttacksLayer7TimeseriesGroupsHttpMethodRequestNormalization.pipe( T.Query(), ), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/timeseries_groups/http_method", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HttpMethodAttackLayer7TimeseriesGroupRequest", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfo { annotations: AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaDateRangeList = Array; export const AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaUnitsList = Array; export const AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsHttpMethodResponseMeta { /** 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/). */ aggInterval: AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaAggInterval; confidenceInfo: AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfo; dateRange: AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaUnitsList; } export const AttacksLayer7TimeseriesGroupsHttpMethodResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaAggInterval, confidenceInfo: AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaConfidenceInfo, dateRange: AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaNormalization, units: AttacksLayer7TimeseriesGroupsHttpMethodResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsHttpMethodResponseMeta", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpMethodResponseSerie0TimestampsList = Array; export const AttacksLayer7TimeseriesGroupsHttpMethodResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsHttpMethodResponseSerie0 { timestamps: AttacksLayer7TimeseriesGroupsHttpMethodResponseSerie0TimestampsList; } export const AttacksLayer7TimeseriesGroupsHttpMethodResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: AttacksLayer7TimeseriesGroupsHttpMethodResponseSerie0TimestampsList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsHttpMethodResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface HttpMethodAttackLayer7TimeseriesGroupResponse { /** Metadata for the results. */ meta: AttacksLayer7TimeseriesGroupsHttpMethodResponseMeta; serie_0: AttacksLayer7TimeseriesGroupsHttpMethodResponseSerie0; } export const HttpMethodAttackLayer7TimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer7TimeseriesGroupsHttpMethodResponseMeta, serie_0: AttacksLayer7TimeseriesGroupsHttpMethodResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HttpMethodAttackLayer7TimeseriesGroupResponse", }) as any as S.Schema; export type HttpSummaryHttpProtocolRequestAsnList = Array; export const HttpSummaryHttpProtocolRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryHttpProtocolRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpSummaryHttpProtocolRequestBotClass = /*@__PURE__*/ S.String; export type HttpSummaryHttpProtocolRequestBotClassList = Array< HttpSummaryHttpProtocolRequestBotClass | (string & {}) >; export const HttpSummaryHttpProtocolRequestBotClassList = /*@__PURE__*/ S.Array( HttpSummaryHttpProtocolRequestBotClass, ) as any as S.Schema; export type HttpSummaryHttpProtocolRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpSummaryHttpProtocolRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpSummaryHttpProtocolRequestBrowserFamilyList = Array< HttpSummaryHttpProtocolRequestBrowserFamily | (string & {}) >; export const HttpSummaryHttpProtocolRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpSummaryHttpProtocolRequestBrowserFamily, ) as any as S.Schema; export type HttpSummaryHttpProtocolRequestContinentList = Array; export const HttpSummaryHttpProtocolRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryHttpProtocolRequestDateEndList = Array; export const HttpSummaryHttpProtocolRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryHttpProtocolRequestDateRangeList = Array; export const HttpSummaryHttpProtocolRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryHttpProtocolRequestDateStartList = Array; export const HttpSummaryHttpProtocolRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryHttpProtocolRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpSummaryHttpProtocolRequestDeviceType = /*@__PURE__*/ S.String; export type HttpSummaryHttpProtocolRequestDeviceTypeList = Array< HttpSummaryHttpProtocolRequestDeviceType | (string & {}) >; export const HttpSummaryHttpProtocolRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpSummaryHttpProtocolRequestDeviceType, ) as any as S.Schema; export type HttpSummaryHttpProtocolRequestFormat = "JSON" | "CSV"; export const HttpSummaryHttpProtocolRequestFormat = /*@__PURE__*/ S.String; export type HttpSummaryHttpProtocolRequestGeoIdList = Array; export const HttpSummaryHttpProtocolRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryHttpProtocolRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpSummaryHttpProtocolRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpSummaryHttpProtocolRequestHttpVersionList = Array< HttpSummaryHttpProtocolRequestHttpVersion | (string & {}) >; export const HttpSummaryHttpProtocolRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpSummaryHttpProtocolRequestHttpVersion, ) as any as S.Schema; export type HttpSummaryHttpProtocolRequestIpVersion = "IPv4" | "IPv6"; export const HttpSummaryHttpProtocolRequestIpVersion = /*@__PURE__*/ S.String; export type HttpSummaryHttpProtocolRequestIpVersionList = Array< HttpSummaryHttpProtocolRequestIpVersion | (string & {}) >; export const HttpSummaryHttpProtocolRequestIpVersionList = /*@__PURE__*/ S.Array( HttpSummaryHttpProtocolRequestIpVersion, ) as any as S.Schema; export type HttpSummaryHttpProtocolRequestLocationList = Array; export const HttpSummaryHttpProtocolRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryHttpProtocolRequestNameList = Array; export const HttpSummaryHttpProtocolRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryHttpProtocolRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpSummaryHttpProtocolRequestOs = /*@__PURE__*/ S.String; export type HttpSummaryHttpProtocolRequestOsList = Array< HttpSummaryHttpProtocolRequestOs | (string & {}) >; export const HttpSummaryHttpProtocolRequestOsList = /*@__PURE__*/ S.Array( HttpSummaryHttpProtocolRequestOs, ) as any as S.Schema; export type HttpSummaryHttpProtocolRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpSummaryHttpProtocolRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpSummaryHttpProtocolRequestTlsVersionList = Array< HttpSummaryHttpProtocolRequestTlsVersion | (string & {}) >; export const HttpSummaryHttpProtocolRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpSummaryHttpProtocolRequestTlsVersion, ) as any as S.Schema; export interface HttpProtocolHttpSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpSummaryHttpProtocolRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpSummaryHttpProtocolRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpSummaryHttpProtocolRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpSummaryHttpProtocolRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpSummaryHttpProtocolRequestDateEndList; /** 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). */ dateRange?: HttpSummaryHttpProtocolRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpSummaryHttpProtocolRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpSummaryHttpProtocolRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpSummaryHttpProtocolRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpSummaryHttpProtocolRequestGeoIdList; /** Filters results by HTTP version. */ httpVersion?: HttpSummaryHttpProtocolRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpSummaryHttpProtocolRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpSummaryHttpProtocolRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpSummaryHttpProtocolRequestNameList; /** Filters results by operating system. */ os?: HttpSummaryHttpProtocolRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpSummaryHttpProtocolRequestTlsVersionList; } export const HttpProtocolHttpSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(HttpSummaryHttpProtocolRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpSummaryHttpProtocolRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpSummaryHttpProtocolRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpSummaryHttpProtocolRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpSummaryHttpProtocolRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpSummaryHttpProtocolRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpSummaryHttpProtocolRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpSummaryHttpProtocolRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpSummaryHttpProtocolRequestFormat.pipe(T.Query())), geoId: S.optional(HttpSummaryHttpProtocolRequestGeoIdList.pipe(T.Query())), httpVersion: S.optional( HttpSummaryHttpProtocolRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpSummaryHttpProtocolRequestIpVersionList.pipe(T.Query()), ), location: S.optional( HttpSummaryHttpProtocolRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpSummaryHttpProtocolRequestNameList.pipe(T.Query())), os: S.optional(HttpSummaryHttpProtocolRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpSummaryHttpProtocolRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/summary/http_protocol", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HttpProtocolHttpSummaryRequest", }) as any as S.Schema; export type HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpSummaryHttpProtocolResponseMetaConfidenceInfo { annotations: HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpSummaryHttpProtocolResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpSummaryHttpProtocolResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpSummaryHttpProtocolResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpSummaryHttpProtocolResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpSummaryHttpProtocolResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpSummaryHttpProtocolResponseMetaDateRangeList = Array; export const HttpSummaryHttpProtocolResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpSummaryHttpProtocolResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpSummaryHttpProtocolResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpSummaryHttpProtocolResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpSummaryHttpProtocolResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpSummaryHttpProtocolResponseMetaUnitsList = Array; export const HttpSummaryHttpProtocolResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpSummaryHttpProtocolResponseMeta { confidenceInfo: HttpSummaryHttpProtocolResponseMetaConfidenceInfo; dateRange: HttpSummaryHttpProtocolResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpSummaryHttpProtocolResponseMetaNormalization; /** Measurement units for the results. */ units: HttpSummaryHttpProtocolResponseMetaUnitsList; } export const HttpSummaryHttpProtocolResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpSummaryHttpProtocolResponseMetaConfidenceInfo, dateRange: HttpSummaryHttpProtocolResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpSummaryHttpProtocolResponseMetaNormalization, units: HttpSummaryHttpProtocolResponseMetaUnitsList, }), ).annotate({ identifier: "HttpSummaryHttpProtocolResponseMeta", }) as any as S.Schema; export interface HttpSummaryHttpProtocolResponseSummary0 { /** A numeric string. */ http: string; /** A numeric string. */ https: string; } export const HttpSummaryHttpProtocolResponseSummary0 = /*@__PURE__*/ S.suspend( () => S.Struct({ http: S.String, https: S.String, }), ).annotate({ identifier: "HttpSummaryHttpProtocolResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface HttpProtocolHttpSummaryResponse { /** Metadata for the results. */ meta: HttpSummaryHttpProtocolResponseMeta; summary_0: HttpSummaryHttpProtocolResponseSummary0; } export const HttpProtocolHttpSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpSummaryHttpProtocolResponseMeta, summary_0: HttpSummaryHttpProtocolResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HttpProtocolHttpSummaryResponse", }) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const HttpTimeseriesGroupsHttpProtocolRequestAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpProtocolRequestAsnList = Array; export const HttpTimeseriesGroupsHttpProtocolRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpTimeseriesGroupsHttpProtocolRequestBotClass = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpProtocolRequestBotClassList = Array< HttpTimeseriesGroupsHttpProtocolRequestBotClass | (string & {}) >; export const HttpTimeseriesGroupsHttpProtocolRequestBotClassList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsHttpProtocolRequestBotClass, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpTimeseriesGroupsHttpProtocolRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpProtocolRequestBrowserFamilyList = Array< HttpTimeseriesGroupsHttpProtocolRequestBrowserFamily | (string & {}) >; export const HttpTimeseriesGroupsHttpProtocolRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsHttpProtocolRequestBrowserFamily, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolRequestContinentList = Array; export const HttpTimeseriesGroupsHttpProtocolRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolRequestDateEndList = Array; export const HttpTimeseriesGroupsHttpProtocolRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolRequestDateRangeList = Array; export const HttpTimeseriesGroupsHttpProtocolRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolRequestDateStartList = Array; export const HttpTimeseriesGroupsHttpProtocolRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpTimeseriesGroupsHttpProtocolRequestDeviceType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpProtocolRequestDeviceTypeList = Array< HttpTimeseriesGroupsHttpProtocolRequestDeviceType | (string & {}) >; export const HttpTimeseriesGroupsHttpProtocolRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsHttpProtocolRequestDeviceType, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolRequestFormat = "JSON" | "CSV"; export const HttpTimeseriesGroupsHttpProtocolRequestFormat = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpProtocolRequestGeoIdList = Array; export const HttpTimeseriesGroupsHttpProtocolRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpTimeseriesGroupsHttpProtocolRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpProtocolRequestHttpVersionList = Array< HttpTimeseriesGroupsHttpProtocolRequestHttpVersion | (string & {}) >; export const HttpTimeseriesGroupsHttpProtocolRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsHttpProtocolRequestHttpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolRequestIpVersion = "IPv4" | "IPv6"; export const HttpTimeseriesGroupsHttpProtocolRequestIpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpProtocolRequestIpVersionList = Array< HttpTimeseriesGroupsHttpProtocolRequestIpVersion | (string & {}) >; export const HttpTimeseriesGroupsHttpProtocolRequestIpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsHttpProtocolRequestIpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolRequestLocationList = Array; export const HttpTimeseriesGroupsHttpProtocolRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolRequestNameList = Array; export const HttpTimeseriesGroupsHttpProtocolRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpTimeseriesGroupsHttpProtocolRequestOs = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpProtocolRequestOsList = Array< HttpTimeseriesGroupsHttpProtocolRequestOs | (string & {}) >; export const HttpTimeseriesGroupsHttpProtocolRequestOsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsHttpProtocolRequestOs, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpTimeseriesGroupsHttpProtocolRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpProtocolRequestTlsVersionList = Array< HttpTimeseriesGroupsHttpProtocolRequestTlsVersion | (string & {}) >; export const HttpTimeseriesGroupsHttpProtocolRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsHttpProtocolRequestTlsVersion, ) as any as S.Schema; export interface HttpProtocolHttpTimeseriesGroupRequest { /** 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/). */ aggInterval?: | HttpTimeseriesGroupsHttpProtocolRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpTimeseriesGroupsHttpProtocolRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpTimeseriesGroupsHttpProtocolRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpTimeseriesGroupsHttpProtocolRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpTimeseriesGroupsHttpProtocolRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpTimeseriesGroupsHttpProtocolRequestDateEndList; /** 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). */ dateRange?: HttpTimeseriesGroupsHttpProtocolRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpTimeseriesGroupsHttpProtocolRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpTimeseriesGroupsHttpProtocolRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpTimeseriesGroupsHttpProtocolRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpTimeseriesGroupsHttpProtocolRequestGeoIdList; /** Filters results by HTTP version. */ httpVersion?: HttpTimeseriesGroupsHttpProtocolRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpTimeseriesGroupsHttpProtocolRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpTimeseriesGroupsHttpProtocolRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpTimeseriesGroupsHttpProtocolRequestNameList; /** Filters results by operating system. */ os?: HttpTimeseriesGroupsHttpProtocolRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpTimeseriesGroupsHttpProtocolRequestTlsVersionList; } export const HttpProtocolHttpTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( HttpTimeseriesGroupsHttpProtocolRequestAggInterval.pipe(T.Query()), ), asn: S.optional( HttpTimeseriesGroupsHttpProtocolRequestAsnList.pipe(T.Query()), ), botClass: S.optional( HttpTimeseriesGroupsHttpProtocolRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpTimeseriesGroupsHttpProtocolRequestBrowserFamilyList.pipe( T.Query(), ), ), continent: S.optional( HttpTimeseriesGroupsHttpProtocolRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpTimeseriesGroupsHttpProtocolRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpTimeseriesGroupsHttpProtocolRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpTimeseriesGroupsHttpProtocolRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpTimeseriesGroupsHttpProtocolRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional( HttpTimeseriesGroupsHttpProtocolRequestFormat.pipe(T.Query()), ), geoId: S.optional( HttpTimeseriesGroupsHttpProtocolRequestGeoIdList.pipe(T.Query()), ), httpVersion: S.optional( HttpTimeseriesGroupsHttpProtocolRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpTimeseriesGroupsHttpProtocolRequestIpVersionList.pipe(T.Query()), ), location: S.optional( HttpTimeseriesGroupsHttpProtocolRequestLocationList.pipe(T.Query()), ), name: S.optional( HttpTimeseriesGroupsHttpProtocolRequestNameList.pipe(T.Query()), ), os: S.optional( HttpTimeseriesGroupsHttpProtocolRequestOsList.pipe(T.Query()), ), tlsVersion: S.optional( HttpTimeseriesGroupsHttpProtocolRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/timeseries_groups/http_protocol", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HttpProtocolHttpTimeseriesGroupRequest", }) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const HttpTimeseriesGroupsHttpProtocolResponseMetaAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfo { annotations: HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpTimeseriesGroupsHttpProtocolResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpTimeseriesGroupsHttpProtocolResponseMetaDateRangeList = Array; export const HttpTimeseriesGroupsHttpProtocolResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpTimeseriesGroupsHttpProtocolResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpProtocolResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpTimeseriesGroupsHttpProtocolResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpTimeseriesGroupsHttpProtocolResponseMetaUnitsList = Array; export const HttpTimeseriesGroupsHttpProtocolResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsHttpProtocolResponseMeta { /** 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/). */ aggInterval: HttpTimeseriesGroupsHttpProtocolResponseMetaAggInterval; confidenceInfo: HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfo; dateRange: HttpTimeseriesGroupsHttpProtocolResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpTimeseriesGroupsHttpProtocolResponseMetaNormalization; /** Measurement units for the results. */ units: HttpTimeseriesGroupsHttpProtocolResponseMetaUnitsList; } export const HttpTimeseriesGroupsHttpProtocolResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: HttpTimeseriesGroupsHttpProtocolResponseMetaAggInterval, confidenceInfo: HttpTimeseriesGroupsHttpProtocolResponseMetaConfidenceInfo, dateRange: HttpTimeseriesGroupsHttpProtocolResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpTimeseriesGroupsHttpProtocolResponseMetaNormalization, units: HttpTimeseriesGroupsHttpProtocolResponseMetaUnitsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsHttpProtocolResponseMeta", }) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolResponseSerie0HttpList = Array; export const HttpTimeseriesGroupsHttpProtocolResponseSerie0HttpList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolResponseSerie0HttpsList = Array; export const HttpTimeseriesGroupsHttpProtocolResponseSerie0HttpsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpProtocolResponseSerie0TimestampsList = Array; export const HttpTimeseriesGroupsHttpProtocolResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsHttpProtocolResponseSerie0 { http: HttpTimeseriesGroupsHttpProtocolResponseSerie0HttpList; https: HttpTimeseriesGroupsHttpProtocolResponseSerie0HttpsList; timestamps: HttpTimeseriesGroupsHttpProtocolResponseSerie0TimestampsList; } export const HttpTimeseriesGroupsHttpProtocolResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ http: HttpTimeseriesGroupsHttpProtocolResponseSerie0HttpList, https: HttpTimeseriesGroupsHttpProtocolResponseSerie0HttpsList, timestamps: HttpTimeseriesGroupsHttpProtocolResponseSerie0TimestampsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsHttpProtocolResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface HttpProtocolHttpTimeseriesGroupResponse { /** Metadata for the results. */ meta: HttpTimeseriesGroupsHttpProtocolResponseMeta; serie_0: HttpTimeseriesGroupsHttpProtocolResponseSerie0; } export const HttpProtocolHttpTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: HttpTimeseriesGroupsHttpProtocolResponseMeta, serie_0: HttpTimeseriesGroupsHttpProtocolResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HttpProtocolHttpTimeseriesGroupResponse", }) as any as S.Schema; export type AttacksLayer7SummaryHttpVersionRequestAsnList = Array; export const AttacksLayer7SummaryHttpVersionRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryHttpVersionRequestContinentList = Array; export const AttacksLayer7SummaryHttpVersionRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryHttpVersionRequestDateEndList = Array; export const AttacksLayer7SummaryHttpVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryHttpVersionRequestDateRangeList = Array; export const AttacksLayer7SummaryHttpVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryHttpVersionRequestDateStartList = Array; export const AttacksLayer7SummaryHttpVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryHttpVersionRequestFormat = "JSON" | "CSV"; export const AttacksLayer7SummaryHttpVersionRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryHttpVersionRequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7SummaryHttpVersionRequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryHttpVersionRequestHttpMethodList = Array< AttacksLayer7SummaryHttpVersionRequestHttpMethod | (string & {}) >; export const AttacksLayer7SummaryHttpVersionRequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryHttpVersionRequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7SummaryHttpVersionRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer7SummaryHttpVersionRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryHttpVersionRequestIpVersionList = Array< AttacksLayer7SummaryHttpVersionRequestIpVersion | (string & {}) >; export const AttacksLayer7SummaryHttpVersionRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryHttpVersionRequestIpVersion, ) as any as S.Schema; export type AttacksLayer7SummaryHttpVersionRequestLocationList = Array; export const AttacksLayer7SummaryHttpVersionRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryHttpVersionRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7SummaryHttpVersionRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryHttpVersionRequestMitigationProductList = Array< AttacksLayer7SummaryHttpVersionRequestMitigationProduct | (string & {}) >; export const AttacksLayer7SummaryHttpVersionRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryHttpVersionRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7SummaryHttpVersionRequestNameList = Array; export const AttacksLayer7SummaryHttpVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpVersionAttackLayer7SummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7SummaryHttpVersionRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7SummaryHttpVersionRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7SummaryHttpVersionRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7SummaryHttpVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7SummaryHttpVersionRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7SummaryHttpVersionRequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7SummaryHttpVersionRequestHttpMethodList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7SummaryHttpVersionRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7SummaryHttpVersionRequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7SummaryHttpVersionRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7SummaryHttpVersionRequestNameList; } export const HttpVersionAttackLayer7SummaryRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ asn: S.optional( AttacksLayer7SummaryHttpVersionRequestAsnList.pipe(T.Query()), ), continent: S.optional( AttacksLayer7SummaryHttpVersionRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer7SummaryHttpVersionRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7SummaryHttpVersionRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer7SummaryHttpVersionRequestDateStartList.pipe(T.Query()), ), format: S.optional( AttacksLayer7SummaryHttpVersionRequestFormat.pipe(T.Query()), ), httpMethod: S.optional( AttacksLayer7SummaryHttpVersionRequestHttpMethodList.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer7SummaryHttpVersionRequestIpVersionList.pipe(T.Query()), ), location: S.optional( AttacksLayer7SummaryHttpVersionRequestLocationList.pipe(T.Query()), ), mitigationProduct: S.optional( AttacksLayer7SummaryHttpVersionRequestMitigationProductList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer7SummaryHttpVersionRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/summary/http_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HttpVersionAttackLayer7SummaryRequest", }) as any as S.Schema; export type AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfo { annotations: AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7SummaryHttpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7SummaryHttpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7SummaryHttpVersionResponseMetaDateRangeList = Array; export const AttacksLayer7SummaryHttpVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7SummaryHttpVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7SummaryHttpVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryHttpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7SummaryHttpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7SummaryHttpVersionResponseMetaUnitsList = Array; export const AttacksLayer7SummaryHttpVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7SummaryHttpVersionResponseMeta { confidenceInfo: AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfo; dateRange: AttacksLayer7SummaryHttpVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7SummaryHttpVersionResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7SummaryHttpVersionResponseMetaUnitsList; } export const AttacksLayer7SummaryHttpVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AttacksLayer7SummaryHttpVersionResponseMetaConfidenceInfo, dateRange: AttacksLayer7SummaryHttpVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7SummaryHttpVersionResponseMetaNormalization, units: AttacksLayer7SummaryHttpVersionResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7SummaryHttpVersionResponseMeta", }) as any as S.Schema; export interface AttacksLayer7SummaryHttpVersionResponseSummary0 { HTTP_1_x: string; HTTP_2: string; HTTP_3: string; } export const AttacksLayer7SummaryHttpVersionResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ HTTP_1_x: S.String.pipe(T.Body("HTTP/1.x")), HTTP_2: S.String.pipe(T.Body("HTTP/2")), HTTP_3: S.String.pipe(T.Body("HTTP/3")), }), ).annotate({ identifier: "AttacksLayer7SummaryHttpVersionResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface HttpVersionAttackLayer7SummaryResponse { /** Metadata for the results. */ meta: AttacksLayer7SummaryHttpVersionResponseMeta; summary_0: AttacksLayer7SummaryHttpVersionResponseSummary0; } export const HttpVersionAttackLayer7SummaryResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: AttacksLayer7SummaryHttpVersionResponseMeta, summary_0: AttacksLayer7SummaryHttpVersionResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HttpVersionAttackLayer7SummaryResponse", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer7TimeseriesGroupsHttpVersionRequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpVersionRequestAsnList = Array; export const AttacksLayer7TimeseriesGroupsHttpVersionRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionRequestContinentList = Array; export const AttacksLayer7TimeseriesGroupsHttpVersionRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionRequestDateEndList = Array; export const AttacksLayer7TimeseriesGroupsHttpVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionRequestDateRangeList = Array; export const AttacksLayer7TimeseriesGroupsHttpVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionRequestDateStartList = Array; export const AttacksLayer7TimeseriesGroupsHttpVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionRequestFormat = | "JSON" | "CSV"; export const AttacksLayer7TimeseriesGroupsHttpVersionRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpVersionRequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7TimeseriesGroupsHttpVersionRequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpVersionRequestHttpMethodList = Array< AttacksLayer7TimeseriesGroupsHttpVersionRequestHttpMethod | (string & {}) >; export const AttacksLayer7TimeseriesGroupsHttpVersionRequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsHttpVersionRequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionRequestIpVersion = | "IPv4" | "IPv6"; export const AttacksLayer7TimeseriesGroupsHttpVersionRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpVersionRequestIpVersionList = Array< AttacksLayer7TimeseriesGroupsHttpVersionRequestIpVersion | (string & {}) >; export const AttacksLayer7TimeseriesGroupsHttpVersionRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsHttpVersionRequestIpVersion, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionRequestLocationList = Array; export const AttacksLayer7TimeseriesGroupsHttpVersionRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7TimeseriesGroupsHttpVersionRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpVersionRequestMitigationProductList = Array< | AttacksLayer7TimeseriesGroupsHttpVersionRequestMitigationProduct | (string & {}) >; export const AttacksLayer7TimeseriesGroupsHttpVersionRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsHttpVersionRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionRequestNameList = Array; export const AttacksLayer7TimeseriesGroupsHttpVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionRequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const AttacksLayer7TimeseriesGroupsHttpVersionRequestNormalization = /*@__PURE__*/ S.String; export interface HttpVersionAttackLayer7TimeseriesGroupRequest { /** 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/). */ aggInterval?: | AttacksLayer7TimeseriesGroupsHttpVersionRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7TimeseriesGroupsHttpVersionRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7TimeseriesGroupsHttpVersionRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7TimeseriesGroupsHttpVersionRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7TimeseriesGroupsHttpVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7TimeseriesGroupsHttpVersionRequestDateStartList; /** Format in which results will be returned. */ format?: | AttacksLayer7TimeseriesGroupsHttpVersionRequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7TimeseriesGroupsHttpVersionRequestHttpMethodList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7TimeseriesGroupsHttpVersionRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7TimeseriesGroupsHttpVersionRequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7TimeseriesGroupsHttpVersionRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7TimeseriesGroupsHttpVersionRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AttacksLayer7TimeseriesGroupsHttpVersionRequestNormalization | (string & {}); } export const HttpVersionAttackLayer7TimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AttacksLayer7TimeseriesGroupsHttpVersionRequestAggInterval.pipe( T.Query(), ), ), asn: S.optional( AttacksLayer7TimeseriesGroupsHttpVersionRequestAsnList.pipe(T.Query()), ), continent: S.optional( AttacksLayer7TimeseriesGroupsHttpVersionRequestContinentList.pipe( T.Query(), ), ), dateEnd: S.optional( AttacksLayer7TimeseriesGroupsHttpVersionRequestDateEndList.pipe( T.Query(), ), ), dateRange: S.optional( AttacksLayer7TimeseriesGroupsHttpVersionRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( AttacksLayer7TimeseriesGroupsHttpVersionRequestDateStartList.pipe( T.Query(), ), ), format: S.optional( AttacksLayer7TimeseriesGroupsHttpVersionRequestFormat.pipe(T.Query()), ), httpMethod: S.optional( AttacksLayer7TimeseriesGroupsHttpVersionRequestHttpMethodList.pipe( T.Query(), ), ), ipVersion: S.optional( AttacksLayer7TimeseriesGroupsHttpVersionRequestIpVersionList.pipe( T.Query(), ), ), location: S.optional( AttacksLayer7TimeseriesGroupsHttpVersionRequestLocationList.pipe( T.Query(), ), ), mitigationProduct: S.optional( AttacksLayer7TimeseriesGroupsHttpVersionRequestMitigationProductList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer7TimeseriesGroupsHttpVersionRequestNameList.pipe(T.Query()), ), normalization: S.optional( AttacksLayer7TimeseriesGroupsHttpVersionRequestNormalization.pipe( T.Query(), ), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/timeseries_groups/http_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HttpVersionAttackLayer7TimeseriesGroupRequest", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfo { annotations: AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaDateRangeList = Array; export const AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaUnitsList = Array; export const AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsHttpVersionResponseMeta { /** 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/). */ aggInterval: AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaAggInterval; confidenceInfo: AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfo; dateRange: AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaUnitsList; } export const AttacksLayer7TimeseriesGroupsHttpVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaAggInterval, confidenceInfo: AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaConfidenceInfo, dateRange: AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaNormalization, units: AttacksLayer7TimeseriesGroupsHttpVersionResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsHttpVersionResponseMeta", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0HTTP1XList = Array; export const AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0HTTP1XList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0HTTP2List = Array; export const AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0HTTP2List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0HTTP3List = Array; export const AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0HTTP3List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0TimestampsList = Array; export const AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0 { HTTP_1_x: AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0HTTP1XList; HTTP_2: AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0HTTP2List; HTTP_3: AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0HTTP3List; timestamps: AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0TimestampsList; } export const AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ HTTP_1_x: AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0HTTP1XList.pipe( T.Body("HTTP/1.x"), ), HTTP_2: AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0HTTP2List.pipe( T.Body("HTTP/2"), ), HTTP_3: AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0HTTP3List.pipe( T.Body("HTTP/3"), ), timestamps: AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0TimestampsList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface HttpVersionAttackLayer7TimeseriesGroupResponse { /** Metadata for the results. */ meta: AttacksLayer7TimeseriesGroupsHttpVersionResponseMeta; serie_0: AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0; } export const HttpVersionAttackLayer7TimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer7TimeseriesGroupsHttpVersionResponseMeta, serie_0: AttacksLayer7TimeseriesGroupsHttpVersionResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HttpVersionAttackLayer7TimeseriesGroupResponse", }) as any as S.Schema; export type HttpSummaryHttpVersionRequestAsnList = Array; export const HttpSummaryHttpVersionRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryHttpVersionRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpSummaryHttpVersionRequestBotClass = /*@__PURE__*/ S.String; export type HttpSummaryHttpVersionRequestBotClassList = Array< HttpSummaryHttpVersionRequestBotClass | (string & {}) >; export const HttpSummaryHttpVersionRequestBotClassList = /*@__PURE__*/ S.Array( HttpSummaryHttpVersionRequestBotClass, ) as any as S.Schema; export type HttpSummaryHttpVersionRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpSummaryHttpVersionRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpSummaryHttpVersionRequestBrowserFamilyList = Array< HttpSummaryHttpVersionRequestBrowserFamily | (string & {}) >; export const HttpSummaryHttpVersionRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpSummaryHttpVersionRequestBrowserFamily, ) as any as S.Schema; export type HttpSummaryHttpVersionRequestContinentList = Array; export const HttpSummaryHttpVersionRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryHttpVersionRequestDateEndList = Array; export const HttpSummaryHttpVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryHttpVersionRequestDateRangeList = Array; export const HttpSummaryHttpVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryHttpVersionRequestDateStartList = Array; export const HttpSummaryHttpVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryHttpVersionRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpSummaryHttpVersionRequestDeviceType = /*@__PURE__*/ S.String; export type HttpSummaryHttpVersionRequestDeviceTypeList = Array< HttpSummaryHttpVersionRequestDeviceType | (string & {}) >; export const HttpSummaryHttpVersionRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpSummaryHttpVersionRequestDeviceType, ) as any as S.Schema; export type HttpSummaryHttpVersionRequestFormat = "JSON" | "CSV"; export const HttpSummaryHttpVersionRequestFormat = /*@__PURE__*/ S.String; export type HttpSummaryHttpVersionRequestGeoIdList = Array; export const HttpSummaryHttpVersionRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryHttpVersionRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpSummaryHttpVersionRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpSummaryHttpVersionRequestHttpProtocolList = Array< HttpSummaryHttpVersionRequestHttpProtocol | (string & {}) >; export const HttpSummaryHttpVersionRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpSummaryHttpVersionRequestHttpProtocol, ) as any as S.Schema; export type HttpSummaryHttpVersionRequestIpVersion = "IPv4" | "IPv6"; export const HttpSummaryHttpVersionRequestIpVersion = /*@__PURE__*/ S.String; export type HttpSummaryHttpVersionRequestIpVersionList = Array< HttpSummaryHttpVersionRequestIpVersion | (string & {}) >; export const HttpSummaryHttpVersionRequestIpVersionList = /*@__PURE__*/ S.Array( HttpSummaryHttpVersionRequestIpVersion, ) as any as S.Schema; export type HttpSummaryHttpVersionRequestLocationList = Array; export const HttpSummaryHttpVersionRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryHttpVersionRequestNameList = Array; export const HttpSummaryHttpVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryHttpVersionRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpSummaryHttpVersionRequestOs = /*@__PURE__*/ S.String; export type HttpSummaryHttpVersionRequestOsList = Array< HttpSummaryHttpVersionRequestOs | (string & {}) >; export const HttpSummaryHttpVersionRequestOsList = /*@__PURE__*/ S.Array( HttpSummaryHttpVersionRequestOs, ) as any as S.Schema; export type HttpSummaryHttpVersionRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpSummaryHttpVersionRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpSummaryHttpVersionRequestTlsVersionList = Array< HttpSummaryHttpVersionRequestTlsVersion | (string & {}) >; export const HttpSummaryHttpVersionRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpSummaryHttpVersionRequestTlsVersion, ) as any as S.Schema; export interface HttpVersionHttpSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpSummaryHttpVersionRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpSummaryHttpVersionRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpSummaryHttpVersionRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpSummaryHttpVersionRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpSummaryHttpVersionRequestDateEndList; /** 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). */ dateRange?: HttpSummaryHttpVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpSummaryHttpVersionRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpSummaryHttpVersionRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpSummaryHttpVersionRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpSummaryHttpVersionRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpSummaryHttpVersionRequestHttpProtocolList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpSummaryHttpVersionRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpSummaryHttpVersionRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpSummaryHttpVersionRequestNameList; /** Filters results by operating system. */ os?: HttpSummaryHttpVersionRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpSummaryHttpVersionRequestTlsVersionList; } export const HttpVersionHttpSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(HttpSummaryHttpVersionRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpSummaryHttpVersionRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpSummaryHttpVersionRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpSummaryHttpVersionRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpSummaryHttpVersionRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpSummaryHttpVersionRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpSummaryHttpVersionRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpSummaryHttpVersionRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpSummaryHttpVersionRequestFormat.pipe(T.Query())), geoId: S.optional(HttpSummaryHttpVersionRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpSummaryHttpVersionRequestHttpProtocolList.pipe(T.Query()), ), ipVersion: S.optional( HttpSummaryHttpVersionRequestIpVersionList.pipe(T.Query()), ), location: S.optional( HttpSummaryHttpVersionRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpSummaryHttpVersionRequestNameList.pipe(T.Query())), os: S.optional(HttpSummaryHttpVersionRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpSummaryHttpVersionRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/summary/http_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HttpVersionHttpSummaryRequest", }) as any as S.Schema; export type HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpSummaryHttpVersionResponseMetaConfidenceInfo { annotations: HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpSummaryHttpVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpSummaryHttpVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpSummaryHttpVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpSummaryHttpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpSummaryHttpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpSummaryHttpVersionResponseMetaDateRangeList = Array; export const HttpSummaryHttpVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpSummaryHttpVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpSummaryHttpVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpSummaryHttpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpSummaryHttpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpSummaryHttpVersionResponseMetaUnitsList = Array; export const HttpSummaryHttpVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpSummaryHttpVersionResponseMeta { confidenceInfo: HttpSummaryHttpVersionResponseMetaConfidenceInfo; dateRange: HttpSummaryHttpVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpSummaryHttpVersionResponseMetaNormalization; /** Measurement units for the results. */ units: HttpSummaryHttpVersionResponseMetaUnitsList; } export const HttpSummaryHttpVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpSummaryHttpVersionResponseMetaConfidenceInfo, dateRange: HttpSummaryHttpVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpSummaryHttpVersionResponseMetaNormalization, units: HttpSummaryHttpVersionResponseMetaUnitsList, }), ).annotate({ identifier: "HttpSummaryHttpVersionResponseMeta", }) as any as S.Schema; export interface HttpSummaryHttpVersionResponseSummary0 { /** A numeric string. */ HTTP_1_x: string; /** A numeric string. */ HTTP_2: string; /** A numeric string. */ HTTP_3: string; } export const HttpSummaryHttpVersionResponseSummary0 = /*@__PURE__*/ S.suspend( () => S.Struct({ HTTP_1_x: S.String.pipe(T.Body("HTTP/1.x")), HTTP_2: S.String.pipe(T.Body("HTTP/2")), HTTP_3: S.String.pipe(T.Body("HTTP/3")), }), ).annotate({ identifier: "HttpSummaryHttpVersionResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface HttpVersionHttpSummaryResponse { /** Metadata for the results. */ meta: HttpSummaryHttpVersionResponseMeta; summary_0: HttpSummaryHttpVersionResponseSummary0; } export const HttpVersionHttpSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpSummaryHttpVersionResponseMeta, summary_0: HttpSummaryHttpVersionResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HttpVersionHttpSummaryResponse", }) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const HttpTimeseriesGroupsHttpVersionRequestAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpVersionRequestAsnList = Array; export const HttpTimeseriesGroupsHttpVersionRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpTimeseriesGroupsHttpVersionRequestBotClass = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpVersionRequestBotClassList = Array< HttpTimeseriesGroupsHttpVersionRequestBotClass | (string & {}) >; export const HttpTimeseriesGroupsHttpVersionRequestBotClassList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsHttpVersionRequestBotClass, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpTimeseriesGroupsHttpVersionRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpVersionRequestBrowserFamilyList = Array< HttpTimeseriesGroupsHttpVersionRequestBrowserFamily | (string & {}) >; export const HttpTimeseriesGroupsHttpVersionRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsHttpVersionRequestBrowserFamily, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionRequestContinentList = Array; export const HttpTimeseriesGroupsHttpVersionRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionRequestDateEndList = Array; export const HttpTimeseriesGroupsHttpVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionRequestDateRangeList = Array; export const HttpTimeseriesGroupsHttpVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionRequestDateStartList = Array; export const HttpTimeseriesGroupsHttpVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpTimeseriesGroupsHttpVersionRequestDeviceType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpVersionRequestDeviceTypeList = Array< HttpTimeseriesGroupsHttpVersionRequestDeviceType | (string & {}) >; export const HttpTimeseriesGroupsHttpVersionRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsHttpVersionRequestDeviceType, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionRequestFormat = "JSON" | "CSV"; export const HttpTimeseriesGroupsHttpVersionRequestFormat = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpVersionRequestGeoIdList = Array; export const HttpTimeseriesGroupsHttpVersionRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionRequestHttpProtocol = | "HTTP" | "HTTPS"; export const HttpTimeseriesGroupsHttpVersionRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpVersionRequestHttpProtocolList = Array< HttpTimeseriesGroupsHttpVersionRequestHttpProtocol | (string & {}) >; export const HttpTimeseriesGroupsHttpVersionRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsHttpVersionRequestHttpProtocol, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionRequestIpVersion = "IPv4" | "IPv6"; export const HttpTimeseriesGroupsHttpVersionRequestIpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpVersionRequestIpVersionList = Array< HttpTimeseriesGroupsHttpVersionRequestIpVersion | (string & {}) >; export const HttpTimeseriesGroupsHttpVersionRequestIpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsHttpVersionRequestIpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionRequestLocationList = Array; export const HttpTimeseriesGroupsHttpVersionRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionRequestNameList = Array; export const HttpTimeseriesGroupsHttpVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpTimeseriesGroupsHttpVersionRequestOs = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpVersionRequestOsList = Array< HttpTimeseriesGroupsHttpVersionRequestOs | (string & {}) >; export const HttpTimeseriesGroupsHttpVersionRequestOsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsHttpVersionRequestOs, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpTimeseriesGroupsHttpVersionRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpVersionRequestTlsVersionList = Array< HttpTimeseriesGroupsHttpVersionRequestTlsVersion | (string & {}) >; export const HttpTimeseriesGroupsHttpVersionRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsHttpVersionRequestTlsVersion, ) as any as S.Schema; export interface HttpVersionHttpTimeseriesGroupRequest { /** 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/). */ aggInterval?: | HttpTimeseriesGroupsHttpVersionRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpTimeseriesGroupsHttpVersionRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpTimeseriesGroupsHttpVersionRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpTimeseriesGroupsHttpVersionRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpTimeseriesGroupsHttpVersionRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpTimeseriesGroupsHttpVersionRequestDateEndList; /** 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). */ dateRange?: HttpTimeseriesGroupsHttpVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpTimeseriesGroupsHttpVersionRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpTimeseriesGroupsHttpVersionRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpTimeseriesGroupsHttpVersionRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpTimeseriesGroupsHttpVersionRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpTimeseriesGroupsHttpVersionRequestHttpProtocolList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpTimeseriesGroupsHttpVersionRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpTimeseriesGroupsHttpVersionRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpTimeseriesGroupsHttpVersionRequestNameList; /** Filters results by operating system. */ os?: HttpTimeseriesGroupsHttpVersionRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpTimeseriesGroupsHttpVersionRequestTlsVersionList; } export const HttpVersionHttpTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( HttpTimeseriesGroupsHttpVersionRequestAggInterval.pipe(T.Query()), ), asn: S.optional( HttpTimeseriesGroupsHttpVersionRequestAsnList.pipe(T.Query()), ), botClass: S.optional( HttpTimeseriesGroupsHttpVersionRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpTimeseriesGroupsHttpVersionRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpTimeseriesGroupsHttpVersionRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpTimeseriesGroupsHttpVersionRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpTimeseriesGroupsHttpVersionRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpTimeseriesGroupsHttpVersionRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpTimeseriesGroupsHttpVersionRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional( HttpTimeseriesGroupsHttpVersionRequestFormat.pipe(T.Query()), ), geoId: S.optional( HttpTimeseriesGroupsHttpVersionRequestGeoIdList.pipe(T.Query()), ), httpProtocol: S.optional( HttpTimeseriesGroupsHttpVersionRequestHttpProtocolList.pipe(T.Query()), ), ipVersion: S.optional( HttpTimeseriesGroupsHttpVersionRequestIpVersionList.pipe(T.Query()), ), location: S.optional( HttpTimeseriesGroupsHttpVersionRequestLocationList.pipe(T.Query()), ), name: S.optional( HttpTimeseriesGroupsHttpVersionRequestNameList.pipe(T.Query()), ), os: S.optional( HttpTimeseriesGroupsHttpVersionRequestOsList.pipe(T.Query()), ), tlsVersion: S.optional( HttpTimeseriesGroupsHttpVersionRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/timeseries_groups/http_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HttpVersionHttpTimeseriesGroupRequest", }) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const HttpTimeseriesGroupsHttpVersionResponseMetaAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfo { annotations: HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpTimeseriesGroupsHttpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpTimeseriesGroupsHttpVersionResponseMetaDateRangeList = Array; export const HttpTimeseriesGroupsHttpVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpTimeseriesGroupsHttpVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsHttpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpTimeseriesGroupsHttpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpTimeseriesGroupsHttpVersionResponseMetaUnitsList = Array; export const HttpTimeseriesGroupsHttpVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsHttpVersionResponseMeta { /** 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/). */ aggInterval: HttpTimeseriesGroupsHttpVersionResponseMetaAggInterval; confidenceInfo: HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfo; dateRange: HttpTimeseriesGroupsHttpVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpTimeseriesGroupsHttpVersionResponseMetaNormalization; /** Measurement units for the results. */ units: HttpTimeseriesGroupsHttpVersionResponseMetaUnitsList; } export const HttpTimeseriesGroupsHttpVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: HttpTimeseriesGroupsHttpVersionResponseMetaAggInterval, confidenceInfo: HttpTimeseriesGroupsHttpVersionResponseMetaConfidenceInfo, dateRange: HttpTimeseriesGroupsHttpVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpTimeseriesGroupsHttpVersionResponseMetaNormalization, units: HttpTimeseriesGroupsHttpVersionResponseMetaUnitsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsHttpVersionResponseMeta", }) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionResponseSerie0HTTP1XList = Array; export const HttpTimeseriesGroupsHttpVersionResponseSerie0HTTP1XList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionResponseSerie0HTTP2List = Array; export const HttpTimeseriesGroupsHttpVersionResponseSerie0HTTP2List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionResponseSerie0HTTP3List = Array; export const HttpTimeseriesGroupsHttpVersionResponseSerie0HTTP3List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsHttpVersionResponseSerie0TimestampsList = Array; export const HttpTimeseriesGroupsHttpVersionResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsHttpVersionResponseSerie0 { HTTP_1_x: HttpTimeseriesGroupsHttpVersionResponseSerie0HTTP1XList; HTTP_2: HttpTimeseriesGroupsHttpVersionResponseSerie0HTTP2List; HTTP_3: HttpTimeseriesGroupsHttpVersionResponseSerie0HTTP3List; timestamps: HttpTimeseriesGroupsHttpVersionResponseSerie0TimestampsList; } export const HttpTimeseriesGroupsHttpVersionResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ HTTP_1_x: HttpTimeseriesGroupsHttpVersionResponseSerie0HTTP1XList.pipe( T.Body("HTTP/1.x"), ), HTTP_2: HttpTimeseriesGroupsHttpVersionResponseSerie0HTTP2List.pipe( T.Body("HTTP/2"), ), HTTP_3: HttpTimeseriesGroupsHttpVersionResponseSerie0HTTP3List.pipe( T.Body("HTTP/3"), ), timestamps: HttpTimeseriesGroupsHttpVersionResponseSerie0TimestampsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsHttpVersionResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface HttpVersionHttpTimeseriesGroupResponse { /** Metadata for the results. */ meta: HttpTimeseriesGroupsHttpVersionResponseMeta; serie_0: HttpTimeseriesGroupsHttpVersionResponseSerie0; } export const HttpVersionHttpTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: HttpTimeseriesGroupsHttpVersionResponseMeta, serie_0: HttpTimeseriesGroupsHttpVersionResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "HttpVersionHttpTimeseriesGroupResponse", }) as any as S.Schema; export type AttacksLayer3SummaryIndustryRequestContinentList = Array; export const AttacksLayer3SummaryIndustryRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryIndustryRequestDateEndList = Array; export const AttacksLayer3SummaryIndustryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryIndustryRequestDateRangeList = Array; export const AttacksLayer3SummaryIndustryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryIndustryRequestDateStartList = Array; export const AttacksLayer3SummaryIndustryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryIndustryRequestDirection = "ORIGIN" | "TARGET"; export const AttacksLayer3SummaryIndustryRequestDirection = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryIndustryRequestFormat = "JSON" | "CSV"; export const AttacksLayer3SummaryIndustryRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryIndustryRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer3SummaryIndustryRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryIndustryRequestIpVersionList = Array< AttacksLayer3SummaryIndustryRequestIpVersion | (string & {}) >; export const AttacksLayer3SummaryIndustryRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryIndustryRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3SummaryIndustryRequestLocationList = Array; export const AttacksLayer3SummaryIndustryRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryIndustryRequestNameList = Array; export const AttacksLayer3SummaryIndustryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryIndustryRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3SummaryIndustryRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryIndustryRequestProtocolList = Array< AttacksLayer3SummaryIndustryRequestProtocol | (string & {}) >; export const AttacksLayer3SummaryIndustryRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryIndustryRequestProtocol, ) as any as S.Schema; export interface IndustryAttackLayer3SummaryRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3SummaryIndustryRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3SummaryIndustryRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3SummaryIndustryRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3SummaryIndustryRequestDateStartList; /** Specifies whether the `location` filter applies to the source or target location. */ direction?: AttacksLayer3SummaryIndustryRequestDirection | (string & {}); /** Format in which results will be returned. */ format?: AttacksLayer3SummaryIndustryRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3SummaryIndustryRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3SummaryIndustryRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3SummaryIndustryRequestNameList; /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3SummaryIndustryRequestProtocolList; } export const IndustryAttackLayer3SummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( AttacksLayer3SummaryIndustryRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer3SummaryIndustryRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3SummaryIndustryRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer3SummaryIndustryRequestDateStartList.pipe(T.Query()), ), direction: S.optional( AttacksLayer3SummaryIndustryRequestDirection.pipe(T.Query()), ), format: S.optional( AttacksLayer3SummaryIndustryRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer3SummaryIndustryRequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer3SummaryIndustryRequestLocationList.pipe(T.Query()), ), name: S.optional( AttacksLayer3SummaryIndustryRequestNameList.pipe(T.Query()), ), protocol: S.optional( AttacksLayer3SummaryIndustryRequestProtocolList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/summary/industry", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IndustryAttackLayer3SummaryRequest", }) as any as S.Schema; export type AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3SummaryIndustryResponseMetaConfidenceInfo { annotations: AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3SummaryIndustryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3SummaryIndustryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3SummaryIndustryResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3SummaryIndustryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3SummaryIndustryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3SummaryIndustryResponseMetaDateRangeList = Array; export const AttacksLayer3SummaryIndustryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3SummaryIndustryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3SummaryIndustryResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryIndustryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3SummaryIndustryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3SummaryIndustryResponseMetaUnitsList = Array; export const AttacksLayer3SummaryIndustryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3SummaryIndustryResponseMeta { confidenceInfo: AttacksLayer3SummaryIndustryResponseMetaConfidenceInfo; dateRange: AttacksLayer3SummaryIndustryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3SummaryIndustryResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3SummaryIndustryResponseMetaUnitsList; } export const AttacksLayer3SummaryIndustryResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: AttacksLayer3SummaryIndustryResponseMetaConfidenceInfo, dateRange: AttacksLayer3SummaryIndustryResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3SummaryIndustryResponseMetaNormalization, units: AttacksLayer3SummaryIndustryResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3SummaryIndustryResponseMeta", }) as any as S.Schema; export type AttacksLayer3SummaryIndustryResponseSummary0Map = { [key: string]: string | undefined; }; export const AttacksLayer3SummaryIndustryResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IndustryAttackLayer3SummaryResponse { /** Metadata for the results. */ meta: AttacksLayer3SummaryIndustryResponseMeta; summary_0: AttacksLayer3SummaryIndustryResponseSummary0Map; } export const IndustryAttackLayer3SummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3SummaryIndustryResponseMeta, summary_0: AttacksLayer3SummaryIndustryResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IndustryAttackLayer3SummaryResponse", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIndustryRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer3TimeseriesGroupsIndustryRequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIndustryRequestContinentList = Array; export const AttacksLayer3TimeseriesGroupsIndustryRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIndustryRequestDateEndList = Array; export const AttacksLayer3TimeseriesGroupsIndustryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIndustryRequestDateRangeList = Array; export const AttacksLayer3TimeseriesGroupsIndustryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIndustryRequestDateStartList = Array; export const AttacksLayer3TimeseriesGroupsIndustryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIndustryRequestDirection = | "ORIGIN" | "TARGET"; export const AttacksLayer3TimeseriesGroupsIndustryRequestDirection = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIndustryRequestFormat = "JSON" | "CSV"; export const AttacksLayer3TimeseriesGroupsIndustryRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIndustryRequestIpVersion = | "IPv4" | "IPv6"; export const AttacksLayer3TimeseriesGroupsIndustryRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIndustryRequestIpVersionList = Array< AttacksLayer3TimeseriesGroupsIndustryRequestIpVersion | (string & {}) >; export const AttacksLayer3TimeseriesGroupsIndustryRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsIndustryRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIndustryRequestLocationList = Array; export const AttacksLayer3TimeseriesGroupsIndustryRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIndustryRequestNameList = Array; export const AttacksLayer3TimeseriesGroupsIndustryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIndustryRequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const AttacksLayer3TimeseriesGroupsIndustryRequestNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIndustryRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3TimeseriesGroupsIndustryRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIndustryRequestProtocolList = Array< AttacksLayer3TimeseriesGroupsIndustryRequestProtocol | (string & {}) >; export const AttacksLayer3TimeseriesGroupsIndustryRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsIndustryRequestProtocol, ) as any as S.Schema; export interface IndustryAttackLayer3TimeseriesGroupRequest { /** 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/). */ aggInterval?: | AttacksLayer3TimeseriesGroupsIndustryRequestAggInterval | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3TimeseriesGroupsIndustryRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3TimeseriesGroupsIndustryRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3TimeseriesGroupsIndustryRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3TimeseriesGroupsIndustryRequestDateStartList; /** Specifies whether the `location` filter applies to the source or target location. */ direction?: | AttacksLayer3TimeseriesGroupsIndustryRequestDirection | (string & {}); /** Format in which results will be returned. */ format?: AttacksLayer3TimeseriesGroupsIndustryRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3TimeseriesGroupsIndustryRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3TimeseriesGroupsIndustryRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3TimeseriesGroupsIndustryRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AttacksLayer3TimeseriesGroupsIndustryRequestNormalization | (string & {}); /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3TimeseriesGroupsIndustryRequestProtocolList; } export const IndustryAttackLayer3TimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AttacksLayer3TimeseriesGroupsIndustryRequestAggInterval.pipe(T.Query()), ), continent: S.optional( AttacksLayer3TimeseriesGroupsIndustryRequestContinentList.pipe( T.Query(), ), ), dateEnd: S.optional( AttacksLayer3TimeseriesGroupsIndustryRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3TimeseriesGroupsIndustryRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( AttacksLayer3TimeseriesGroupsIndustryRequestDateStartList.pipe( T.Query(), ), ), direction: S.optional( AttacksLayer3TimeseriesGroupsIndustryRequestDirection.pipe(T.Query()), ), format: S.optional( AttacksLayer3TimeseriesGroupsIndustryRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer3TimeseriesGroupsIndustryRequestIpVersionList.pipe( T.Query(), ), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer3TimeseriesGroupsIndustryRequestLocationList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer3TimeseriesGroupsIndustryRequestNameList.pipe(T.Query()), ), normalization: S.optional( AttacksLayer3TimeseriesGroupsIndustryRequestNormalization.pipe( T.Query(), ), ), protocol: S.optional( AttacksLayer3TimeseriesGroupsIndustryRequestProtocolList.pipe( T.Query(), ), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/timeseries_groups/industry", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IndustryAttackLayer3TimeseriesGroupRequest", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIndustryResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer3TimeseriesGroupsIndustryResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfo { annotations: AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIndustryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3TimeseriesGroupsIndustryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3TimeseriesGroupsIndustryResponseMetaDateRangeList = Array; export const AttacksLayer3TimeseriesGroupsIndustryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIndustryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3TimeseriesGroupsIndustryResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIndustryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3TimeseriesGroupsIndustryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3TimeseriesGroupsIndustryResponseMetaUnitsList = Array; export const AttacksLayer3TimeseriesGroupsIndustryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsIndustryResponseMeta { /** 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/). */ aggInterval: AttacksLayer3TimeseriesGroupsIndustryResponseMetaAggInterval; confidenceInfo: AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfo; dateRange: AttacksLayer3TimeseriesGroupsIndustryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3TimeseriesGroupsIndustryResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3TimeseriesGroupsIndustryResponseMetaUnitsList; } export const AttacksLayer3TimeseriesGroupsIndustryResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer3TimeseriesGroupsIndustryResponseMetaAggInterval, confidenceInfo: AttacksLayer3TimeseriesGroupsIndustryResponseMetaConfidenceInfo, dateRange: AttacksLayer3TimeseriesGroupsIndustryResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3TimeseriesGroupsIndustryResponseMetaNormalization, units: AttacksLayer3TimeseriesGroupsIndustryResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsIndustryResponseMeta", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIndustryResponseSerie0TimestampsList = Array; export const AttacksLayer3TimeseriesGroupsIndustryResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsIndustryResponseSerie0 { timestamps: AttacksLayer3TimeseriesGroupsIndustryResponseSerie0TimestampsList; } export const AttacksLayer3TimeseriesGroupsIndustryResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: AttacksLayer3TimeseriesGroupsIndustryResponseSerie0TimestampsList, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsIndustryResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IndustryAttackLayer3TimeseriesGroupResponse { /** Metadata for the results. */ meta: AttacksLayer3TimeseriesGroupsIndustryResponseMeta; serie_0: AttacksLayer3TimeseriesGroupsIndustryResponseSerie0; } export const IndustryAttackLayer3TimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3TimeseriesGroupsIndustryResponseMeta, serie_0: AttacksLayer3TimeseriesGroupsIndustryResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IndustryAttackLayer3TimeseriesGroupResponse", }) as any as S.Schema; export type AttacksLayer3TopIndustryRequestContinentList = Array; export const AttacksLayer3TopIndustryRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopIndustryRequestDateEndList = Array; export const AttacksLayer3TopIndustryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopIndustryRequestDateRangeList = Array; export const AttacksLayer3TopIndustryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopIndustryRequestDateStartList = Array; export const AttacksLayer3TopIndustryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopIndustryRequestFormat = "JSON" | "CSV"; export const AttacksLayer3TopIndustryRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3TopIndustryRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer3TopIndustryRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3TopIndustryRequestIpVersionList = Array< AttacksLayer3TopIndustryRequestIpVersion | (string & {}) >; export const AttacksLayer3TopIndustryRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3TopIndustryRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3TopIndustryRequestLocationList = Array; export const AttacksLayer3TopIndustryRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopIndustryRequestNameList = Array; export const AttacksLayer3TopIndustryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopIndustryRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3TopIndustryRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3TopIndustryRequestProtocolList = Array< AttacksLayer3TopIndustryRequestProtocol | (string & {}) >; export const AttacksLayer3TopIndustryRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3TopIndustryRequestProtocol, ) as any as S.Schema; export interface IndustryAttackLayer3TopRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3TopIndustryRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3TopIndustryRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3TopIndustryRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3TopIndustryRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer3TopIndustryRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3TopIndustryRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3TopIndustryRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3TopIndustryRequestNameList; /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3TopIndustryRequestProtocolList; } export const IndustryAttackLayer3TopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( AttacksLayer3TopIndustryRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer3TopIndustryRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3TopIndustryRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer3TopIndustryRequestDateStartList.pipe(T.Query()), ), format: S.optional(AttacksLayer3TopIndustryRequestFormat.pipe(T.Query())), ipVersion: S.optional( AttacksLayer3TopIndustryRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer3TopIndustryRequestLocationList.pipe(T.Query()), ), name: S.optional(AttacksLayer3TopIndustryRequestNameList.pipe(T.Query())), protocol: S.optional( AttacksLayer3TopIndustryRequestProtocolList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/top/industry", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IndustryAttackLayer3TopRequest", }) as any as S.Schema; export type AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3TopIndustryResponseMetaConfidenceInfo { annotations: AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3TopIndustryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3TopIndustryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3TopIndustryResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3TopIndustryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3TopIndustryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3TopIndustryResponseMetaDateRangeList = Array; export const AttacksLayer3TopIndustryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3TopIndustryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3TopIndustryResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TopIndustryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3TopIndustryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3TopIndustryResponseMetaUnitsList = Array; export const AttacksLayer3TopIndustryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3TopIndustryResponseMeta { confidenceInfo: AttacksLayer3TopIndustryResponseMetaConfidenceInfo; dateRange: AttacksLayer3TopIndustryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3TopIndustryResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3TopIndustryResponseMetaUnitsList; } export const AttacksLayer3TopIndustryResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: AttacksLayer3TopIndustryResponseMetaConfidenceInfo, dateRange: AttacksLayer3TopIndustryResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3TopIndustryResponseMetaNormalization, units: AttacksLayer3TopIndustryResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3TopIndustryResponseMeta", }) as any as S.Schema; export type AttacksLayer3TopIndustryResponseTop0Item = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3TopIndustryResponseTop0Item = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3TopIndustryResponseTop0List = Array; export const AttacksLayer3TopIndustryResponseTop0List = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IndustryAttackLayer3TopResponse { /** Metadata for the results. */ meta: AttacksLayer3TopIndustryResponseMeta; top_0: AttacksLayer3TopIndustryResponseTop0List; } export const IndustryAttackLayer3TopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3TopIndustryResponseMeta, top_0: AttacksLayer3TopIndustryResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IndustryAttackLayer3TopResponse", }) as any as S.Schema; export type AttacksLayer7SummaryIndustryRequestAsnList = Array; export const AttacksLayer7SummaryIndustryRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryIndustryRequestContinentList = Array; export const AttacksLayer7SummaryIndustryRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryIndustryRequestDateEndList = Array; export const AttacksLayer7SummaryIndustryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryIndustryRequestDateRangeList = Array; export const AttacksLayer7SummaryIndustryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryIndustryRequestDateStartList = Array; export const AttacksLayer7SummaryIndustryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryIndustryRequestFormat = "JSON" | "CSV"; export const AttacksLayer7SummaryIndustryRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryIndustryRequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7SummaryIndustryRequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryIndustryRequestHttpMethodList = Array< AttacksLayer7SummaryIndustryRequestHttpMethod | (string & {}) >; export const AttacksLayer7SummaryIndustryRequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryIndustryRequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7SummaryIndustryRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7SummaryIndustryRequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryIndustryRequestHttpVersionList = Array< AttacksLayer7SummaryIndustryRequestHttpVersion | (string & {}) >; export const AttacksLayer7SummaryIndustryRequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryIndustryRequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7SummaryIndustryRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer7SummaryIndustryRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryIndustryRequestIpVersionList = Array< AttacksLayer7SummaryIndustryRequestIpVersion | (string & {}) >; export const AttacksLayer7SummaryIndustryRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryIndustryRequestIpVersion, ) as any as S.Schema; export type AttacksLayer7SummaryIndustryRequestLocationList = Array; export const AttacksLayer7SummaryIndustryRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryIndustryRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7SummaryIndustryRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryIndustryRequestMitigationProductList = Array< AttacksLayer7SummaryIndustryRequestMitigationProduct | (string & {}) >; export const AttacksLayer7SummaryIndustryRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryIndustryRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7SummaryIndustryRequestNameList = Array; export const AttacksLayer7SummaryIndustryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface IndustryAttackLayer7SummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7SummaryIndustryRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7SummaryIndustryRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7SummaryIndustryRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7SummaryIndustryRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7SummaryIndustryRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7SummaryIndustryRequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7SummaryIndustryRequestHttpMethodList; /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7SummaryIndustryRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7SummaryIndustryRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7SummaryIndustryRequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7SummaryIndustryRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7SummaryIndustryRequestNameList; } export const IndustryAttackLayer7SummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(AttacksLayer7SummaryIndustryRequestAsnList.pipe(T.Query())), continent: S.optional( AttacksLayer7SummaryIndustryRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer7SummaryIndustryRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7SummaryIndustryRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer7SummaryIndustryRequestDateStartList.pipe(T.Query()), ), format: S.optional( AttacksLayer7SummaryIndustryRequestFormat.pipe(T.Query()), ), httpMethod: S.optional( AttacksLayer7SummaryIndustryRequestHttpMethodList.pipe(T.Query()), ), httpVersion: S.optional( AttacksLayer7SummaryIndustryRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer7SummaryIndustryRequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer7SummaryIndustryRequestLocationList.pipe(T.Query()), ), mitigationProduct: S.optional( AttacksLayer7SummaryIndustryRequestMitigationProductList.pipe(T.Query()), ), name: S.optional( AttacksLayer7SummaryIndustryRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/summary/industry", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IndustryAttackLayer7SummaryRequest", }) as any as S.Schema; export type AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7SummaryIndustryResponseMetaConfidenceInfo { annotations: AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7SummaryIndustryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7SummaryIndustryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7SummaryIndustryResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7SummaryIndustryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7SummaryIndustryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7SummaryIndustryResponseMetaDateRangeList = Array; export const AttacksLayer7SummaryIndustryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7SummaryIndustryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7SummaryIndustryResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryIndustryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7SummaryIndustryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7SummaryIndustryResponseMetaUnitsList = Array; export const AttacksLayer7SummaryIndustryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7SummaryIndustryResponseMeta { confidenceInfo: AttacksLayer7SummaryIndustryResponseMetaConfidenceInfo; dateRange: AttacksLayer7SummaryIndustryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7SummaryIndustryResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7SummaryIndustryResponseMetaUnitsList; } export const AttacksLayer7SummaryIndustryResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: AttacksLayer7SummaryIndustryResponseMetaConfidenceInfo, dateRange: AttacksLayer7SummaryIndustryResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7SummaryIndustryResponseMetaNormalization, units: AttacksLayer7SummaryIndustryResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7SummaryIndustryResponseMeta", }) as any as S.Schema; export type AttacksLayer7SummaryIndustryResponseSummary0Map = { [key: string]: string | undefined; }; export const AttacksLayer7SummaryIndustryResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IndustryAttackLayer7SummaryResponse { /** Metadata for the results. */ meta: AttacksLayer7SummaryIndustryResponseMeta; summary_0: AttacksLayer7SummaryIndustryResponseSummary0Map; } export const IndustryAttackLayer7SummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer7SummaryIndustryResponseMeta, summary_0: AttacksLayer7SummaryIndustryResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IndustryAttackLayer7SummaryResponse", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIndustryRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer7TimeseriesGroupsIndustryRequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIndustryRequestAsnList = Array; export const AttacksLayer7TimeseriesGroupsIndustryRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIndustryRequestContinentList = Array; export const AttacksLayer7TimeseriesGroupsIndustryRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIndustryRequestDateEndList = Array; export const AttacksLayer7TimeseriesGroupsIndustryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIndustryRequestDateRangeList = Array; export const AttacksLayer7TimeseriesGroupsIndustryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIndustryRequestDateStartList = Array; export const AttacksLayer7TimeseriesGroupsIndustryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIndustryRequestFormat = "JSON" | "CSV"; export const AttacksLayer7TimeseriesGroupsIndustryRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIndustryRequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7TimeseriesGroupsIndustryRequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIndustryRequestHttpMethodList = Array< AttacksLayer7TimeseriesGroupsIndustryRequestHttpMethod | (string & {}) >; export const AttacksLayer7TimeseriesGroupsIndustryRequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsIndustryRequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIndustryRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7TimeseriesGroupsIndustryRequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIndustryRequestHttpVersionList = Array< AttacksLayer7TimeseriesGroupsIndustryRequestHttpVersion | (string & {}) >; export const AttacksLayer7TimeseriesGroupsIndustryRequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsIndustryRequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIndustryRequestIpVersion = | "IPv4" | "IPv6"; export const AttacksLayer7TimeseriesGroupsIndustryRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIndustryRequestIpVersionList = Array< AttacksLayer7TimeseriesGroupsIndustryRequestIpVersion | (string & {}) >; export const AttacksLayer7TimeseriesGroupsIndustryRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsIndustryRequestIpVersion, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIndustryRequestLocationList = Array; export const AttacksLayer7TimeseriesGroupsIndustryRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIndustryRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7TimeseriesGroupsIndustryRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIndustryRequestMitigationProductList = Array< | AttacksLayer7TimeseriesGroupsIndustryRequestMitigationProduct | (string & {}) >; export const AttacksLayer7TimeseriesGroupsIndustryRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsIndustryRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIndustryRequestNameList = Array; export const AttacksLayer7TimeseriesGroupsIndustryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIndustryRequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const AttacksLayer7TimeseriesGroupsIndustryRequestNormalization = /*@__PURE__*/ S.String; export interface IndustryAttackLayer7TimeseriesGroupRequest { /** 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/). */ aggInterval?: | AttacksLayer7TimeseriesGroupsIndustryRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7TimeseriesGroupsIndustryRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7TimeseriesGroupsIndustryRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7TimeseriesGroupsIndustryRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7TimeseriesGroupsIndustryRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7TimeseriesGroupsIndustryRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7TimeseriesGroupsIndustryRequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7TimeseriesGroupsIndustryRequestHttpMethodList; /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7TimeseriesGroupsIndustryRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7TimeseriesGroupsIndustryRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7TimeseriesGroupsIndustryRequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7TimeseriesGroupsIndustryRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7TimeseriesGroupsIndustryRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AttacksLayer7TimeseriesGroupsIndustryRequestNormalization | (string & {}); } export const IndustryAttackLayer7TimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AttacksLayer7TimeseriesGroupsIndustryRequestAggInterval.pipe(T.Query()), ), asn: S.optional( AttacksLayer7TimeseriesGroupsIndustryRequestAsnList.pipe(T.Query()), ), continent: S.optional( AttacksLayer7TimeseriesGroupsIndustryRequestContinentList.pipe( T.Query(), ), ), dateEnd: S.optional( AttacksLayer7TimeseriesGroupsIndustryRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7TimeseriesGroupsIndustryRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( AttacksLayer7TimeseriesGroupsIndustryRequestDateStartList.pipe( T.Query(), ), ), format: S.optional( AttacksLayer7TimeseriesGroupsIndustryRequestFormat.pipe(T.Query()), ), httpMethod: S.optional( AttacksLayer7TimeseriesGroupsIndustryRequestHttpMethodList.pipe( T.Query(), ), ), httpVersion: S.optional( AttacksLayer7TimeseriesGroupsIndustryRequestHttpVersionList.pipe( T.Query(), ), ), ipVersion: S.optional( AttacksLayer7TimeseriesGroupsIndustryRequestIpVersionList.pipe( T.Query(), ), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer7TimeseriesGroupsIndustryRequestLocationList.pipe( T.Query(), ), ), mitigationProduct: S.optional( AttacksLayer7TimeseriesGroupsIndustryRequestMitigationProductList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer7TimeseriesGroupsIndustryRequestNameList.pipe(T.Query()), ), normalization: S.optional( AttacksLayer7TimeseriesGroupsIndustryRequestNormalization.pipe( T.Query(), ), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/timeseries_groups/industry", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IndustryAttackLayer7TimeseriesGroupRequest", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIndustryResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer7TimeseriesGroupsIndustryResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfo { annotations: AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIndustryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7TimeseriesGroupsIndustryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7TimeseriesGroupsIndustryResponseMetaDateRangeList = Array; export const AttacksLayer7TimeseriesGroupsIndustryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIndustryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7TimeseriesGroupsIndustryResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIndustryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7TimeseriesGroupsIndustryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7TimeseriesGroupsIndustryResponseMetaUnitsList = Array; export const AttacksLayer7TimeseriesGroupsIndustryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsIndustryResponseMeta { /** 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/). */ aggInterval: AttacksLayer7TimeseriesGroupsIndustryResponseMetaAggInterval; confidenceInfo: AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfo; dateRange: AttacksLayer7TimeseriesGroupsIndustryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7TimeseriesGroupsIndustryResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7TimeseriesGroupsIndustryResponseMetaUnitsList; } export const AttacksLayer7TimeseriesGroupsIndustryResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer7TimeseriesGroupsIndustryResponseMetaAggInterval, confidenceInfo: AttacksLayer7TimeseriesGroupsIndustryResponseMetaConfidenceInfo, dateRange: AttacksLayer7TimeseriesGroupsIndustryResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7TimeseriesGroupsIndustryResponseMetaNormalization, units: AttacksLayer7TimeseriesGroupsIndustryResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsIndustryResponseMeta", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIndustryResponseSerie0TimestampsList = Array; export const AttacksLayer7TimeseriesGroupsIndustryResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsIndustryResponseSerie0 { timestamps: AttacksLayer7TimeseriesGroupsIndustryResponseSerie0TimestampsList; } export const AttacksLayer7TimeseriesGroupsIndustryResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: AttacksLayer7TimeseriesGroupsIndustryResponseSerie0TimestampsList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsIndustryResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IndustryAttackLayer7TimeseriesGroupResponse { /** Metadata for the results. */ meta: AttacksLayer7TimeseriesGroupsIndustryResponseMeta; serie_0: AttacksLayer7TimeseriesGroupsIndustryResponseSerie0; } export const IndustryAttackLayer7TimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer7TimeseriesGroupsIndustryResponseMeta, serie_0: AttacksLayer7TimeseriesGroupsIndustryResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IndustryAttackLayer7TimeseriesGroupResponse", }) as any as S.Schema; export type AttacksLayer7TopIndustryRequestAsnList = Array; export const AttacksLayer7TopIndustryRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopIndustryRequestContinentList = Array; export const AttacksLayer7TopIndustryRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopIndustryRequestDateEndList = Array; export const AttacksLayer7TopIndustryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopIndustryRequestDateRangeList = Array; export const AttacksLayer7TopIndustryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopIndustryRequestDateStartList = Array; export const AttacksLayer7TopIndustryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopIndustryRequestFormat = "JSON" | "CSV"; export const AttacksLayer7TopIndustryRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7TopIndustryRequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7TopIndustryRequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7TopIndustryRequestHttpMethodList = Array< AttacksLayer7TopIndustryRequestHttpMethod | (string & {}) >; export const AttacksLayer7TopIndustryRequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7TopIndustryRequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7TopIndustryRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7TopIndustryRequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TopIndustryRequestHttpVersionList = Array< AttacksLayer7TopIndustryRequestHttpVersion | (string & {}) >; export const AttacksLayer7TopIndustryRequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TopIndustryRequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7TopIndustryRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer7TopIndustryRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TopIndustryRequestIpVersionList = Array< AttacksLayer7TopIndustryRequestIpVersion | (string & {}) >; export const AttacksLayer7TopIndustryRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TopIndustryRequestIpVersion, ) as any as S.Schema; export type AttacksLayer7TopIndustryRequestLocationList = Array; export const AttacksLayer7TopIndustryRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopIndustryRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7TopIndustryRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7TopIndustryRequestMitigationProductList = Array< AttacksLayer7TopIndustryRequestMitigationProduct | (string & {}) >; export const AttacksLayer7TopIndustryRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7TopIndustryRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7TopIndustryRequestNameList = Array; export const AttacksLayer7TopIndustryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface IndustryAttackLayer7TopRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7TopIndustryRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7TopIndustryRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7TopIndustryRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7TopIndustryRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7TopIndustryRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7TopIndustryRequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7TopIndustryRequestHttpMethodList; /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7TopIndustryRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7TopIndustryRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7TopIndustryRequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7TopIndustryRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7TopIndustryRequestNameList; } export const IndustryAttackLayer7TopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(AttacksLayer7TopIndustryRequestAsnList.pipe(T.Query())), continent: S.optional( AttacksLayer7TopIndustryRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer7TopIndustryRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7TopIndustryRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer7TopIndustryRequestDateStartList.pipe(T.Query()), ), format: S.optional(AttacksLayer7TopIndustryRequestFormat.pipe(T.Query())), httpMethod: S.optional( AttacksLayer7TopIndustryRequestHttpMethodList.pipe(T.Query()), ), httpVersion: S.optional( AttacksLayer7TopIndustryRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer7TopIndustryRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer7TopIndustryRequestLocationList.pipe(T.Query()), ), mitigationProduct: S.optional( AttacksLayer7TopIndustryRequestMitigationProductList.pipe(T.Query()), ), name: S.optional(AttacksLayer7TopIndustryRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/top/industry", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IndustryAttackLayer7TopRequest", }) as any as S.Schema; export type AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7TopIndustryResponseMetaConfidenceInfo { annotations: AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7TopIndustryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7TopIndustryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7TopIndustryResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7TopIndustryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7TopIndustryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7TopIndustryResponseMetaDateRangeList = Array; export const AttacksLayer7TopIndustryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7TopIndustryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7TopIndustryResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7TopIndustryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7TopIndustryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7TopIndustryResponseMetaUnitsList = Array; export const AttacksLayer7TopIndustryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7TopIndustryResponseMeta { confidenceInfo: AttacksLayer7TopIndustryResponseMetaConfidenceInfo; dateRange: AttacksLayer7TopIndustryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7TopIndustryResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7TopIndustryResponseMetaUnitsList; } export const AttacksLayer7TopIndustryResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: AttacksLayer7TopIndustryResponseMetaConfidenceInfo, dateRange: AttacksLayer7TopIndustryResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7TopIndustryResponseMetaNormalization, units: AttacksLayer7TopIndustryResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7TopIndustryResponseMeta", }) as any as S.Schema; export type AttacksLayer7TopIndustryResponseTop0Item = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7TopIndustryResponseTop0Item = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7TopIndustryResponseTop0List = Array; export const AttacksLayer7TopIndustryResponseTop0List = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IndustryAttackLayer7TopResponse { /** Metadata for the results. */ meta: AttacksLayer7TopIndustryResponseMeta; top_0: AttacksLayer7TopIndustryResponseTop0List; } export const IndustryAttackLayer7TopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer7TopIndustryResponseMeta, top_0: AttacksLayer7TopIndustryResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IndustryAttackLayer7TopResponse", }) as any as S.Schema; export type EntitiesAsnsIpRequestFormat = "JSON" | "CSV"; export const EntitiesAsnsIpRequestFormat = /*@__PURE__*/ S.String; export interface IpEntityAsnRequest { /** IP address. */ ip: string; /** Format in which results will be returned. */ format?: EntitiesAsnsIpRequestFormat | (string & {}); } export const IpEntityAsnRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ ip: S.String.pipe(T.Query()), format: S.optional(EntitiesAsnsIpRequestFormat.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/entities/asns/ip", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpEntityAsnRequest", }) as any as S.Schema; export type EntitiesAsnsIpResponseAsnEstimatedUsersLocationsItem = EntitiesAsnsGetResponseAsnEstimatedUsersLocationsItem; export const EntitiesAsnsIpResponseAsnEstimatedUsersLocationsItem = EntitiesAsnsGetResponseAsnEstimatedUsersLocationsItem; export type EntitiesAsnsIpResponseAsnEstimatedUsersLocationsList = Array; export const EntitiesAsnsIpResponseAsnEstimatedUsersLocationsList = /*@__PURE__*/ S.Array( EntitiesAsnsGetResponseAsnEstimatedUsersLocationsItem, ) as any as S.Schema; export interface EntitiesAsnsIpResponseAsnEstimatedUsers { locations: EntitiesAsnsIpResponseAsnEstimatedUsersLocationsList; /** Total estimated users. */ estimatedUsers?: number | null; } export const EntitiesAsnsIpResponseAsnEstimatedUsers = /*@__PURE__*/ S.suspend( () => S.Struct({ locations: EntitiesAsnsIpResponseAsnEstimatedUsersLocationsList, estimatedUsers: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "EntitiesAsnsIpResponseAsnEstimatedUsers", }) as any as S.Schema; export type EntitiesAsnsIpResponseAsnRelatedItem = EntitiesAsnsGetResponseAsnRelatedItem; export const EntitiesAsnsIpResponseAsnRelatedItem = EntitiesAsnsGetResponseAsnRelatedItem; export type EntitiesAsnsIpResponseAsnRelatedList = Array; export const EntitiesAsnsIpResponseAsnRelatedList = /*@__PURE__*/ S.Array( EntitiesAsnsGetResponseAsnRelatedItem, ) as any as S.Schema; export interface EntitiesAsnsIpResponseAsn { asn: number; country: string; countryName: string; estimatedUsers: EntitiesAsnsIpResponseAsnEstimatedUsers; name: string; orgName: string; related: EntitiesAsnsIpResponseAsnRelatedList; /** Regional Internet Registry. */ source: string; website: string; aka?: string | null; } export const EntitiesAsnsIpResponseAsn = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.Number, country: S.String, countryName: S.String, estimatedUsers: EntitiesAsnsIpResponseAsnEstimatedUsers, name: S.String, orgName: S.String, related: EntitiesAsnsIpResponseAsnRelatedList, source: S.String, website: S.String, aka: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "EntitiesAsnsIpResponseAsn", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IpEntityAsnResponse { asn: EntitiesAsnsIpResponseAsn; } export const IpEntityAsnResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: EntitiesAsnsIpResponseAsn, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpEntityAsnResponse", }) as any as S.Schema; export type As112SummaryIpVersionRequestContinentList = Array; export const As112SummaryIpVersionRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryIpVersionRequestDateEndList = Array; export const As112SummaryIpVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryIpVersionRequestDateRangeList = Array; export const As112SummaryIpVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryIpVersionRequestDateStartList = Array; export const As112SummaryIpVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryIpVersionRequestFormat = "JSON" | "CSV"; export const As112SummaryIpVersionRequestFormat = /*@__PURE__*/ S.String; export type As112SummaryIpVersionRequestLocationList = Array; export const As112SummaryIpVersionRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryIpVersionRequestNameList = Array; export const As112SummaryIpVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryIpVersionRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const As112SummaryIpVersionRequestProtocol = /*@__PURE__*/ S.String; export type As112SummaryIpVersionRequestProtocolList = Array< As112SummaryIpVersionRequestProtocol | (string & {}) >; export const As112SummaryIpVersionRequestProtocolList = /*@__PURE__*/ S.Array( As112SummaryIpVersionRequestProtocol, ) as any as S.Schema; export type As112SummaryIpVersionRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const As112SummaryIpVersionRequestQueryType = /*@__PURE__*/ S.String; export type As112SummaryIpVersionRequestQueryTypeList = Array< As112SummaryIpVersionRequestQueryType | (string & {}) >; export const As112SummaryIpVersionRequestQueryTypeList = /*@__PURE__*/ S.Array( As112SummaryIpVersionRequestQueryType, ) as any as S.Schema; export type As112SummaryIpVersionRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const As112SummaryIpVersionRequestResponseCode = /*@__PURE__*/ S.String; export type As112SummaryIpVersionRequestResponseCodeList = Array< As112SummaryIpVersionRequestResponseCode | (string & {}) >; export const As112SummaryIpVersionRequestResponseCodeList = /*@__PURE__*/ S.Array( As112SummaryIpVersionRequestResponseCode, ) as any as S.Schema; export interface IpVersionAs112SummaryRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112SummaryIpVersionRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112SummaryIpVersionRequestDateEndList; /** 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). */ dateRange?: As112SummaryIpVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: As112SummaryIpVersionRequestDateStartList; /** Format in which results will be returned. */ format?: As112SummaryIpVersionRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112SummaryIpVersionRequestLocationList; /** Array of names used to label the series in the response. */ name?: As112SummaryIpVersionRequestNameList; /** Filters results by DNS transport protocol. */ protocol?: As112SummaryIpVersionRequestProtocolList; /** Filters results by DNS query type. */ queryType?: As112SummaryIpVersionRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: As112SummaryIpVersionRequestResponseCodeList; } export const IpVersionAs112SummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( As112SummaryIpVersionRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( As112SummaryIpVersionRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( As112SummaryIpVersionRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( As112SummaryIpVersionRequestDateStartList.pipe(T.Query()), ), format: S.optional(As112SummaryIpVersionRequestFormat.pipe(T.Query())), location: S.optional( As112SummaryIpVersionRequestLocationList.pipe(T.Query()), ), name: S.optional(As112SummaryIpVersionRequestNameList.pipe(T.Query())), protocol: S.optional( As112SummaryIpVersionRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( As112SummaryIpVersionRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( As112SummaryIpVersionRequestResponseCodeList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/summary/ip_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionAs112SummaryRequest", }) as any as S.Schema; export type As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112SummaryIpVersionResponseMetaConfidenceInfo { annotations: As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112SummaryIpVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: As112SummaryIpVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112SummaryIpVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112SummaryIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112SummaryIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112SummaryIpVersionResponseMetaDateRangeList = Array; export const As112SummaryIpVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112SummaryIpVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112SummaryIpVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112SummaryIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112SummaryIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112SummaryIpVersionResponseMetaUnitsList = Array; export const As112SummaryIpVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112SummaryIpVersionResponseMeta { confidenceInfo: As112SummaryIpVersionResponseMetaConfidenceInfo; dateRange: As112SummaryIpVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112SummaryIpVersionResponseMetaNormalization; /** Measurement units for the results. */ units: As112SummaryIpVersionResponseMetaUnitsList; } export const As112SummaryIpVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: As112SummaryIpVersionResponseMetaConfidenceInfo, dateRange: As112SummaryIpVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112SummaryIpVersionResponseMetaNormalization, units: As112SummaryIpVersionResponseMetaUnitsList, }), ).annotate({ identifier: "As112SummaryIpVersionResponseMeta", }) as any as S.Schema; export interface As112SummaryIpVersionResponseSummary0 { /** A numeric string. */ iPv4: string; /** A numeric string. */ iPv6: string; } export const As112SummaryIpVersionResponseSummary0 = /*@__PURE__*/ S.suspend( () => S.Struct({ iPv4: S.String.pipe(T.Body("IPv4")), iPv6: S.String.pipe(T.Body("IPv6")), }), ).annotate({ identifier: "As112SummaryIpVersionResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IpVersionAs112SummaryResponse { /** Metadata for the results. */ meta: As112SummaryIpVersionResponseMeta; summary_0: As112SummaryIpVersionResponseSummary0; } export const IpVersionAs112SummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: As112SummaryIpVersionResponseMeta, summary_0: As112SummaryIpVersionResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionAs112SummaryResponse", }) as any as S.Schema; export type As112TimeseriesGroupsIpVersionRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const As112TimeseriesGroupsIpVersionRequestAggInterval = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsIpVersionRequestContinentList = Array; export const As112TimeseriesGroupsIpVersionRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsIpVersionRequestDateEndList = Array; export const As112TimeseriesGroupsIpVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsIpVersionRequestDateRangeList = Array; export const As112TimeseriesGroupsIpVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsIpVersionRequestDateStartList = Array; export const As112TimeseriesGroupsIpVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsIpVersionRequestFormat = "JSON" | "CSV"; export const As112TimeseriesGroupsIpVersionRequestFormat = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsIpVersionRequestLocationList = Array; export const As112TimeseriesGroupsIpVersionRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsIpVersionRequestNameList = Array; export const As112TimeseriesGroupsIpVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsIpVersionRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const As112TimeseriesGroupsIpVersionRequestProtocol = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsIpVersionRequestProtocolList = Array< As112TimeseriesGroupsIpVersionRequestProtocol | (string & {}) >; export const As112TimeseriesGroupsIpVersionRequestProtocolList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsIpVersionRequestProtocol, ) as any as S.Schema; export type As112TimeseriesGroupsIpVersionRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const As112TimeseriesGroupsIpVersionRequestQueryType = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsIpVersionRequestQueryTypeList = Array< As112TimeseriesGroupsIpVersionRequestQueryType | (string & {}) >; export const As112TimeseriesGroupsIpVersionRequestQueryTypeList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsIpVersionRequestQueryType, ) as any as S.Schema; export type As112TimeseriesGroupsIpVersionRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const As112TimeseriesGroupsIpVersionRequestResponseCode = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsIpVersionRequestResponseCodeList = Array< As112TimeseriesGroupsIpVersionRequestResponseCode | (string & {}) >; export const As112TimeseriesGroupsIpVersionRequestResponseCodeList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsIpVersionRequestResponseCode, ) as any as S.Schema; export interface IpVersionAs112TimeseriesGroupRequest { /** 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/). */ aggInterval?: | As112TimeseriesGroupsIpVersionRequestAggInterval | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112TimeseriesGroupsIpVersionRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112TimeseriesGroupsIpVersionRequestDateEndList; /** 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). */ dateRange?: As112TimeseriesGroupsIpVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: As112TimeseriesGroupsIpVersionRequestDateStartList; /** Format in which results will be returned. */ format?: As112TimeseriesGroupsIpVersionRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112TimeseriesGroupsIpVersionRequestLocationList; /** Array of names used to label the series in the response. */ name?: As112TimeseriesGroupsIpVersionRequestNameList; /** Filters results by DNS transport protocol. */ protocol?: As112TimeseriesGroupsIpVersionRequestProtocolList; /** Filters results by DNS query type. */ queryType?: As112TimeseriesGroupsIpVersionRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: As112TimeseriesGroupsIpVersionRequestResponseCodeList; } export const IpVersionAs112TimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( As112TimeseriesGroupsIpVersionRequestAggInterval.pipe(T.Query()), ), continent: S.optional( As112TimeseriesGroupsIpVersionRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( As112TimeseriesGroupsIpVersionRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( As112TimeseriesGroupsIpVersionRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( As112TimeseriesGroupsIpVersionRequestDateStartList.pipe(T.Query()), ), format: S.optional( As112TimeseriesGroupsIpVersionRequestFormat.pipe(T.Query()), ), location: S.optional( As112TimeseriesGroupsIpVersionRequestLocationList.pipe(T.Query()), ), name: S.optional( As112TimeseriesGroupsIpVersionRequestNameList.pipe(T.Query()), ), protocol: S.optional( As112TimeseriesGroupsIpVersionRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( As112TimeseriesGroupsIpVersionRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( As112TimeseriesGroupsIpVersionRequestResponseCodeList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/timeseries_groups/ip_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionAs112TimeseriesGroupRequest", }) as any as S.Schema; export type As112TimeseriesGroupsIpVersionResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const As112TimeseriesGroupsIpVersionResponseMetaAggInterval = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfo { annotations: As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112TimeseriesGroupsIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112TimeseriesGroupsIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112TimeseriesGroupsIpVersionResponseMetaDateRangeList = Array; export const As112TimeseriesGroupsIpVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112TimeseriesGroupsIpVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112TimeseriesGroupsIpVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112TimeseriesGroupsIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112TimeseriesGroupsIpVersionResponseMetaUnitsList = Array; export const As112TimeseriesGroupsIpVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112TimeseriesGroupsIpVersionResponseMeta { /** 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/). */ aggInterval: As112TimeseriesGroupsIpVersionResponseMetaAggInterval; confidenceInfo: As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfo; dateRange: As112TimeseriesGroupsIpVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112TimeseriesGroupsIpVersionResponseMetaNormalization; /** Measurement units for the results. */ units: As112TimeseriesGroupsIpVersionResponseMetaUnitsList; } export const As112TimeseriesGroupsIpVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: As112TimeseriesGroupsIpVersionResponseMetaAggInterval, confidenceInfo: As112TimeseriesGroupsIpVersionResponseMetaConfidenceInfo, dateRange: As112TimeseriesGroupsIpVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112TimeseriesGroupsIpVersionResponseMetaNormalization, units: As112TimeseriesGroupsIpVersionResponseMetaUnitsList, }), ).annotate({ identifier: "As112TimeseriesGroupsIpVersionResponseMeta", }) as any as S.Schema; export type As112TimeseriesGroupsIpVersionResponseSerie0IPv4List = Array; export const As112TimeseriesGroupsIpVersionResponseSerie0IPv4List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsIpVersionResponseSerie0IPv6List = Array; export const As112TimeseriesGroupsIpVersionResponseSerie0IPv6List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TimeseriesGroupsIpVersionResponseSerie0 { iPv4: As112TimeseriesGroupsIpVersionResponseSerie0IPv4List; iPv6: As112TimeseriesGroupsIpVersionResponseSerie0IPv6List; } export const As112TimeseriesGroupsIpVersionResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ iPv4: As112TimeseriesGroupsIpVersionResponseSerie0IPv4List.pipe( T.Body("IPv4"), ), iPv6: As112TimeseriesGroupsIpVersionResponseSerie0IPv6List.pipe( T.Body("IPv6"), ), }), ).annotate({ identifier: "As112TimeseriesGroupsIpVersionResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IpVersionAs112TimeseriesGroupResponse { /** Metadata for the results. */ meta: As112TimeseriesGroupsIpVersionResponseMeta; serie_0: As112TimeseriesGroupsIpVersionResponseSerie0; } export const IpVersionAs112TimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: As112TimeseriesGroupsIpVersionResponseMeta, serie_0: As112TimeseriesGroupsIpVersionResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionAs112TimeseriesGroupResponse", }) as any as S.Schema; export type As112TopIpVersionRequestIpVersion = "IPv4" | "IPv6"; export const As112TopIpVersionRequestIpVersion = /*@__PURE__*/ S.String; export type As112TopIpVersionRequestContinentList = Array; export const As112TopIpVersionRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopIpVersionRequestDateEndList = Array; export const As112TopIpVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopIpVersionRequestDateRangeList = Array; export const As112TopIpVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopIpVersionRequestDateStartList = Array; export const As112TopIpVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopIpVersionRequestFormat = "JSON" | "CSV"; export const As112TopIpVersionRequestFormat = /*@__PURE__*/ S.String; export type As112TopIpVersionRequestLocationList = Array; export const As112TopIpVersionRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopIpVersionRequestNameList = Array; export const As112TopIpVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface IpVersionAs112TopRequest { /** IP version. */ ipVersion: As112TopIpVersionRequestIpVersion | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112TopIpVersionRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112TopIpVersionRequestDateEndList; /** 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). */ dateRange?: As112TopIpVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: As112TopIpVersionRequestDateStartList; /** Format in which results will be returned. */ format?: As112TopIpVersionRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112TopIpVersionRequestLocationList; /** Array of names used to label the series in the response. */ name?: As112TopIpVersionRequestNameList; } export const IpVersionAs112TopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ ipVersion: As112TopIpVersionRequestIpVersion.pipe(T.Label("ip_version")), continent: S.optional( As112TopIpVersionRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(As112TopIpVersionRequestDateEndList.pipe(T.Query())), dateRange: S.optional( As112TopIpVersionRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( As112TopIpVersionRequestDateStartList.pipe(T.Query()), ), format: S.optional(As112TopIpVersionRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(As112TopIpVersionRequestLocationList.pipe(T.Query())), name: S.optional(As112TopIpVersionRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/top/locations/ip_version/{ip_version}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionAs112TopRequest", }) as any as S.Schema; export type As112TopIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112TopIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112TopIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112TopIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112TopIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112TopIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TopIpVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112TopIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112TopIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112TopIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112TopIpVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112TopIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112TopIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112TopIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112TopIpVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112TopIpVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const As112TopIpVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112TopIpVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112TopIpVersionResponseMetaConfidenceInfo { annotations: As112TopIpVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112TopIpVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: As112TopIpVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112TopIpVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112TopIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112TopIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112TopIpVersionResponseMetaDateRangeList = Array; export const As112TopIpVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112TopIpVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112TopIpVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112TopIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112TopIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112TopIpVersionResponseMetaUnitsList = Array; export const As112TopIpVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112TopIpVersionResponseMeta { confidenceInfo: As112TopIpVersionResponseMetaConfidenceInfo; dateRange: As112TopIpVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112TopIpVersionResponseMetaNormalization; /** Measurement units for the results. */ units: As112TopIpVersionResponseMetaUnitsList; } export const As112TopIpVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: As112TopIpVersionResponseMetaConfidenceInfo, dateRange: As112TopIpVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112TopIpVersionResponseMetaNormalization, units: As112TopIpVersionResponseMetaUnitsList, }), ).annotate({ identifier: "As112TopIpVersionResponseMeta", }) as any as S.Schema; export type As112TopIpVersionResponseTop0Item = As112TopDnssecResponseTop0Item; export const As112TopIpVersionResponseTop0Item = As112TopDnssecResponseTop0Item; export type As112TopIpVersionResponseTop0List = Array; export const As112TopIpVersionResponseTop0List = /*@__PURE__*/ S.Array( As112TopDnssecResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IpVersionAs112TopResponse { /** Metadata for the results. */ meta: As112TopIpVersionResponseMeta; top_0: As112TopIpVersionResponseTop0List; } export const IpVersionAs112TopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: As112TopIpVersionResponseMeta, top_0: As112TopIpVersionResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionAs112TopResponse", }) as any as S.Schema; export type AttacksLayer3SummaryIpVersionRequestContinentList = Array; export const AttacksLayer3SummaryIpVersionRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryIpVersionRequestDateEndList = Array; export const AttacksLayer3SummaryIpVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryIpVersionRequestDateRangeList = Array; export const AttacksLayer3SummaryIpVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryIpVersionRequestDateStartList = Array; export const AttacksLayer3SummaryIpVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryIpVersionRequestDirection = "ORIGIN" | "TARGET"; export const AttacksLayer3SummaryIpVersionRequestDirection = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryIpVersionRequestFormat = "JSON" | "CSV"; export const AttacksLayer3SummaryIpVersionRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryIpVersionRequestLocationList = Array; export const AttacksLayer3SummaryIpVersionRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryIpVersionRequestNameList = Array; export const AttacksLayer3SummaryIpVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryIpVersionRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3SummaryIpVersionRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryIpVersionRequestProtocolList = Array< AttacksLayer3SummaryIpVersionRequestProtocol | (string & {}) >; export const AttacksLayer3SummaryIpVersionRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryIpVersionRequestProtocol, ) as any as S.Schema; export interface IpVersionAttackLayer3SummaryRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3SummaryIpVersionRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3SummaryIpVersionRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3SummaryIpVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3SummaryIpVersionRequestDateStartList; /** Specifies whether the `location` filter applies to the source or target location. */ direction?: AttacksLayer3SummaryIpVersionRequestDirection | (string & {}); /** Format in which results will be returned. */ format?: AttacksLayer3SummaryIpVersionRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3SummaryIpVersionRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3SummaryIpVersionRequestNameList; /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3SummaryIpVersionRequestProtocolList; } export const IpVersionAttackLayer3SummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( AttacksLayer3SummaryIpVersionRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer3SummaryIpVersionRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3SummaryIpVersionRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer3SummaryIpVersionRequestDateStartList.pipe(T.Query()), ), direction: S.optional( AttacksLayer3SummaryIpVersionRequestDirection.pipe(T.Query()), ), format: S.optional( AttacksLayer3SummaryIpVersionRequestFormat.pipe(T.Query()), ), location: S.optional( AttacksLayer3SummaryIpVersionRequestLocationList.pipe(T.Query()), ), name: S.optional( AttacksLayer3SummaryIpVersionRequestNameList.pipe(T.Query()), ), protocol: S.optional( AttacksLayer3SummaryIpVersionRequestProtocolList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/summary/ip_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionAttackLayer3SummaryRequest", }) as any as S.Schema; export type AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfo { annotations: AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3SummaryIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3SummaryIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3SummaryIpVersionResponseMetaDateRangeList = Array; export const AttacksLayer3SummaryIpVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3SummaryIpVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3SummaryIpVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3SummaryIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3SummaryIpVersionResponseMetaUnitsList = Array; export const AttacksLayer3SummaryIpVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3SummaryIpVersionResponseMeta { confidenceInfo: AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfo; dateRange: AttacksLayer3SummaryIpVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3SummaryIpVersionResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3SummaryIpVersionResponseMetaUnitsList; } export const AttacksLayer3SummaryIpVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AttacksLayer3SummaryIpVersionResponseMetaConfidenceInfo, dateRange: AttacksLayer3SummaryIpVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3SummaryIpVersionResponseMetaNormalization, units: AttacksLayer3SummaryIpVersionResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3SummaryIpVersionResponseMeta", }) as any as S.Schema; export type AttacksLayer3SummaryIpVersionResponseSummary0 = As112SummaryIpVersionResponseSummary0; export const AttacksLayer3SummaryIpVersionResponseSummary0 = As112SummaryIpVersionResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IpVersionAttackLayer3SummaryResponse { /** Metadata for the results. */ meta: AttacksLayer3SummaryIpVersionResponseMeta; summary_0: As112SummaryIpVersionResponseSummary0; } export const IpVersionAttackLayer3SummaryResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: AttacksLayer3SummaryIpVersionResponseMeta, summary_0: As112SummaryIpVersionResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionAttackLayer3SummaryResponse", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIpVersionRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer3TimeseriesGroupsIpVersionRequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIpVersionRequestContinentList = Array; export const AttacksLayer3TimeseriesGroupsIpVersionRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIpVersionRequestDateEndList = Array; export const AttacksLayer3TimeseriesGroupsIpVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIpVersionRequestDateRangeList = Array; export const AttacksLayer3TimeseriesGroupsIpVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIpVersionRequestDateStartList = Array; export const AttacksLayer3TimeseriesGroupsIpVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIpVersionRequestDirection = | "ORIGIN" | "TARGET"; export const AttacksLayer3TimeseriesGroupsIpVersionRequestDirection = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIpVersionRequestFormat = | "JSON" | "CSV"; export const AttacksLayer3TimeseriesGroupsIpVersionRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIpVersionRequestLocationList = Array; export const AttacksLayer3TimeseriesGroupsIpVersionRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIpVersionRequestNameList = Array; export const AttacksLayer3TimeseriesGroupsIpVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIpVersionRequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const AttacksLayer3TimeseriesGroupsIpVersionRequestNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIpVersionRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3TimeseriesGroupsIpVersionRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIpVersionRequestProtocolList = Array< AttacksLayer3TimeseriesGroupsIpVersionRequestProtocol | (string & {}) >; export const AttacksLayer3TimeseriesGroupsIpVersionRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsIpVersionRequestProtocol, ) as any as S.Schema; export interface IpVersionAttackLayer3TimeseriesGroupRequest { /** 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/). */ aggInterval?: | AttacksLayer3TimeseriesGroupsIpVersionRequestAggInterval | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3TimeseriesGroupsIpVersionRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3TimeseriesGroupsIpVersionRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3TimeseriesGroupsIpVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3TimeseriesGroupsIpVersionRequestDateStartList; /** Specifies whether the `location` filter applies to the source or target location. */ direction?: | AttacksLayer3TimeseriesGroupsIpVersionRequestDirection | (string & {}); /** Format in which results will be returned. */ format?: AttacksLayer3TimeseriesGroupsIpVersionRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3TimeseriesGroupsIpVersionRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3TimeseriesGroupsIpVersionRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AttacksLayer3TimeseriesGroupsIpVersionRequestNormalization | (string & {}); /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3TimeseriesGroupsIpVersionRequestProtocolList; } export const IpVersionAttackLayer3TimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AttacksLayer3TimeseriesGroupsIpVersionRequestAggInterval.pipe( T.Query(), ), ), continent: S.optional( AttacksLayer3TimeseriesGroupsIpVersionRequestContinentList.pipe( T.Query(), ), ), dateEnd: S.optional( AttacksLayer3TimeseriesGroupsIpVersionRequestDateEndList.pipe( T.Query(), ), ), dateRange: S.optional( AttacksLayer3TimeseriesGroupsIpVersionRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( AttacksLayer3TimeseriesGroupsIpVersionRequestDateStartList.pipe( T.Query(), ), ), direction: S.optional( AttacksLayer3TimeseriesGroupsIpVersionRequestDirection.pipe(T.Query()), ), format: S.optional( AttacksLayer3TimeseriesGroupsIpVersionRequestFormat.pipe(T.Query()), ), location: S.optional( AttacksLayer3TimeseriesGroupsIpVersionRequestLocationList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer3TimeseriesGroupsIpVersionRequestNameList.pipe(T.Query()), ), normalization: S.optional( AttacksLayer3TimeseriesGroupsIpVersionRequestNormalization.pipe( T.Query(), ), ), protocol: S.optional( AttacksLayer3TimeseriesGroupsIpVersionRequestProtocolList.pipe( T.Query(), ), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/timeseries_groups/ip_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionAttackLayer3TimeseriesGroupRequest", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIpVersionResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer3TimeseriesGroupsIpVersionResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfo { annotations: AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3TimeseriesGroupsIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3TimeseriesGroupsIpVersionResponseMetaDateRangeList = Array; export const AttacksLayer3TimeseriesGroupsIpVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIpVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3TimeseriesGroupsIpVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3TimeseriesGroupsIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3TimeseriesGroupsIpVersionResponseMetaUnitsList = Array; export const AttacksLayer3TimeseriesGroupsIpVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsIpVersionResponseMeta { /** 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/). */ aggInterval: AttacksLayer3TimeseriesGroupsIpVersionResponseMetaAggInterval; confidenceInfo: AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfo; dateRange: AttacksLayer3TimeseriesGroupsIpVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3TimeseriesGroupsIpVersionResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3TimeseriesGroupsIpVersionResponseMetaUnitsList; } export const AttacksLayer3TimeseriesGroupsIpVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer3TimeseriesGroupsIpVersionResponseMetaAggInterval, confidenceInfo: AttacksLayer3TimeseriesGroupsIpVersionResponseMetaConfidenceInfo, dateRange: AttacksLayer3TimeseriesGroupsIpVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3TimeseriesGroupsIpVersionResponseMetaNormalization, units: AttacksLayer3TimeseriesGroupsIpVersionResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsIpVersionResponseMeta", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIpVersionResponseSerie0IPv4List = Array; export const AttacksLayer3TimeseriesGroupsIpVersionResponseSerie0IPv4List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIpVersionResponseSerie0IPv6List = Array; export const AttacksLayer3TimeseriesGroupsIpVersionResponseSerie0IPv6List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsIpVersionResponseSerie0TimestampsList = Array; export const AttacksLayer3TimeseriesGroupsIpVersionResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsIpVersionResponseSerie0 { iPv4: AttacksLayer3TimeseriesGroupsIpVersionResponseSerie0IPv4List; iPv6: AttacksLayer3TimeseriesGroupsIpVersionResponseSerie0IPv6List; timestamps: AttacksLayer3TimeseriesGroupsIpVersionResponseSerie0TimestampsList; } export const AttacksLayer3TimeseriesGroupsIpVersionResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ iPv4: AttacksLayer3TimeseriesGroupsIpVersionResponseSerie0IPv4List.pipe( T.Body("IPv4"), ), iPv6: AttacksLayer3TimeseriesGroupsIpVersionResponseSerie0IPv6List.pipe( T.Body("IPv6"), ), timestamps: AttacksLayer3TimeseriesGroupsIpVersionResponseSerie0TimestampsList, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsIpVersionResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IpVersionAttackLayer3TimeseriesGroupResponse { /** Metadata for the results. */ meta: AttacksLayer3TimeseriesGroupsIpVersionResponseMeta; serie_0: AttacksLayer3TimeseriesGroupsIpVersionResponseSerie0; } export const IpVersionAttackLayer3TimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3TimeseriesGroupsIpVersionResponseMeta, serie_0: AttacksLayer3TimeseriesGroupsIpVersionResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionAttackLayer3TimeseriesGroupResponse", }) as any as S.Schema; export type AttacksLayer7SummaryIpVersionRequestAsnList = Array; export const AttacksLayer7SummaryIpVersionRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryIpVersionRequestContinentList = Array; export const AttacksLayer7SummaryIpVersionRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryIpVersionRequestDateEndList = Array; export const AttacksLayer7SummaryIpVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryIpVersionRequestDateRangeList = Array; export const AttacksLayer7SummaryIpVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryIpVersionRequestDateStartList = Array; export const AttacksLayer7SummaryIpVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryIpVersionRequestFormat = "JSON" | "CSV"; export const AttacksLayer7SummaryIpVersionRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryIpVersionRequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7SummaryIpVersionRequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryIpVersionRequestHttpMethodList = Array< AttacksLayer7SummaryIpVersionRequestHttpMethod | (string & {}) >; export const AttacksLayer7SummaryIpVersionRequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryIpVersionRequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7SummaryIpVersionRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7SummaryIpVersionRequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryIpVersionRequestHttpVersionList = Array< AttacksLayer7SummaryIpVersionRequestHttpVersion | (string & {}) >; export const AttacksLayer7SummaryIpVersionRequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryIpVersionRequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7SummaryIpVersionRequestLocationList = Array; export const AttacksLayer7SummaryIpVersionRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryIpVersionRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7SummaryIpVersionRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryIpVersionRequestMitigationProductList = Array< AttacksLayer7SummaryIpVersionRequestMitigationProduct | (string & {}) >; export const AttacksLayer7SummaryIpVersionRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryIpVersionRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7SummaryIpVersionRequestNameList = Array; export const AttacksLayer7SummaryIpVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface IpVersionAttackLayer7SummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7SummaryIpVersionRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7SummaryIpVersionRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7SummaryIpVersionRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7SummaryIpVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7SummaryIpVersionRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7SummaryIpVersionRequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7SummaryIpVersionRequestHttpMethodList; /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7SummaryIpVersionRequestHttpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7SummaryIpVersionRequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7SummaryIpVersionRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7SummaryIpVersionRequestNameList; } export const IpVersionAttackLayer7SummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional( AttacksLayer7SummaryIpVersionRequestAsnList.pipe(T.Query()), ), continent: S.optional( AttacksLayer7SummaryIpVersionRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer7SummaryIpVersionRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7SummaryIpVersionRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer7SummaryIpVersionRequestDateStartList.pipe(T.Query()), ), format: S.optional( AttacksLayer7SummaryIpVersionRequestFormat.pipe(T.Query()), ), httpMethod: S.optional( AttacksLayer7SummaryIpVersionRequestHttpMethodList.pipe(T.Query()), ), httpVersion: S.optional( AttacksLayer7SummaryIpVersionRequestHttpVersionList.pipe(T.Query()), ), location: S.optional( AttacksLayer7SummaryIpVersionRequestLocationList.pipe(T.Query()), ), mitigationProduct: S.optional( AttacksLayer7SummaryIpVersionRequestMitigationProductList.pipe(T.Query()), ), name: S.optional( AttacksLayer7SummaryIpVersionRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/summary/ip_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionAttackLayer7SummaryRequest", }) as any as S.Schema; export type AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfo { annotations: AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7SummaryIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7SummaryIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7SummaryIpVersionResponseMetaDateRangeList = Array; export const AttacksLayer7SummaryIpVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7SummaryIpVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7SummaryIpVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7SummaryIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7SummaryIpVersionResponseMetaUnitsList = Array; export const AttacksLayer7SummaryIpVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7SummaryIpVersionResponseMeta { confidenceInfo: AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfo; dateRange: AttacksLayer7SummaryIpVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7SummaryIpVersionResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7SummaryIpVersionResponseMetaUnitsList; } export const AttacksLayer7SummaryIpVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AttacksLayer7SummaryIpVersionResponseMetaConfidenceInfo, dateRange: AttacksLayer7SummaryIpVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7SummaryIpVersionResponseMetaNormalization, units: AttacksLayer7SummaryIpVersionResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7SummaryIpVersionResponseMeta", }) as any as S.Schema; export interface AttacksLayer7SummaryIpVersionResponseSummary0 { iPv4: string; iPv6: string; } export const AttacksLayer7SummaryIpVersionResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ iPv4: S.String.pipe(T.Body("IPv4")), iPv6: S.String.pipe(T.Body("IPv6")), }), ).annotate({ identifier: "AttacksLayer7SummaryIpVersionResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IpVersionAttackLayer7SummaryResponse { /** Metadata for the results. */ meta: AttacksLayer7SummaryIpVersionResponseMeta; summary_0: AttacksLayer7SummaryIpVersionResponseSummary0; } export const IpVersionAttackLayer7SummaryResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: AttacksLayer7SummaryIpVersionResponseMeta, summary_0: AttacksLayer7SummaryIpVersionResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionAttackLayer7SummaryResponse", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer7TimeseriesGroupsIpVersionRequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIpVersionRequestAsnList = Array; export const AttacksLayer7TimeseriesGroupsIpVersionRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionRequestContinentList = Array; export const AttacksLayer7TimeseriesGroupsIpVersionRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionRequestDateEndList = Array; export const AttacksLayer7TimeseriesGroupsIpVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionRequestDateRangeList = Array; export const AttacksLayer7TimeseriesGroupsIpVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionRequestDateStartList = Array; export const AttacksLayer7TimeseriesGroupsIpVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionRequestFormat = | "JSON" | "CSV"; export const AttacksLayer7TimeseriesGroupsIpVersionRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIpVersionRequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7TimeseriesGroupsIpVersionRequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIpVersionRequestHttpMethodList = Array< AttacksLayer7TimeseriesGroupsIpVersionRequestHttpMethod | (string & {}) >; export const AttacksLayer7TimeseriesGroupsIpVersionRequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsIpVersionRequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7TimeseriesGroupsIpVersionRequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIpVersionRequestHttpVersionList = Array< AttacksLayer7TimeseriesGroupsIpVersionRequestHttpVersion | (string & {}) >; export const AttacksLayer7TimeseriesGroupsIpVersionRequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsIpVersionRequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionRequestLocationList = Array; export const AttacksLayer7TimeseriesGroupsIpVersionRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7TimeseriesGroupsIpVersionRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIpVersionRequestMitigationProductList = Array< | AttacksLayer7TimeseriesGroupsIpVersionRequestMitigationProduct | (string & {}) >; export const AttacksLayer7TimeseriesGroupsIpVersionRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsIpVersionRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionRequestNameList = Array; export const AttacksLayer7TimeseriesGroupsIpVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionRequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const AttacksLayer7TimeseriesGroupsIpVersionRequestNormalization = /*@__PURE__*/ S.String; export interface IpVersionAttackLayer7TimeseriesGroupRequest { /** 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/). */ aggInterval?: | AttacksLayer7TimeseriesGroupsIpVersionRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7TimeseriesGroupsIpVersionRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7TimeseriesGroupsIpVersionRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7TimeseriesGroupsIpVersionRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7TimeseriesGroupsIpVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7TimeseriesGroupsIpVersionRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7TimeseriesGroupsIpVersionRequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7TimeseriesGroupsIpVersionRequestHttpMethodList; /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7TimeseriesGroupsIpVersionRequestHttpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7TimeseriesGroupsIpVersionRequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7TimeseriesGroupsIpVersionRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7TimeseriesGroupsIpVersionRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AttacksLayer7TimeseriesGroupsIpVersionRequestNormalization | (string & {}); } export const IpVersionAttackLayer7TimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AttacksLayer7TimeseriesGroupsIpVersionRequestAggInterval.pipe( T.Query(), ), ), asn: S.optional( AttacksLayer7TimeseriesGroupsIpVersionRequestAsnList.pipe(T.Query()), ), continent: S.optional( AttacksLayer7TimeseriesGroupsIpVersionRequestContinentList.pipe( T.Query(), ), ), dateEnd: S.optional( AttacksLayer7TimeseriesGroupsIpVersionRequestDateEndList.pipe( T.Query(), ), ), dateRange: S.optional( AttacksLayer7TimeseriesGroupsIpVersionRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( AttacksLayer7TimeseriesGroupsIpVersionRequestDateStartList.pipe( T.Query(), ), ), format: S.optional( AttacksLayer7TimeseriesGroupsIpVersionRequestFormat.pipe(T.Query()), ), httpMethod: S.optional( AttacksLayer7TimeseriesGroupsIpVersionRequestHttpMethodList.pipe( T.Query(), ), ), httpVersion: S.optional( AttacksLayer7TimeseriesGroupsIpVersionRequestHttpVersionList.pipe( T.Query(), ), ), location: S.optional( AttacksLayer7TimeseriesGroupsIpVersionRequestLocationList.pipe( T.Query(), ), ), mitigationProduct: S.optional( AttacksLayer7TimeseriesGroupsIpVersionRequestMitigationProductList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer7TimeseriesGroupsIpVersionRequestNameList.pipe(T.Query()), ), normalization: S.optional( AttacksLayer7TimeseriesGroupsIpVersionRequestNormalization.pipe( T.Query(), ), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/timeseries_groups/ip_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionAttackLayer7TimeseriesGroupRequest", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer7TimeseriesGroupsIpVersionResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfo { annotations: AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7TimeseriesGroupsIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7TimeseriesGroupsIpVersionResponseMetaDateRangeList = Array; export const AttacksLayer7TimeseriesGroupsIpVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7TimeseriesGroupsIpVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7TimeseriesGroupsIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7TimeseriesGroupsIpVersionResponseMetaUnitsList = Array; export const AttacksLayer7TimeseriesGroupsIpVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsIpVersionResponseMeta { /** 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/). */ aggInterval: AttacksLayer7TimeseriesGroupsIpVersionResponseMetaAggInterval; confidenceInfo: AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfo; dateRange: AttacksLayer7TimeseriesGroupsIpVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7TimeseriesGroupsIpVersionResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7TimeseriesGroupsIpVersionResponseMetaUnitsList; } export const AttacksLayer7TimeseriesGroupsIpVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer7TimeseriesGroupsIpVersionResponseMetaAggInterval, confidenceInfo: AttacksLayer7TimeseriesGroupsIpVersionResponseMetaConfidenceInfo, dateRange: AttacksLayer7TimeseriesGroupsIpVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7TimeseriesGroupsIpVersionResponseMetaNormalization, units: AttacksLayer7TimeseriesGroupsIpVersionResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsIpVersionResponseMeta", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionResponseSerie0IPv4List = Array; export const AttacksLayer7TimeseriesGroupsIpVersionResponseSerie0IPv4List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionResponseSerie0IPv6List = Array; export const AttacksLayer7TimeseriesGroupsIpVersionResponseSerie0IPv6List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsIpVersionResponseSerie0TimestampsList = Array; export const AttacksLayer7TimeseriesGroupsIpVersionResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsIpVersionResponseSerie0 { iPv4: AttacksLayer7TimeseriesGroupsIpVersionResponseSerie0IPv4List; iPv6: AttacksLayer7TimeseriesGroupsIpVersionResponseSerie0IPv6List; timestamps: AttacksLayer7TimeseriesGroupsIpVersionResponseSerie0TimestampsList; } export const AttacksLayer7TimeseriesGroupsIpVersionResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ iPv4: AttacksLayer7TimeseriesGroupsIpVersionResponseSerie0IPv4List.pipe( T.Body("IPv4"), ), iPv6: AttacksLayer7TimeseriesGroupsIpVersionResponseSerie0IPv6List.pipe( T.Body("IPv6"), ), timestamps: AttacksLayer7TimeseriesGroupsIpVersionResponseSerie0TimestampsList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsIpVersionResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IpVersionAttackLayer7TimeseriesGroupResponse { /** Metadata for the results. */ meta: AttacksLayer7TimeseriesGroupsIpVersionResponseMeta; serie_0: AttacksLayer7TimeseriesGroupsIpVersionResponseSerie0; } export const IpVersionAttackLayer7TimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer7TimeseriesGroupsIpVersionResponseMeta, serie_0: AttacksLayer7TimeseriesGroupsIpVersionResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionAttackLayer7TimeseriesGroupResponse", }) as any as S.Schema; export type DnsSummaryIpVersionRequestAsnList = Array; export const DnsSummaryIpVersionRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryIpVersionRequestContinentList = Array; export const DnsSummaryIpVersionRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryIpVersionRequestDateEndList = Array; export const DnsSummaryIpVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryIpVersionRequestDateRangeList = Array; export const DnsSummaryIpVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryIpVersionRequestDateStartList = Array; export const DnsSummaryIpVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryIpVersionRequestFormat = "JSON" | "CSV"; export const DnsSummaryIpVersionRequestFormat = /*@__PURE__*/ S.String; export type DnsSummaryIpVersionRequestLocationList = Array; export const DnsSummaryIpVersionRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryIpVersionRequestNameList = Array; export const DnsSummaryIpVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryIpVersionRequestNodataList = Array; export const DnsSummaryIpVersionRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsSummaryIpVersionRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsSummaryIpVersionRequestProtocol = /*@__PURE__*/ S.String; export type DnsSummaryIpVersionRequestProtocolList = Array< DnsSummaryIpVersionRequestProtocol | (string & {}) >; export const DnsSummaryIpVersionRequestProtocolList = /*@__PURE__*/ S.Array( DnsSummaryIpVersionRequestProtocol, ) as any as S.Schema; export type DnsSummaryIpVersionRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsSummaryIpVersionRequestQueryType = /*@__PURE__*/ S.String; export type DnsSummaryIpVersionRequestQueryTypeList = Array< DnsSummaryIpVersionRequestQueryType | (string & {}) >; export const DnsSummaryIpVersionRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsSummaryIpVersionRequestQueryType, ) as any as S.Schema; export type DnsSummaryIpVersionRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsSummaryIpVersionRequestResponseCode = /*@__PURE__*/ S.String; export type DnsSummaryIpVersionRequestResponseCodeList = Array< DnsSummaryIpVersionRequestResponseCode | (string & {}) >; export const DnsSummaryIpVersionRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsSummaryIpVersionRequestResponseCode, ) as any as S.Schema; export type DnsSummaryIpVersionRequestTldList = Array; export const DnsSummaryIpVersionRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface IpVersionDnsSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsSummaryIpVersionRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsSummaryIpVersionRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsSummaryIpVersionRequestDateEndList; /** 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). */ dateRange?: DnsSummaryIpVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsSummaryIpVersionRequestDateStartList; /** Format in which results will be returned. */ format?: DnsSummaryIpVersionRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsSummaryIpVersionRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsSummaryIpVersionRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsSummaryIpVersionRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsSummaryIpVersionRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsSummaryIpVersionRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsSummaryIpVersionRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsSummaryIpVersionRequestTldList; } export const IpVersionDnsSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(DnsSummaryIpVersionRequestAsnList.pipe(T.Query())), continent: S.optional( DnsSummaryIpVersionRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(DnsSummaryIpVersionRequestDateEndList.pipe(T.Query())), dateRange: S.optional( DnsSummaryIpVersionRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsSummaryIpVersionRequestDateStartList.pipe(T.Query()), ), format: S.optional(DnsSummaryIpVersionRequestFormat.pipe(T.Query())), location: S.optional( DnsSummaryIpVersionRequestLocationList.pipe(T.Query()), ), name: S.optional(DnsSummaryIpVersionRequestNameList.pipe(T.Query())), nodata: S.optional(DnsSummaryIpVersionRequestNodataList.pipe(T.Query())), protocol: S.optional( DnsSummaryIpVersionRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( DnsSummaryIpVersionRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( DnsSummaryIpVersionRequestResponseCodeList.pipe(T.Query()), ), tld: S.optional(DnsSummaryIpVersionRequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/summary/ip_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionDnsSummaryRequest", }) as any as S.Schema; export type DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsSummaryIpVersionResponseMetaConfidenceInfo { annotations: DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsSummaryIpVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsSummaryIpVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsSummaryIpVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsSummaryIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsSummaryIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsSummaryIpVersionResponseMetaDateRangeList = Array; export const DnsSummaryIpVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsSummaryIpVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsSummaryIpVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsSummaryIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsSummaryIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsSummaryIpVersionResponseMetaUnitsList = Array; export const DnsSummaryIpVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsSummaryIpVersionResponseMeta { confidenceInfo: DnsSummaryIpVersionResponseMetaConfidenceInfo; dateRange: DnsSummaryIpVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsSummaryIpVersionResponseMetaNormalization; /** Measurement units for the results. */ units: DnsSummaryIpVersionResponseMetaUnitsList; } export const DnsSummaryIpVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: DnsSummaryIpVersionResponseMetaConfidenceInfo, dateRange: DnsSummaryIpVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsSummaryIpVersionResponseMetaNormalization, units: DnsSummaryIpVersionResponseMetaUnitsList, }), ).annotate({ identifier: "DnsSummaryIpVersionResponseMeta", }) as any as S.Schema; export type DnsSummaryIpVersionResponseSummary0 = As112SummaryIpVersionResponseSummary0; export const DnsSummaryIpVersionResponseSummary0 = As112SummaryIpVersionResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IpVersionDnsSummaryResponse { /** Metadata for the results. */ meta: DnsSummaryIpVersionResponseMeta; summary_0: As112SummaryIpVersionResponseSummary0; } export const IpVersionDnsSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsSummaryIpVersionResponseMeta, summary_0: As112SummaryIpVersionResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionDnsSummaryResponse", }) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const DnsTimeseriesGroupsIpVersionRequestAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsIpVersionRequestAsnList = Array; export const DnsTimeseriesGroupsIpVersionRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionRequestContinentList = Array; export const DnsTimeseriesGroupsIpVersionRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionRequestDateEndList = Array; export const DnsTimeseriesGroupsIpVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionRequestDateRangeList = Array; export const DnsTimeseriesGroupsIpVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionRequestDateStartList = Array; export const DnsTimeseriesGroupsIpVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionRequestFormat = "JSON" | "CSV"; export const DnsTimeseriesGroupsIpVersionRequestFormat = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsIpVersionRequestLocationList = Array; export const DnsTimeseriesGroupsIpVersionRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionRequestNameList = Array; export const DnsTimeseriesGroupsIpVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionRequestNodataList = Array; export const DnsTimeseriesGroupsIpVersionRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsTimeseriesGroupsIpVersionRequestProtocol = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsIpVersionRequestProtocolList = Array< DnsTimeseriesGroupsIpVersionRequestProtocol | (string & {}) >; export const DnsTimeseriesGroupsIpVersionRequestProtocolList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsIpVersionRequestProtocol, ) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsTimeseriesGroupsIpVersionRequestQueryType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsIpVersionRequestQueryTypeList = Array< DnsTimeseriesGroupsIpVersionRequestQueryType | (string & {}) >; export const DnsTimeseriesGroupsIpVersionRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsIpVersionRequestQueryType, ) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsTimeseriesGroupsIpVersionRequestResponseCode = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsIpVersionRequestResponseCodeList = Array< DnsTimeseriesGroupsIpVersionRequestResponseCode | (string & {}) >; export const DnsTimeseriesGroupsIpVersionRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsIpVersionRequestResponseCode, ) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionRequestTldList = Array; export const DnsTimeseriesGroupsIpVersionRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface IpVersionDnsTimeseriesGroupRequest { /** 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/). */ aggInterval?: DnsTimeseriesGroupsIpVersionRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsTimeseriesGroupsIpVersionRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsTimeseriesGroupsIpVersionRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsTimeseriesGroupsIpVersionRequestDateEndList; /** 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). */ dateRange?: DnsTimeseriesGroupsIpVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsTimeseriesGroupsIpVersionRequestDateStartList; /** Format in which results will be returned. */ format?: DnsTimeseriesGroupsIpVersionRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsTimeseriesGroupsIpVersionRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsTimeseriesGroupsIpVersionRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsTimeseriesGroupsIpVersionRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsTimeseriesGroupsIpVersionRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsTimeseriesGroupsIpVersionRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsTimeseriesGroupsIpVersionRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsTimeseriesGroupsIpVersionRequestTldList; } export const IpVersionDnsTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( DnsTimeseriesGroupsIpVersionRequestAggInterval.pipe(T.Query()), ), asn: S.optional(DnsTimeseriesGroupsIpVersionRequestAsnList.pipe(T.Query())), continent: S.optional( DnsTimeseriesGroupsIpVersionRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( DnsTimeseriesGroupsIpVersionRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( DnsTimeseriesGroupsIpVersionRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsTimeseriesGroupsIpVersionRequestDateStartList.pipe(T.Query()), ), format: S.optional( DnsTimeseriesGroupsIpVersionRequestFormat.pipe(T.Query()), ), location: S.optional( DnsTimeseriesGroupsIpVersionRequestLocationList.pipe(T.Query()), ), name: S.optional( DnsTimeseriesGroupsIpVersionRequestNameList.pipe(T.Query()), ), nodata: S.optional( DnsTimeseriesGroupsIpVersionRequestNodataList.pipe(T.Query()), ), protocol: S.optional( DnsTimeseriesGroupsIpVersionRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( DnsTimeseriesGroupsIpVersionRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( DnsTimeseriesGroupsIpVersionRequestResponseCodeList.pipe(T.Query()), ), tld: S.optional(DnsTimeseriesGroupsIpVersionRequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/timeseries_groups/ip_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionDnsTimeseriesGroupRequest", }) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const DnsTimeseriesGroupsIpVersionResponseMetaAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfo { annotations: DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsTimeseriesGroupsIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsTimeseriesGroupsIpVersionResponseMetaDateRangeList = Array; export const DnsTimeseriesGroupsIpVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsTimeseriesGroupsIpVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsTimeseriesGroupsIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsTimeseriesGroupsIpVersionResponseMetaUnitsList = Array; export const DnsTimeseriesGroupsIpVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsIpVersionResponseMeta { /** 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/). */ aggInterval: DnsTimeseriesGroupsIpVersionResponseMetaAggInterval; confidenceInfo: DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfo; dateRange: DnsTimeseriesGroupsIpVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsTimeseriesGroupsIpVersionResponseMetaNormalization; /** Measurement units for the results. */ units: DnsTimeseriesGroupsIpVersionResponseMetaUnitsList; } export const DnsTimeseriesGroupsIpVersionResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: DnsTimeseriesGroupsIpVersionResponseMetaAggInterval, confidenceInfo: DnsTimeseriesGroupsIpVersionResponseMetaConfidenceInfo, dateRange: DnsTimeseriesGroupsIpVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsTimeseriesGroupsIpVersionResponseMetaNormalization, units: DnsTimeseriesGroupsIpVersionResponseMetaUnitsList, }), ).annotate({ identifier: "DnsTimeseriesGroupsIpVersionResponseMeta", }) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionResponseSerie0IPv4List = Array; export const DnsTimeseriesGroupsIpVersionResponseSerie0IPv4List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsIpVersionResponseSerie0IPv6List = Array; export const DnsTimeseriesGroupsIpVersionResponseSerie0IPv6List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsIpVersionResponseSerie0 { iPv4: DnsTimeseriesGroupsIpVersionResponseSerie0IPv4List; iPv6: DnsTimeseriesGroupsIpVersionResponseSerie0IPv6List; } export const DnsTimeseriesGroupsIpVersionResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ iPv4: DnsTimeseriesGroupsIpVersionResponseSerie0IPv4List.pipe( T.Body("IPv4"), ), iPv6: DnsTimeseriesGroupsIpVersionResponseSerie0IPv6List.pipe( T.Body("IPv6"), ), }), ).annotate({ identifier: "DnsTimeseriesGroupsIpVersionResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IpVersionDnsTimeseriesGroupResponse { /** Metadata for the results. */ meta: DnsTimeseriesGroupsIpVersionResponseMeta; serie_0: DnsTimeseriesGroupsIpVersionResponseSerie0; } export const IpVersionDnsTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsTimeseriesGroupsIpVersionResponseMeta, serie_0: DnsTimeseriesGroupsIpVersionResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionDnsTimeseriesGroupResponse", }) as any as S.Schema; export type EmailRoutingSummaryIpVersionRequestArc = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryIpVersionRequestArc = /*@__PURE__*/ S.String; export type EmailRoutingSummaryIpVersionRequestArcList = Array< EmailRoutingSummaryIpVersionRequestArc | (string & {}) >; export const EmailRoutingSummaryIpVersionRequestArcList = /*@__PURE__*/ S.Array( EmailRoutingSummaryIpVersionRequestArc, ) as any as S.Schema; export type EmailRoutingSummaryIpVersionRequestDateEndList = Array; export const EmailRoutingSummaryIpVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryIpVersionRequestDateRangeList = Array; export const EmailRoutingSummaryIpVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryIpVersionRequestDateStartList = Array; export const EmailRoutingSummaryIpVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryIpVersionRequestDkim = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryIpVersionRequestDkim = /*@__PURE__*/ S.String; export type EmailRoutingSummaryIpVersionRequestDkimList = Array< EmailRoutingSummaryIpVersionRequestDkim | (string & {}) >; export const EmailRoutingSummaryIpVersionRequestDkimList = /*@__PURE__*/ S.Array( EmailRoutingSummaryIpVersionRequestDkim, ) as any as S.Schema; export type EmailRoutingSummaryIpVersionRequestDmarc = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryIpVersionRequestDmarc = /*@__PURE__*/ S.String; export type EmailRoutingSummaryIpVersionRequestDmarcList = Array< EmailRoutingSummaryIpVersionRequestDmarc | (string & {}) >; export const EmailRoutingSummaryIpVersionRequestDmarcList = /*@__PURE__*/ S.Array( EmailRoutingSummaryIpVersionRequestDmarc, ) as any as S.Schema; export type EmailRoutingSummaryIpVersionRequestEncrypted = | "ENCRYPTED" | "NOT_ENCRYPTED"; export const EmailRoutingSummaryIpVersionRequestEncrypted = /*@__PURE__*/ S.String; export type EmailRoutingSummaryIpVersionRequestEncryptedList = Array< EmailRoutingSummaryIpVersionRequestEncrypted | (string & {}) >; export const EmailRoutingSummaryIpVersionRequestEncryptedList = /*@__PURE__*/ S.Array( EmailRoutingSummaryIpVersionRequestEncrypted, ) as any as S.Schema; export type EmailRoutingSummaryIpVersionRequestFormat = "JSON" | "CSV"; export const EmailRoutingSummaryIpVersionRequestFormat = /*@__PURE__*/ S.String; export type EmailRoutingSummaryIpVersionRequestNameList = Array; export const EmailRoutingSummaryIpVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryIpVersionRequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryIpVersionRequestSpf = /*@__PURE__*/ S.String; export type EmailRoutingSummaryIpVersionRequestSpfList = Array< EmailRoutingSummaryIpVersionRequestSpf | (string & {}) >; export const EmailRoutingSummaryIpVersionRequestSpfList = /*@__PURE__*/ S.Array( EmailRoutingSummaryIpVersionRequestSpf, ) as any as S.Schema; export interface IpVersionEmailRoutingSummaryRequest { /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailRoutingSummaryIpVersionRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailRoutingSummaryIpVersionRequestDateEndList; /** 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). */ dateRange?: EmailRoutingSummaryIpVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailRoutingSummaryIpVersionRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailRoutingSummaryIpVersionRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailRoutingSummaryIpVersionRequestDmarcList; /** Filters results by encryption status (encrypted vs. not-encrypted). */ encrypted?: EmailRoutingSummaryIpVersionRequestEncryptedList; /** Format in which results will be returned. */ format?: EmailRoutingSummaryIpVersionRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailRoutingSummaryIpVersionRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailRoutingSummaryIpVersionRequestSpfList; } export const IpVersionEmailRoutingSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ arc: S.optional(EmailRoutingSummaryIpVersionRequestArcList.pipe(T.Query())), dateEnd: S.optional( EmailRoutingSummaryIpVersionRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailRoutingSummaryIpVersionRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailRoutingSummaryIpVersionRequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailRoutingSummaryIpVersionRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailRoutingSummaryIpVersionRequestDmarcList.pipe(T.Query()), ), encrypted: S.optional( EmailRoutingSummaryIpVersionRequestEncryptedList.pipe(T.Query()), ), format: S.optional( EmailRoutingSummaryIpVersionRequestFormat.pipe(T.Query()), ), name: S.optional( EmailRoutingSummaryIpVersionRequestNameList.pipe(T.Query()), ), spf: S.optional(EmailRoutingSummaryIpVersionRequestSpfList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/routing/summary/ip_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionEmailRoutingSummaryRequest", }) as any as S.Schema; export type EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailRoutingSummaryIpVersionResponseMetaConfidenceInfo { annotations: EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailRoutingSummaryIpVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailRoutingSummaryIpVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailRoutingSummaryIpVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailRoutingSummaryIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailRoutingSummaryIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailRoutingSummaryIpVersionResponseMetaDateRangeList = Array; export const EmailRoutingSummaryIpVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailRoutingSummaryIpVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailRoutingSummaryIpVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailRoutingSummaryIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailRoutingSummaryIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailRoutingSummaryIpVersionResponseMetaUnitsList = Array; export const EmailRoutingSummaryIpVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailRoutingSummaryIpVersionResponseMeta { confidenceInfo: EmailRoutingSummaryIpVersionResponseMetaConfidenceInfo; dateRange: EmailRoutingSummaryIpVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailRoutingSummaryIpVersionResponseMetaNormalization; /** Measurement units for the results. */ units: EmailRoutingSummaryIpVersionResponseMetaUnitsList; } export const EmailRoutingSummaryIpVersionResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: EmailRoutingSummaryIpVersionResponseMetaConfidenceInfo, dateRange: EmailRoutingSummaryIpVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailRoutingSummaryIpVersionResponseMetaNormalization, units: EmailRoutingSummaryIpVersionResponseMetaUnitsList, }), ).annotate({ identifier: "EmailRoutingSummaryIpVersionResponseMeta", }) as any as S.Schema; export type EmailRoutingSummaryIpVersionResponseSummary0 = As112SummaryIpVersionResponseSummary0; export const EmailRoutingSummaryIpVersionResponseSummary0 = As112SummaryIpVersionResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IpVersionEmailRoutingSummaryResponse { /** Metadata for the results. */ meta: EmailRoutingSummaryIpVersionResponseMeta; summary_0: As112SummaryIpVersionResponseSummary0; } export const IpVersionEmailRoutingSummaryResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: EmailRoutingSummaryIpVersionResponseMeta, summary_0: As112SummaryIpVersionResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionEmailRoutingSummaryResponse", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsIpVersionRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const EmailRoutingTimeseriesGroupsIpVersionRequestAggInterval = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsIpVersionRequestArc = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsIpVersionRequestArc = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsIpVersionRequestArcList = Array< EmailRoutingTimeseriesGroupsIpVersionRequestArc | (string & {}) >; export const EmailRoutingTimeseriesGroupsIpVersionRequestArcList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsIpVersionRequestArc, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsIpVersionRequestDateEndList = Array; export const EmailRoutingTimeseriesGroupsIpVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsIpVersionRequestDateRangeList = Array; export const EmailRoutingTimeseriesGroupsIpVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsIpVersionRequestDateStartList = Array; export const EmailRoutingTimeseriesGroupsIpVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsIpVersionRequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsIpVersionRequestDkim = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsIpVersionRequestDkimList = Array< EmailRoutingTimeseriesGroupsIpVersionRequestDkim | (string & {}) >; export const EmailRoutingTimeseriesGroupsIpVersionRequestDkimList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsIpVersionRequestDkim, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsIpVersionRequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsIpVersionRequestDmarc = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsIpVersionRequestDmarcList = Array< EmailRoutingTimeseriesGroupsIpVersionRequestDmarc | (string & {}) >; export const EmailRoutingTimeseriesGroupsIpVersionRequestDmarcList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsIpVersionRequestDmarc, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsIpVersionRequestEncrypted = | "ENCRYPTED" | "NOT_ENCRYPTED"; export const EmailRoutingTimeseriesGroupsIpVersionRequestEncrypted = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsIpVersionRequestEncryptedList = Array< EmailRoutingTimeseriesGroupsIpVersionRequestEncrypted | (string & {}) >; export const EmailRoutingTimeseriesGroupsIpVersionRequestEncryptedList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsIpVersionRequestEncrypted, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsIpVersionRequestFormat = "JSON" | "CSV"; export const EmailRoutingTimeseriesGroupsIpVersionRequestFormat = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsIpVersionRequestNameList = Array; export const EmailRoutingTimeseriesGroupsIpVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsIpVersionRequestSpf = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsIpVersionRequestSpf = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsIpVersionRequestSpfList = Array< EmailRoutingTimeseriesGroupsIpVersionRequestSpf | (string & {}) >; export const EmailRoutingTimeseriesGroupsIpVersionRequestSpfList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsIpVersionRequestSpf, ) as any as S.Schema; export interface IpVersionEmailRoutingTimeseriesGroupRequest { /** 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/). */ aggInterval?: | EmailRoutingTimeseriesGroupsIpVersionRequestAggInterval | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailRoutingTimeseriesGroupsIpVersionRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailRoutingTimeseriesGroupsIpVersionRequestDateEndList; /** 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). */ dateRange?: EmailRoutingTimeseriesGroupsIpVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailRoutingTimeseriesGroupsIpVersionRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailRoutingTimeseriesGroupsIpVersionRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailRoutingTimeseriesGroupsIpVersionRequestDmarcList; /** Filters results by encryption status (encrypted vs. not-encrypted). */ encrypted?: EmailRoutingTimeseriesGroupsIpVersionRequestEncryptedList; /** Format in which results will be returned. */ format?: EmailRoutingTimeseriesGroupsIpVersionRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailRoutingTimeseriesGroupsIpVersionRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailRoutingTimeseriesGroupsIpVersionRequestSpfList; } export const IpVersionEmailRoutingTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( EmailRoutingTimeseriesGroupsIpVersionRequestAggInterval.pipe(T.Query()), ), arc: S.optional( EmailRoutingTimeseriesGroupsIpVersionRequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailRoutingTimeseriesGroupsIpVersionRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailRoutingTimeseriesGroupsIpVersionRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( EmailRoutingTimeseriesGroupsIpVersionRequestDateStartList.pipe( T.Query(), ), ), dkim: S.optional( EmailRoutingTimeseriesGroupsIpVersionRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailRoutingTimeseriesGroupsIpVersionRequestDmarcList.pipe(T.Query()), ), encrypted: S.optional( EmailRoutingTimeseriesGroupsIpVersionRequestEncryptedList.pipe( T.Query(), ), ), format: S.optional( EmailRoutingTimeseriesGroupsIpVersionRequestFormat.pipe(T.Query()), ), name: S.optional( EmailRoutingTimeseriesGroupsIpVersionRequestNameList.pipe(T.Query()), ), spf: S.optional( EmailRoutingTimeseriesGroupsIpVersionRequestSpfList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/routing/timeseries_groups/ip_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionEmailRoutingTimeseriesGroupRequest", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsIpVersionResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const EmailRoutingTimeseriesGroupsIpVersionResponseMetaAggInterval = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfo { annotations: EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailRoutingTimeseriesGroupsIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailRoutingTimeseriesGroupsIpVersionResponseMetaDateRangeList = Array; export const EmailRoutingTimeseriesGroupsIpVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsIpVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailRoutingTimeseriesGroupsIpVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailRoutingTimeseriesGroupsIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailRoutingTimeseriesGroupsIpVersionResponseMetaUnitsList = Array; export const EmailRoutingTimeseriesGroupsIpVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsIpVersionResponseMeta { /** 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/). */ aggInterval: EmailRoutingTimeseriesGroupsIpVersionResponseMetaAggInterval; confidenceInfo: EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfo; dateRange: EmailRoutingTimeseriesGroupsIpVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailRoutingTimeseriesGroupsIpVersionResponseMetaNormalization; /** Measurement units for the results. */ units: EmailRoutingTimeseriesGroupsIpVersionResponseMetaUnitsList; } export const EmailRoutingTimeseriesGroupsIpVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: EmailRoutingTimeseriesGroupsIpVersionResponseMetaAggInterval, confidenceInfo: EmailRoutingTimeseriesGroupsIpVersionResponseMetaConfidenceInfo, dateRange: EmailRoutingTimeseriesGroupsIpVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailRoutingTimeseriesGroupsIpVersionResponseMetaNormalization, units: EmailRoutingTimeseriesGroupsIpVersionResponseMetaUnitsList, }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsIpVersionResponseMeta", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsIpVersionResponseSerie0IPv4List = Array; export const EmailRoutingTimeseriesGroupsIpVersionResponseSerie0IPv4List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsIpVersionResponseSerie0IPv6List = Array; export const EmailRoutingTimeseriesGroupsIpVersionResponseSerie0IPv6List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsIpVersionResponseSerie0 { iPv4: EmailRoutingTimeseriesGroupsIpVersionResponseSerie0IPv4List; iPv6: EmailRoutingTimeseriesGroupsIpVersionResponseSerie0IPv6List; } export const EmailRoutingTimeseriesGroupsIpVersionResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ iPv4: EmailRoutingTimeseriesGroupsIpVersionResponseSerie0IPv4List.pipe( T.Body("IPv4"), ), iPv6: EmailRoutingTimeseriesGroupsIpVersionResponseSerie0IPv6List.pipe( T.Body("IPv6"), ), }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsIpVersionResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IpVersionEmailRoutingTimeseriesGroupResponse { /** Metadata for the results. */ meta: EmailRoutingTimeseriesGroupsIpVersionResponseMeta; serie_0: EmailRoutingTimeseriesGroupsIpVersionResponseSerie0; } export const IpVersionEmailRoutingTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailRoutingTimeseriesGroupsIpVersionResponseMeta, serie_0: EmailRoutingTimeseriesGroupsIpVersionResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionEmailRoutingTimeseriesGroupResponse", }) as any as S.Schema; export type HttpSummaryIpVersionRequestAsnList = Array; export const HttpSummaryIpVersionRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryIpVersionRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpSummaryIpVersionRequestBotClass = /*@__PURE__*/ S.String; export type HttpSummaryIpVersionRequestBotClassList = Array< HttpSummaryIpVersionRequestBotClass | (string & {}) >; export const HttpSummaryIpVersionRequestBotClassList = /*@__PURE__*/ S.Array( HttpSummaryIpVersionRequestBotClass, ) as any as S.Schema; export type HttpSummaryIpVersionRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpSummaryIpVersionRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpSummaryIpVersionRequestBrowserFamilyList = Array< HttpSummaryIpVersionRequestBrowserFamily | (string & {}) >; export const HttpSummaryIpVersionRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpSummaryIpVersionRequestBrowserFamily, ) as any as S.Schema; export type HttpSummaryIpVersionRequestContinentList = Array; export const HttpSummaryIpVersionRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryIpVersionRequestDateEndList = Array; export const HttpSummaryIpVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryIpVersionRequestDateRangeList = Array; export const HttpSummaryIpVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryIpVersionRequestDateStartList = Array; export const HttpSummaryIpVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryIpVersionRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpSummaryIpVersionRequestDeviceType = /*@__PURE__*/ S.String; export type HttpSummaryIpVersionRequestDeviceTypeList = Array< HttpSummaryIpVersionRequestDeviceType | (string & {}) >; export const HttpSummaryIpVersionRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpSummaryIpVersionRequestDeviceType, ) as any as S.Schema; export type HttpSummaryIpVersionRequestFormat = "JSON" | "CSV"; export const HttpSummaryIpVersionRequestFormat = /*@__PURE__*/ S.String; export type HttpSummaryIpVersionRequestGeoIdList = Array; export const HttpSummaryIpVersionRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryIpVersionRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpSummaryIpVersionRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpSummaryIpVersionRequestHttpProtocolList = Array< HttpSummaryIpVersionRequestHttpProtocol | (string & {}) >; export const HttpSummaryIpVersionRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpSummaryIpVersionRequestHttpProtocol, ) as any as S.Schema; export type HttpSummaryIpVersionRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpSummaryIpVersionRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpSummaryIpVersionRequestHttpVersionList = Array< HttpSummaryIpVersionRequestHttpVersion | (string & {}) >; export const HttpSummaryIpVersionRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpSummaryIpVersionRequestHttpVersion, ) as any as S.Schema; export type HttpSummaryIpVersionRequestLocationList = Array; export const HttpSummaryIpVersionRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryIpVersionRequestNameList = Array; export const HttpSummaryIpVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryIpVersionRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpSummaryIpVersionRequestOs = /*@__PURE__*/ S.String; export type HttpSummaryIpVersionRequestOsList = Array< HttpSummaryIpVersionRequestOs | (string & {}) >; export const HttpSummaryIpVersionRequestOsList = /*@__PURE__*/ S.Array( HttpSummaryIpVersionRequestOs, ) as any as S.Schema; export type HttpSummaryIpVersionRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpSummaryIpVersionRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpSummaryIpVersionRequestTlsVersionList = Array< HttpSummaryIpVersionRequestTlsVersion | (string & {}) >; export const HttpSummaryIpVersionRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpSummaryIpVersionRequestTlsVersion, ) as any as S.Schema; export interface IpVersionHttpSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpSummaryIpVersionRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpSummaryIpVersionRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpSummaryIpVersionRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpSummaryIpVersionRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpSummaryIpVersionRequestDateEndList; /** 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). */ dateRange?: HttpSummaryIpVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpSummaryIpVersionRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpSummaryIpVersionRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpSummaryIpVersionRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpSummaryIpVersionRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpSummaryIpVersionRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpSummaryIpVersionRequestHttpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpSummaryIpVersionRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpSummaryIpVersionRequestNameList; /** Filters results by operating system. */ os?: HttpSummaryIpVersionRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpSummaryIpVersionRequestTlsVersionList; } export const IpVersionHttpSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(HttpSummaryIpVersionRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpSummaryIpVersionRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpSummaryIpVersionRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpSummaryIpVersionRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(HttpSummaryIpVersionRequestDateEndList.pipe(T.Query())), dateRange: S.optional( HttpSummaryIpVersionRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpSummaryIpVersionRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpSummaryIpVersionRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpSummaryIpVersionRequestFormat.pipe(T.Query())), geoId: S.optional(HttpSummaryIpVersionRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpSummaryIpVersionRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpSummaryIpVersionRequestHttpVersionList.pipe(T.Query()), ), location: S.optional( HttpSummaryIpVersionRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpSummaryIpVersionRequestNameList.pipe(T.Query())), os: S.optional(HttpSummaryIpVersionRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpSummaryIpVersionRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/summary/ip_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionHttpSummaryRequest", }) as any as S.Schema; export type HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpSummaryIpVersionResponseMetaConfidenceInfo { annotations: HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpSummaryIpVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpSummaryIpVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpSummaryIpVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpSummaryIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpSummaryIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpSummaryIpVersionResponseMetaDateRangeList = Array; export const HttpSummaryIpVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpSummaryIpVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpSummaryIpVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpSummaryIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpSummaryIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpSummaryIpVersionResponseMetaUnitsList = Array; export const HttpSummaryIpVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpSummaryIpVersionResponseMeta { confidenceInfo: HttpSummaryIpVersionResponseMetaConfidenceInfo; dateRange: HttpSummaryIpVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpSummaryIpVersionResponseMetaNormalization; /** Measurement units for the results. */ units: HttpSummaryIpVersionResponseMetaUnitsList; } export const HttpSummaryIpVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpSummaryIpVersionResponseMetaConfidenceInfo, dateRange: HttpSummaryIpVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpSummaryIpVersionResponseMetaNormalization, units: HttpSummaryIpVersionResponseMetaUnitsList, }), ).annotate({ identifier: "HttpSummaryIpVersionResponseMeta", }) as any as S.Schema; export type HttpSummaryIpVersionResponseSummary0 = As112SummaryIpVersionResponseSummary0; export const HttpSummaryIpVersionResponseSummary0 = As112SummaryIpVersionResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IpVersionHttpSummaryResponse { /** Metadata for the results. */ meta: HttpSummaryIpVersionResponseMeta; summary_0: As112SummaryIpVersionResponseSummary0; } export const IpVersionHttpSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpSummaryIpVersionResponseMeta, summary_0: As112SummaryIpVersionResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionHttpSummaryResponse", }) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const HttpTimeseriesGroupsIpVersionRequestAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsIpVersionRequestAsnList = Array; export const HttpTimeseriesGroupsIpVersionRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpTimeseriesGroupsIpVersionRequestBotClass = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsIpVersionRequestBotClassList = Array< HttpTimeseriesGroupsIpVersionRequestBotClass | (string & {}) >; export const HttpTimeseriesGroupsIpVersionRequestBotClassList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsIpVersionRequestBotClass, ) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpTimeseriesGroupsIpVersionRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsIpVersionRequestBrowserFamilyList = Array< HttpTimeseriesGroupsIpVersionRequestBrowserFamily | (string & {}) >; export const HttpTimeseriesGroupsIpVersionRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsIpVersionRequestBrowserFamily, ) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionRequestContinentList = Array; export const HttpTimeseriesGroupsIpVersionRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionRequestDateEndList = Array; export const HttpTimeseriesGroupsIpVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionRequestDateRangeList = Array; export const HttpTimeseriesGroupsIpVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionRequestDateStartList = Array; export const HttpTimeseriesGroupsIpVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpTimeseriesGroupsIpVersionRequestDeviceType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsIpVersionRequestDeviceTypeList = Array< HttpTimeseriesGroupsIpVersionRequestDeviceType | (string & {}) >; export const HttpTimeseriesGroupsIpVersionRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsIpVersionRequestDeviceType, ) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionRequestFormat = "JSON" | "CSV"; export const HttpTimeseriesGroupsIpVersionRequestFormat = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsIpVersionRequestGeoIdList = Array; export const HttpTimeseriesGroupsIpVersionRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpTimeseriesGroupsIpVersionRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsIpVersionRequestHttpProtocolList = Array< HttpTimeseriesGroupsIpVersionRequestHttpProtocol | (string & {}) >; export const HttpTimeseriesGroupsIpVersionRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsIpVersionRequestHttpProtocol, ) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpTimeseriesGroupsIpVersionRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsIpVersionRequestHttpVersionList = Array< HttpTimeseriesGroupsIpVersionRequestHttpVersion | (string & {}) >; export const HttpTimeseriesGroupsIpVersionRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsIpVersionRequestHttpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionRequestLocationList = Array; export const HttpTimeseriesGroupsIpVersionRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionRequestNameList = Array; export const HttpTimeseriesGroupsIpVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpTimeseriesGroupsIpVersionRequestOs = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsIpVersionRequestOsList = Array< HttpTimeseriesGroupsIpVersionRequestOs | (string & {}) >; export const HttpTimeseriesGroupsIpVersionRequestOsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsIpVersionRequestOs, ) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpTimeseriesGroupsIpVersionRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsIpVersionRequestTlsVersionList = Array< HttpTimeseriesGroupsIpVersionRequestTlsVersion | (string & {}) >; export const HttpTimeseriesGroupsIpVersionRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsIpVersionRequestTlsVersion, ) as any as S.Schema; export interface IpVersionHttpTimeseriesGroupRequest { /** 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/). */ aggInterval?: HttpTimeseriesGroupsIpVersionRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpTimeseriesGroupsIpVersionRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpTimeseriesGroupsIpVersionRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpTimeseriesGroupsIpVersionRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpTimeseriesGroupsIpVersionRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpTimeseriesGroupsIpVersionRequestDateEndList; /** 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). */ dateRange?: HttpTimeseriesGroupsIpVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpTimeseriesGroupsIpVersionRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpTimeseriesGroupsIpVersionRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpTimeseriesGroupsIpVersionRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpTimeseriesGroupsIpVersionRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpTimeseriesGroupsIpVersionRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpTimeseriesGroupsIpVersionRequestHttpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpTimeseriesGroupsIpVersionRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpTimeseriesGroupsIpVersionRequestNameList; /** Filters results by operating system. */ os?: HttpTimeseriesGroupsIpVersionRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpTimeseriesGroupsIpVersionRequestTlsVersionList; } export const IpVersionHttpTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( HttpTimeseriesGroupsIpVersionRequestAggInterval.pipe(T.Query()), ), asn: S.optional( HttpTimeseriesGroupsIpVersionRequestAsnList.pipe(T.Query()), ), botClass: S.optional( HttpTimeseriesGroupsIpVersionRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpTimeseriesGroupsIpVersionRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpTimeseriesGroupsIpVersionRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpTimeseriesGroupsIpVersionRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpTimeseriesGroupsIpVersionRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpTimeseriesGroupsIpVersionRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpTimeseriesGroupsIpVersionRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional( HttpTimeseriesGroupsIpVersionRequestFormat.pipe(T.Query()), ), geoId: S.optional( HttpTimeseriesGroupsIpVersionRequestGeoIdList.pipe(T.Query()), ), httpProtocol: S.optional( HttpTimeseriesGroupsIpVersionRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpTimeseriesGroupsIpVersionRequestHttpVersionList.pipe(T.Query()), ), location: S.optional( HttpTimeseriesGroupsIpVersionRequestLocationList.pipe(T.Query()), ), name: S.optional( HttpTimeseriesGroupsIpVersionRequestNameList.pipe(T.Query()), ), os: S.optional(HttpTimeseriesGroupsIpVersionRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpTimeseriesGroupsIpVersionRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/timeseries_groups/ip_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionHttpTimeseriesGroupRequest", }) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const HttpTimeseriesGroupsIpVersionResponseMetaAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfo { annotations: HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpTimeseriesGroupsIpVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpTimeseriesGroupsIpVersionResponseMetaDateRangeList = Array; export const HttpTimeseriesGroupsIpVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpTimeseriesGroupsIpVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpTimeseriesGroupsIpVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpTimeseriesGroupsIpVersionResponseMetaUnitsList = Array; export const HttpTimeseriesGroupsIpVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsIpVersionResponseMeta { /** 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/). */ aggInterval: HttpTimeseriesGroupsIpVersionResponseMetaAggInterval; confidenceInfo: HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfo; dateRange: HttpTimeseriesGroupsIpVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpTimeseriesGroupsIpVersionResponseMetaNormalization; /** Measurement units for the results. */ units: HttpTimeseriesGroupsIpVersionResponseMetaUnitsList; } export const HttpTimeseriesGroupsIpVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: HttpTimeseriesGroupsIpVersionResponseMetaAggInterval, confidenceInfo: HttpTimeseriesGroupsIpVersionResponseMetaConfidenceInfo, dateRange: HttpTimeseriesGroupsIpVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpTimeseriesGroupsIpVersionResponseMetaNormalization, units: HttpTimeseriesGroupsIpVersionResponseMetaUnitsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsIpVersionResponseMeta", }) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionResponseSerie0IPv4List = Array; export const HttpTimeseriesGroupsIpVersionResponseSerie0IPv4List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionResponseSerie0IPv6List = Array; export const HttpTimeseriesGroupsIpVersionResponseSerie0IPv6List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsIpVersionResponseSerie0TimestampsList = Array; export const HttpTimeseriesGroupsIpVersionResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsIpVersionResponseSerie0 { iPv4: HttpTimeseriesGroupsIpVersionResponseSerie0IPv4List; iPv6: HttpTimeseriesGroupsIpVersionResponseSerie0IPv6List; timestamps: HttpTimeseriesGroupsIpVersionResponseSerie0TimestampsList; } export const HttpTimeseriesGroupsIpVersionResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ iPv4: HttpTimeseriesGroupsIpVersionResponseSerie0IPv4List.pipe( T.Body("IPv4"), ), iPv6: HttpTimeseriesGroupsIpVersionResponseSerie0IPv6List.pipe( T.Body("IPv6"), ), timestamps: HttpTimeseriesGroupsIpVersionResponseSerie0TimestampsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsIpVersionResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface IpVersionHttpTimeseriesGroupResponse { /** Metadata for the results. */ meta: HttpTimeseriesGroupsIpVersionResponseMeta; serie_0: HttpTimeseriesGroupsIpVersionResponseSerie0; } export const IpVersionHttpTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: HttpTimeseriesGroupsIpVersionResponseMeta, serie_0: HttpTimeseriesGroupsIpVersionResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "IpVersionHttpTimeseriesGroupResponse", }) as any as S.Schema; export type AnnotationsListRequestDataSource = | "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"; export const AnnotationsListRequestDataSource = /*@__PURE__*/ S.String; export type AnnotationsListRequestEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AnnotationsListRequestEventType = /*@__PURE__*/ S.String; export type AnnotationsListRequestFormat = "JSON" | "CSV"; export const AnnotationsListRequestFormat = /*@__PURE__*/ S.String; export interface ListAnnotationsRequest { /** Filters results by Autonomous System. Specify a single Autonomous System Number (ASN) as integer. */ asn?: number; /** Filters results by data source. */ dataSource?: AnnotationsListRequestDataSource | (string & {}); /** End of the date range (inclusive). */ dateEnd?: string; /** Filters results by date range. */ dateRange?: string; /** Start of the date range (inclusive). */ dateStart?: string; /** Filters results by event type. */ eventType?: AnnotationsListRequestEventType | (string & {}); /** Format in which results will be returned. */ format?: AnnotationsListRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify an alpha-2 location code. */ location?: string; /** Skips the specified number of objects before fetching the results. */ offset?: number; /** Filters results by origin. */ origin?: string; } export const ListAnnotationsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(S.Number.pipe(T.Query())), dataSource: S.optional(AnnotationsListRequestDataSource.pipe(T.Query())), dateEnd: S.optional(S.String.pipe(T.Query())), dateRange: S.optional(S.String.pipe(T.Query())), dateStart: S.optional(S.String.pipe(T.Query())), eventType: S.optional(AnnotationsListRequestEventType.pipe(T.Query())), format: S.optional(AnnotationsListRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(S.String.pipe(T.Query())), offset: S.optional(S.Number.pipe(T.Query())), origin: S.optional(S.String.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/annotations", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListAnnotationsRequest", }) as any as S.Schema; export type AnnotationsListResponseAnnotationsItemAsnsList = Array; export const AnnotationsListResponseAnnotationsItemAsnsList = /*@__PURE__*/ S.Array( S.Number, ) as any as S.Schema; export type AnnotationsListResponseAnnotationsItemAsnsDetailsItemLocations = AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations; export const AnnotationsListResponseAnnotationsItemAsnsDetailsItemLocations = AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations; export type AnnotationsListResponseAnnotationsItemAsnsDetailsItem = AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItem; export const AnnotationsListResponseAnnotationsItemAsnsDetailsItem = AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItem; export type AnnotationsListResponseAnnotationsItemAsnsDetailsList = Array; export const AnnotationsListResponseAnnotationsItemAsnsDetailsList = /*@__PURE__*/ S.Array( AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItem, ) as any as S.Schema; export type AnnotationsListResponseAnnotationsItemLocationsList = Array; export const AnnotationsListResponseAnnotationsItemLocationsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AnnotationsListResponseAnnotationsItemLocationsDetailsItem = AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations; export const AnnotationsListResponseAnnotationsItemLocationsDetailsItem = AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations; export type AnnotationsListResponseAnnotationsItemLocationsDetailsList = Array; export const AnnotationsListResponseAnnotationsItemLocationsDetailsList = /*@__PURE__*/ S.Array( AnnotationsOutagesGetResponseAnnotationsItemAsnsDetailsItemLocations, ) as any as S.Schema; export type AnnotationsListResponseAnnotationsItemOriginsList = Array; export const AnnotationsListResponseAnnotationsItemOriginsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AnnotationsListResponseAnnotationsItemOriginsDetailsItem = AnnotationsOutagesGetResponseAnnotationsItemOriginsDetailsItem; export const AnnotationsListResponseAnnotationsItemOriginsDetailsItem = AnnotationsOutagesGetResponseAnnotationsItemOriginsDetailsItem; export type AnnotationsListResponseAnnotationsItemOriginsDetailsList = Array; export const AnnotationsListResponseAnnotationsItemOriginsDetailsList = /*@__PURE__*/ S.Array( AnnotationsOutagesGetResponseAnnotationsItemOriginsDetailsItem, ) as any as S.Schema; export type AnnotationsListResponseAnnotationsItemOutage = AnnotationsOutagesGetResponseAnnotationsItemOutage; export const AnnotationsListResponseAnnotationsItemOutage = AnnotationsOutagesGetResponseAnnotationsItemOutage; export interface AnnotationsListResponseAnnotationsItem { id: string; asns: AnnotationsListResponseAnnotationsItemAsnsList; asnsDetails: AnnotationsListResponseAnnotationsItemAsnsDetailsList; dataSource: string; eventType: string; locations: AnnotationsListResponseAnnotationsItemLocationsList; locationsDetails: AnnotationsListResponseAnnotationsItemLocationsDetailsList; origins: AnnotationsListResponseAnnotationsItemOriginsList; originsDetails: AnnotationsListResponseAnnotationsItemOriginsDetailsList; outage: AnnotationsOutagesGetResponseAnnotationsItemOutage; startDate: string; description?: string | null; endDate?: string | null; linkedUrl?: string | null; scope?: string | null; } export const AnnotationsListResponseAnnotationsItem = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.String, asns: AnnotationsListResponseAnnotationsItemAsnsList, asnsDetails: AnnotationsListResponseAnnotationsItemAsnsDetailsList, dataSource: S.String, eventType: S.String, locations: AnnotationsListResponseAnnotationsItemLocationsList, locationsDetails: AnnotationsListResponseAnnotationsItemLocationsDetailsList, origins: AnnotationsListResponseAnnotationsItemOriginsList, originsDetails: AnnotationsListResponseAnnotationsItemOriginsDetailsList, outage: AnnotationsOutagesGetResponseAnnotationsItemOutage, startDate: S.String, description: S.optional(S.NullOr(S.String)), endDate: S.optional(S.NullOr(S.String)), linkedUrl: S.optional(S.NullOr(S.String)), scope: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "AnnotationsListResponseAnnotationsItem", }) as any as S.Schema; export type AnnotationsListResponseAnnotationsList = Array; export const AnnotationsListResponseAnnotationsList = /*@__PURE__*/ S.Array( AnnotationsListResponseAnnotationsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ListAnnotationsResponse { annotations: AnnotationsListResponseAnnotationsList; } export const ListAnnotationsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AnnotationsListResponseAnnotationsList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListAnnotationsResponse", }) as any as S.Schema; export type BgpHijacksEventsListRequestFormat = "JSON" | "CSV"; export const BgpHijacksEventsListRequestFormat = /*@__PURE__*/ S.String; export type BgpHijacksEventsListRequestSortBy = "ID" | "TIME" | "CONFIDENCE"; export const BgpHijacksEventsListRequestSortBy = /*@__PURE__*/ S.String; export type BgpHijacksEventsListRequestSortOrder = "ASC" | "DESC"; export const BgpHijacksEventsListRequestSortOrder = /*@__PURE__*/ S.String; export interface ListBgpHijackEventsRequest { /** End of the date range (inclusive). */ dateEnd?: string; /** Filters results by date range. */ dateRange?: string; /** Start of the date range (inclusive). */ dateStart?: string; /** The unique identifier of a event. */ eventId?: number; /** Format in which results will be returned. */ format?: BgpHijacksEventsListRequestFormat | (string & {}); /** The potential hijacker AS of a BGP hijack event. */ hijackerAsn?: number; /** The potential hijacker or victim AS of a BGP hijack event. */ involvedAsn?: number; /** The country code of the potential hijacker or victim AS of a BGP hijack event. */ involvedCountry?: string; /** Filters events by maximum confidence score (1-4 low, 5-7 mid, 8+ high). */ maxConfidence?: number; /** Filters events by minimum confidence score (1-4 low, 5-7 mid, 8+ high). */ minConfidence?: number; /** Current page number, starting from 1. */ page?: number; /** Number of entries per page. */ perPage?: number; prefix?: string; /** Sorts results by the specified field. */ sortBy?: BgpHijacksEventsListRequestSortBy | (string & {}); /** Sort order. */ sortOrder?: BgpHijacksEventsListRequestSortOrder | (string & {}); /** The potential victim AS of a BGP hijack event. */ victimAsn?: number; } export const ListBgpHijackEventsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dateEnd: S.optional(S.String.pipe(T.Query())), dateRange: S.optional(S.String.pipe(T.Query())), dateStart: S.optional(S.String.pipe(T.Query())), eventId: S.optional(S.Number.pipe(T.Query())), format: S.optional(BgpHijacksEventsListRequestFormat.pipe(T.Query())), hijackerAsn: S.optional(S.Number.pipe(T.Query())), involvedAsn: S.optional(S.Number.pipe(T.Query())), involvedCountry: S.optional(S.String.pipe(T.Query())), maxConfidence: S.optional(S.Number.pipe(T.Query())), minConfidence: S.optional(S.Number.pipe(T.Query())), page: S.optional(S.Number.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), prefix: S.optional(S.String.pipe(T.Query())), sortBy: S.optional(BgpHijacksEventsListRequestSortBy.pipe(T.Query())), sortOrder: S.optional(BgpHijacksEventsListRequestSortOrder.pipe(T.Query())), victimAsn: S.optional(S.Number.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/bgp/hijacks/events", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListBgpHijackEventsRequest", }) as any as S.Schema; export interface BgpHijacksEventsListResponseAsnInfoItem { asn: number; countryCode: string; orgName: string; } export const BgpHijacksEventsListResponseAsnInfoItem = /*@__PURE__*/ S.suspend( () => S.Struct({ asn: S.Number, countryCode: S.String.pipe(T.Body("country_code")), orgName: S.String.pipe(T.Body("org_name")), }), ).annotate({ identifier: "BgpHijacksEventsListResponseAsnInfoItem", }) as any as S.Schema; export type BgpHijacksEventsListResponseAsnInfoList = Array; export const BgpHijacksEventsListResponseAsnInfoList = /*@__PURE__*/ S.Array( BgpHijacksEventsListResponseAsnInfoItem, ) as any as S.Schema; export type BgpHijacksEventsListResponseEventsItemPeerAsnsList = Array; export const BgpHijacksEventsListResponseEventsItemPeerAsnsList = /*@__PURE__*/ S.Array( S.Number, ) as any as S.Schema; export type BgpHijacksEventsListResponseEventsItemPrefixesList = Array; export const BgpHijacksEventsListResponseEventsItemPrefixesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BgpHijacksEventsListResponseEventsItemTagsItem { name: string; score: number; } export const BgpHijacksEventsListResponseEventsItemTagsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, score: S.Number, }), ).annotate({ identifier: "BgpHijacksEventsListResponseEventsItemTagsItem", }) as any as S.Schema; export type BgpHijacksEventsListResponseEventsItemTagsList = Array; export const BgpHijacksEventsListResponseEventsItemTagsList = /*@__PURE__*/ S.Array( BgpHijacksEventsListResponseEventsItemTagsItem, ) as any as S.Schema; export type BgpHijacksEventsListResponseEventsItemVictimAsnsList = Array; export const BgpHijacksEventsListResponseEventsItemVictimAsnsList = /*@__PURE__*/ S.Array( S.Number, ) as any as S.Schema; export type BgpHijacksEventsListResponseEventsItemVictimCountriesList = Array; export const BgpHijacksEventsListResponseEventsItemVictimCountriesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BgpHijacksEventsListResponseEventsItem { id: number; confidenceScore: number; duration: number; eventType: number; hijackMsgsCount: number; hijackerAsn: number; hijackerCountry: string; isStale: boolean; maxHijackTs: string; maxMsgTs: string; minHijackTs: string; onGoingCount: number; peerAsns: BgpHijacksEventsListResponseEventsItemPeerAsnsList; peerIpCount: number; prefixes: BgpHijacksEventsListResponseEventsItemPrefixesList; tags: BgpHijacksEventsListResponseEventsItemTagsList; victimAsns: BgpHijacksEventsListResponseEventsItemVictimAsnsList; victimCountries: BgpHijacksEventsListResponseEventsItemVictimCountriesList; } export const BgpHijacksEventsListResponseEventsItem = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.Number, confidenceScore: S.Number.pipe(T.Body("confidence_score")), duration: S.Number, eventType: S.Number.pipe(T.Body("event_type")), hijackMsgsCount: S.Number.pipe(T.Body("hijack_msgs_count")), hijackerAsn: S.Number.pipe(T.Body("hijacker_asn")), hijackerCountry: S.String.pipe(T.Body("hijacker_country")), isStale: S.Boolean.pipe(T.Body("is_stale")), maxHijackTs: S.String.pipe(T.Body("max_hijack_ts")), maxMsgTs: S.String.pipe(T.Body("max_msg_ts")), minHijackTs: S.String.pipe(T.Body("min_hijack_ts")), onGoingCount: S.Number.pipe(T.Body("on_going_count")), peerAsns: BgpHijacksEventsListResponseEventsItemPeerAsnsList.pipe( T.Body("peer_asns"), ), peerIpCount: S.Number.pipe(T.Body("peer_ip_count")), prefixes: BgpHijacksEventsListResponseEventsItemPrefixesList, tags: BgpHijacksEventsListResponseEventsItemTagsList, victimAsns: BgpHijacksEventsListResponseEventsItemVictimAsnsList.pipe( T.Body("victim_asns"), ), victimCountries: BgpHijacksEventsListResponseEventsItemVictimCountriesList.pipe( T.Body("victim_countries"), ), }), ).annotate({ identifier: "BgpHijacksEventsListResponseEventsItem", }) as any as S.Schema; export type BgpHijacksEventsListResponseEventsList = Array; export const BgpHijacksEventsListResponseEventsList = /*@__PURE__*/ S.Array( BgpHijacksEventsListResponseEventsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ListBgpHijackEventsResponse { asnInfo: BgpHijacksEventsListResponseAsnInfoList; events: BgpHijacksEventsListResponseEventsList; totalMonitors: number; } export const ListBgpHijackEventsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ asnInfo: BgpHijacksEventsListResponseAsnInfoList.pipe(T.Body("asn_info")), events: BgpHijacksEventsListResponseEventsList, totalMonitors: S.Number.pipe(T.Body("total_monitors")), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListBgpHijackEventsResponse", }) as any as S.Schema; export type BgpLeaksEventsListRequestFormat = "JSON" | "CSV"; export const BgpLeaksEventsListRequestFormat = /*@__PURE__*/ S.String; export type BgpLeaksEventsListRequestSortBy = | "ID" | "LEAKS" | "PEERS" | "PREFIXES" | "ORIGINS" | "TIME"; export const BgpLeaksEventsListRequestSortBy = /*@__PURE__*/ S.String; export type BgpLeaksEventsListRequestSortOrder = "ASC" | "DESC"; export const BgpLeaksEventsListRequestSortOrder = /*@__PURE__*/ S.String; export interface ListBgpLeakEventsRequest { /** End of the date range (inclusive). */ dateEnd?: string; /** Filters results by date range. */ dateRange?: string; /** Start of the date range (inclusive). */ dateStart?: string; /** The unique identifier of a event. */ eventId?: number; /** Format in which results will be returned. */ format?: BgpLeaksEventsListRequestFormat | (string & {}); /** ASN that is causing or affected by a route leak event. */ involvedAsn?: number; /** Country code of a involved ASN in a route leak event. */ involvedCountry?: string; /** The leaking AS of a route leak event. */ leakAsn?: number; /** Current page number, starting from 1. */ page?: number; /** Number of entries per page. */ perPage?: number; /** Sorts results by the specified field. */ sortBy?: BgpLeaksEventsListRequestSortBy | (string & {}); /** Sort order. */ sortOrder?: BgpLeaksEventsListRequestSortOrder | (string & {}); } export const ListBgpLeakEventsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dateEnd: S.optional(S.String.pipe(T.Query())), dateRange: S.optional(S.String.pipe(T.Query())), dateStart: S.optional(S.String.pipe(T.Query())), eventId: S.optional(S.Number.pipe(T.Query())), format: S.optional(BgpLeaksEventsListRequestFormat.pipe(T.Query())), involvedAsn: S.optional(S.Number.pipe(T.Query())), involvedCountry: S.optional(S.String.pipe(T.Query())), leakAsn: S.optional(S.Number.pipe(T.Query())), page: S.optional(S.Number.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), sortBy: S.optional(BgpLeaksEventsListRequestSortBy.pipe(T.Query())), sortOrder: S.optional(BgpLeaksEventsListRequestSortOrder.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/bgp/leaks/events", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListBgpLeakEventsRequest", }) as any as S.Schema; export type BgpLeaksEventsListResponseAsnInfoItem = BgpHijacksEventsListResponseAsnInfoItem; export const BgpLeaksEventsListResponseAsnInfoItem = BgpHijacksEventsListResponseAsnInfoItem; export type BgpLeaksEventsListResponseAsnInfoList = Array; export const BgpLeaksEventsListResponseAsnInfoList = /*@__PURE__*/ S.Array( BgpHijacksEventsListResponseAsnInfoItem, ) as any as S.Schema; export type BgpLeaksEventsListResponseEventsItemCountriesList = Array; export const BgpLeaksEventsListResponseEventsItemCountriesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpLeaksEventsListResponseEventsItemLeakSegList = Array; export const BgpLeaksEventsListResponseEventsItemLeakSegList = /*@__PURE__*/ S.Array( S.Number, ) as any as S.Schema; export interface BgpLeaksEventsListResponseEventsItem { id: number; countries: BgpLeaksEventsListResponseEventsItemCountriesList; detectedTs: string; finished: boolean; leakAsn: number; leakCount: number; leakSeg: BgpLeaksEventsListResponseEventsItemLeakSegList; leakType: number; maxTs: string; minTs: string; originCount: number; peerCount: number; prefixCount: number; } export const BgpLeaksEventsListResponseEventsItem = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.Number, countries: BgpLeaksEventsListResponseEventsItemCountriesList, detectedTs: S.String.pipe(T.Body("detected_ts")), finished: S.Boolean, leakAsn: S.Number.pipe(T.Body("leak_asn")), leakCount: S.Number.pipe(T.Body("leak_count")), leakSeg: BgpLeaksEventsListResponseEventsItemLeakSegList.pipe( T.Body("leak_seg"), ), leakType: S.Number.pipe(T.Body("leak_type")), maxTs: S.String.pipe(T.Body("max_ts")), minTs: S.String.pipe(T.Body("min_ts")), originCount: S.Number.pipe(T.Body("origin_count")), peerCount: S.Number.pipe(T.Body("peer_count")), prefixCount: S.Number.pipe(T.Body("prefix_count")), }), ).annotate({ identifier: "BgpLeaksEventsListResponseEventsItem", }) as any as S.Schema; export type BgpLeaksEventsListResponseEventsList = Array; export const BgpLeaksEventsListResponseEventsList = /*@__PURE__*/ S.Array( BgpLeaksEventsListResponseEventsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ListBgpLeakEventsResponse { asnInfo: BgpLeaksEventsListResponseAsnInfoList; events: BgpLeaksEventsListResponseEventsList; } export const ListBgpLeakEventsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ asnInfo: BgpLeaksEventsListResponseAsnInfoList.pipe(T.Body("asn_info")), events: BgpLeaksEventsListResponseEventsList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListBgpLeakEventsResponse", }) as any as S.Schema; export type BotsListRequestBotCategory = | "SEARCH_ENGINE_CRAWLER" | "SEARCH_ENGINE_OPTIMIZATION" | "MONITORING_AND_ANALYTICS" | "ADVERTISING_AND_MARKETING" | "SOCIAL_MEDIA_MARKETING" | "PAGE_PREVIEW" | "ACADEMIC_RESEARCH" | "SECURITY" | "ACCESSIBILITY" | "WEBHOOKS" | "FEED_FETCHER" | "AI_CRAWLER" | "AGGREGATOR" | "AI_ASSISTANT" | "AI_SEARCH" | "ARCHIVER"; export const BotsListRequestBotCategory = /*@__PURE__*/ S.String; export type BotsListRequestBotVerificationStatus = "VERIFIED"; export const BotsListRequestBotVerificationStatus = /*@__PURE__*/ S.String; export type BotsListRequestFormat = "JSON" | "CSV"; export const BotsListRequestFormat = /*@__PURE__*/ S.String; export type BotsListRequestKind = "AGENT" | "BOT"; export const BotsListRequestKind = /*@__PURE__*/ S.String; export interface ListBotsRequest { /** Filters results by bot category. */ botCategory?: BotsListRequestBotCategory | (string & {}); /** Filters results by bot operator. */ botOperator?: string; /** Filters results by bot verification status. */ botVerificationStatus?: BotsListRequestBotVerificationStatus | (string & {}); /** Format in which results will be returned. */ format?: BotsListRequestFormat | (string & {}); /** Filters results by bot kind. Deprecated: the Verified Bot / Signed Agent distinction is being removed. */ kind?: BotsListRequestKind | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Skips the specified number of objects before fetching the results. */ offset?: number; } export const ListBotsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ botCategory: S.optional(BotsListRequestBotCategory.pipe(T.Query())), botOperator: S.optional(S.String.pipe(T.Query())), botVerificationStatus: S.optional( BotsListRequestBotVerificationStatus.pipe(T.Query()), ), format: S.optional(BotsListRequestFormat.pipe(T.Query())), kind: S.optional(BotsListRequestKind.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), offset: S.optional(S.Number.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/bots", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListBotsRequest", }) as any as S.Schema; export type BotsListResponseBotsItemUserAgentPatternsList = Array; export const BotsListResponseBotsItemUserAgentPatternsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BotsListResponseBotsItem { /** The category of the bot. */ category: string; /** A summary for the bot (e.g., purpose). */ description: string; /** The kind of the bot. */ kind: string; /** The name of the bot. */ name: string; /** The organization that owns and operates the bot. */ operator: string; /** A kebab-case identifier derived from the bot name. */ slug: string; userAgentPatterns: BotsListResponseBotsItemUserAgentPatternsList; } export const BotsListResponseBotsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ category: S.String, description: S.String, kind: S.String, name: S.String, operator: S.String, slug: S.String, userAgentPatterns: BotsListResponseBotsItemUserAgentPatternsList, }), ).annotate({ identifier: "BotsListResponseBotsItem", }) as any as S.Schema; export type BotsListResponseBotsList = Array; export const BotsListResponseBotsList = /*@__PURE__*/ S.Array( BotsListResponseBotsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ListBotsResponse { bots: BotsListResponseBotsList; } export const ListBotsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ bots: BotsListResponseBotsList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListBotsResponse", }) as any as S.Schema; export type CtAuthoritiesListRequestFormat = "JSON" | "CSV"; export const CtAuthoritiesListRequestFormat = /*@__PURE__*/ S.String; export interface ListCtAuthoritiesRequest { /** Format in which results will be returned. */ format?: CtAuthoritiesListRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Skips the specified number of objects before fetching the results. */ offset?: number; } export const ListCtAuthoritiesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ format: S.optional(CtAuthoritiesListRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), offset: S.optional(S.Number.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/ct/authorities", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListCtAuthoritiesRequest", }) as any as S.Schema; export type CtAuthoritiesListResponseCertificateAuthoritiesItemCertificateRecordType = | "ROOT_CERTIFICATE" | "INTERMEDIATE_CERTIFICATE"; export const CtAuthoritiesListResponseCertificateAuthoritiesItemCertificateRecordType = /*@__PURE__*/ S.String; export type CtAuthoritiesListResponseCertificateAuthoritiesItemRevocationStatus = | "NOT_REVOKED" | "REVOKED" | "PARENT_CERT_REVOKED"; export const CtAuthoritiesListResponseCertificateAuthoritiesItemRevocationStatus = /*@__PURE__*/ S.String; export interface CtAuthoritiesListResponseCertificateAuthoritiesItem { /** Specifies the type of certificate in the trust chain. */ certificateRecordType: CtAuthoritiesListResponseCertificateAuthoritiesItemCertificateRecordType; /** The two-letter ISO country code where the CA organization is based. */ country: string; /** The full country name corresponding to the country code. */ countryName: string; /** The full name of the certificate authority (CA). */ name: string; /** The organization that owns and operates the CA. */ owner: string; /** The name of the parent/root certificate authority that issued this intermediate certificate. */ parentName: string; /** The SHA-256 fingerprint of the parent certificate. */ parentSha256Fingerprint: string; /** The current revocation status of a Certificate Authority (CA) certificate. */ revocationStatus: CtAuthoritiesListResponseCertificateAuthoritiesItemRevocationStatus; /** The SHA-256 fingerprint of the intermediate certificate. */ sha256Fingerprint: string; } export const CtAuthoritiesListResponseCertificateAuthoritiesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ certificateRecordType: CtAuthoritiesListResponseCertificateAuthoritiesItemCertificateRecordType, country: S.String, countryName: S.String, name: S.String, owner: S.String, parentName: S.String, parentSha256Fingerprint: S.String, revocationStatus: CtAuthoritiesListResponseCertificateAuthoritiesItemRevocationStatus, sha256Fingerprint: S.String, }), ).annotate({ identifier: "CtAuthoritiesListResponseCertificateAuthoritiesItem", }) as any as S.Schema; export type CtAuthoritiesListResponseCertificateAuthoritiesList = Array; export const CtAuthoritiesListResponseCertificateAuthoritiesList = /*@__PURE__*/ S.Array( CtAuthoritiesListResponseCertificateAuthoritiesItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ListCtAuthoritiesResponse { certificateAuthorities: CtAuthoritiesListResponseCertificateAuthoritiesList; } export const ListCtAuthoritiesResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ certificateAuthorities: CtAuthoritiesListResponseCertificateAuthoritiesList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListCtAuthoritiesResponse", }) as any as S.Schema; export type CtLogsListRequestFormat = "JSON" | "CSV"; export const CtLogsListRequestFormat = /*@__PURE__*/ S.String; export interface ListCtLogsRequest { /** Format in which results will be returned. */ format?: CtLogsListRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Skips the specified number of objects before fetching the results. */ offset?: number; } export const ListCtLogsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ format: S.optional(CtLogsListRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), offset: S.optional(S.Number.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/ct/logs", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListCtLogsRequest", }) as any as S.Schema; export type CtLogsListResponseCertificateLogsItemApi = "RFC6962" | "STATIC"; export const CtLogsListResponseCertificateLogsItemApi = /*@__PURE__*/ S.String; export type CtLogsListResponseCertificateLogsItemState = | "USABLE" | "PENDING" | "QUALIFIED" | "READ_ONLY" | "RETIRED" | "REJECTED"; export const CtLogsListResponseCertificateLogsItemState = /*@__PURE__*/ S.String; export interface CtLogsListResponseCertificateLogsItem { /** The API standard that the certificate log follows. */ api: CtLogsListResponseCertificateLogsItemApi; /** A brief description of the certificate log. */ description: string; /** The end date and time for when the log will stop accepting certificates. */ endExclusive: string; /** The organization responsible for operating the certificate log. */ operator: string; /** A URL-friendly, kebab-case identifier for the certificate log. */ slug: string; /** The start date and time for when the log starts accepting certificates. */ startInclusive: string; /** The current state of the certificate log. More details about log states can be found here: https://googlechrome.github.io/CertificateTransparency/log_states.html */ state: CtLogsListResponseCertificateLogsItemState; /** Timestamp of when the log state was last updated. */ stateTimestamp: string; /** The URL for the certificate log. */ url: string; } export const CtLogsListResponseCertificateLogsItem = /*@__PURE__*/ S.suspend( () => S.Struct({ api: CtLogsListResponseCertificateLogsItemApi, description: S.String, endExclusive: S.String, operator: S.String, slug: S.String, startInclusive: S.String, state: CtLogsListResponseCertificateLogsItemState, stateTimestamp: S.String, url: S.String, }), ).annotate({ identifier: "CtLogsListResponseCertificateLogsItem", }) as any as S.Schema; export type CtLogsListResponseCertificateLogsList = Array; export const CtLogsListResponseCertificateLogsList = /*@__PURE__*/ S.Array( CtLogsListResponseCertificateLogsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ListCtLogsResponse { certificateLogs: CtLogsListResponseCertificateLogsList; } export const ListCtLogsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ certificateLogs: CtLogsListResponseCertificateLogsList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListCtLogsResponse", }) as any as S.Schema; export type DatasetsListRequestDatasetType = "RANKING_BUCKET" | "REPORT"; export const DatasetsListRequestDatasetType = /*@__PURE__*/ S.String; export type DatasetsListRequestFormat = "JSON" | "CSV"; export const DatasetsListRequestFormat = /*@__PURE__*/ S.String; export interface ListDatasetsRequest { /** Filters results by dataset type. */ datasetType?: DatasetsListRequestDatasetType | (string & {}); /** Filters results by the specified date. */ date?: string; /** Format in which results will be returned. */ format?: DatasetsListRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Skips the specified number of objects before fetching the results. */ offset?: number; } export const ListDatasetsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ datasetType: S.optional(DatasetsListRequestDatasetType.pipe(T.Query())), date: S.optional(S.String.pipe(T.Query())), format: S.optional(DatasetsListRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), offset: S.optional(S.Number.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/datasets", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListDatasetsRequest", }) as any as S.Schema; export type DatasetsListResponseDatasetsItemTagsList = Array; export const DatasetsListResponseDatasetsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DatasetsListResponseDatasetsItem { id: number; description: string; meta: unknown; tags: DatasetsListResponseDatasetsItemTagsList; title: string; type: string; } export const DatasetsListResponseDatasetsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.Number, description: S.String, meta: S.Unknown, tags: DatasetsListResponseDatasetsItemTagsList, title: S.String, type: S.String, }), ).annotate({ identifier: "DatasetsListResponseDatasetsItem", }) as any as S.Schema; export type DatasetsListResponseDatasetsList = Array; export const DatasetsListResponseDatasetsList = /*@__PURE__*/ S.Array( DatasetsListResponseDatasetsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ListDatasetsResponse { datasets: DatasetsListResponseDatasetsList; } export const ListDatasetsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ datasets: DatasetsListResponseDatasetsList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListDatasetsResponse", }) as any as S.Schema; export type EntitiesAsnsListRequestFormat = "JSON" | "CSV"; export const EntitiesAsnsListRequestFormat = /*@__PURE__*/ S.String; export type EntitiesAsnsListRequestOrderBy = "ASN" | "POPULATION"; export const EntitiesAsnsListRequestOrderBy = /*@__PURE__*/ S.String; export interface ListEntityAsnsRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. */ asn?: string; /** Format in which results will be returned. */ format?: EntitiesAsnsListRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify an alpha-2 location code. */ location?: string; /** Skips the specified number of objects before fetching the results. */ offset?: number; /** Specifies the metric to order the ASNs by. */ orderBy?: EntitiesAsnsListRequestOrderBy | (string & {}); } export const ListEntityAsnsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(S.String.pipe(T.Query())), format: S.optional(EntitiesAsnsListRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(S.String.pipe(T.Query())), offset: S.optional(S.Number.pipe(T.Query())), orderBy: S.optional(EntitiesAsnsListRequestOrderBy.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/entities/asns", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListEntityAsnsRequest", }) as any as S.Schema; export interface EntitiesAsnsListResponseAsnsItemEstimatedUsers { /** Total estimated users. */ estimatedUsers?: number | null; } export const EntitiesAsnsListResponseAsnsItemEstimatedUsers = /*@__PURE__*/ S.suspend(() => S.Struct({ estimatedUsers: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "EntitiesAsnsListResponseAsnsItemEstimatedUsers", }) as any as S.Schema; export interface EntitiesAsnsListResponseAsnsItem { asn: number; country: string; countryName: string; estimatedUsers: EntitiesAsnsListResponseAsnsItemEstimatedUsers; name: string; aka?: string | null; orgName?: string | null; website?: string | null; } export const EntitiesAsnsListResponseAsnsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.Number, country: S.String, countryName: S.String, estimatedUsers: EntitiesAsnsListResponseAsnsItemEstimatedUsers, name: S.String, aka: S.optional(S.NullOr(S.String)), orgName: S.optional(S.NullOr(S.String)), website: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "EntitiesAsnsListResponseAsnsItem", }) as any as S.Schema; export type EntitiesAsnsListResponseAsnsList = Array; export const EntitiesAsnsListResponseAsnsList = /*@__PURE__*/ S.Array( EntitiesAsnsListResponseAsnsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ListEntityAsnsResponse { asns: EntitiesAsnsListResponseAsnsList; } export const ListEntityAsnsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ asns: EntitiesAsnsListResponseAsnsList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListEntityAsnsResponse", }) as any as S.Schema; export type EntitiesLocationsListRequestContinent = | "AF" | "AS" | "EU" | "NA" | "OC" | "SA"; export const EntitiesLocationsListRequestContinent = /*@__PURE__*/ S.String; export type EntitiesLocationsListRequestFormat = "JSON" | "CSV"; export const EntitiesLocationsListRequestFormat = /*@__PURE__*/ S.String; export interface ListEntityLocationsRequest { /** Filters results by continent code. */ continent?: EntitiesLocationsListRequestContinent | (string & {}); /** Format in which results will be returned. */ format?: EntitiesLocationsListRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 location codes. */ location?: string; /** Skips the specified number of objects before fetching the results. */ offset?: number; /** Filters results by region. */ region?: string; /** Filters results by subregion. */ subregion?: string; } export const ListEntityLocationsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( EntitiesLocationsListRequestContinent.pipe(T.Query()), ), format: S.optional(EntitiesLocationsListRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(S.String.pipe(T.Query())), offset: S.optional(S.Number.pipe(T.Query())), region: S.optional(S.String.pipe(T.Query())), subregion: S.optional(S.String.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/entities/locations", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListEntityLocationsRequest", }) as any as S.Schema; export interface EntitiesLocationsListResponseLocationsItem { alpha2: string; continent: string; /** A numeric string. */ latitude: string; /** A numeric string. */ longitude: string; name: string; region: string; subregion: string; } export const EntitiesLocationsListResponseLocationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ alpha2: S.String, continent: S.String, latitude: S.String, longitude: S.String, name: S.String, region: S.String, subregion: S.String, }), ).annotate({ identifier: "EntitiesLocationsListResponseLocationsItem", }) as any as S.Schema; export type EntitiesLocationsListResponseLocationsList = Array; export const EntitiesLocationsListResponseLocationsList = /*@__PURE__*/ S.Array( EntitiesLocationsListResponseLocationsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ListEntityLocationsResponse { locations: EntitiesLocationsListResponseLocationsList; } export const ListEntityLocationsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ locations: EntitiesLocationsListResponseLocationsList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListEntityLocationsResponse", }) as any as S.Schema; export type GeolocationsListRequestFormat = "JSON" | "CSV"; export const GeolocationsListRequestFormat = /*@__PURE__*/ S.String; export interface ListGeolocationsRequest { /** Format in which results will be returned. */ format?: GeolocationsListRequestFormat | (string & {}); /** Filters results by geolocation. Specify a comma-separated list of GeoNames IDs. */ geoId?: string; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 location codes. */ location?: string; /** Skips the specified number of objects before fetching the results. */ offset?: number; } export const ListGeolocationsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ format: S.optional(GeolocationsListRequestFormat.pipe(T.Query())), geoId: S.optional(S.String.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(S.String.pipe(T.Query())), offset: S.optional(S.Number.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/geolocations", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListGeolocationsRequest", }) as any as S.Schema; export type GeolocationsListResponseGeolocationsItemParentParentType = | "CONTINENT" | "COUNTRY" | "ADM1"; export const GeolocationsListResponseGeolocationsItemParentParentType = /*@__PURE__*/ S.String; export interface GeolocationsListResponseGeolocationsItemParentParent { geoId: string; /** A numeric string. */ latitude: string; /** A numeric string. */ longitude: string; name: string; /** The type of the geolocation. */ type: GeolocationsListResponseGeolocationsItemParentParentType; code?: string | null; /** BCP 47 locale code used for the geolocation name translation */ locale?: string | null; } export const GeolocationsListResponseGeolocationsItemParentParent = /*@__PURE__*/ S.suspend(() => S.Struct({ geoId: S.String, latitude: S.String, longitude: S.String, name: S.String, type: GeolocationsListResponseGeolocationsItemParentParentType, code: S.optional(S.NullOr(S.String)), locale: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "GeolocationsListResponseGeolocationsItemParentParent", }) as any as S.Schema; export type GeolocationsListResponseGeolocationsItemParentType = | "CONTINENT" | "COUNTRY" | "ADM1"; export const GeolocationsListResponseGeolocationsItemParentType = /*@__PURE__*/ S.String; export interface GeolocationsListResponseGeolocationsItemParent { geoId: string; /** A numeric string. */ latitude: string; /** A numeric string. */ longitude: string; name: string; parent: GeolocationsListResponseGeolocationsItemParentParent; /** The type of the geolocation. */ type: GeolocationsListResponseGeolocationsItemParentType; code?: string | null; /** BCP 47 locale code used for the geolocation name translation */ locale?: string | null; } export const GeolocationsListResponseGeolocationsItemParent = /*@__PURE__*/ S.suspend(() => S.Struct({ geoId: S.String, latitude: S.String, longitude: S.String, name: S.String, parent: GeolocationsListResponseGeolocationsItemParentParent, type: GeolocationsListResponseGeolocationsItemParentType, code: S.optional(S.NullOr(S.String)), locale: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "GeolocationsListResponseGeolocationsItemParent", }) as any as S.Schema; export type GeolocationsListResponseGeolocationsItemType = | "CONTINENT" | "COUNTRY" | "ADM1"; export const GeolocationsListResponseGeolocationsItemType = /*@__PURE__*/ S.String; export interface GeolocationsListResponseGeolocationsItem { geoId: string; /** A numeric string. */ latitude: string; /** A numeric string. */ longitude: string; name: string; parent: GeolocationsListResponseGeolocationsItemParent; /** The type of the geolocation. */ type: GeolocationsListResponseGeolocationsItemType; code?: string | null; /** BCP 47 locale code used for the geolocation name translation */ locale?: string | null; } export const GeolocationsListResponseGeolocationsItem = /*@__PURE__*/ S.suspend( () => S.Struct({ geoId: S.String, latitude: S.String, longitude: S.String, name: S.String, parent: GeolocationsListResponseGeolocationsItemParent, type: GeolocationsListResponseGeolocationsItemType, code: S.optional(S.NullOr(S.String)), locale: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "GeolocationsListResponseGeolocationsItem", }) as any as S.Schema; export type GeolocationsListResponseGeolocationsList = Array; export const GeolocationsListResponseGeolocationsList = /*@__PURE__*/ S.Array( GeolocationsListResponseGeolocationsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ListGeolocationsResponse { geolocations: GeolocationsListResponseGeolocationsList; } export const ListGeolocationsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ geolocations: GeolocationsListResponseGeolocationsList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListGeolocationsResponse", }) as any as S.Schema; export type ListOriginsRequestFormat = "JSON" | "CSV"; export const ListOriginsRequestFormat = /*@__PURE__*/ S.String; export interface ListOriginsRequest { /** Format in which results will be returned. */ format?: ListOriginsRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Skips the specified number of objects before fetching the results. */ offset?: number; } export const ListOriginsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ format: S.optional(ListOriginsRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), offset: S.optional(S.Number.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/origins", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListOriginsRequest", }) as any as S.Schema; export type ListOriginsResponseOriginsItemRegionsItem = GetOriginResponseOriginRegionsItem; export const ListOriginsResponseOriginsItemRegionsItem = GetOriginResponseOriginRegionsItem; export type ListOriginsResponseOriginsItemRegionsList = Array; export const ListOriginsResponseOriginsItemRegionsList = /*@__PURE__*/ S.Array( GetOriginResponseOriginRegionsItem, ) as any as S.Schema; export interface ListOriginsResponseOriginsItem { regions: ListOriginsResponseOriginsItemRegionsList; /** The origin slug. */ slug: string; } export const ListOriginsResponseOriginsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ regions: ListOriginsResponseOriginsItemRegionsList, slug: S.String, }), ).annotate({ identifier: "ListOriginsResponseOriginsItem", }) as any as S.Schema; export type ListOriginsResponseOriginsList = Array; export const ListOriginsResponseOriginsList = /*@__PURE__*/ S.Array( ListOriginsResponseOriginsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ListOriginsResponse { origins: ListOriginsResponseOriginsList; } export const ListOriginsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ origins: ListOriginsResponseOriginsList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListOriginsResponse", }) as any as S.Schema; export type ListTldsRequestFormat = "JSON" | "CSV"; export const ListTldsRequestFormat = /*@__PURE__*/ S.String; export type ListTldsRequestTldType = | "GENERIC" | "COUNTRY_CODE" | "GENERIC_RESTRICTED" | "INFRASTRUCTURE" | "SPONSORED"; export const ListTldsRequestTldType = /*@__PURE__*/ S.String; export interface ListTldsRequest { /** Format in which results will be returned. */ format?: ListTldsRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Skips the specified number of objects before fetching the results. */ offset?: number; /** Filters results by top-level domain. Specify a comma-separated list of TLDs. */ tld?: string; /** Filters results by TLD manager. */ tldManager?: string; /** Filters results by TLD type. */ tldType?: ListTldsRequestTldType | (string & {}); } export const ListTldsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ format: S.optional(ListTldsRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), offset: S.optional(S.Number.pipe(T.Query())), tld: S.optional(S.String.pipe(T.Query())), tldManager: S.optional(S.String.pipe(T.Query())), tldType: S.optional(ListTldsRequestTldType.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/tlds", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListTldsRequest", }) as any as S.Schema; export type ListTldsResponseTldsItem = GetTldResponseTld; export const ListTldsResponseTldsItem = GetTldResponseTld; export type ListTldsResponseTldsList = Array; export const ListTldsResponseTldsList = /*@__PURE__*/ S.Array( GetTldResponseTld, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ListTldsResponse { tlds: ListTldsResponseTldsList; } export const ListTldsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ tlds: ListTldsResponseTldsList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListTldsResponse", }) as any as S.Schema; export type AnnotationsOutagesLocationsRequestFormat = "JSON" | "CSV"; export const AnnotationsOutagesLocationsRequestFormat = /*@__PURE__*/ S.String; export interface LocationsAnnotationOutageRequest { /** End of the date range (inclusive). */ dateEnd?: string; /** Filters results by date range. */ dateRange?: string; /** Start of the date range (inclusive). */ dateStart?: string; /** Format in which results will be returned. */ format?: AnnotationsOutagesLocationsRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; } export const LocationsAnnotationOutageRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dateEnd: S.optional(S.String.pipe(T.Query())), dateRange: S.optional(S.String.pipe(T.Query())), dateStart: S.optional(S.String.pipe(T.Query())), format: S.optional( AnnotationsOutagesLocationsRequestFormat.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/annotations/outages/locations", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "LocationsAnnotationOutageRequest", }) as any as S.Schema; export type AnnotationsOutagesLocationsResponseAnnotationsItem = As112TopDnssecResponseTop0Item; export const AnnotationsOutagesLocationsResponseAnnotationsItem = As112TopDnssecResponseTop0Item; export type AnnotationsOutagesLocationsResponseAnnotationsList = Array; export const AnnotationsOutagesLocationsResponseAnnotationsList = /*@__PURE__*/ S.Array( As112TopDnssecResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface LocationsAnnotationOutageResponse { annotations: AnnotationsOutagesLocationsResponseAnnotationsList; } export const LocationsAnnotationOutageResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AnnotationsOutagesLocationsResponseAnnotationsList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "LocationsAnnotationOutageResponse", }) as any as S.Schema; export type As112TopLocationsRequestContinentList = Array; export const As112TopLocationsRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopLocationsRequestDateEndList = Array; export const As112TopLocationsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopLocationsRequestDateRangeList = Array; export const As112TopLocationsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopLocationsRequestDateStartList = Array; export const As112TopLocationsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopLocationsRequestFormat = "JSON" | "CSV"; export const As112TopLocationsRequestFormat = /*@__PURE__*/ S.String; export type As112TopLocationsRequestLocationList = Array; export const As112TopLocationsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TopLocationsRequestNameList = Array; export const As112TopLocationsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface LocationsAs112TopRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112TopLocationsRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112TopLocationsRequestDateEndList; /** 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). */ dateRange?: As112TopLocationsRequestDateRangeList; /** Start of the date range. */ dateStart?: As112TopLocationsRequestDateStartList; /** Format in which results will be returned. */ format?: As112TopLocationsRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112TopLocationsRequestLocationList; /** Array of names used to label the series in the response. */ name?: As112TopLocationsRequestNameList; } export const LocationsAs112TopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( As112TopLocationsRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(As112TopLocationsRequestDateEndList.pipe(T.Query())), dateRange: S.optional( As112TopLocationsRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( As112TopLocationsRequestDateStartList.pipe(T.Query()), ), format: S.optional(As112TopLocationsRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(As112TopLocationsRequestLocationList.pipe(T.Query())), name: S.optional(As112TopLocationsRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/top/locations", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "LocationsAs112TopRequest", }) as any as S.Schema; export type As112TopLocationsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112TopLocationsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112TopLocationsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112TopLocationsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112TopLocationsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112TopLocationsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TopLocationsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112TopLocationsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112TopLocationsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112TopLocationsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112TopLocationsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112TopLocationsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112TopLocationsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112TopLocationsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112TopLocationsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112TopLocationsResponseMetaConfidenceInfoAnnotationsList = Array; export const As112TopLocationsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112TopLocationsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112TopLocationsResponseMetaConfidenceInfo { annotations: As112TopLocationsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112TopLocationsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: As112TopLocationsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112TopLocationsResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112TopLocationsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112TopLocationsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112TopLocationsResponseMetaDateRangeList = Array; export const As112TopLocationsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112TopLocationsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112TopLocationsResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112TopLocationsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112TopLocationsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112TopLocationsResponseMetaUnitsList = Array; export const As112TopLocationsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112TopLocationsResponseMeta { confidenceInfo: As112TopLocationsResponseMetaConfidenceInfo; dateRange: As112TopLocationsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112TopLocationsResponseMetaNormalization; /** Measurement units for the results. */ units: As112TopLocationsResponseMetaUnitsList; } export const As112TopLocationsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: As112TopLocationsResponseMetaConfidenceInfo, dateRange: As112TopLocationsResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112TopLocationsResponseMetaNormalization, units: As112TopLocationsResponseMetaUnitsList, }), ).annotate({ identifier: "As112TopLocationsResponseMeta", }) as any as S.Schema; export type As112TopLocationsResponseTop0Item = As112TopDnssecResponseTop0Item; export const As112TopLocationsResponseTop0Item = As112TopDnssecResponseTop0Item; export type As112TopLocationsResponseTop0List = Array; export const As112TopLocationsResponseTop0List = /*@__PURE__*/ S.Array( As112TopDnssecResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface LocationsAs112TopResponse { /** Metadata for the results. */ meta: As112TopLocationsResponseMeta; top_0: As112TopLocationsResponseTop0List; } export const LocationsAs112TopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: As112TopLocationsResponseMeta, top_0: As112TopLocationsResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "LocationsAs112TopResponse", }) as any as S.Schema; export type DnsTopLocationsRequestAsnList = Array; export const DnsTopLocationsRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTopLocationsRequestCacheHitList = Array; export const DnsTopLocationsRequestCacheHitList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTopLocationsRequestContinentList = Array; export const DnsTopLocationsRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTopLocationsRequestDateEndList = Array; export const DnsTopLocationsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTopLocationsRequestDateRangeList = Array; export const DnsTopLocationsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTopLocationsRequestDateStartList = Array; export const DnsTopLocationsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTopLocationsRequestDnssec = | "INVALID" | "INSECURE" | "SECURE" | "OTHER"; export const DnsTopLocationsRequestDnssec = /*@__PURE__*/ S.String; export type DnsTopLocationsRequestDnssecList = Array< DnsTopLocationsRequestDnssec | (string & {}) >; export const DnsTopLocationsRequestDnssecList = /*@__PURE__*/ S.Array( DnsTopLocationsRequestDnssec, ) as any as S.Schema; export type DnsTopLocationsRequestDnssecAware = "SUPPORTED" | "NOT_SUPPORTED"; export const DnsTopLocationsRequestDnssecAware = /*@__PURE__*/ S.String; export type DnsTopLocationsRequestDnssecAwareList = Array< DnsTopLocationsRequestDnssecAware | (string & {}) >; export const DnsTopLocationsRequestDnssecAwareList = /*@__PURE__*/ S.Array( DnsTopLocationsRequestDnssecAware, ) as any as S.Schema; export type DnsTopLocationsRequestDnssecE2eList = Array; export const DnsTopLocationsRequestDnssecE2eList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTopLocationsRequestDomainList = Array; export const DnsTopLocationsRequestDomainList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTopLocationsRequestFormat = "JSON" | "CSV"; export const DnsTopLocationsRequestFormat = /*@__PURE__*/ S.String; export type DnsTopLocationsRequestIpVersion = "IPv4" | "IPv6"; export const DnsTopLocationsRequestIpVersion = /*@__PURE__*/ S.String; export type DnsTopLocationsRequestIpVersionList = Array< DnsTopLocationsRequestIpVersion | (string & {}) >; export const DnsTopLocationsRequestIpVersionList = /*@__PURE__*/ S.Array( DnsTopLocationsRequestIpVersion, ) as any as S.Schema; export type DnsTopLocationsRequestLocationList = Array; export const DnsTopLocationsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTopLocationsRequestMatchingAnswerList = Array; export const DnsTopLocationsRequestMatchingAnswerList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTopLocationsRequestNameList = Array; export const DnsTopLocationsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTopLocationsRequestNodataList = Array; export const DnsTopLocationsRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTopLocationsRequestProtocol = "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsTopLocationsRequestProtocol = /*@__PURE__*/ S.String; export type DnsTopLocationsRequestProtocolList = Array< DnsTopLocationsRequestProtocol | (string & {}) >; export const DnsTopLocationsRequestProtocolList = /*@__PURE__*/ S.Array( DnsTopLocationsRequestProtocol, ) as any as S.Schema; export type DnsTopLocationsRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsTopLocationsRequestQueryType = /*@__PURE__*/ S.String; export type DnsTopLocationsRequestQueryTypeList = Array< DnsTopLocationsRequestQueryType | (string & {}) >; export const DnsTopLocationsRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsTopLocationsRequestQueryType, ) as any as S.Schema; export type DnsTopLocationsRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsTopLocationsRequestResponseCode = /*@__PURE__*/ S.String; export type DnsTopLocationsRequestResponseCodeList = Array< DnsTopLocationsRequestResponseCode | (string & {}) >; export const DnsTopLocationsRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsTopLocationsRequestResponseCode, ) as any as S.Schema; export type DnsTopLocationsRequestResponseTtl = | "LTE_1M" | "GT_1M_LTE_5M" | "GT_5M_LTE_15M" | "GT_15M_LTE_1H" | "GT_1H_LTE_1D" | "GT_1D_LTE_1W" | "GT_1W"; export const DnsTopLocationsRequestResponseTtl = /*@__PURE__*/ S.String; export type DnsTopLocationsRequestResponseTtlList = Array< DnsTopLocationsRequestResponseTtl | (string & {}) >; export const DnsTopLocationsRequestResponseTtlList = /*@__PURE__*/ S.Array( DnsTopLocationsRequestResponseTtl, ) as any as S.Schema; export type DnsTopLocationsRequestTldList = Array; export const DnsTopLocationsRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface LocationsDnsTopRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsTopLocationsRequestAsnList; /** Filters results based on cache status. */ cacheHit?: DnsTopLocationsRequestCacheHitList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsTopLocationsRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsTopLocationsRequestDateEndList; /** 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). */ dateRange?: DnsTopLocationsRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsTopLocationsRequestDateStartList; /** Filters results based on DNSSEC (DNS Security Extensions) support. */ dnssec?: DnsTopLocationsRequestDnssecList; /** Filters results based on DNSSEC (DNS Security Extensions) client awareness. */ dnssecAware?: DnsTopLocationsRequestDnssecAwareList; /** Filters results based on DNSSEC-validated answers by end-to-end security status. */ dnssecE2e?: DnsTopLocationsRequestDnssecE2eList; /** Filters results by domain name. */ domain?: DnsTopLocationsRequestDomainList; /** Format in which results will be returned. */ format?: DnsTopLocationsRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: DnsTopLocationsRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsTopLocationsRequestLocationList; /** Filters results based on whether the queries have a matching answer. */ matchingAnswer?: DnsTopLocationsRequestMatchingAnswerList; /** Array of names used to label the series in the response. */ name?: DnsTopLocationsRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsTopLocationsRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsTopLocationsRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsTopLocationsRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsTopLocationsRequestResponseCodeList; /** Filters results by DNS response TTL. */ responseTtl?: DnsTopLocationsRequestResponseTtlList; /** Filters results by top-level domain. */ tld?: DnsTopLocationsRequestTldList; } export const LocationsDnsTopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(DnsTopLocationsRequestAsnList.pipe(T.Query())), cacheHit: S.optional(DnsTopLocationsRequestCacheHitList.pipe(T.Query())), continent: S.optional(DnsTopLocationsRequestContinentList.pipe(T.Query())), dateEnd: S.optional(DnsTopLocationsRequestDateEndList.pipe(T.Query())), dateRange: S.optional(DnsTopLocationsRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(DnsTopLocationsRequestDateStartList.pipe(T.Query())), dnssec: S.optional(DnsTopLocationsRequestDnssecList.pipe(T.Query())), dnssecAware: S.optional( DnsTopLocationsRequestDnssecAwareList.pipe(T.Query()), ), dnssecE2e: S.optional(DnsTopLocationsRequestDnssecE2eList.pipe(T.Query())), domain: S.optional(DnsTopLocationsRequestDomainList.pipe(T.Query())), format: S.optional(DnsTopLocationsRequestFormat.pipe(T.Query())), ipVersion: S.optional(DnsTopLocationsRequestIpVersionList.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(DnsTopLocationsRequestLocationList.pipe(T.Query())), matchingAnswer: S.optional( DnsTopLocationsRequestMatchingAnswerList.pipe(T.Query()), ), name: S.optional(DnsTopLocationsRequestNameList.pipe(T.Query())), nodata: S.optional(DnsTopLocationsRequestNodataList.pipe(T.Query())), protocol: S.optional(DnsTopLocationsRequestProtocolList.pipe(T.Query())), queryType: S.optional(DnsTopLocationsRequestQueryTypeList.pipe(T.Query())), responseCode: S.optional( DnsTopLocationsRequestResponseCodeList.pipe(T.Query()), ), responseTtl: S.optional( DnsTopLocationsRequestResponseTtlList.pipe(T.Query()), ), tld: S.optional(DnsTopLocationsRequestTldList.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/dns/top/locations", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "LocationsDnsTopRequest", }) as any as S.Schema; export type DnsTopLocationsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsTopLocationsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsTopLocationsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsTopLocationsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsTopLocationsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsTopLocationsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTopLocationsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsTopLocationsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsTopLocationsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsTopLocationsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsTopLocationsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsTopLocationsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsTopLocationsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsTopLocationsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsTopLocationsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsTopLocationsResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsTopLocationsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsTopLocationsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsTopLocationsResponseMetaConfidenceInfo { annotations: DnsTopLocationsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsTopLocationsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsTopLocationsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsTopLocationsResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsTopLocationsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsTopLocationsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsTopLocationsResponseMetaDateRangeList = Array; export const DnsTopLocationsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsTopLocationsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsTopLocationsResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsTopLocationsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsTopLocationsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsTopLocationsResponseMetaUnitsList = Array; export const DnsTopLocationsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsTopLocationsResponseMeta { confidenceInfo: DnsTopLocationsResponseMetaConfidenceInfo; dateRange: DnsTopLocationsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsTopLocationsResponseMetaNormalization; /** Measurement units for the results. */ units: DnsTopLocationsResponseMetaUnitsList; } export const DnsTopLocationsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: DnsTopLocationsResponseMetaConfidenceInfo, dateRange: DnsTopLocationsResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsTopLocationsResponseMetaNormalization, units: DnsTopLocationsResponseMetaUnitsList, }), ).annotate({ identifier: "DnsTopLocationsResponseMeta", }) as any as S.Schema; export type DnsTopLocationsResponseTop0Item = As112TopDnssecResponseTop0Item; export const DnsTopLocationsResponseTop0Item = As112TopDnssecResponseTop0Item; export type DnsTopLocationsResponseTop0List = Array; export const DnsTopLocationsResponseTop0List = /*@__PURE__*/ S.Array( As112TopDnssecResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface LocationsDnsTopResponse { /** Metadata for the results. */ meta: DnsTopLocationsResponseMeta; top_0: DnsTopLocationsResponseTop0List; } export const LocationsDnsTopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsTopLocationsResponseMeta, top_0: DnsTopLocationsResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "LocationsDnsTopResponse", }) as any as S.Schema; export type NetflowsTopLocationsRequestAsnList = Array; export const NetflowsTopLocationsRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTopLocationsRequestContinentList = Array; export const NetflowsTopLocationsRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTopLocationsRequestDateEndList = Array; export const NetflowsTopLocationsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTopLocationsRequestDateRangeList = Array; export const NetflowsTopLocationsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTopLocationsRequestDateStartList = Array; export const NetflowsTopLocationsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTopLocationsRequestFormat = "JSON" | "CSV"; export const NetflowsTopLocationsRequestFormat = /*@__PURE__*/ S.String; export type NetflowsTopLocationsRequestGeoIdList = Array; export const NetflowsTopLocationsRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTopLocationsRequestLocationList = Array; export const NetflowsTopLocationsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTopLocationsRequestNameList = Array; export const NetflowsTopLocationsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface LocationsNetflowTopRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: NetflowsTopLocationsRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: NetflowsTopLocationsRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: NetflowsTopLocationsRequestDateEndList; /** 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). */ dateRange?: NetflowsTopLocationsRequestDateRangeList; /** Start of the date range. */ dateStart?: NetflowsTopLocationsRequestDateStartList; /** Format in which results will be returned. */ format?: NetflowsTopLocationsRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: NetflowsTopLocationsRequestGeoIdList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: NetflowsTopLocationsRequestLocationList; /** Array of names used to label the series in the response. */ name?: NetflowsTopLocationsRequestNameList; } export const LocationsNetflowTopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(NetflowsTopLocationsRequestAsnList.pipe(T.Query())), continent: S.optional( NetflowsTopLocationsRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(NetflowsTopLocationsRequestDateEndList.pipe(T.Query())), dateRange: S.optional( NetflowsTopLocationsRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( NetflowsTopLocationsRequestDateStartList.pipe(T.Query()), ), format: S.optional(NetflowsTopLocationsRequestFormat.pipe(T.Query())), geoId: S.optional(NetflowsTopLocationsRequestGeoIdList.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( NetflowsTopLocationsRequestLocationList.pipe(T.Query()), ), name: S.optional(NetflowsTopLocationsRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/netflows/top/locations", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "LocationsNetflowTopRequest", }) as any as S.Schema; export type NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsList = Array; export const NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface NetflowsTopLocationsResponseMetaConfidenceInfo { annotations: NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const NetflowsTopLocationsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: NetflowsTopLocationsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "NetflowsTopLocationsResponseMetaConfidenceInfo", }) as any as S.Schema; export type NetflowsTopLocationsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const NetflowsTopLocationsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type NetflowsTopLocationsResponseMetaDateRangeList = Array; export const NetflowsTopLocationsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type NetflowsTopLocationsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const NetflowsTopLocationsResponseMetaNormalization = /*@__PURE__*/ S.String; export type NetflowsTopLocationsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const NetflowsTopLocationsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type NetflowsTopLocationsResponseMetaUnitsList = Array; export const NetflowsTopLocationsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface NetflowsTopLocationsResponseMeta { confidenceInfo: NetflowsTopLocationsResponseMetaConfidenceInfo; dateRange: NetflowsTopLocationsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: NetflowsTopLocationsResponseMetaNormalization; /** Measurement units for the results. */ units: NetflowsTopLocationsResponseMetaUnitsList; } export const NetflowsTopLocationsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: NetflowsTopLocationsResponseMetaConfidenceInfo, dateRange: NetflowsTopLocationsResponseMetaDateRangeList, lastUpdated: S.String, normalization: NetflowsTopLocationsResponseMetaNormalization, units: NetflowsTopLocationsResponseMetaUnitsList, }), ).annotate({ identifier: "NetflowsTopLocationsResponseMeta", }) as any as S.Schema; export type NetflowsTopLocationsResponseTop0Item = As112TopDnssecResponseTop0Item; export const NetflowsTopLocationsResponseTop0Item = As112TopDnssecResponseTop0Item; export type NetflowsTopLocationsResponseTop0List = Array; export const NetflowsTopLocationsResponseTop0List = /*@__PURE__*/ S.Array( As112TopDnssecResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface LocationsNetflowTopResponse { /** Metadata for the results. */ meta: NetflowsTopLocationsResponseMeta; top_0: NetflowsTopLocationsResponseTop0List; } export const LocationsNetflowTopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: NetflowsTopLocationsResponseMeta, top_0: NetflowsTopLocationsResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "LocationsNetflowTopResponse", }) as any as S.Schema; export type QualitySpeedTopLocationsRequestAsnList = Array; export const QualitySpeedTopLocationsRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedTopLocationsRequestContinentList = Array; export const QualitySpeedTopLocationsRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedTopLocationsRequestDateEndList = Array; export const QualitySpeedTopLocationsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedTopLocationsRequestFormat = "JSON" | "CSV"; export const QualitySpeedTopLocationsRequestFormat = /*@__PURE__*/ S.String; export type QualitySpeedTopLocationsRequestLocationList = Array; export const QualitySpeedTopLocationsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedTopLocationsRequestNameList = Array; export const QualitySpeedTopLocationsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedTopLocationsRequestOrderBy = | "BANDWIDTH_DOWNLOAD" | "BANDWIDTH_UPLOAD" | "LATENCY_IDLE" | "LATENCY_LOADED" | "JITTER_IDLE" | "JITTER_LOADED"; export const QualitySpeedTopLocationsRequestOrderBy = /*@__PURE__*/ S.String; export interface LocationsQualitySpeedTopRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: QualitySpeedTopLocationsRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: QualitySpeedTopLocationsRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: QualitySpeedTopLocationsRequestDateEndList; /** Format in which results will be returned. */ format?: QualitySpeedTopLocationsRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: QualitySpeedTopLocationsRequestLocationList; /** Array of names used to label the series in the response. */ name?: QualitySpeedTopLocationsRequestNameList; /** Specifies the metric to order the results by. */ orderBy?: QualitySpeedTopLocationsRequestOrderBy | (string & {}); /** Reverses the order of results. */ reverse?: boolean; } export const LocationsQualitySpeedTopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(QualitySpeedTopLocationsRequestAsnList.pipe(T.Query())), continent: S.optional( QualitySpeedTopLocationsRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( QualitySpeedTopLocationsRequestDateEndList.pipe(T.Query()), ), format: S.optional(QualitySpeedTopLocationsRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( QualitySpeedTopLocationsRequestLocationList.pipe(T.Query()), ), name: S.optional(QualitySpeedTopLocationsRequestNameList.pipe(T.Query())), orderBy: S.optional(QualitySpeedTopLocationsRequestOrderBy.pipe(T.Query())), reverse: S.optional(S.Boolean.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/quality/speed/top/locations", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "LocationsQualitySpeedTopRequest", }) as any as S.Schema; export type QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsList = Array; export const QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface QualitySpeedTopLocationsResponseMetaConfidenceInfo { annotations: QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const QualitySpeedTopLocationsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: QualitySpeedTopLocationsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "QualitySpeedTopLocationsResponseMetaConfidenceInfo", }) as any as S.Schema; export type QualitySpeedTopLocationsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const QualitySpeedTopLocationsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type QualitySpeedTopLocationsResponseMetaDateRangeList = Array; export const QualitySpeedTopLocationsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type QualitySpeedTopLocationsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const QualitySpeedTopLocationsResponseMetaNormalization = /*@__PURE__*/ S.String; export type QualitySpeedTopLocationsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const QualitySpeedTopLocationsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type QualitySpeedTopLocationsResponseMetaUnitsList = Array; export const QualitySpeedTopLocationsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface QualitySpeedTopLocationsResponseMeta { confidenceInfo: QualitySpeedTopLocationsResponseMetaConfidenceInfo; dateRange: QualitySpeedTopLocationsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: QualitySpeedTopLocationsResponseMetaNormalization; /** Measurement units for the results. */ units: QualitySpeedTopLocationsResponseMetaUnitsList; } export const QualitySpeedTopLocationsResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: QualitySpeedTopLocationsResponseMetaConfidenceInfo, dateRange: QualitySpeedTopLocationsResponseMetaDateRangeList, lastUpdated: S.String, normalization: QualitySpeedTopLocationsResponseMetaNormalization, units: QualitySpeedTopLocationsResponseMetaUnitsList, }), ).annotate({ identifier: "QualitySpeedTopLocationsResponseMeta", }) as any as S.Schema; export interface QualitySpeedTopLocationsResponseTop0Item { bandwidthDownload: string; bandwidthUpload: string; clientCountryAlpha2: string; clientCountryName: string; jitterIdle: string; jitterLoaded: string; latencyIdle: string; latencyLoaded: string; numTests: number; rankPower: number; } export const QualitySpeedTopLocationsResponseTop0Item = /*@__PURE__*/ S.suspend( () => S.Struct({ bandwidthDownload: S.String, bandwidthUpload: S.String, clientCountryAlpha2: S.String, clientCountryName: S.String, jitterIdle: S.String, jitterLoaded: S.String, latencyIdle: S.String, latencyLoaded: S.String, numTests: S.Number, rankPower: S.Number, }), ).annotate({ identifier: "QualitySpeedTopLocationsResponseTop0Item", }) as any as S.Schema; export type QualitySpeedTopLocationsResponseTop0List = Array; export const QualitySpeedTopLocationsResponseTop0List = /*@__PURE__*/ S.Array( QualitySpeedTopLocationsResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface LocationsQualitySpeedTopResponse { /** Metadata for the results. */ meta: QualitySpeedTopLocationsResponseMeta; top_0: QualitySpeedTopLocationsResponseTop0List; } export const LocationsQualitySpeedTopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: QualitySpeedTopLocationsResponseMeta, top_0: QualitySpeedTopLocationsResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "LocationsQualitySpeedTopResponse", }) as any as S.Schema; export type EmailSecuritySummaryMaliciousRequestArc = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryMaliciousRequestArc = /*@__PURE__*/ S.String; export type EmailSecuritySummaryMaliciousRequestArcList = Array< EmailSecuritySummaryMaliciousRequestArc | (string & {}) >; export const EmailSecuritySummaryMaliciousRequestArcList = /*@__PURE__*/ S.Array( EmailSecuritySummaryMaliciousRequestArc, ) as any as S.Schema; export type EmailSecuritySummaryMaliciousRequestDateEndList = Array; export const EmailSecuritySummaryMaliciousRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryMaliciousRequestDateRangeList = Array; export const EmailSecuritySummaryMaliciousRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryMaliciousRequestDateStartList = Array; export const EmailSecuritySummaryMaliciousRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryMaliciousRequestDkim = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryMaliciousRequestDkim = /*@__PURE__*/ S.String; export type EmailSecuritySummaryMaliciousRequestDkimList = Array< EmailSecuritySummaryMaliciousRequestDkim | (string & {}) >; export const EmailSecuritySummaryMaliciousRequestDkimList = /*@__PURE__*/ S.Array( EmailSecuritySummaryMaliciousRequestDkim, ) as any as S.Schema; export type EmailSecuritySummaryMaliciousRequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryMaliciousRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecuritySummaryMaliciousRequestDmarcList = Array< EmailSecuritySummaryMaliciousRequestDmarc | (string & {}) >; export const EmailSecuritySummaryMaliciousRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecuritySummaryMaliciousRequestDmarc, ) as any as S.Schema; export type EmailSecuritySummaryMaliciousRequestFormat = "JSON" | "CSV"; export const EmailSecuritySummaryMaliciousRequestFormat = /*@__PURE__*/ S.String; export type EmailSecuritySummaryMaliciousRequestNameList = Array; export const EmailSecuritySummaryMaliciousRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryMaliciousRequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryMaliciousRequestSpf = /*@__PURE__*/ S.String; export type EmailSecuritySummaryMaliciousRequestSpfList = Array< EmailSecuritySummaryMaliciousRequestSpf | (string & {}) >; export const EmailSecuritySummaryMaliciousRequestSpfList = /*@__PURE__*/ S.Array( EmailSecuritySummaryMaliciousRequestSpf, ) as any as S.Schema; export type EmailSecuritySummaryMaliciousRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecuritySummaryMaliciousRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecuritySummaryMaliciousRequestTlsVersionList = Array< EmailSecuritySummaryMaliciousRequestTlsVersion | (string & {}) >; export const EmailSecuritySummaryMaliciousRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecuritySummaryMaliciousRequestTlsVersion, ) as any as S.Schema; export interface MaliciousEmailSecuritySummaryRequest { /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecuritySummaryMaliciousRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecuritySummaryMaliciousRequestDateEndList; /** 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). */ dateRange?: EmailSecuritySummaryMaliciousRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecuritySummaryMaliciousRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecuritySummaryMaliciousRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecuritySummaryMaliciousRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecuritySummaryMaliciousRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecuritySummaryMaliciousRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecuritySummaryMaliciousRequestSpfList; /** Filters results by TLS version. */ tlsVersion?: EmailSecuritySummaryMaliciousRequestTlsVersionList; } export const MaliciousEmailSecuritySummaryRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ arc: S.optional( EmailSecuritySummaryMaliciousRequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailSecuritySummaryMaliciousRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecuritySummaryMaliciousRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecuritySummaryMaliciousRequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailSecuritySummaryMaliciousRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailSecuritySummaryMaliciousRequestDmarcList.pipe(T.Query()), ), format: S.optional( EmailSecuritySummaryMaliciousRequestFormat.pipe(T.Query()), ), name: S.optional( EmailSecuritySummaryMaliciousRequestNameList.pipe(T.Query()), ), spf: S.optional( EmailSecuritySummaryMaliciousRequestSpfList.pipe(T.Query()), ), tlsVersion: S.optional( EmailSecuritySummaryMaliciousRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/summary/malicious", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "MaliciousEmailSecuritySummaryRequest", }) as any as S.Schema; export type EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecuritySummaryMaliciousResponseMetaConfidenceInfo { annotations: EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecuritySummaryMaliciousResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecuritySummaryMaliciousResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecuritySummaryMaliciousResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecuritySummaryMaliciousResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecuritySummaryMaliciousResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecuritySummaryMaliciousResponseMetaDateRangeList = Array; export const EmailSecuritySummaryMaliciousResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecuritySummaryMaliciousResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecuritySummaryMaliciousResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecuritySummaryMaliciousResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecuritySummaryMaliciousResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecuritySummaryMaliciousResponseMetaUnitsList = Array; export const EmailSecuritySummaryMaliciousResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecuritySummaryMaliciousResponseMeta { confidenceInfo: EmailSecuritySummaryMaliciousResponseMetaConfidenceInfo; dateRange: EmailSecuritySummaryMaliciousResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecuritySummaryMaliciousResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecuritySummaryMaliciousResponseMetaUnitsList; } export const EmailSecuritySummaryMaliciousResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: EmailSecuritySummaryMaliciousResponseMetaConfidenceInfo, dateRange: EmailSecuritySummaryMaliciousResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecuritySummaryMaliciousResponseMetaNormalization, units: EmailSecuritySummaryMaliciousResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecuritySummaryMaliciousResponseMeta", }) as any as S.Schema; export interface EmailSecuritySummaryMaliciousResponseSummary0 { /** A numeric string. */ mALICIOUS: string; /** A numeric string. */ nOTMALICIOUS: string; } export const EmailSecuritySummaryMaliciousResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ mALICIOUS: S.String.pipe(T.Body("MALICIOUS")), nOTMALICIOUS: S.String.pipe(T.Body("NOT_MALICIOUS")), }), ).annotate({ identifier: "EmailSecuritySummaryMaliciousResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface MaliciousEmailSecuritySummaryResponse { /** Metadata for the results. */ meta: EmailSecuritySummaryMaliciousResponseMeta; summary_0: EmailSecuritySummaryMaliciousResponseSummary0; } export const MaliciousEmailSecuritySummaryResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: EmailSecuritySummaryMaliciousResponseMeta, summary_0: EmailSecuritySummaryMaliciousResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "MaliciousEmailSecuritySummaryResponse", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsMaliciousRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const EmailSecurityTimeseriesGroupsMaliciousRequestAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsMaliciousRequestArc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsMaliciousRequestArc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsMaliciousRequestArcList = Array< EmailSecurityTimeseriesGroupsMaliciousRequestArc | (string & {}) >; export const EmailSecurityTimeseriesGroupsMaliciousRequestArcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsMaliciousRequestArc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsMaliciousRequestDateEndList = Array; export const EmailSecurityTimeseriesGroupsMaliciousRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsMaliciousRequestDateRangeList = Array; export const EmailSecurityTimeseriesGroupsMaliciousRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsMaliciousRequestDateStartList = Array; export const EmailSecurityTimeseriesGroupsMaliciousRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsMaliciousRequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsMaliciousRequestDkim = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsMaliciousRequestDkimList = Array< EmailSecurityTimeseriesGroupsMaliciousRequestDkim | (string & {}) >; export const EmailSecurityTimeseriesGroupsMaliciousRequestDkimList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsMaliciousRequestDkim, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsMaliciousRequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsMaliciousRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsMaliciousRequestDmarcList = Array< EmailSecurityTimeseriesGroupsMaliciousRequestDmarc | (string & {}) >; export const EmailSecurityTimeseriesGroupsMaliciousRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsMaliciousRequestDmarc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsMaliciousRequestFormat = | "JSON" | "CSV"; export const EmailSecurityTimeseriesGroupsMaliciousRequestFormat = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsMaliciousRequestNameList = Array; export const EmailSecurityTimeseriesGroupsMaliciousRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsMaliciousRequestSpf = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsMaliciousRequestSpf = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsMaliciousRequestSpfList = Array< EmailSecurityTimeseriesGroupsMaliciousRequestSpf | (string & {}) >; export const EmailSecurityTimeseriesGroupsMaliciousRequestSpfList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsMaliciousRequestSpf, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsMaliciousRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecurityTimeseriesGroupsMaliciousRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsMaliciousRequestTlsVersionList = Array< EmailSecurityTimeseriesGroupsMaliciousRequestTlsVersion | (string & {}) >; export const EmailSecurityTimeseriesGroupsMaliciousRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsMaliciousRequestTlsVersion, ) as any as S.Schema; export interface MaliciousEmailSecurityTimeseriesGroupRequest { /** 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/). */ aggInterval?: | EmailSecurityTimeseriesGroupsMaliciousRequestAggInterval | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecurityTimeseriesGroupsMaliciousRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecurityTimeseriesGroupsMaliciousRequestDateEndList; /** 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). */ dateRange?: EmailSecurityTimeseriesGroupsMaliciousRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecurityTimeseriesGroupsMaliciousRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecurityTimeseriesGroupsMaliciousRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecurityTimeseriesGroupsMaliciousRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecurityTimeseriesGroupsMaliciousRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecurityTimeseriesGroupsMaliciousRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecurityTimeseriesGroupsMaliciousRequestSpfList; /** Filters results by TLS version. */ tlsVersion?: EmailSecurityTimeseriesGroupsMaliciousRequestTlsVersionList; } export const MaliciousEmailSecurityTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( EmailSecurityTimeseriesGroupsMaliciousRequestAggInterval.pipe( T.Query(), ), ), arc: S.optional( EmailSecurityTimeseriesGroupsMaliciousRequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailSecurityTimeseriesGroupsMaliciousRequestDateEndList.pipe( T.Query(), ), ), dateRange: S.optional( EmailSecurityTimeseriesGroupsMaliciousRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( EmailSecurityTimeseriesGroupsMaliciousRequestDateStartList.pipe( T.Query(), ), ), dkim: S.optional( EmailSecurityTimeseriesGroupsMaliciousRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailSecurityTimeseriesGroupsMaliciousRequestDmarcList.pipe(T.Query()), ), format: S.optional( EmailSecurityTimeseriesGroupsMaliciousRequestFormat.pipe(T.Query()), ), name: S.optional( EmailSecurityTimeseriesGroupsMaliciousRequestNameList.pipe(T.Query()), ), spf: S.optional( EmailSecurityTimeseriesGroupsMaliciousRequestSpfList.pipe(T.Query()), ), tlsVersion: S.optional( EmailSecurityTimeseriesGroupsMaliciousRequestTlsVersionList.pipe( T.Query(), ), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/timeseries_groups/malicious", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "MaliciousEmailSecurityTimeseriesGroupRequest", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsMaliciousResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const EmailSecurityTimeseriesGroupsMaliciousResponseMetaAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfo { annotations: EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsMaliciousResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecurityTimeseriesGroupsMaliciousResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecurityTimeseriesGroupsMaliciousResponseMetaDateRangeList = Array; export const EmailSecurityTimeseriesGroupsMaliciousResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsMaliciousResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecurityTimeseriesGroupsMaliciousResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsMaliciousResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecurityTimeseriesGroupsMaliciousResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecurityTimeseriesGroupsMaliciousResponseMetaUnitsList = Array; export const EmailSecurityTimeseriesGroupsMaliciousResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsMaliciousResponseMeta { /** 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/). */ aggInterval: EmailSecurityTimeseriesGroupsMaliciousResponseMetaAggInterval; confidenceInfo: EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfo; dateRange: EmailSecurityTimeseriesGroupsMaliciousResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecurityTimeseriesGroupsMaliciousResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecurityTimeseriesGroupsMaliciousResponseMetaUnitsList; } export const EmailSecurityTimeseriesGroupsMaliciousResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: EmailSecurityTimeseriesGroupsMaliciousResponseMetaAggInterval, confidenceInfo: EmailSecurityTimeseriesGroupsMaliciousResponseMetaConfidenceInfo, dateRange: EmailSecurityTimeseriesGroupsMaliciousResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecurityTimeseriesGroupsMaliciousResponseMetaNormalization, units: EmailSecurityTimeseriesGroupsMaliciousResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsMaliciousResponseMeta", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsMaliciousResponseSerie0MALICIOUSList = Array; export const EmailSecurityTimeseriesGroupsMaliciousResponseSerie0MALICIOUSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsMaliciousResponseSerie0NOTMALICIOUSList = Array; export const EmailSecurityTimeseriesGroupsMaliciousResponseSerie0NOTMALICIOUSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsMaliciousResponseSerie0 { mALICIOUS: EmailSecurityTimeseriesGroupsMaliciousResponseSerie0MALICIOUSList; nOTMALICIOUS: EmailSecurityTimeseriesGroupsMaliciousResponseSerie0NOTMALICIOUSList; } export const EmailSecurityTimeseriesGroupsMaliciousResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ mALICIOUS: EmailSecurityTimeseriesGroupsMaliciousResponseSerie0MALICIOUSList.pipe( T.Body("MALICIOUS"), ), nOTMALICIOUS: EmailSecurityTimeseriesGroupsMaliciousResponseSerie0NOTMALICIOUSList.pipe( T.Body("NOT_MALICIOUS"), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsMaliciousResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface MaliciousEmailSecurityTimeseriesGroupResponse { /** Metadata for the results. */ meta: EmailSecurityTimeseriesGroupsMaliciousResponseMeta; serie_0: EmailSecurityTimeseriesGroupsMaliciousResponseSerie0; } export const MaliciousEmailSecurityTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailSecurityTimeseriesGroupsMaliciousResponseMeta, serie_0: EmailSecurityTimeseriesGroupsMaliciousResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "MaliciousEmailSecurityTimeseriesGroupResponse", }) as any as S.Schema; export type AttacksLayer7SummaryManagedRulesRequestAsnList = Array; export const AttacksLayer7SummaryManagedRulesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryManagedRulesRequestContinentList = Array; export const AttacksLayer7SummaryManagedRulesRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryManagedRulesRequestDateEndList = Array; export const AttacksLayer7SummaryManagedRulesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryManagedRulesRequestDateRangeList = Array; export const AttacksLayer7SummaryManagedRulesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryManagedRulesRequestDateStartList = Array; export const AttacksLayer7SummaryManagedRulesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryManagedRulesRequestFormat = "JSON" | "CSV"; export const AttacksLayer7SummaryManagedRulesRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryManagedRulesRequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7SummaryManagedRulesRequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryManagedRulesRequestHttpMethodList = Array< AttacksLayer7SummaryManagedRulesRequestHttpMethod | (string & {}) >; export const AttacksLayer7SummaryManagedRulesRequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryManagedRulesRequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7SummaryManagedRulesRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7SummaryManagedRulesRequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryManagedRulesRequestHttpVersionList = Array< AttacksLayer7SummaryManagedRulesRequestHttpVersion | (string & {}) >; export const AttacksLayer7SummaryManagedRulesRequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryManagedRulesRequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7SummaryManagedRulesRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer7SummaryManagedRulesRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryManagedRulesRequestIpVersionList = Array< AttacksLayer7SummaryManagedRulesRequestIpVersion | (string & {}) >; export const AttacksLayer7SummaryManagedRulesRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryManagedRulesRequestIpVersion, ) as any as S.Schema; export type AttacksLayer7SummaryManagedRulesRequestLocationList = Array; export const AttacksLayer7SummaryManagedRulesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryManagedRulesRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7SummaryManagedRulesRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryManagedRulesRequestMitigationProductList = Array< AttacksLayer7SummaryManagedRulesRequestMitigationProduct | (string & {}) >; export const AttacksLayer7SummaryManagedRulesRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryManagedRulesRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7SummaryManagedRulesRequestNameList = Array; export const AttacksLayer7SummaryManagedRulesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ManagedRulesAttackLayer7SummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7SummaryManagedRulesRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7SummaryManagedRulesRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7SummaryManagedRulesRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7SummaryManagedRulesRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7SummaryManagedRulesRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7SummaryManagedRulesRequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7SummaryManagedRulesRequestHttpMethodList; /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7SummaryManagedRulesRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7SummaryManagedRulesRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7SummaryManagedRulesRequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7SummaryManagedRulesRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7SummaryManagedRulesRequestNameList; } export const ManagedRulesAttackLayer7SummaryRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ asn: S.optional( AttacksLayer7SummaryManagedRulesRequestAsnList.pipe(T.Query()), ), continent: S.optional( AttacksLayer7SummaryManagedRulesRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer7SummaryManagedRulesRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7SummaryManagedRulesRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer7SummaryManagedRulesRequestDateStartList.pipe(T.Query()), ), format: S.optional( AttacksLayer7SummaryManagedRulesRequestFormat.pipe(T.Query()), ), httpMethod: S.optional( AttacksLayer7SummaryManagedRulesRequestHttpMethodList.pipe(T.Query()), ), httpVersion: S.optional( AttacksLayer7SummaryManagedRulesRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer7SummaryManagedRulesRequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer7SummaryManagedRulesRequestLocationList.pipe(T.Query()), ), mitigationProduct: S.optional( AttacksLayer7SummaryManagedRulesRequestMitigationProductList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer7SummaryManagedRulesRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/summary/managed_rules", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ManagedRulesAttackLayer7SummaryRequest", }) as any as S.Schema; export type AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfo { annotations: AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7SummaryManagedRulesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7SummaryManagedRulesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7SummaryManagedRulesResponseMetaDateRangeList = Array; export const AttacksLayer7SummaryManagedRulesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7SummaryManagedRulesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7SummaryManagedRulesResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryManagedRulesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7SummaryManagedRulesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7SummaryManagedRulesResponseMetaUnitsList = Array; export const AttacksLayer7SummaryManagedRulesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7SummaryManagedRulesResponseMeta { confidenceInfo: AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfo; dateRange: AttacksLayer7SummaryManagedRulesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7SummaryManagedRulesResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7SummaryManagedRulesResponseMetaUnitsList; } export const AttacksLayer7SummaryManagedRulesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AttacksLayer7SummaryManagedRulesResponseMetaConfidenceInfo, dateRange: AttacksLayer7SummaryManagedRulesResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7SummaryManagedRulesResponseMetaNormalization, units: AttacksLayer7SummaryManagedRulesResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7SummaryManagedRulesResponseMeta", }) as any as S.Schema; export type AttacksLayer7SummaryManagedRulesResponseSummary0Map = { [key: string]: string | undefined; }; export const AttacksLayer7SummaryManagedRulesResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ManagedRulesAttackLayer7SummaryResponse { /** Metadata for the results. */ meta: AttacksLayer7SummaryManagedRulesResponseMeta; summary_0: AttacksLayer7SummaryManagedRulesResponseSummary0Map; } export const ManagedRulesAttackLayer7SummaryResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: AttacksLayer7SummaryManagedRulesResponseMeta, summary_0: AttacksLayer7SummaryManagedRulesResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ManagedRulesAttackLayer7SummaryResponse", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestAsnList = Array; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestContinentList = Array; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestDateEndList = Array; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestDateRangeList = Array; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestDateStartList = Array; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestFormat = | "JSON" | "CSV"; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestHttpMethodList = Array< AttacksLayer7TimeseriesGroupsManagedRulesRequestHttpMethod | (string & {}) >; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsManagedRulesRequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestHttpVersionList = Array< AttacksLayer7TimeseriesGroupsManagedRulesRequestHttpVersion | (string & {}) >; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsManagedRulesRequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestIpVersion = | "IPv4" | "IPv6"; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestIpVersionList = Array< AttacksLayer7TimeseriesGroupsManagedRulesRequestIpVersion | (string & {}) >; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsManagedRulesRequestIpVersion, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestLocationList = Array; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestMitigationProductList = Array< | AttacksLayer7TimeseriesGroupsManagedRulesRequestMitigationProduct | (string & {}) >; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsManagedRulesRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestNameList = Array; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsManagedRulesRequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const AttacksLayer7TimeseriesGroupsManagedRulesRequestNormalization = /*@__PURE__*/ S.String; export interface ManagedRulesAttackLayer7TimeseriesGroupRequest { /** 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/). */ aggInterval?: | AttacksLayer7TimeseriesGroupsManagedRulesRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7TimeseriesGroupsManagedRulesRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7TimeseriesGroupsManagedRulesRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7TimeseriesGroupsManagedRulesRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7TimeseriesGroupsManagedRulesRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7TimeseriesGroupsManagedRulesRequestDateStartList; /** Format in which results will be returned. */ format?: | AttacksLayer7TimeseriesGroupsManagedRulesRequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7TimeseriesGroupsManagedRulesRequestHttpMethodList; /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7TimeseriesGroupsManagedRulesRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7TimeseriesGroupsManagedRulesRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7TimeseriesGroupsManagedRulesRequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7TimeseriesGroupsManagedRulesRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7TimeseriesGroupsManagedRulesRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AttacksLayer7TimeseriesGroupsManagedRulesRequestNormalization | (string & {}); } export const ManagedRulesAttackLayer7TimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AttacksLayer7TimeseriesGroupsManagedRulesRequestAggInterval.pipe( T.Query(), ), ), asn: S.optional( AttacksLayer7TimeseriesGroupsManagedRulesRequestAsnList.pipe(T.Query()), ), continent: S.optional( AttacksLayer7TimeseriesGroupsManagedRulesRequestContinentList.pipe( T.Query(), ), ), dateEnd: S.optional( AttacksLayer7TimeseriesGroupsManagedRulesRequestDateEndList.pipe( T.Query(), ), ), dateRange: S.optional( AttacksLayer7TimeseriesGroupsManagedRulesRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( AttacksLayer7TimeseriesGroupsManagedRulesRequestDateStartList.pipe( T.Query(), ), ), format: S.optional( AttacksLayer7TimeseriesGroupsManagedRulesRequestFormat.pipe(T.Query()), ), httpMethod: S.optional( AttacksLayer7TimeseriesGroupsManagedRulesRequestHttpMethodList.pipe( T.Query(), ), ), httpVersion: S.optional( AttacksLayer7TimeseriesGroupsManagedRulesRequestHttpVersionList.pipe( T.Query(), ), ), ipVersion: S.optional( AttacksLayer7TimeseriesGroupsManagedRulesRequestIpVersionList.pipe( T.Query(), ), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer7TimeseriesGroupsManagedRulesRequestLocationList.pipe( T.Query(), ), ), mitigationProduct: S.optional( AttacksLayer7TimeseriesGroupsManagedRulesRequestMitigationProductList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer7TimeseriesGroupsManagedRulesRequestNameList.pipe( T.Query(), ), ), normalization: S.optional( AttacksLayer7TimeseriesGroupsManagedRulesRequestNormalization.pipe( T.Query(), ), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/timeseries_groups/managed_rules", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ManagedRulesAttackLayer7TimeseriesGroupRequest", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfo { annotations: AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaDateRangeList = Array; export const AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaUnitsList = Array; export const AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsManagedRulesResponseMeta { /** 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/). */ aggInterval: AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaAggInterval; confidenceInfo: AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfo; dateRange: AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaUnitsList; } export const AttacksLayer7TimeseriesGroupsManagedRulesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaAggInterval, confidenceInfo: AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaConfidenceInfo, dateRange: AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaNormalization, units: AttacksLayer7TimeseriesGroupsManagedRulesResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsManagedRulesResponseMeta", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsManagedRulesResponseSerie0TimestampsList = Array; export const AttacksLayer7TimeseriesGroupsManagedRulesResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsManagedRulesResponseSerie0 { timestamps: AttacksLayer7TimeseriesGroupsManagedRulesResponseSerie0TimestampsList; } export const AttacksLayer7TimeseriesGroupsManagedRulesResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: AttacksLayer7TimeseriesGroupsManagedRulesResponseSerie0TimestampsList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsManagedRulesResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ManagedRulesAttackLayer7TimeseriesGroupResponse { /** Metadata for the results. */ meta: AttacksLayer7TimeseriesGroupsManagedRulesResponseMeta; serie_0: AttacksLayer7TimeseriesGroupsManagedRulesResponseSerie0; } export const ManagedRulesAttackLayer7TimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer7TimeseriesGroupsManagedRulesResponseMeta, serie_0: AttacksLayer7TimeseriesGroupsManagedRulesResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ManagedRulesAttackLayer7TimeseriesGroupResponse", }) as any as S.Schema; export type DnsSummaryMatchingAnswerRequestAsnList = Array; export const DnsSummaryMatchingAnswerRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryMatchingAnswerRequestContinentList = Array; export const DnsSummaryMatchingAnswerRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryMatchingAnswerRequestDateEndList = Array; export const DnsSummaryMatchingAnswerRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryMatchingAnswerRequestDateRangeList = Array; export const DnsSummaryMatchingAnswerRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryMatchingAnswerRequestDateStartList = Array; export const DnsSummaryMatchingAnswerRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryMatchingAnswerRequestFormat = "JSON" | "CSV"; export const DnsSummaryMatchingAnswerRequestFormat = /*@__PURE__*/ S.String; export type DnsSummaryMatchingAnswerRequestLocationList = Array; export const DnsSummaryMatchingAnswerRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryMatchingAnswerRequestNameList = Array; export const DnsSummaryMatchingAnswerRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryMatchingAnswerRequestNodataList = Array; export const DnsSummaryMatchingAnswerRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsSummaryMatchingAnswerRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsSummaryMatchingAnswerRequestProtocol = /*@__PURE__*/ S.String; export type DnsSummaryMatchingAnswerRequestProtocolList = Array< DnsSummaryMatchingAnswerRequestProtocol | (string & {}) >; export const DnsSummaryMatchingAnswerRequestProtocolList = /*@__PURE__*/ S.Array( DnsSummaryMatchingAnswerRequestProtocol, ) as any as S.Schema; export type DnsSummaryMatchingAnswerRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsSummaryMatchingAnswerRequestQueryType = /*@__PURE__*/ S.String; export type DnsSummaryMatchingAnswerRequestQueryTypeList = Array< DnsSummaryMatchingAnswerRequestQueryType | (string & {}) >; export const DnsSummaryMatchingAnswerRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsSummaryMatchingAnswerRequestQueryType, ) as any as S.Schema; export type DnsSummaryMatchingAnswerRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsSummaryMatchingAnswerRequestResponseCode = /*@__PURE__*/ S.String; export type DnsSummaryMatchingAnswerRequestResponseCodeList = Array< DnsSummaryMatchingAnswerRequestResponseCode | (string & {}) >; export const DnsSummaryMatchingAnswerRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsSummaryMatchingAnswerRequestResponseCode, ) as any as S.Schema; export type DnsSummaryMatchingAnswerRequestTldList = Array; export const DnsSummaryMatchingAnswerRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface MatchingAnswerDnsSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsSummaryMatchingAnswerRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsSummaryMatchingAnswerRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsSummaryMatchingAnswerRequestDateEndList; /** 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). */ dateRange?: DnsSummaryMatchingAnswerRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsSummaryMatchingAnswerRequestDateStartList; /** Format in which results will be returned. */ format?: DnsSummaryMatchingAnswerRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsSummaryMatchingAnswerRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsSummaryMatchingAnswerRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsSummaryMatchingAnswerRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsSummaryMatchingAnswerRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsSummaryMatchingAnswerRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsSummaryMatchingAnswerRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsSummaryMatchingAnswerRequestTldList; } export const MatchingAnswerDnsSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(DnsSummaryMatchingAnswerRequestAsnList.pipe(T.Query())), continent: S.optional( DnsSummaryMatchingAnswerRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( DnsSummaryMatchingAnswerRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( DnsSummaryMatchingAnswerRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsSummaryMatchingAnswerRequestDateStartList.pipe(T.Query()), ), format: S.optional(DnsSummaryMatchingAnswerRequestFormat.pipe(T.Query())), location: S.optional( DnsSummaryMatchingAnswerRequestLocationList.pipe(T.Query()), ), name: S.optional(DnsSummaryMatchingAnswerRequestNameList.pipe(T.Query())), nodata: S.optional( DnsSummaryMatchingAnswerRequestNodataList.pipe(T.Query()), ), protocol: S.optional( DnsSummaryMatchingAnswerRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( DnsSummaryMatchingAnswerRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( DnsSummaryMatchingAnswerRequestResponseCodeList.pipe(T.Query()), ), tld: S.optional(DnsSummaryMatchingAnswerRequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/summary/matching_answer", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "MatchingAnswerDnsSummaryRequest", }) as any as S.Schema; export type DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsSummaryMatchingAnswerResponseMetaConfidenceInfo { annotations: DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsSummaryMatchingAnswerResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsSummaryMatchingAnswerResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsSummaryMatchingAnswerResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsSummaryMatchingAnswerResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsSummaryMatchingAnswerResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsSummaryMatchingAnswerResponseMetaDateRangeList = Array; export const DnsSummaryMatchingAnswerResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsSummaryMatchingAnswerResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsSummaryMatchingAnswerResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsSummaryMatchingAnswerResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsSummaryMatchingAnswerResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsSummaryMatchingAnswerResponseMetaUnitsList = Array; export const DnsSummaryMatchingAnswerResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsSummaryMatchingAnswerResponseMeta { confidenceInfo: DnsSummaryMatchingAnswerResponseMetaConfidenceInfo; dateRange: DnsSummaryMatchingAnswerResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsSummaryMatchingAnswerResponseMetaNormalization; /** Measurement units for the results. */ units: DnsSummaryMatchingAnswerResponseMetaUnitsList; } export const DnsSummaryMatchingAnswerResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: DnsSummaryMatchingAnswerResponseMetaConfidenceInfo, dateRange: DnsSummaryMatchingAnswerResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsSummaryMatchingAnswerResponseMetaNormalization, units: DnsSummaryMatchingAnswerResponseMetaUnitsList, }), ).annotate({ identifier: "DnsSummaryMatchingAnswerResponseMeta", }) as any as S.Schema; export type DnsSummaryMatchingAnswerResponseSummary0 = DnsSummaryCacheHitResponseSummary0; export const DnsSummaryMatchingAnswerResponseSummary0 = DnsSummaryCacheHitResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface MatchingAnswerDnsSummaryResponse { /** Metadata for the results. */ meta: DnsSummaryMatchingAnswerResponseMeta; summary_0: DnsSummaryCacheHitResponseSummary0; } export const MatchingAnswerDnsSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsSummaryMatchingAnswerResponseMeta, summary_0: DnsSummaryCacheHitResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "MatchingAnswerDnsSummaryResponse", }) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const DnsTimeseriesGroupsMatchingAnswerRequestAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsMatchingAnswerRequestAsnList = Array; export const DnsTimeseriesGroupsMatchingAnswerRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerRequestContinentList = Array; export const DnsTimeseriesGroupsMatchingAnswerRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerRequestDateEndList = Array; export const DnsTimeseriesGroupsMatchingAnswerRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerRequestDateRangeList = Array; export const DnsTimeseriesGroupsMatchingAnswerRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerRequestDateStartList = Array; export const DnsTimeseriesGroupsMatchingAnswerRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerRequestFormat = "JSON" | "CSV"; export const DnsTimeseriesGroupsMatchingAnswerRequestFormat = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsMatchingAnswerRequestLocationList = Array; export const DnsTimeseriesGroupsMatchingAnswerRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerRequestNameList = Array; export const DnsTimeseriesGroupsMatchingAnswerRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerRequestNodataList = Array; export const DnsTimeseriesGroupsMatchingAnswerRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsTimeseriesGroupsMatchingAnswerRequestProtocol = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsMatchingAnswerRequestProtocolList = Array< DnsTimeseriesGroupsMatchingAnswerRequestProtocol | (string & {}) >; export const DnsTimeseriesGroupsMatchingAnswerRequestProtocolList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsMatchingAnswerRequestProtocol, ) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsTimeseriesGroupsMatchingAnswerRequestQueryType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsMatchingAnswerRequestQueryTypeList = Array< DnsTimeseriesGroupsMatchingAnswerRequestQueryType | (string & {}) >; export const DnsTimeseriesGroupsMatchingAnswerRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsMatchingAnswerRequestQueryType, ) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsTimeseriesGroupsMatchingAnswerRequestResponseCode = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsMatchingAnswerRequestResponseCodeList = Array< DnsTimeseriesGroupsMatchingAnswerRequestResponseCode | (string & {}) >; export const DnsTimeseriesGroupsMatchingAnswerRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsMatchingAnswerRequestResponseCode, ) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerRequestTldList = Array; export const DnsTimeseriesGroupsMatchingAnswerRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface MatchingAnswerDnsTimeseriesGroupRequest { /** 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/). */ aggInterval?: | DnsTimeseriesGroupsMatchingAnswerRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsTimeseriesGroupsMatchingAnswerRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsTimeseriesGroupsMatchingAnswerRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsTimeseriesGroupsMatchingAnswerRequestDateEndList; /** 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). */ dateRange?: DnsTimeseriesGroupsMatchingAnswerRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsTimeseriesGroupsMatchingAnswerRequestDateStartList; /** Format in which results will be returned. */ format?: DnsTimeseriesGroupsMatchingAnswerRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsTimeseriesGroupsMatchingAnswerRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsTimeseriesGroupsMatchingAnswerRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsTimeseriesGroupsMatchingAnswerRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsTimeseriesGroupsMatchingAnswerRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsTimeseriesGroupsMatchingAnswerRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsTimeseriesGroupsMatchingAnswerRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsTimeseriesGroupsMatchingAnswerRequestTldList; } export const MatchingAnswerDnsTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( DnsTimeseriesGroupsMatchingAnswerRequestAggInterval.pipe(T.Query()), ), asn: S.optional( DnsTimeseriesGroupsMatchingAnswerRequestAsnList.pipe(T.Query()), ), continent: S.optional( DnsTimeseriesGroupsMatchingAnswerRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( DnsTimeseriesGroupsMatchingAnswerRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( DnsTimeseriesGroupsMatchingAnswerRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsTimeseriesGroupsMatchingAnswerRequestDateStartList.pipe(T.Query()), ), format: S.optional( DnsTimeseriesGroupsMatchingAnswerRequestFormat.pipe(T.Query()), ), location: S.optional( DnsTimeseriesGroupsMatchingAnswerRequestLocationList.pipe(T.Query()), ), name: S.optional( DnsTimeseriesGroupsMatchingAnswerRequestNameList.pipe(T.Query()), ), nodata: S.optional( DnsTimeseriesGroupsMatchingAnswerRequestNodataList.pipe(T.Query()), ), protocol: S.optional( DnsTimeseriesGroupsMatchingAnswerRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( DnsTimeseriesGroupsMatchingAnswerRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( DnsTimeseriesGroupsMatchingAnswerRequestResponseCodeList.pipe( T.Query(), ), ), tld: S.optional( DnsTimeseriesGroupsMatchingAnswerRequestTldList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/timeseries_groups/matching_answer", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "MatchingAnswerDnsTimeseriesGroupRequest", }) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const DnsTimeseriesGroupsMatchingAnswerResponseMetaAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfo { annotations: DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsTimeseriesGroupsMatchingAnswerResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsTimeseriesGroupsMatchingAnswerResponseMetaDateRangeList = Array; export const DnsTimeseriesGroupsMatchingAnswerResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsTimeseriesGroupsMatchingAnswerResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsMatchingAnswerResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsTimeseriesGroupsMatchingAnswerResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsTimeseriesGroupsMatchingAnswerResponseMetaUnitsList = Array; export const DnsTimeseriesGroupsMatchingAnswerResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsMatchingAnswerResponseMeta { /** 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/). */ aggInterval: DnsTimeseriesGroupsMatchingAnswerResponseMetaAggInterval; confidenceInfo: DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfo; dateRange: DnsTimeseriesGroupsMatchingAnswerResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsTimeseriesGroupsMatchingAnswerResponseMetaNormalization; /** Measurement units for the results. */ units: DnsTimeseriesGroupsMatchingAnswerResponseMetaUnitsList; } export const DnsTimeseriesGroupsMatchingAnswerResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: DnsTimeseriesGroupsMatchingAnswerResponseMetaAggInterval, confidenceInfo: DnsTimeseriesGroupsMatchingAnswerResponseMetaConfidenceInfo, dateRange: DnsTimeseriesGroupsMatchingAnswerResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsTimeseriesGroupsMatchingAnswerResponseMetaNormalization, units: DnsTimeseriesGroupsMatchingAnswerResponseMetaUnitsList, }), ).annotate({ identifier: "DnsTimeseriesGroupsMatchingAnswerResponseMeta", }) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerResponseSerie0NEGATIVEList = Array; export const DnsTimeseriesGroupsMatchingAnswerResponseSerie0NEGATIVEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsMatchingAnswerResponseSerie0POSITIVEList = Array; export const DnsTimeseriesGroupsMatchingAnswerResponseSerie0POSITIVEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsMatchingAnswerResponseSerie0 { nEGATIVE: DnsTimeseriesGroupsMatchingAnswerResponseSerie0NEGATIVEList; pOSITIVE: DnsTimeseriesGroupsMatchingAnswerResponseSerie0POSITIVEList; } export const DnsTimeseriesGroupsMatchingAnswerResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ nEGATIVE: DnsTimeseriesGroupsMatchingAnswerResponseSerie0NEGATIVEList.pipe( T.Body("NEGATIVE"), ), pOSITIVE: DnsTimeseriesGroupsMatchingAnswerResponseSerie0POSITIVEList.pipe( T.Body("POSITIVE"), ), }), ).annotate({ identifier: "DnsTimeseriesGroupsMatchingAnswerResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface MatchingAnswerDnsTimeseriesGroupResponse { /** Metadata for the results. */ meta: DnsTimeseriesGroupsMatchingAnswerResponseMeta; serie_0: DnsTimeseriesGroupsMatchingAnswerResponseSerie0; } export const MatchingAnswerDnsTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: DnsTimeseriesGroupsMatchingAnswerResponseMeta, serie_0: DnsTimeseriesGroupsMatchingAnswerResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "MatchingAnswerDnsTimeseriesGroupResponse", }) as any as S.Schema; export type AttacksLayer7SummaryMitigationProductRequestAsnList = Array; export const AttacksLayer7SummaryMitigationProductRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryMitigationProductRequestContinentList = Array; export const AttacksLayer7SummaryMitigationProductRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryMitigationProductRequestDateEndList = Array; export const AttacksLayer7SummaryMitigationProductRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryMitigationProductRequestDateRangeList = Array; export const AttacksLayer7SummaryMitigationProductRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryMitigationProductRequestDateStartList = Array; export const AttacksLayer7SummaryMitigationProductRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryMitigationProductRequestFormat = "JSON" | "CSV"; export const AttacksLayer7SummaryMitigationProductRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryMitigationProductRequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7SummaryMitigationProductRequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryMitigationProductRequestHttpMethodList = Array< AttacksLayer7SummaryMitigationProductRequestHttpMethod | (string & {}) >; export const AttacksLayer7SummaryMitigationProductRequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryMitigationProductRequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7SummaryMitigationProductRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7SummaryMitigationProductRequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryMitigationProductRequestHttpVersionList = Array< AttacksLayer7SummaryMitigationProductRequestHttpVersion | (string & {}) >; export const AttacksLayer7SummaryMitigationProductRequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryMitigationProductRequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7SummaryMitigationProductRequestIpVersion = | "IPv4" | "IPv6"; export const AttacksLayer7SummaryMitigationProductRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryMitigationProductRequestIpVersionList = Array< AttacksLayer7SummaryMitigationProductRequestIpVersion | (string & {}) >; export const AttacksLayer7SummaryMitigationProductRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryMitigationProductRequestIpVersion, ) as any as S.Schema; export type AttacksLayer7SummaryMitigationProductRequestLocationList = Array; export const AttacksLayer7SummaryMitigationProductRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryMitigationProductRequestNameList = Array; export const AttacksLayer7SummaryMitigationProductRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface MitigationProductAttackLayer7SummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7SummaryMitigationProductRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7SummaryMitigationProductRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7SummaryMitigationProductRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7SummaryMitigationProductRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7SummaryMitigationProductRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7SummaryMitigationProductRequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7SummaryMitigationProductRequestHttpMethodList; /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7SummaryMitigationProductRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7SummaryMitigationProductRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7SummaryMitigationProductRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7SummaryMitigationProductRequestNameList; } export const MitigationProductAttackLayer7SummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional( AttacksLayer7SummaryMitigationProductRequestAsnList.pipe(T.Query()), ), continent: S.optional( AttacksLayer7SummaryMitigationProductRequestContinentList.pipe( T.Query(), ), ), dateEnd: S.optional( AttacksLayer7SummaryMitigationProductRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7SummaryMitigationProductRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( AttacksLayer7SummaryMitigationProductRequestDateStartList.pipe( T.Query(), ), ), format: S.optional( AttacksLayer7SummaryMitigationProductRequestFormat.pipe(T.Query()), ), httpMethod: S.optional( AttacksLayer7SummaryMitigationProductRequestHttpMethodList.pipe( T.Query(), ), ), httpVersion: S.optional( AttacksLayer7SummaryMitigationProductRequestHttpVersionList.pipe( T.Query(), ), ), ipVersion: S.optional( AttacksLayer7SummaryMitigationProductRequestIpVersionList.pipe( T.Query(), ), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer7SummaryMitigationProductRequestLocationList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer7SummaryMitigationProductRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/summary/mitigation_product", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "MitigationProductAttackLayer7SummaryRequest", }) as any as S.Schema; export type AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfo { annotations: AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7SummaryMitigationProductResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7SummaryMitigationProductResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7SummaryMitigationProductResponseMetaDateRangeList = Array; export const AttacksLayer7SummaryMitigationProductResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7SummaryMitigationProductResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7SummaryMitigationProductResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryMitigationProductResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7SummaryMitigationProductResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7SummaryMitigationProductResponseMetaUnitsList = Array; export const AttacksLayer7SummaryMitigationProductResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7SummaryMitigationProductResponseMeta { confidenceInfo: AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfo; dateRange: AttacksLayer7SummaryMitigationProductResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7SummaryMitigationProductResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7SummaryMitigationProductResponseMetaUnitsList; } export const AttacksLayer7SummaryMitigationProductResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AttacksLayer7SummaryMitigationProductResponseMetaConfidenceInfo, dateRange: AttacksLayer7SummaryMitigationProductResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7SummaryMitigationProductResponseMetaNormalization, units: AttacksLayer7SummaryMitigationProductResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7SummaryMitigationProductResponseMeta", }) as any as S.Schema; export type AttacksLayer7SummaryMitigationProductResponseSummary0Map = { [key: string]: string | undefined; }; export const AttacksLayer7SummaryMitigationProductResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface MitigationProductAttackLayer7SummaryResponse { /** Metadata for the results. */ meta: AttacksLayer7SummaryMitigationProductResponseMeta; summary_0: AttacksLayer7SummaryMitigationProductResponseSummary0Map; } export const MitigationProductAttackLayer7SummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer7SummaryMitigationProductResponseMeta, summary_0: AttacksLayer7SummaryMitigationProductResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "MitigationProductAttackLayer7SummaryResponse", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsMitigationProductRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer7TimeseriesGroupsMitigationProductRequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsMitigationProductRequestAsnList = Array; export const AttacksLayer7TimeseriesGroupsMitigationProductRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsMitigationProductRequestContinentList = Array; export const AttacksLayer7TimeseriesGroupsMitigationProductRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsMitigationProductRequestDateEndList = Array; export const AttacksLayer7TimeseriesGroupsMitigationProductRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsMitigationProductRequestDateRangeList = Array; export const AttacksLayer7TimeseriesGroupsMitigationProductRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsMitigationProductRequestDateStartList = Array; export const AttacksLayer7TimeseriesGroupsMitigationProductRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsMitigationProductRequestFormat = | "JSON" | "CSV"; export const AttacksLayer7TimeseriesGroupsMitigationProductRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsMitigationProductRequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7TimeseriesGroupsMitigationProductRequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsMitigationProductRequestHttpMethodList = Array< | AttacksLayer7TimeseriesGroupsMitigationProductRequestHttpMethod | (string & {}) >; export const AttacksLayer7TimeseriesGroupsMitigationProductRequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsMitigationProductRequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsMitigationProductRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7TimeseriesGroupsMitigationProductRequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsMitigationProductRequestHttpVersionList = Array< | AttacksLayer7TimeseriesGroupsMitigationProductRequestHttpVersion | (string & {}) >; export const AttacksLayer7TimeseriesGroupsMitigationProductRequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsMitigationProductRequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsMitigationProductRequestIpVersion = | "IPv4" | "IPv6"; export const AttacksLayer7TimeseriesGroupsMitigationProductRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsMitigationProductRequestIpVersionList = Array< | AttacksLayer7TimeseriesGroupsMitigationProductRequestIpVersion | (string & {}) >; export const AttacksLayer7TimeseriesGroupsMitigationProductRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsMitigationProductRequestIpVersion, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsMitigationProductRequestLocationList = Array; export const AttacksLayer7TimeseriesGroupsMitigationProductRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsMitigationProductRequestNameList = Array; export const AttacksLayer7TimeseriesGroupsMitigationProductRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsMitigationProductRequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const AttacksLayer7TimeseriesGroupsMitigationProductRequestNormalization = /*@__PURE__*/ S.String; export interface MitigationProductAttackLayer7TimeseriesGroupRequest { /** 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/). */ aggInterval?: | AttacksLayer7TimeseriesGroupsMitigationProductRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7TimeseriesGroupsMitigationProductRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7TimeseriesGroupsMitigationProductRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7TimeseriesGroupsMitigationProductRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7TimeseriesGroupsMitigationProductRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7TimeseriesGroupsMitigationProductRequestDateStartList; /** Format in which results will be returned. */ format?: | AttacksLayer7TimeseriesGroupsMitigationProductRequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7TimeseriesGroupsMitigationProductRequestHttpMethodList; /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7TimeseriesGroupsMitigationProductRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7TimeseriesGroupsMitigationProductRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7TimeseriesGroupsMitigationProductRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7TimeseriesGroupsMitigationProductRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AttacksLayer7TimeseriesGroupsMitigationProductRequestNormalization | (string & {}); } export const MitigationProductAttackLayer7TimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AttacksLayer7TimeseriesGroupsMitigationProductRequestAggInterval.pipe( T.Query(), ), ), asn: S.optional( AttacksLayer7TimeseriesGroupsMitigationProductRequestAsnList.pipe( T.Query(), ), ), continent: S.optional( AttacksLayer7TimeseriesGroupsMitigationProductRequestContinentList.pipe( T.Query(), ), ), dateEnd: S.optional( AttacksLayer7TimeseriesGroupsMitigationProductRequestDateEndList.pipe( T.Query(), ), ), dateRange: S.optional( AttacksLayer7TimeseriesGroupsMitigationProductRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( AttacksLayer7TimeseriesGroupsMitigationProductRequestDateStartList.pipe( T.Query(), ), ), format: S.optional( AttacksLayer7TimeseriesGroupsMitigationProductRequestFormat.pipe( T.Query(), ), ), httpMethod: S.optional( AttacksLayer7TimeseriesGroupsMitigationProductRequestHttpMethodList.pipe( T.Query(), ), ), httpVersion: S.optional( AttacksLayer7TimeseriesGroupsMitigationProductRequestHttpVersionList.pipe( T.Query(), ), ), ipVersion: S.optional( AttacksLayer7TimeseriesGroupsMitigationProductRequestIpVersionList.pipe( T.Query(), ), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer7TimeseriesGroupsMitigationProductRequestLocationList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer7TimeseriesGroupsMitigationProductRequestNameList.pipe( T.Query(), ), ), normalization: S.optional( AttacksLayer7TimeseriesGroupsMitigationProductRequestNormalization.pipe( T.Query(), ), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/timeseries_groups/mitigation_product", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "MitigationProductAttackLayer7TimeseriesGroupRequest", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfo { annotations: AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaDateRangeList = Array; export const AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaUnitsList = Array; export const AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsMitigationProductResponseMeta { /** 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/). */ aggInterval: AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaAggInterval; confidenceInfo: AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfo; dateRange: AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaUnitsList; } export const AttacksLayer7TimeseriesGroupsMitigationProductResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaAggInterval, confidenceInfo: AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaConfidenceInfo, dateRange: AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaNormalization, units: AttacksLayer7TimeseriesGroupsMitigationProductResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsMitigationProductResponseMeta", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsMitigationProductResponseSerie0TimestampsList = Array; export const AttacksLayer7TimeseriesGroupsMitigationProductResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsMitigationProductResponseSerie0 { timestamps: AttacksLayer7TimeseriesGroupsMitigationProductResponseSerie0TimestampsList; } export const AttacksLayer7TimeseriesGroupsMitigationProductResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: AttacksLayer7TimeseriesGroupsMitigationProductResponseSerie0TimestampsList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsMitigationProductResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface MitigationProductAttackLayer7TimeseriesGroupResponse { /** Metadata for the results. */ meta: AttacksLayer7TimeseriesGroupsMitigationProductResponseMeta; serie_0: AttacksLayer7TimeseriesGroupsMitigationProductResponseSerie0; } export const MitigationProductAttackLayer7TimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer7TimeseriesGroupsMitigationProductResponseMeta, serie_0: AttacksLayer7TimeseriesGroupsMitigationProductResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "MitigationProductAttackLayer7TimeseriesGroupResponse", }) as any as S.Schema; export type BgpRoutesMoasRequestFormat = "JSON" | "CSV"; export const BgpRoutesMoasRequestFormat = /*@__PURE__*/ S.String; export interface MoasBgpRouteRequest { /** Format in which results will be returned. */ format?: BgpRoutesMoasRequestFormat | (string & {}); /** Lookup only RPKI invalid MOASes. */ invalidOnly?: boolean; /** Lookup MOASes originated by the given ASN. */ origin?: number; prefix?: string; } export const MoasBgpRouteRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ format: S.optional(BgpRoutesMoasRequestFormat.pipe(T.Query())), invalidOnly: S.optional(S.Boolean.pipe(T.Query("invalid_only"))), origin: S.optional(S.Number.pipe(T.Query())), prefix: S.optional(S.String.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/bgp/routes/moas", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "MoasBgpRouteRequest", }) as any as S.Schema; export interface BgpRoutesMoasResponseMeta { dataTime: string; queryTime: string; totalPeers: number; } export const BgpRoutesMoasResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ dataTime: S.String.pipe(T.Body("data_time")), queryTime: S.String.pipe(T.Body("query_time")), totalPeers: S.Number.pipe(T.Body("total_peers")), }), ).annotate({ identifier: "BgpRoutesMoasResponseMeta", }) as any as S.Schema; export interface BgpRoutesMoasResponseMoasItemOriginsItem { origin: number; peerCount: number; rpkiValidation: string; } export const BgpRoutesMoasResponseMoasItemOriginsItem = /*@__PURE__*/ S.suspend( () => S.Struct({ origin: S.Number, peerCount: S.Number.pipe(T.Body("peer_count")), rpkiValidation: S.String.pipe(T.Body("rpki_validation")), }), ).annotate({ identifier: "BgpRoutesMoasResponseMoasItemOriginsItem", }) as any as S.Schema; export type BgpRoutesMoasResponseMoasItemOriginsList = Array; export const BgpRoutesMoasResponseMoasItemOriginsList = /*@__PURE__*/ S.Array( BgpRoutesMoasResponseMoasItemOriginsItem, ) as any as S.Schema; export interface BgpRoutesMoasResponseMoasItem { origins: BgpRoutesMoasResponseMoasItemOriginsList; prefix: string; } export const BgpRoutesMoasResponseMoasItem = /*@__PURE__*/ S.suspend(() => S.Struct({ origins: BgpRoutesMoasResponseMoasItemOriginsList, prefix: S.String, }), ).annotate({ identifier: "BgpRoutesMoasResponseMoasItem", }) as any as S.Schema; export type BgpRoutesMoasResponseMoasList = Array; export const BgpRoutesMoasResponseMoasList = /*@__PURE__*/ S.Array( BgpRoutesMoasResponseMoasItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface MoasBgpRouteResponse { meta: BgpRoutesMoasResponseMeta; moas: BgpRoutesMoasResponseMoasList; } export const MoasBgpRouteResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: BgpRoutesMoasResponseMeta, moas: BgpRoutesMoasResponseMoasList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "MoasBgpRouteResponse", }) as any as S.Schema; export type AiInferenceSummaryModelRequestDateEndList = Array; export const AiInferenceSummaryModelRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceSummaryModelRequestDateRangeList = Array; export const AiInferenceSummaryModelRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceSummaryModelRequestDateStartList = Array; export const AiInferenceSummaryModelRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceSummaryModelRequestFormat = "JSON" | "CSV"; export const AiInferenceSummaryModelRequestFormat = /*@__PURE__*/ S.String; export type AiInferenceSummaryModelRequestNameList = Array; export const AiInferenceSummaryModelRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ModelAiInferenceSummaryRequest { /** End of the date range (inclusive). */ dateEnd?: AiInferenceSummaryModelRequestDateEndList; /** 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). */ dateRange?: AiInferenceSummaryModelRequestDateRangeList; /** Start of the date range. */ dateStart?: AiInferenceSummaryModelRequestDateStartList; /** Format in which results will be returned. */ format?: AiInferenceSummaryModelRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Array of names used to label the series in the response. */ name?: AiInferenceSummaryModelRequestNameList; } export const ModelAiInferenceSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dateEnd: S.optional( AiInferenceSummaryModelRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AiInferenceSummaryModelRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AiInferenceSummaryModelRequestDateStartList.pipe(T.Query()), ), format: S.optional(AiInferenceSummaryModelRequestFormat.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), name: S.optional(AiInferenceSummaryModelRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/ai/inference/summary/model", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ModelAiInferenceSummaryRequest", }) as any as S.Schema; export type AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsList = Array; export const AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AiInferenceSummaryModelResponseMetaConfidenceInfo { annotations: AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AiInferenceSummaryModelResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AiInferenceSummaryModelResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AiInferenceSummaryModelResponseMetaConfidenceInfo", }) as any as S.Schema; export type AiInferenceSummaryModelResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AiInferenceSummaryModelResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AiInferenceSummaryModelResponseMetaDateRangeList = Array; export const AiInferenceSummaryModelResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AiInferenceSummaryModelResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AiInferenceSummaryModelResponseMetaNormalization = /*@__PURE__*/ S.String; export type AiInferenceSummaryModelResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AiInferenceSummaryModelResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AiInferenceSummaryModelResponseMetaUnitsList = Array; export const AiInferenceSummaryModelResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AiInferenceSummaryModelResponseMeta { confidenceInfo: AiInferenceSummaryModelResponseMetaConfidenceInfo; dateRange: AiInferenceSummaryModelResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AiInferenceSummaryModelResponseMetaNormalization; /** Measurement units for the results. */ units: AiInferenceSummaryModelResponseMetaUnitsList; } export const AiInferenceSummaryModelResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AiInferenceSummaryModelResponseMetaConfidenceInfo, dateRange: AiInferenceSummaryModelResponseMetaDateRangeList, lastUpdated: S.String, normalization: AiInferenceSummaryModelResponseMetaNormalization, units: AiInferenceSummaryModelResponseMetaUnitsList, }), ).annotate({ identifier: "AiInferenceSummaryModelResponseMeta", }) as any as S.Schema; export type AiInferenceSummaryModelResponseSummary0Map = { [key: string]: string | undefined; }; export const AiInferenceSummaryModelResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ModelAiInferenceSummaryResponse { /** Metadata for the results. */ meta: AiInferenceSummaryModelResponseMeta; summary_0: AiInferenceSummaryModelResponseSummary0Map; } export const ModelAiInferenceSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AiInferenceSummaryModelResponseMeta, summary_0: AiInferenceSummaryModelResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ModelAiInferenceSummaryResponse", }) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryModelRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AiInferenceTimeseriesGroupsSummaryModelRequestAggInterval = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsSummaryModelRequestDateEndList = Array; export const AiInferenceTimeseriesGroupsSummaryModelRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryModelRequestDateRangeList = Array; export const AiInferenceTimeseriesGroupsSummaryModelRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryModelRequestDateStartList = Array; export const AiInferenceTimeseriesGroupsSummaryModelRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryModelRequestFormat = | "JSON" | "CSV"; export const AiInferenceTimeseriesGroupsSummaryModelRequestFormat = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsSummaryModelRequestNameList = Array; export const AiInferenceTimeseriesGroupsSummaryModelRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ModelAiInferenceTimeseriesGroupSummaryRequest { /** 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/). */ aggInterval?: | AiInferenceTimeseriesGroupsSummaryModelRequestAggInterval | (string & {}); /** End of the date range (inclusive). */ dateEnd?: AiInferenceTimeseriesGroupsSummaryModelRequestDateEndList; /** 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). */ dateRange?: AiInferenceTimeseriesGroupsSummaryModelRequestDateRangeList; /** Start of the date range. */ dateStart?: AiInferenceTimeseriesGroupsSummaryModelRequestDateStartList; /** Format in which results will be returned. */ format?: AiInferenceTimeseriesGroupsSummaryModelRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Array of names used to label the series in the response. */ name?: AiInferenceTimeseriesGroupsSummaryModelRequestNameList; } export const ModelAiInferenceTimeseriesGroupSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AiInferenceTimeseriesGroupsSummaryModelRequestAggInterval.pipe( T.Query(), ), ), dateEnd: S.optional( AiInferenceTimeseriesGroupsSummaryModelRequestDateEndList.pipe( T.Query(), ), ), dateRange: S.optional( AiInferenceTimeseriesGroupsSummaryModelRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( AiInferenceTimeseriesGroupsSummaryModelRequestDateStartList.pipe( T.Query(), ), ), format: S.optional( AiInferenceTimeseriesGroupsSummaryModelRequestFormat.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), name: S.optional( AiInferenceTimeseriesGroupsSummaryModelRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/ai/inference/timeseries_groups/model", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ModelAiInferenceTimeseriesGroupSummaryRequest", }) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryModelResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AiInferenceTimeseriesGroupsSummaryModelResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsList = Array; export const AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfo { annotations: AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfo", }) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryModelResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AiInferenceTimeseriesGroupsSummaryModelResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AiInferenceTimeseriesGroupsSummaryModelResponseMetaDateRangeList = Array; export const AiInferenceTimeseriesGroupsSummaryModelResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryModelResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AiInferenceTimeseriesGroupsSummaryModelResponseMetaNormalization = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsSummaryModelResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AiInferenceTimeseriesGroupsSummaryModelResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AiInferenceTimeseriesGroupsSummaryModelResponseMetaUnitsList = Array; export const AiInferenceTimeseriesGroupsSummaryModelResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AiInferenceTimeseriesGroupsSummaryModelResponseMeta { /** 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/). */ aggInterval: AiInferenceTimeseriesGroupsSummaryModelResponseMetaAggInterval; confidenceInfo: AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfo; dateRange: AiInferenceTimeseriesGroupsSummaryModelResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AiInferenceTimeseriesGroupsSummaryModelResponseMetaNormalization; /** Measurement units for the results. */ units: AiInferenceTimeseriesGroupsSummaryModelResponseMetaUnitsList; } export const AiInferenceTimeseriesGroupsSummaryModelResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AiInferenceTimeseriesGroupsSummaryModelResponseMetaAggInterval, confidenceInfo: AiInferenceTimeseriesGroupsSummaryModelResponseMetaConfidenceInfo, dateRange: AiInferenceTimeseriesGroupsSummaryModelResponseMetaDateRangeList, lastUpdated: S.String, normalization: AiInferenceTimeseriesGroupsSummaryModelResponseMetaNormalization, units: AiInferenceTimeseriesGroupsSummaryModelResponseMetaUnitsList, }), ).annotate({ identifier: "AiInferenceTimeseriesGroupsSummaryModelResponseMeta", }) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryModelResponseSerie0TimestampsList = Array; export const AiInferenceTimeseriesGroupsSummaryModelResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiInferenceTimeseriesGroupsSummaryModelResponseSerie0 { timestamps: AiInferenceTimeseriesGroupsSummaryModelResponseSerie0TimestampsList; } export const AiInferenceTimeseriesGroupsSummaryModelResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: AiInferenceTimeseriesGroupsSummaryModelResponseSerie0TimestampsList, }), ).annotate({ identifier: "AiInferenceTimeseriesGroupsSummaryModelResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ModelAiInferenceTimeseriesGroupSummaryResponse { /** Metadata for the results. */ meta: AiInferenceTimeseriesGroupsSummaryModelResponseMeta; serie_0: AiInferenceTimeseriesGroupsSummaryModelResponseSerie0; } export const ModelAiInferenceTimeseriesGroupSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AiInferenceTimeseriesGroupsSummaryModelResponseMeta, serie_0: AiInferenceTimeseriesGroupsSummaryModelResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ModelAiInferenceTimeseriesGroupSummaryResponse", }) as any as S.Schema; export type AttacksLayer3TopLocationsOriginRequestContinentList = Array; export const AttacksLayer3TopLocationsOriginRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopLocationsOriginRequestDateEndList = Array; export const AttacksLayer3TopLocationsOriginRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopLocationsOriginRequestDateRangeList = Array; export const AttacksLayer3TopLocationsOriginRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopLocationsOriginRequestDateStartList = Array; export const AttacksLayer3TopLocationsOriginRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopLocationsOriginRequestFormat = "JSON" | "CSV"; export const AttacksLayer3TopLocationsOriginRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3TopLocationsOriginRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer3TopLocationsOriginRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3TopLocationsOriginRequestIpVersionList = Array< AttacksLayer3TopLocationsOriginRequestIpVersion | (string & {}) >; export const AttacksLayer3TopLocationsOriginRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3TopLocationsOriginRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3TopLocationsOriginRequestLocationList = Array; export const AttacksLayer3TopLocationsOriginRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopLocationsOriginRequestNameList = Array; export const AttacksLayer3TopLocationsOriginRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopLocationsOriginRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3TopLocationsOriginRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3TopLocationsOriginRequestProtocolList = Array< AttacksLayer3TopLocationsOriginRequestProtocol | (string & {}) >; export const AttacksLayer3TopLocationsOriginRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3TopLocationsOriginRequestProtocol, ) as any as S.Schema; export interface OriginAttackLayer3TopLocationRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3TopLocationsOriginRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3TopLocationsOriginRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3TopLocationsOriginRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3TopLocationsOriginRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer3TopLocationsOriginRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3TopLocationsOriginRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3TopLocationsOriginRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3TopLocationsOriginRequestNameList; /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3TopLocationsOriginRequestProtocolList; } export const OriginAttackLayer3TopLocationRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ continent: S.optional( AttacksLayer3TopLocationsOriginRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer3TopLocationsOriginRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3TopLocationsOriginRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer3TopLocationsOriginRequestDateStartList.pipe(T.Query()), ), format: S.optional( AttacksLayer3TopLocationsOriginRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer3TopLocationsOriginRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer3TopLocationsOriginRequestLocationList.pipe(T.Query()), ), name: S.optional( AttacksLayer3TopLocationsOriginRequestNameList.pipe(T.Query()), ), protocol: S.optional( AttacksLayer3TopLocationsOriginRequestProtocolList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/top/locations/origin", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "OriginAttackLayer3TopLocationRequest", }) as any as S.Schema; export type AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfo { annotations: AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3TopLocationsOriginResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3TopLocationsOriginResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3TopLocationsOriginResponseMetaDateRangeList = Array; export const AttacksLayer3TopLocationsOriginResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3TopLocationsOriginResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3TopLocationsOriginResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TopLocationsOriginResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3TopLocationsOriginResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3TopLocationsOriginResponseMetaUnitsList = Array; export const AttacksLayer3TopLocationsOriginResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3TopLocationsOriginResponseMeta { confidenceInfo: AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfo; dateRange: AttacksLayer3TopLocationsOriginResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3TopLocationsOriginResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3TopLocationsOriginResponseMetaUnitsList; } export const AttacksLayer3TopLocationsOriginResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AttacksLayer3TopLocationsOriginResponseMetaConfidenceInfo, dateRange: AttacksLayer3TopLocationsOriginResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3TopLocationsOriginResponseMetaNormalization, units: AttacksLayer3TopLocationsOriginResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3TopLocationsOriginResponseMeta", }) as any as S.Schema; export interface AttacksLayer3TopLocationsOriginResponseTop0Item { originCountryAlpha2: string; originCountryName: string; rank: number; value: string; } export const AttacksLayer3TopLocationsOriginResponseTop0Item = /*@__PURE__*/ S.suspend(() => S.Struct({ originCountryAlpha2: S.String, originCountryName: S.String, rank: S.Number, value: S.String, }), ).annotate({ identifier: "AttacksLayer3TopLocationsOriginResponseTop0Item", }) as any as S.Schema; export type AttacksLayer3TopLocationsOriginResponseTop0List = Array; export const AttacksLayer3TopLocationsOriginResponseTop0List = /*@__PURE__*/ S.Array( AttacksLayer3TopLocationsOriginResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface OriginAttackLayer3TopLocationResponse { /** Metadata for the results. */ meta: AttacksLayer3TopLocationsOriginResponseMeta; top_0: AttacksLayer3TopLocationsOriginResponseTop0List; } export const OriginAttackLayer3TopLocationResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: AttacksLayer3TopLocationsOriginResponseMeta, top_0: AttacksLayer3TopLocationsOriginResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "OriginAttackLayer3TopLocationResponse", }) as any as S.Schema; export type AttacksLayer7TopAsesOriginRequestContinentList = Array; export const AttacksLayer7TopAsesOriginRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopAsesOriginRequestDateEndList = Array; export const AttacksLayer7TopAsesOriginRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopAsesOriginRequestDateRangeList = Array; export const AttacksLayer7TopAsesOriginRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopAsesOriginRequestDateStartList = Array; export const AttacksLayer7TopAsesOriginRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopAsesOriginRequestFormat = "JSON" | "CSV"; export const AttacksLayer7TopAsesOriginRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7TopAsesOriginRequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7TopAsesOriginRequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7TopAsesOriginRequestHttpMethodList = Array< AttacksLayer7TopAsesOriginRequestHttpMethod | (string & {}) >; export const AttacksLayer7TopAsesOriginRequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7TopAsesOriginRequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7TopAsesOriginRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7TopAsesOriginRequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TopAsesOriginRequestHttpVersionList = Array< AttacksLayer7TopAsesOriginRequestHttpVersion | (string & {}) >; export const AttacksLayer7TopAsesOriginRequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TopAsesOriginRequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7TopAsesOriginRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer7TopAsesOriginRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TopAsesOriginRequestIpVersionList = Array< AttacksLayer7TopAsesOriginRequestIpVersion | (string & {}) >; export const AttacksLayer7TopAsesOriginRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TopAsesOriginRequestIpVersion, ) as any as S.Schema; export type AttacksLayer7TopAsesOriginRequestLocationList = Array; export const AttacksLayer7TopAsesOriginRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopAsesOriginRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7TopAsesOriginRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7TopAsesOriginRequestMitigationProductList = Array< AttacksLayer7TopAsesOriginRequestMitigationProduct | (string & {}) >; export const AttacksLayer7TopAsesOriginRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7TopAsesOriginRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7TopAsesOriginRequestNameList = Array; export const AttacksLayer7TopAsesOriginRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface OriginAttackLayer7TopAsRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7TopAsesOriginRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7TopAsesOriginRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7TopAsesOriginRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7TopAsesOriginRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7TopAsesOriginRequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7TopAsesOriginRequestHttpMethodList; /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7TopAsesOriginRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7TopAsesOriginRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7TopAsesOriginRequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7TopAsesOriginRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7TopAsesOriginRequestNameList; } export const OriginAttackLayer7TopAsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( AttacksLayer7TopAsesOriginRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer7TopAsesOriginRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7TopAsesOriginRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer7TopAsesOriginRequestDateStartList.pipe(T.Query()), ), format: S.optional(AttacksLayer7TopAsesOriginRequestFormat.pipe(T.Query())), httpMethod: S.optional( AttacksLayer7TopAsesOriginRequestHttpMethodList.pipe(T.Query()), ), httpVersion: S.optional( AttacksLayer7TopAsesOriginRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer7TopAsesOriginRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer7TopAsesOriginRequestLocationList.pipe(T.Query()), ), mitigationProduct: S.optional( AttacksLayer7TopAsesOriginRequestMitigationProductList.pipe(T.Query()), ), name: S.optional(AttacksLayer7TopAsesOriginRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/top/ases/origin", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "OriginAttackLayer7TopAsRequest", }) as any as S.Schema; export type AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7TopAsesOriginResponseMetaConfidenceInfo { annotations: AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7TopAsesOriginResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7TopAsesOriginResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7TopAsesOriginResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7TopAsesOriginResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7TopAsesOriginResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7TopAsesOriginResponseMetaDateRangeList = Array; export const AttacksLayer7TopAsesOriginResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7TopAsesOriginResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7TopAsesOriginResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7TopAsesOriginResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7TopAsesOriginResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7TopAsesOriginResponseMetaUnitsList = Array; export const AttacksLayer7TopAsesOriginResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7TopAsesOriginResponseMeta { confidenceInfo: AttacksLayer7TopAsesOriginResponseMetaConfidenceInfo; dateRange: AttacksLayer7TopAsesOriginResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7TopAsesOriginResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7TopAsesOriginResponseMetaUnitsList; } export const AttacksLayer7TopAsesOriginResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: AttacksLayer7TopAsesOriginResponseMetaConfidenceInfo, dateRange: AttacksLayer7TopAsesOriginResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7TopAsesOriginResponseMetaNormalization, units: AttacksLayer7TopAsesOriginResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7TopAsesOriginResponseMeta", }) as any as S.Schema; export interface AttacksLayer7TopAsesOriginResponseTop0Item { originAsn: string; originAsnName: string; rank: number; value: string; } export const AttacksLayer7TopAsesOriginResponseTop0Item = /*@__PURE__*/ S.suspend(() => S.Struct({ originAsn: S.String, originAsnName: S.String, rank: S.Number, value: S.String, }), ).annotate({ identifier: "AttacksLayer7TopAsesOriginResponseTop0Item", }) as any as S.Schema; export type AttacksLayer7TopAsesOriginResponseTop0List = Array; export const AttacksLayer7TopAsesOriginResponseTop0List = /*@__PURE__*/ S.Array( AttacksLayer7TopAsesOriginResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface OriginAttackLayer7TopAsResponse { /** Metadata for the results. */ meta: AttacksLayer7TopAsesOriginResponseMeta; top_0: AttacksLayer7TopAsesOriginResponseTop0List; } export const OriginAttackLayer7TopAsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer7TopAsesOriginResponseMeta, top_0: AttacksLayer7TopAsesOriginResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "OriginAttackLayer7TopAsResponse", }) as any as S.Schema; export type AttacksLayer7TopLocationsOriginRequestAsnList = Array; export const AttacksLayer7TopLocationsOriginRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopLocationsOriginRequestContinentList = Array; export const AttacksLayer7TopLocationsOriginRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopLocationsOriginRequestDateEndList = Array; export const AttacksLayer7TopLocationsOriginRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopLocationsOriginRequestDateRangeList = Array; export const AttacksLayer7TopLocationsOriginRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopLocationsOriginRequestDateStartList = Array; export const AttacksLayer7TopLocationsOriginRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopLocationsOriginRequestFormat = "JSON" | "CSV"; export const AttacksLayer7TopLocationsOriginRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7TopLocationsOriginRequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7TopLocationsOriginRequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7TopLocationsOriginRequestHttpMethodList = Array< AttacksLayer7TopLocationsOriginRequestHttpMethod | (string & {}) >; export const AttacksLayer7TopLocationsOriginRequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7TopLocationsOriginRequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7TopLocationsOriginRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7TopLocationsOriginRequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TopLocationsOriginRequestHttpVersionList = Array< AttacksLayer7TopLocationsOriginRequestHttpVersion | (string & {}) >; export const AttacksLayer7TopLocationsOriginRequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TopLocationsOriginRequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7TopLocationsOriginRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer7TopLocationsOriginRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TopLocationsOriginRequestIpVersionList = Array< AttacksLayer7TopLocationsOriginRequestIpVersion | (string & {}) >; export const AttacksLayer7TopLocationsOriginRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TopLocationsOriginRequestIpVersion, ) as any as S.Schema; export type AttacksLayer7TopLocationsOriginRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7TopLocationsOriginRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7TopLocationsOriginRequestMitigationProductList = Array< AttacksLayer7TopLocationsOriginRequestMitigationProduct | (string & {}) >; export const AttacksLayer7TopLocationsOriginRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7TopLocationsOriginRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7TopLocationsOriginRequestNameList = Array; export const AttacksLayer7TopLocationsOriginRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface OriginAttackLayer7TopLocationRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7TopLocationsOriginRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7TopLocationsOriginRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7TopLocationsOriginRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7TopLocationsOriginRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7TopLocationsOriginRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7TopLocationsOriginRequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7TopLocationsOriginRequestHttpMethodList; /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7TopLocationsOriginRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7TopLocationsOriginRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7TopLocationsOriginRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7TopLocationsOriginRequestNameList; } export const OriginAttackLayer7TopLocationRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ asn: S.optional( AttacksLayer7TopLocationsOriginRequestAsnList.pipe(T.Query()), ), continent: S.optional( AttacksLayer7TopLocationsOriginRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer7TopLocationsOriginRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7TopLocationsOriginRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer7TopLocationsOriginRequestDateStartList.pipe(T.Query()), ), format: S.optional( AttacksLayer7TopLocationsOriginRequestFormat.pipe(T.Query()), ), httpMethod: S.optional( AttacksLayer7TopLocationsOriginRequestHttpMethodList.pipe(T.Query()), ), httpVersion: S.optional( AttacksLayer7TopLocationsOriginRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer7TopLocationsOriginRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), mitigationProduct: S.optional( AttacksLayer7TopLocationsOriginRequestMitigationProductList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer7TopLocationsOriginRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/top/locations/origin", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "OriginAttackLayer7TopLocationRequest", }) as any as S.Schema; export type AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfo { annotations: AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7TopLocationsOriginResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7TopLocationsOriginResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7TopLocationsOriginResponseMetaDateRangeList = Array; export const AttacksLayer7TopLocationsOriginResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7TopLocationsOriginResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7TopLocationsOriginResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7TopLocationsOriginResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7TopLocationsOriginResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7TopLocationsOriginResponseMetaUnitsList = Array; export const AttacksLayer7TopLocationsOriginResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7TopLocationsOriginResponseMeta { confidenceInfo: AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfo; dateRange: AttacksLayer7TopLocationsOriginResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7TopLocationsOriginResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7TopLocationsOriginResponseMetaUnitsList; } export const AttacksLayer7TopLocationsOriginResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AttacksLayer7TopLocationsOriginResponseMetaConfidenceInfo, dateRange: AttacksLayer7TopLocationsOriginResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7TopLocationsOriginResponseMetaNormalization, units: AttacksLayer7TopLocationsOriginResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7TopLocationsOriginResponseMeta", }) as any as S.Schema; export type AttacksLayer7TopLocationsOriginResponseTop0Item = AttacksLayer3TopLocationsOriginResponseTop0Item; export const AttacksLayer7TopLocationsOriginResponseTop0Item = AttacksLayer3TopLocationsOriginResponseTop0Item; export type AttacksLayer7TopLocationsOriginResponseTop0List = Array; export const AttacksLayer7TopLocationsOriginResponseTop0List = /*@__PURE__*/ S.Array( AttacksLayer3TopLocationsOriginResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface OriginAttackLayer7TopLocationResponse { /** Metadata for the results. */ meta: AttacksLayer7TopLocationsOriginResponseMeta; top_0: AttacksLayer7TopLocationsOriginResponseTop0List; } export const OriginAttackLayer7TopLocationResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: AttacksLayer7TopLocationsOriginResponseMeta, top_0: AttacksLayer7TopLocationsOriginResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "OriginAttackLayer7TopLocationResponse", }) as any as S.Schema; export type OriginsSummaryRequestDimension = | "ORIGIN" | "REGION" | "SUCCESS_RATE" | "PERCENTILE"; export const OriginsSummaryRequestDimension = /*@__PURE__*/ S.String; export type OriginsSummaryRequestMetric = | "CONNECTION_FAILURES" | "REQUESTS" | "RESPONSE_HEADER_RECEIVE_DURATION" | "TCP_HANDSHAKE_DURATION" | "TCP_RTT" | "TLS_HANDSHAKE_DURATION"; export const OriginsSummaryRequestMetric = /*@__PURE__*/ S.String; export type OriginsSummaryRequestDateEndList = Array; export const OriginsSummaryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type OriginsSummaryRequestDateRangeList = Array; export const OriginsSummaryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type OriginsSummaryRequestDateStartList = Array; export const OriginsSummaryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type OriginsSummaryRequestFormat = "JSON" | "CSV"; export const OriginsSummaryRequestFormat = /*@__PURE__*/ S.String; export type OriginsSummaryRequestNameList = Array; export const OriginsSummaryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type OriginsSummaryRequestOrigin = | "AMAZON" | "GOOGLE" | "MICROSOFT" | "ORACLE"; export const OriginsSummaryRequestOrigin = /*@__PURE__*/ S.String; export type OriginsSummaryRequestOriginList = Array< OriginsSummaryRequestOrigin | (string & {}) >; export const OriginsSummaryRequestOriginList = /*@__PURE__*/ S.Array( OriginsSummaryRequestOrigin, ) as any as S.Schema; export type OriginsSummaryRequestRegionList = Array; export const OriginsSummaryRequestRegionList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface OriginsSummaryRequest { /** Specifies the origin attribute by which to group the results. */ dimension: OriginsSummaryRequestDimension | (string & {}); /** Specifies the metric to retrieve. */ metric: OriginsSummaryRequestMetric | (string & {}); /** End of the date range (inclusive). */ dateEnd?: OriginsSummaryRequestDateEndList; /** 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). */ dateRange?: OriginsSummaryRequestDateRangeList; /** Start of the date range. */ dateStart?: OriginsSummaryRequestDateStartList; /** Format in which results will be returned. */ format?: OriginsSummaryRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Array of names used to label the series in the response. */ name?: OriginsSummaryRequestNameList; /** Filters results by origin. Required for all dimensions except ORIGIN. */ origin?: OriginsSummaryRequestOriginList; /** Filters results by origin region. */ region?: OriginsSummaryRequestRegionList; } export const OriginsSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: OriginsSummaryRequestDimension.pipe(T.Label()), metric: OriginsSummaryRequestMetric.pipe(T.Query()), dateEnd: S.optional(OriginsSummaryRequestDateEndList.pipe(T.Query())), dateRange: S.optional(OriginsSummaryRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(OriginsSummaryRequestDateStartList.pipe(T.Query())), format: S.optional(OriginsSummaryRequestFormat.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), name: S.optional(OriginsSummaryRequestNameList.pipe(T.Query())), origin: S.optional(OriginsSummaryRequestOriginList.pipe(T.Query())), region: S.optional(OriginsSummaryRequestRegionList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/origins/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "OriginsSummaryRequest", }) as any as S.Schema; export type OriginsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const OriginsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type OriginsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const OriginsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type OriginsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const OriginsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface OriginsSummaryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: OriginsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: OriginsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: OriginsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const OriginsSummaryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: OriginsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: OriginsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( OriginsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "OriginsSummaryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type OriginsSummaryResponseMetaConfidenceInfoAnnotationsList = Array; export const OriginsSummaryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( OriginsSummaryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface OriginsSummaryResponseMetaConfidenceInfo { annotations: OriginsSummaryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const OriginsSummaryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: OriginsSummaryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "OriginsSummaryResponseMetaConfidenceInfo", }) as any as S.Schema; export type OriginsSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const OriginsSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type OriginsSummaryResponseMetaDateRangeList = Array; export const OriginsSummaryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type OriginsSummaryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const OriginsSummaryResponseMetaNormalization = /*@__PURE__*/ S.String; export type OriginsSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const OriginsSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type OriginsSummaryResponseMetaUnitsList = Array; export const OriginsSummaryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface OriginsSummaryResponseMeta { confidenceInfo: OriginsSummaryResponseMetaConfidenceInfo; dateRange: OriginsSummaryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: OriginsSummaryResponseMetaNormalization; /** Measurement units for the results. */ units: OriginsSummaryResponseMetaUnitsList; } export const OriginsSummaryResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: OriginsSummaryResponseMetaConfidenceInfo, dateRange: OriginsSummaryResponseMetaDateRangeList, lastUpdated: S.String, normalization: OriginsSummaryResponseMetaNormalization, units: OriginsSummaryResponseMetaUnitsList, }), ).annotate({ identifier: "OriginsSummaryResponseMeta", }) as any as S.Schema; export type OriginsSummaryResponseSummary0Map = { [key: string]: string | undefined; }; export const OriginsSummaryResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface OriginsSummaryResponse { /** Metadata for the results. */ meta: OriginsSummaryResponseMeta; summary_0: OriginsSummaryResponseSummary0Map; } export const OriginsSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: OriginsSummaryResponseMeta, summary_0: OriginsSummaryResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "OriginsSummaryResponse", }) as any as S.Schema; export type OriginsTimeseriesRequestMetric = | "CONNECTION_FAILURES" | "REQUESTS" | "RESPONSE_HEADER_RECEIVE_DURATION" | "TCP_HANDSHAKE_DURATION" | "TCP_RTT" | "TLS_HANDSHAKE_DURATION"; export const OriginsTimeseriesRequestMetric = /*@__PURE__*/ S.String; export type OriginsTimeseriesRequestOrigin = | "AMAZON" | "GOOGLE" | "MICROSOFT" | "ORACLE"; export const OriginsTimeseriesRequestOrigin = /*@__PURE__*/ S.String; export type OriginsTimeseriesRequestOriginList = Array< OriginsTimeseriesRequestOrigin | (string & {}) >; export const OriginsTimeseriesRequestOriginList = /*@__PURE__*/ S.Array( OriginsTimeseriesRequestOrigin, ) as any as S.Schema; export type OriginsTimeseriesRequestAggInterval = "15m" | "1h" | "1d" | "1w"; export const OriginsTimeseriesRequestAggInterval = /*@__PURE__*/ S.String; export type OriginsTimeseriesRequestDateEndList = Array; export const OriginsTimeseriesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type OriginsTimeseriesRequestDateRangeList = Array; export const OriginsTimeseriesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type OriginsTimeseriesRequestDateStartList = Array; export const OriginsTimeseriesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type OriginsTimeseriesRequestFormat = "JSON" | "CSV"; export const OriginsTimeseriesRequestFormat = /*@__PURE__*/ S.String; export type OriginsTimeseriesRequestNameList = Array; export const OriginsTimeseriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type OriginsTimeseriesRequestRegionList = Array; export const OriginsTimeseriesRequestRegionList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface OriginsTimeseriesRequest { /** Specifies the metric to retrieve. */ metric: OriginsTimeseriesRequestMetric | (string & {}); /** Filters results by origin. */ origin: OriginsTimeseriesRequestOriginList; /** 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/). */ aggInterval?: OriginsTimeseriesRequestAggInterval | (string & {}); /** End of the date range (inclusive). */ dateEnd?: OriginsTimeseriesRequestDateEndList; /** 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). */ dateRange?: OriginsTimeseriesRequestDateRangeList; /** Start of the date range. */ dateStart?: OriginsTimeseriesRequestDateStartList; /** Format in which results will be returned. */ format?: OriginsTimeseriesRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: OriginsTimeseriesRequestNameList; /** Filters results by origin region. */ region?: OriginsTimeseriesRequestRegionList; } export const OriginsTimeseriesRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ metric: OriginsTimeseriesRequestMetric.pipe(T.Query()), origin: OriginsTimeseriesRequestOriginList.pipe(T.Query()), aggInterval: S.optional( OriginsTimeseriesRequestAggInterval.pipe(T.Query()), ), dateEnd: S.optional(OriginsTimeseriesRequestDateEndList.pipe(T.Query())), dateRange: S.optional( OriginsTimeseriesRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( OriginsTimeseriesRequestDateStartList.pipe(T.Query()), ), format: S.optional(OriginsTimeseriesRequestFormat.pipe(T.Query())), name: S.optional(OriginsTimeseriesRequestNameList.pipe(T.Query())), region: S.optional(OriginsTimeseriesRequestRegionList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/origins/timeseries", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "OriginsTimeseriesRequest", }) as any as S.Schema; export type OriginsTimeseriesResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const OriginsTimeseriesResponseMetaAggInterval = /*@__PURE__*/ S.String; export type OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsList = Array; export const OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface OriginsTimeseriesResponseMetaConfidenceInfo { annotations: OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const OriginsTimeseriesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: OriginsTimeseriesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "OriginsTimeseriesResponseMetaConfidenceInfo", }) as any as S.Schema; export type OriginsTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const OriginsTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type OriginsTimeseriesResponseMetaDateRangeList = Array; export const OriginsTimeseriesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type OriginsTimeseriesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const OriginsTimeseriesResponseMetaNormalization = /*@__PURE__*/ S.String; export type OriginsTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const OriginsTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type OriginsTimeseriesResponseMetaUnitsList = Array; export const OriginsTimeseriesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface OriginsTimeseriesResponseMeta { /** 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/). */ aggInterval: OriginsTimeseriesResponseMetaAggInterval; confidenceInfo: OriginsTimeseriesResponseMetaConfidenceInfo; dateRange: OriginsTimeseriesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: OriginsTimeseriesResponseMetaNormalization; /** Measurement units for the results. */ units: OriginsTimeseriesResponseMetaUnitsList; } export const OriginsTimeseriesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: OriginsTimeseriesResponseMetaAggInterval, confidenceInfo: OriginsTimeseriesResponseMetaConfidenceInfo, dateRange: OriginsTimeseriesResponseMetaDateRangeList, lastUpdated: S.String, normalization: OriginsTimeseriesResponseMetaNormalization, units: OriginsTimeseriesResponseMetaUnitsList, }), ).annotate({ identifier: "OriginsTimeseriesResponseMeta", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface OriginsTimeseriesResponse { /** Metadata for the results. */ meta: OriginsTimeseriesResponseMeta; } export const OriginsTimeseriesResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: OriginsTimeseriesResponseMeta, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "OriginsTimeseriesResponse", }) as any as S.Schema; export type OriginsTimeseriesGroupsRequestDimension = | "ORIGIN" | "REGION" | "SUCCESS_RATE" | "PERCENTILE"; export const OriginsTimeseriesGroupsRequestDimension = /*@__PURE__*/ S.String; export type OriginsTimeseriesGroupsRequestMetric = | "CONNECTION_FAILURES" | "REQUESTS" | "RESPONSE_HEADER_RECEIVE_DURATION" | "TCP_HANDSHAKE_DURATION" | "TCP_RTT" | "TLS_HANDSHAKE_DURATION"; export const OriginsTimeseriesGroupsRequestMetric = /*@__PURE__*/ S.String; export type OriginsTimeseriesGroupsRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const OriginsTimeseriesGroupsRequestAggInterval = /*@__PURE__*/ S.String; export type OriginsTimeseriesGroupsRequestDateEndList = Array; export const OriginsTimeseriesGroupsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type OriginsTimeseriesGroupsRequestDateRangeList = Array; export const OriginsTimeseriesGroupsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type OriginsTimeseriesGroupsRequestDateStartList = Array; export const OriginsTimeseriesGroupsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type OriginsTimeseriesGroupsRequestFormat = "JSON" | "CSV"; export const OriginsTimeseriesGroupsRequestFormat = /*@__PURE__*/ S.String; export type OriginsTimeseriesGroupsRequestNameList = Array; export const OriginsTimeseriesGroupsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type OriginsTimeseriesGroupsRequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const OriginsTimeseriesGroupsRequestNormalization = /*@__PURE__*/ S.String; export type OriginsTimeseriesGroupsRequestOrigin = | "AMAZON" | "GOOGLE" | "MICROSOFT" | "ORACLE"; export const OriginsTimeseriesGroupsRequestOrigin = /*@__PURE__*/ S.String; export type OriginsTimeseriesGroupsRequestOriginList = Array< OriginsTimeseriesGroupsRequestOrigin | (string & {}) >; export const OriginsTimeseriesGroupsRequestOriginList = /*@__PURE__*/ S.Array( OriginsTimeseriesGroupsRequestOrigin, ) as any as S.Schema; export type OriginsTimeseriesGroupsRequestRegionList = Array; export const OriginsTimeseriesGroupsRequestRegionList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface OriginsTimeseriesGroupsRequest { /** Specifies the origin attribute by which to group the results. */ dimension: OriginsTimeseriesGroupsRequestDimension | (string & {}); /** Specifies the metric to retrieve. */ metric: OriginsTimeseriesGroupsRequestMetric | (string & {}); /** 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/). */ aggInterval?: OriginsTimeseriesGroupsRequestAggInterval | (string & {}); /** End of the date range (inclusive). */ dateEnd?: OriginsTimeseriesGroupsRequestDateEndList; /** 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). */ dateRange?: OriginsTimeseriesGroupsRequestDateRangeList; /** Start of the date range. */ dateStart?: OriginsTimeseriesGroupsRequestDateStartList; /** Format in which results will be returned. */ format?: OriginsTimeseriesGroupsRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Array of names used to label the series in the response. */ name?: OriginsTimeseriesGroupsRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: OriginsTimeseriesGroupsRequestNormalization | (string & {}); /** Filters results by origin. Required for all dimensions except ORIGIN. */ origin?: OriginsTimeseriesGroupsRequestOriginList; /** Filters results by origin region. */ region?: OriginsTimeseriesGroupsRequestRegionList; } export const OriginsTimeseriesGroupsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: OriginsTimeseriesGroupsRequestDimension.pipe(T.Label()), metric: OriginsTimeseriesGroupsRequestMetric.pipe(T.Query()), aggInterval: S.optional( OriginsTimeseriesGroupsRequestAggInterval.pipe(T.Query()), ), dateEnd: S.optional( OriginsTimeseriesGroupsRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( OriginsTimeseriesGroupsRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( OriginsTimeseriesGroupsRequestDateStartList.pipe(T.Query()), ), format: S.optional(OriginsTimeseriesGroupsRequestFormat.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), name: S.optional(OriginsTimeseriesGroupsRequestNameList.pipe(T.Query())), normalization: S.optional( OriginsTimeseriesGroupsRequestNormalization.pipe(T.Query()), ), origin: S.optional( OriginsTimeseriesGroupsRequestOriginList.pipe(T.Query()), ), region: S.optional( OriginsTimeseriesGroupsRequestRegionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/origins/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "OriginsTimeseriesGroupsRequest", }) as any as S.Schema; export type OriginsTimeseriesGroupsResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const OriginsTimeseriesGroupsResponseMetaAggInterval = /*@__PURE__*/ S.String; export type OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = Array; export const OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface OriginsTimeseriesGroupsResponseMetaConfidenceInfo { annotations: OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const OriginsTimeseriesGroupsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: OriginsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "OriginsTimeseriesGroupsResponseMetaConfidenceInfo", }) as any as S.Schema; export type OriginsTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const OriginsTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type OriginsTimeseriesGroupsResponseMetaDateRangeList = Array; export const OriginsTimeseriesGroupsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type OriginsTimeseriesGroupsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const OriginsTimeseriesGroupsResponseMetaNormalization = /*@__PURE__*/ S.String; export type OriginsTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const OriginsTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type OriginsTimeseriesGroupsResponseMetaUnitsList = Array; export const OriginsTimeseriesGroupsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface OriginsTimeseriesGroupsResponseMeta { /** 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/). */ aggInterval: OriginsTimeseriesGroupsResponseMetaAggInterval; confidenceInfo: OriginsTimeseriesGroupsResponseMetaConfidenceInfo; dateRange: OriginsTimeseriesGroupsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: OriginsTimeseriesGroupsResponseMetaNormalization; /** Measurement units for the results. */ units: OriginsTimeseriesGroupsResponseMetaUnitsList; } export const OriginsTimeseriesGroupsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: OriginsTimeseriesGroupsResponseMetaAggInterval, confidenceInfo: OriginsTimeseriesGroupsResponseMetaConfidenceInfo, dateRange: OriginsTimeseriesGroupsResponseMetaDateRangeList, lastUpdated: S.String, normalization: OriginsTimeseriesGroupsResponseMetaNormalization, units: OriginsTimeseriesGroupsResponseMetaUnitsList, }), ).annotate({ identifier: "OriginsTimeseriesGroupsResponseMeta", }) as any as S.Schema; export type OriginsTimeseriesGroupsResponseSerie0TimestampsList = Array; export const OriginsTimeseriesGroupsResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface OriginsTimeseriesGroupsResponseSerie0 { timestamps: OriginsTimeseriesGroupsResponseSerie0TimestampsList; } export const OriginsTimeseriesGroupsResponseSerie0 = /*@__PURE__*/ S.suspend( () => S.Struct({ timestamps: OriginsTimeseriesGroupsResponseSerie0TimestampsList, }), ).annotate({ identifier: "OriginsTimeseriesGroupsResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface OriginsTimeseriesGroupsResponse { /** Metadata for the results. */ meta: OriginsTimeseriesGroupsResponseMeta; serie_0: OriginsTimeseriesGroupsResponseSerie0; } export const OriginsTimeseriesGroupsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: OriginsTimeseriesGroupsResponseMeta, serie_0: OriginsTimeseriesGroupsResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "OriginsTimeseriesGroupsResponse", }) as any as S.Schema; export type HttpSummaryOsRequestAsnList = Array; export const HttpSummaryOsRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryOsRequestBotClass = "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpSummaryOsRequestBotClass = /*@__PURE__*/ S.String; export type HttpSummaryOsRequestBotClassList = Array< HttpSummaryOsRequestBotClass | (string & {}) >; export const HttpSummaryOsRequestBotClassList = /*@__PURE__*/ S.Array( HttpSummaryOsRequestBotClass, ) as any as S.Schema; export type HttpSummaryOsRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpSummaryOsRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpSummaryOsRequestBrowserFamilyList = Array< HttpSummaryOsRequestBrowserFamily | (string & {}) >; export const HttpSummaryOsRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpSummaryOsRequestBrowserFamily, ) as any as S.Schema; export type HttpSummaryOsRequestContinentList = Array; export const HttpSummaryOsRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryOsRequestDateEndList = Array; export const HttpSummaryOsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryOsRequestDateRangeList = Array; export const HttpSummaryOsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryOsRequestDateStartList = Array; export const HttpSummaryOsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryOsRequestDeviceType = "DESKTOP" | "MOBILE" | "OTHER"; export const HttpSummaryOsRequestDeviceType = /*@__PURE__*/ S.String; export type HttpSummaryOsRequestDeviceTypeList = Array< HttpSummaryOsRequestDeviceType | (string & {}) >; export const HttpSummaryOsRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpSummaryOsRequestDeviceType, ) as any as S.Schema; export type HttpSummaryOsRequestFormat = "JSON" | "CSV"; export const HttpSummaryOsRequestFormat = /*@__PURE__*/ S.String; export type HttpSummaryOsRequestGeoIdList = Array; export const HttpSummaryOsRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryOsRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpSummaryOsRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpSummaryOsRequestHttpProtocolList = Array< HttpSummaryOsRequestHttpProtocol | (string & {}) >; export const HttpSummaryOsRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpSummaryOsRequestHttpProtocol, ) as any as S.Schema; export type HttpSummaryOsRequestHttpVersion = "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpSummaryOsRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpSummaryOsRequestHttpVersionList = Array< HttpSummaryOsRequestHttpVersion | (string & {}) >; export const HttpSummaryOsRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpSummaryOsRequestHttpVersion, ) as any as S.Schema; export type HttpSummaryOsRequestIpVersion = "IPv4" | "IPv6"; export const HttpSummaryOsRequestIpVersion = /*@__PURE__*/ S.String; export type HttpSummaryOsRequestIpVersionList = Array< HttpSummaryOsRequestIpVersion | (string & {}) >; export const HttpSummaryOsRequestIpVersionList = /*@__PURE__*/ S.Array( HttpSummaryOsRequestIpVersion, ) as any as S.Schema; export type HttpSummaryOsRequestLocationList = Array; export const HttpSummaryOsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryOsRequestNameList = Array; export const HttpSummaryOsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryOsRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpSummaryOsRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpSummaryOsRequestTlsVersionList = Array< HttpSummaryOsRequestTlsVersion | (string & {}) >; export const HttpSummaryOsRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpSummaryOsRequestTlsVersion, ) as any as S.Schema; export interface OsHttpSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpSummaryOsRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpSummaryOsRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpSummaryOsRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpSummaryOsRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpSummaryOsRequestDateEndList; /** 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). */ dateRange?: HttpSummaryOsRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpSummaryOsRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpSummaryOsRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpSummaryOsRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpSummaryOsRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpSummaryOsRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpSummaryOsRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpSummaryOsRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpSummaryOsRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpSummaryOsRequestNameList; /** Filters results by TLS version. */ tlsVersion?: HttpSummaryOsRequestTlsVersionList; } export const OsHttpSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(HttpSummaryOsRequestAsnList.pipe(T.Query())), botClass: S.optional(HttpSummaryOsRequestBotClassList.pipe(T.Query())), browserFamily: S.optional( HttpSummaryOsRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional(HttpSummaryOsRequestContinentList.pipe(T.Query())), dateEnd: S.optional(HttpSummaryOsRequestDateEndList.pipe(T.Query())), dateRange: S.optional(HttpSummaryOsRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(HttpSummaryOsRequestDateStartList.pipe(T.Query())), deviceType: S.optional(HttpSummaryOsRequestDeviceTypeList.pipe(T.Query())), format: S.optional(HttpSummaryOsRequestFormat.pipe(T.Query())), geoId: S.optional(HttpSummaryOsRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpSummaryOsRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpSummaryOsRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional(HttpSummaryOsRequestIpVersionList.pipe(T.Query())), location: S.optional(HttpSummaryOsRequestLocationList.pipe(T.Query())), name: S.optional(HttpSummaryOsRequestNameList.pipe(T.Query())), tlsVersion: S.optional(HttpSummaryOsRequestTlsVersionList.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/http/summary/os", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "OsHttpSummaryRequest", }) as any as S.Schema; export type HttpSummaryOsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpSummaryOsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpSummaryOsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpSummaryOsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpSummaryOsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpSummaryOsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpSummaryOsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpSummaryOsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpSummaryOsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpSummaryOsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpSummaryOsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpSummaryOsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpSummaryOsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpSummaryOsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpSummaryOsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpSummaryOsResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpSummaryOsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpSummaryOsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpSummaryOsResponseMetaConfidenceInfo { annotations: HttpSummaryOsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpSummaryOsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: HttpSummaryOsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpSummaryOsResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpSummaryOsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpSummaryOsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpSummaryOsResponseMetaDateRangeList = Array; export const HttpSummaryOsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpSummaryOsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpSummaryOsResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpSummaryOsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpSummaryOsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpSummaryOsResponseMetaUnitsList = Array; export const HttpSummaryOsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpSummaryOsResponseMeta { confidenceInfo: HttpSummaryOsResponseMetaConfidenceInfo; dateRange: HttpSummaryOsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpSummaryOsResponseMetaNormalization; /** Measurement units for the results. */ units: HttpSummaryOsResponseMetaUnitsList; } export const HttpSummaryOsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpSummaryOsResponseMetaConfidenceInfo, dateRange: HttpSummaryOsResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpSummaryOsResponseMetaNormalization, units: HttpSummaryOsResponseMetaUnitsList, }), ).annotate({ identifier: "HttpSummaryOsResponseMeta", }) as any as S.Schema; export interface HttpSummaryOsResponseSummary0 { /** A numeric string. */ aNDROID: string; /** A numeric string. */ iOS: string; } export const HttpSummaryOsResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ aNDROID: S.String.pipe(T.Body("ANDROID")), iOS: S.String.pipe(T.Body("IOS")), }), ).annotate({ identifier: "HttpSummaryOsResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface OsHttpSummaryResponse { /** Metadata for the results. */ meta: HttpSummaryOsResponseMeta; summary_0: HttpSummaryOsResponseSummary0; } export const OsHttpSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpSummaryOsResponseMeta, summary_0: HttpSummaryOsResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "OsHttpSummaryResponse", }) as any as S.Schema; export type HttpTimeseriesGroupsOsRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const HttpTimeseriesGroupsOsRequestAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsOsRequestAsnList = Array; export const HttpTimeseriesGroupsOsRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsOsRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpTimeseriesGroupsOsRequestBotClass = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsOsRequestBotClassList = Array< HttpTimeseriesGroupsOsRequestBotClass | (string & {}) >; export const HttpTimeseriesGroupsOsRequestBotClassList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsOsRequestBotClass, ) as any as S.Schema; export type HttpTimeseriesGroupsOsRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpTimeseriesGroupsOsRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsOsRequestBrowserFamilyList = Array< HttpTimeseriesGroupsOsRequestBrowserFamily | (string & {}) >; export const HttpTimeseriesGroupsOsRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsOsRequestBrowserFamily, ) as any as S.Schema; export type HttpTimeseriesGroupsOsRequestContinentList = Array; export const HttpTimeseriesGroupsOsRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsOsRequestDateEndList = Array; export const HttpTimeseriesGroupsOsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsOsRequestDateRangeList = Array; export const HttpTimeseriesGroupsOsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsOsRequestDateStartList = Array; export const HttpTimeseriesGroupsOsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsOsRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpTimeseriesGroupsOsRequestDeviceType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsOsRequestDeviceTypeList = Array< HttpTimeseriesGroupsOsRequestDeviceType | (string & {}) >; export const HttpTimeseriesGroupsOsRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsOsRequestDeviceType, ) as any as S.Schema; export type HttpTimeseriesGroupsOsRequestFormat = "JSON" | "CSV"; export const HttpTimeseriesGroupsOsRequestFormat = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsOsRequestGeoIdList = Array; export const HttpTimeseriesGroupsOsRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsOsRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpTimeseriesGroupsOsRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsOsRequestHttpProtocolList = Array< HttpTimeseriesGroupsOsRequestHttpProtocol | (string & {}) >; export const HttpTimeseriesGroupsOsRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsOsRequestHttpProtocol, ) as any as S.Schema; export type HttpTimeseriesGroupsOsRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpTimeseriesGroupsOsRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsOsRequestHttpVersionList = Array< HttpTimeseriesGroupsOsRequestHttpVersion | (string & {}) >; export const HttpTimeseriesGroupsOsRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsOsRequestHttpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsOsRequestIpVersion = "IPv4" | "IPv6"; export const HttpTimeseriesGroupsOsRequestIpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsOsRequestIpVersionList = Array< HttpTimeseriesGroupsOsRequestIpVersion | (string & {}) >; export const HttpTimeseriesGroupsOsRequestIpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsOsRequestIpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsOsRequestLocationList = Array; export const HttpTimeseriesGroupsOsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsOsRequestNameList = Array; export const HttpTimeseriesGroupsOsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsOsRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpTimeseriesGroupsOsRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsOsRequestTlsVersionList = Array< HttpTimeseriesGroupsOsRequestTlsVersion | (string & {}) >; export const HttpTimeseriesGroupsOsRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsOsRequestTlsVersion, ) as any as S.Schema; export interface OsHttpTimeseriesGroupRequest { /** 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/). */ aggInterval?: HttpTimeseriesGroupsOsRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpTimeseriesGroupsOsRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpTimeseriesGroupsOsRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpTimeseriesGroupsOsRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpTimeseriesGroupsOsRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpTimeseriesGroupsOsRequestDateEndList; /** 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). */ dateRange?: HttpTimeseriesGroupsOsRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpTimeseriesGroupsOsRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpTimeseriesGroupsOsRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpTimeseriesGroupsOsRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpTimeseriesGroupsOsRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpTimeseriesGroupsOsRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpTimeseriesGroupsOsRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpTimeseriesGroupsOsRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpTimeseriesGroupsOsRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpTimeseriesGroupsOsRequestNameList; /** Filters results by TLS version. */ tlsVersion?: HttpTimeseriesGroupsOsRequestTlsVersionList; } export const OsHttpTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( HttpTimeseriesGroupsOsRequestAggInterval.pipe(T.Query()), ), asn: S.optional(HttpTimeseriesGroupsOsRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpTimeseriesGroupsOsRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpTimeseriesGroupsOsRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpTimeseriesGroupsOsRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpTimeseriesGroupsOsRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpTimeseriesGroupsOsRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpTimeseriesGroupsOsRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpTimeseriesGroupsOsRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpTimeseriesGroupsOsRequestFormat.pipe(T.Query())), geoId: S.optional(HttpTimeseriesGroupsOsRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpTimeseriesGroupsOsRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpTimeseriesGroupsOsRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpTimeseriesGroupsOsRequestIpVersionList.pipe(T.Query()), ), location: S.optional( HttpTimeseriesGroupsOsRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpTimeseriesGroupsOsRequestNameList.pipe(T.Query())), tlsVersion: S.optional( HttpTimeseriesGroupsOsRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/timeseries_groups/os", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "OsHttpTimeseriesGroupRequest", }) as any as S.Schema; export type HttpTimeseriesGroupsOsResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const HttpTimeseriesGroupsOsResponseMetaAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsOsResponseMetaConfidenceInfo { annotations: HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpTimeseriesGroupsOsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpTimeseriesGroupsOsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpTimeseriesGroupsOsResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpTimeseriesGroupsOsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpTimeseriesGroupsOsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpTimeseriesGroupsOsResponseMetaDateRangeList = Array; export const HttpTimeseriesGroupsOsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpTimeseriesGroupsOsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpTimeseriesGroupsOsResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsOsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpTimeseriesGroupsOsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpTimeseriesGroupsOsResponseMetaUnitsList = Array; export const HttpTimeseriesGroupsOsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsOsResponseMeta { /** 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/). */ aggInterval: HttpTimeseriesGroupsOsResponseMetaAggInterval; confidenceInfo: HttpTimeseriesGroupsOsResponseMetaConfidenceInfo; dateRange: HttpTimeseriesGroupsOsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpTimeseriesGroupsOsResponseMetaNormalization; /** Measurement units for the results. */ units: HttpTimeseriesGroupsOsResponseMetaUnitsList; } export const HttpTimeseriesGroupsOsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: HttpTimeseriesGroupsOsResponseMetaAggInterval, confidenceInfo: HttpTimeseriesGroupsOsResponseMetaConfidenceInfo, dateRange: HttpTimeseriesGroupsOsResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpTimeseriesGroupsOsResponseMetaNormalization, units: HttpTimeseriesGroupsOsResponseMetaUnitsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsOsResponseMeta", }) as any as S.Schema; export type HttpTimeseriesGroupsOsResponseSerie0TimestampsList = Array; export const HttpTimeseriesGroupsOsResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsOsResponseSerie0 { timestamps: HttpTimeseriesGroupsOsResponseSerie0TimestampsList; } export const HttpTimeseriesGroupsOsResponseSerie0 = /*@__PURE__*/ S.suspend( () => S.Struct({ timestamps: HttpTimeseriesGroupsOsResponseSerie0TimestampsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsOsResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface OsHttpTimeseriesGroupResponse { /** Metadata for the results. */ meta: HttpTimeseriesGroupsOsResponseMeta; serie_0: HttpTimeseriesGroupsOsResponseSerie0; } export const OsHttpTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpTimeseriesGroupsOsResponseMeta, serie_0: HttpTimeseriesGroupsOsResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "OsHttpTimeseriesGroupResponse", }) as any as S.Schema; export type BgpRoutesPfx2asRequestFormat = "JSON" | "CSV"; export const BgpRoutesPfx2asRequestFormat = /*@__PURE__*/ S.String; export type BgpRoutesPfx2asRequestRpkiStatus = "VALID" | "INVALID" | "UNKNOWN"; export const BgpRoutesPfx2asRequestRpkiStatus = /*@__PURE__*/ S.String; export interface Pfx2asBgpRouteRequest { /** Format in which results will be returned. */ format?: BgpRoutesPfx2asRequestFormat | (string & {}); /** Return only results with the longest prefix match for the given prefix. For example, specify a /32 prefix to lookup the origin ASN for an IPv4 address. */ longestPrefixMatch?: boolean; /** Lookup prefixes originated by the given ASN. */ origin?: number; prefix?: string; /** Return only results with matching rpki status: valid, invalid or unknown. */ rpkiStatus?: BgpRoutesPfx2asRequestRpkiStatus | (string & {}); } export const Pfx2asBgpRouteRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ format: S.optional(BgpRoutesPfx2asRequestFormat.pipe(T.Query())), longestPrefixMatch: S.optional(S.Boolean.pipe(T.Query())), origin: S.optional(S.Number.pipe(T.Query())), prefix: S.optional(S.String.pipe(T.Query())), rpkiStatus: S.optional(BgpRoutesPfx2asRequestRpkiStatus.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/bgp/routes/pfx2as", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "Pfx2asBgpRouteRequest", }) as any as S.Schema; export type BgpRoutesPfx2asResponseMeta = BgpRoutesMoasResponseMeta; export const BgpRoutesPfx2asResponseMeta = BgpRoutesMoasResponseMeta; export interface BgpRoutesPfx2asResponsePrefixOriginsItem { origin: number; peerCount: number; prefix: string; rpkiValidation: string; } export const BgpRoutesPfx2asResponsePrefixOriginsItem = /*@__PURE__*/ S.suspend( () => S.Struct({ origin: S.Number, peerCount: S.Number.pipe(T.Body("peer_count")), prefix: S.String, rpkiValidation: S.String.pipe(T.Body("rpki_validation")), }), ).annotate({ identifier: "BgpRoutesPfx2asResponsePrefixOriginsItem", }) as any as S.Schema; export type BgpRoutesPfx2asResponsePrefixOriginsList = Array; export const BgpRoutesPfx2asResponsePrefixOriginsList = /*@__PURE__*/ S.Array( BgpRoutesPfx2asResponsePrefixOriginsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface Pfx2asBgpRouteResponse { meta: BgpRoutesMoasResponseMeta; prefixOrigins: BgpRoutesPfx2asResponsePrefixOriginsList; } export const Pfx2asBgpRouteResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: BgpRoutesMoasResponseMeta, prefixOrigins: BgpRoutesPfx2asResponsePrefixOriginsList.pipe( T.Body("prefix_origins"), ), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "Pfx2asBgpRouteResponse", }) as any as S.Schema; export type HttpSummaryPostQuantumRequestAsnList = Array; export const HttpSummaryPostQuantumRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryPostQuantumRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpSummaryPostQuantumRequestBotClass = /*@__PURE__*/ S.String; export type HttpSummaryPostQuantumRequestBotClassList = Array< HttpSummaryPostQuantumRequestBotClass | (string & {}) >; export const HttpSummaryPostQuantumRequestBotClassList = /*@__PURE__*/ S.Array( HttpSummaryPostQuantumRequestBotClass, ) as any as S.Schema; export type HttpSummaryPostQuantumRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpSummaryPostQuantumRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpSummaryPostQuantumRequestBrowserFamilyList = Array< HttpSummaryPostQuantumRequestBrowserFamily | (string & {}) >; export const HttpSummaryPostQuantumRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpSummaryPostQuantumRequestBrowserFamily, ) as any as S.Schema; export type HttpSummaryPostQuantumRequestContinentList = Array; export const HttpSummaryPostQuantumRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryPostQuantumRequestDateEndList = Array; export const HttpSummaryPostQuantumRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryPostQuantumRequestDateRangeList = Array; export const HttpSummaryPostQuantumRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryPostQuantumRequestDateStartList = Array; export const HttpSummaryPostQuantumRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryPostQuantumRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpSummaryPostQuantumRequestDeviceType = /*@__PURE__*/ S.String; export type HttpSummaryPostQuantumRequestDeviceTypeList = Array< HttpSummaryPostQuantumRequestDeviceType | (string & {}) >; export const HttpSummaryPostQuantumRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpSummaryPostQuantumRequestDeviceType, ) as any as S.Schema; export type HttpSummaryPostQuantumRequestFormat = "JSON" | "CSV"; export const HttpSummaryPostQuantumRequestFormat = /*@__PURE__*/ S.String; export type HttpSummaryPostQuantumRequestGeoIdList = Array; export const HttpSummaryPostQuantumRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryPostQuantumRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpSummaryPostQuantumRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpSummaryPostQuantumRequestHttpProtocolList = Array< HttpSummaryPostQuantumRequestHttpProtocol | (string & {}) >; export const HttpSummaryPostQuantumRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpSummaryPostQuantumRequestHttpProtocol, ) as any as S.Schema; export type HttpSummaryPostQuantumRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpSummaryPostQuantumRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpSummaryPostQuantumRequestHttpVersionList = Array< HttpSummaryPostQuantumRequestHttpVersion | (string & {}) >; export const HttpSummaryPostQuantumRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpSummaryPostQuantumRequestHttpVersion, ) as any as S.Schema; export type HttpSummaryPostQuantumRequestIpVersion = "IPv4" | "IPv6"; export const HttpSummaryPostQuantumRequestIpVersion = /*@__PURE__*/ S.String; export type HttpSummaryPostQuantumRequestIpVersionList = Array< HttpSummaryPostQuantumRequestIpVersion | (string & {}) >; export const HttpSummaryPostQuantumRequestIpVersionList = /*@__PURE__*/ S.Array( HttpSummaryPostQuantumRequestIpVersion, ) as any as S.Schema; export type HttpSummaryPostQuantumRequestLocationList = Array; export const HttpSummaryPostQuantumRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryPostQuantumRequestNameList = Array; export const HttpSummaryPostQuantumRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryPostQuantumRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpSummaryPostQuantumRequestOs = /*@__PURE__*/ S.String; export type HttpSummaryPostQuantumRequestOsList = Array< HttpSummaryPostQuantumRequestOs | (string & {}) >; export const HttpSummaryPostQuantumRequestOsList = /*@__PURE__*/ S.Array( HttpSummaryPostQuantumRequestOs, ) as any as S.Schema; export type HttpSummaryPostQuantumRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpSummaryPostQuantumRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpSummaryPostQuantumRequestTlsVersionList = Array< HttpSummaryPostQuantumRequestTlsVersion | (string & {}) >; export const HttpSummaryPostQuantumRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpSummaryPostQuantumRequestTlsVersion, ) as any as S.Schema; export interface PostQuantumHttpSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpSummaryPostQuantumRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpSummaryPostQuantumRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpSummaryPostQuantumRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpSummaryPostQuantumRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpSummaryPostQuantumRequestDateEndList; /** 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). */ dateRange?: HttpSummaryPostQuantumRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpSummaryPostQuantumRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpSummaryPostQuantumRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpSummaryPostQuantumRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpSummaryPostQuantumRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpSummaryPostQuantumRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpSummaryPostQuantumRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpSummaryPostQuantumRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpSummaryPostQuantumRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpSummaryPostQuantumRequestNameList; /** Filters results by operating system. */ os?: HttpSummaryPostQuantumRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpSummaryPostQuantumRequestTlsVersionList; } export const PostQuantumHttpSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(HttpSummaryPostQuantumRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpSummaryPostQuantumRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpSummaryPostQuantumRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpSummaryPostQuantumRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpSummaryPostQuantumRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpSummaryPostQuantumRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpSummaryPostQuantumRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpSummaryPostQuantumRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpSummaryPostQuantumRequestFormat.pipe(T.Query())), geoId: S.optional(HttpSummaryPostQuantumRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpSummaryPostQuantumRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpSummaryPostQuantumRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpSummaryPostQuantumRequestIpVersionList.pipe(T.Query()), ), location: S.optional( HttpSummaryPostQuantumRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpSummaryPostQuantumRequestNameList.pipe(T.Query())), os: S.optional(HttpSummaryPostQuantumRequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpSummaryPostQuantumRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/summary/post_quantum", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PostQuantumHttpSummaryRequest", }) as any as S.Schema; export type HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpSummaryPostQuantumResponseMetaConfidenceInfo { annotations: HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpSummaryPostQuantumResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpSummaryPostQuantumResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpSummaryPostQuantumResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpSummaryPostQuantumResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpSummaryPostQuantumResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpSummaryPostQuantumResponseMetaDateRangeList = Array; export const HttpSummaryPostQuantumResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpSummaryPostQuantumResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpSummaryPostQuantumResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpSummaryPostQuantumResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpSummaryPostQuantumResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpSummaryPostQuantumResponseMetaUnitsList = Array; export const HttpSummaryPostQuantumResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpSummaryPostQuantumResponseMeta { confidenceInfo: HttpSummaryPostQuantumResponseMetaConfidenceInfo; dateRange: HttpSummaryPostQuantumResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpSummaryPostQuantumResponseMetaNormalization; /** Measurement units for the results. */ units: HttpSummaryPostQuantumResponseMetaUnitsList; } export const HttpSummaryPostQuantumResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpSummaryPostQuantumResponseMetaConfidenceInfo, dateRange: HttpSummaryPostQuantumResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpSummaryPostQuantumResponseMetaNormalization, units: HttpSummaryPostQuantumResponseMetaUnitsList, }), ).annotate({ identifier: "HttpSummaryPostQuantumResponseMeta", }) as any as S.Schema; export type HttpSummaryPostQuantumResponseSummary0 = As112SummaryDnssecResponseSummary0; export const HttpSummaryPostQuantumResponseSummary0 = As112SummaryDnssecResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface PostQuantumHttpSummaryResponse { /** Metadata for the results. */ meta: HttpSummaryPostQuantumResponseMeta; summary_0: As112SummaryDnssecResponseSummary0; } export const PostQuantumHttpSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpSummaryPostQuantumResponseMeta, summary_0: As112SummaryDnssecResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PostQuantumHttpSummaryResponse", }) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const HttpTimeseriesGroupsPostQuantumRequestAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsPostQuantumRequestAsnList = Array; export const HttpTimeseriesGroupsPostQuantumRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpTimeseriesGroupsPostQuantumRequestBotClass = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsPostQuantumRequestBotClassList = Array< HttpTimeseriesGroupsPostQuantumRequestBotClass | (string & {}) >; export const HttpTimeseriesGroupsPostQuantumRequestBotClassList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsPostQuantumRequestBotClass, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpTimeseriesGroupsPostQuantumRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsPostQuantumRequestBrowserFamilyList = Array< HttpTimeseriesGroupsPostQuantumRequestBrowserFamily | (string & {}) >; export const HttpTimeseriesGroupsPostQuantumRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsPostQuantumRequestBrowserFamily, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumRequestContinentList = Array; export const HttpTimeseriesGroupsPostQuantumRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumRequestDateEndList = Array; export const HttpTimeseriesGroupsPostQuantumRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumRequestDateRangeList = Array; export const HttpTimeseriesGroupsPostQuantumRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumRequestDateStartList = Array; export const HttpTimeseriesGroupsPostQuantumRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpTimeseriesGroupsPostQuantumRequestDeviceType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsPostQuantumRequestDeviceTypeList = Array< HttpTimeseriesGroupsPostQuantumRequestDeviceType | (string & {}) >; export const HttpTimeseriesGroupsPostQuantumRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsPostQuantumRequestDeviceType, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumRequestFormat = "JSON" | "CSV"; export const HttpTimeseriesGroupsPostQuantumRequestFormat = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsPostQuantumRequestGeoIdList = Array; export const HttpTimeseriesGroupsPostQuantumRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumRequestHttpProtocol = | "HTTP" | "HTTPS"; export const HttpTimeseriesGroupsPostQuantumRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsPostQuantumRequestHttpProtocolList = Array< HttpTimeseriesGroupsPostQuantumRequestHttpProtocol | (string & {}) >; export const HttpTimeseriesGroupsPostQuantumRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsPostQuantumRequestHttpProtocol, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpTimeseriesGroupsPostQuantumRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsPostQuantumRequestHttpVersionList = Array< HttpTimeseriesGroupsPostQuantumRequestHttpVersion | (string & {}) >; export const HttpTimeseriesGroupsPostQuantumRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsPostQuantumRequestHttpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumRequestIpVersion = "IPv4" | "IPv6"; export const HttpTimeseriesGroupsPostQuantumRequestIpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsPostQuantumRequestIpVersionList = Array< HttpTimeseriesGroupsPostQuantumRequestIpVersion | (string & {}) >; export const HttpTimeseriesGroupsPostQuantumRequestIpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsPostQuantumRequestIpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumRequestLocationList = Array; export const HttpTimeseriesGroupsPostQuantumRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumRequestNameList = Array; export const HttpTimeseriesGroupsPostQuantumRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpTimeseriesGroupsPostQuantumRequestOs = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsPostQuantumRequestOsList = Array< HttpTimeseriesGroupsPostQuantumRequestOs | (string & {}) >; export const HttpTimeseriesGroupsPostQuantumRequestOsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsPostQuantumRequestOs, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpTimeseriesGroupsPostQuantumRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsPostQuantumRequestTlsVersionList = Array< HttpTimeseriesGroupsPostQuantumRequestTlsVersion | (string & {}) >; export const HttpTimeseriesGroupsPostQuantumRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsPostQuantumRequestTlsVersion, ) as any as S.Schema; export interface PostQuantumHttpTimeseriesGroupRequest { /** 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/). */ aggInterval?: | HttpTimeseriesGroupsPostQuantumRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpTimeseriesGroupsPostQuantumRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpTimeseriesGroupsPostQuantumRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpTimeseriesGroupsPostQuantumRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpTimeseriesGroupsPostQuantumRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpTimeseriesGroupsPostQuantumRequestDateEndList; /** 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). */ dateRange?: HttpTimeseriesGroupsPostQuantumRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpTimeseriesGroupsPostQuantumRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpTimeseriesGroupsPostQuantumRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpTimeseriesGroupsPostQuantumRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpTimeseriesGroupsPostQuantumRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpTimeseriesGroupsPostQuantumRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpTimeseriesGroupsPostQuantumRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpTimeseriesGroupsPostQuantumRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpTimeseriesGroupsPostQuantumRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpTimeseriesGroupsPostQuantumRequestNameList; /** Filters results by operating system. */ os?: HttpTimeseriesGroupsPostQuantumRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpTimeseriesGroupsPostQuantumRequestTlsVersionList; } export const PostQuantumHttpTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( HttpTimeseriesGroupsPostQuantumRequestAggInterval.pipe(T.Query()), ), asn: S.optional( HttpTimeseriesGroupsPostQuantumRequestAsnList.pipe(T.Query()), ), botClass: S.optional( HttpTimeseriesGroupsPostQuantumRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpTimeseriesGroupsPostQuantumRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpTimeseriesGroupsPostQuantumRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpTimeseriesGroupsPostQuantumRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpTimeseriesGroupsPostQuantumRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpTimeseriesGroupsPostQuantumRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpTimeseriesGroupsPostQuantumRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional( HttpTimeseriesGroupsPostQuantumRequestFormat.pipe(T.Query()), ), geoId: S.optional( HttpTimeseriesGroupsPostQuantumRequestGeoIdList.pipe(T.Query()), ), httpProtocol: S.optional( HttpTimeseriesGroupsPostQuantumRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpTimeseriesGroupsPostQuantumRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpTimeseriesGroupsPostQuantumRequestIpVersionList.pipe(T.Query()), ), location: S.optional( HttpTimeseriesGroupsPostQuantumRequestLocationList.pipe(T.Query()), ), name: S.optional( HttpTimeseriesGroupsPostQuantumRequestNameList.pipe(T.Query()), ), os: S.optional( HttpTimeseriesGroupsPostQuantumRequestOsList.pipe(T.Query()), ), tlsVersion: S.optional( HttpTimeseriesGroupsPostQuantumRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/timeseries_groups/post_quantum", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PostQuantumHttpTimeseriesGroupRequest", }) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const HttpTimeseriesGroupsPostQuantumResponseMetaAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfo { annotations: HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpTimeseriesGroupsPostQuantumResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpTimeseriesGroupsPostQuantumResponseMetaDateRangeList = Array; export const HttpTimeseriesGroupsPostQuantumResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpTimeseriesGroupsPostQuantumResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsPostQuantumResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpTimeseriesGroupsPostQuantumResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpTimeseriesGroupsPostQuantumResponseMetaUnitsList = Array; export const HttpTimeseriesGroupsPostQuantumResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsPostQuantumResponseMeta { /** 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/). */ aggInterval: HttpTimeseriesGroupsPostQuantumResponseMetaAggInterval; confidenceInfo: HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfo; dateRange: HttpTimeseriesGroupsPostQuantumResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpTimeseriesGroupsPostQuantumResponseMetaNormalization; /** Measurement units for the results. */ units: HttpTimeseriesGroupsPostQuantumResponseMetaUnitsList; } export const HttpTimeseriesGroupsPostQuantumResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: HttpTimeseriesGroupsPostQuantumResponseMetaAggInterval, confidenceInfo: HttpTimeseriesGroupsPostQuantumResponseMetaConfidenceInfo, dateRange: HttpTimeseriesGroupsPostQuantumResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpTimeseriesGroupsPostQuantumResponseMetaNormalization, units: HttpTimeseriesGroupsPostQuantumResponseMetaUnitsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsPostQuantumResponseMeta", }) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumResponseSerie0NOTSUPPORTEDList = Array; export const HttpTimeseriesGroupsPostQuantumResponseSerie0NOTSUPPORTEDList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumResponseSerie0SUPPORTEDList = Array; export const HttpTimeseriesGroupsPostQuantumResponseSerie0SUPPORTEDList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsPostQuantumResponseSerie0TimestampsList = Array; export const HttpTimeseriesGroupsPostQuantumResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsPostQuantumResponseSerie0 { nOTSUPPORTED: HttpTimeseriesGroupsPostQuantumResponseSerie0NOTSUPPORTEDList; sUPPORTED: HttpTimeseriesGroupsPostQuantumResponseSerie0SUPPORTEDList; timestamps: HttpTimeseriesGroupsPostQuantumResponseSerie0TimestampsList; } export const HttpTimeseriesGroupsPostQuantumResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ nOTSUPPORTED: HttpTimeseriesGroupsPostQuantumResponseSerie0NOTSUPPORTEDList.pipe( T.Body("NOT_SUPPORTED"), ), sUPPORTED: HttpTimeseriesGroupsPostQuantumResponseSerie0SUPPORTEDList.pipe( T.Body("SUPPORTED"), ), timestamps: HttpTimeseriesGroupsPostQuantumResponseSerie0TimestampsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsPostQuantumResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface PostQuantumHttpTimeseriesGroupResponse { /** Metadata for the results. */ meta: HttpTimeseriesGroupsPostQuantumResponseMeta; serie_0: HttpTimeseriesGroupsPostQuantumResponseSerie0; } export const PostQuantumHttpTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: HttpTimeseriesGroupsPostQuantumResponseMeta, serie_0: HttpTimeseriesGroupsPostQuantumResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PostQuantumHttpTimeseriesGroupResponse", }) as any as S.Schema; export type BgpTopPrefixesRequestAsnList = Array; export const BgpTopPrefixesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTopPrefixesRequestDateEndList = Array; export const BgpTopPrefixesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTopPrefixesRequestDateRangeList = Array; export const BgpTopPrefixesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTopPrefixesRequestDateStartList = Array; export const BgpTopPrefixesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTopPrefixesRequestFormat = "JSON" | "CSV"; export const BgpTopPrefixesRequestFormat = /*@__PURE__*/ S.String; export type BgpTopPrefixesRequestNameList = Array; export const BgpTopPrefixesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTopPrefixesRequestUpdateType = "ANNOUNCEMENT" | "WITHDRAWAL"; export const BgpTopPrefixesRequestUpdateType = /*@__PURE__*/ S.String; export type BgpTopPrefixesRequestUpdateTypeList = Array< BgpTopPrefixesRequestUpdateType | (string & {}) >; export const BgpTopPrefixesRequestUpdateTypeList = /*@__PURE__*/ S.Array( BgpTopPrefixesRequestUpdateType, ) as any as S.Schema; export interface PrefixesBgpTopRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: BgpTopPrefixesRequestAsnList; /** End of the date range (inclusive). */ dateEnd?: BgpTopPrefixesRequestDateEndList; /** 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). */ dateRange?: BgpTopPrefixesRequestDateRangeList; /** Start of the date range. */ dateStart?: BgpTopPrefixesRequestDateStartList; /** Format in which results will be returned. */ format?: BgpTopPrefixesRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Array of names used to label the series in the response. */ name?: BgpTopPrefixesRequestNameList; /** Filters results by BGP update type. */ updateType?: BgpTopPrefixesRequestUpdateTypeList; } export const PrefixesBgpTopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(BgpTopPrefixesRequestAsnList.pipe(T.Query())), dateEnd: S.optional(BgpTopPrefixesRequestDateEndList.pipe(T.Query())), dateRange: S.optional(BgpTopPrefixesRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(BgpTopPrefixesRequestDateStartList.pipe(T.Query())), format: S.optional(BgpTopPrefixesRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), name: S.optional(BgpTopPrefixesRequestNameList.pipe(T.Query())), updateType: S.optional(BgpTopPrefixesRequestUpdateTypeList.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/bgp/top/prefixes", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PrefixesBgpTopRequest", }) as any as S.Schema; export type BgpTopPrefixesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const BgpTopPrefixesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type BgpTopPrefixesResponseMetaDateRangeList = Array; export const BgpTopPrefixesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export interface BgpTopPrefixesResponseMeta { dateRange: BgpTopPrefixesResponseMetaDateRangeList; } export const BgpTopPrefixesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ dateRange: BgpTopPrefixesResponseMetaDateRangeList, }), ).annotate({ identifier: "BgpTopPrefixesResponseMeta", }) as any as S.Schema; export interface BgpTopPrefixesResponseTop0Item { prefix: string; /** A numeric string. */ value: string; } export const BgpTopPrefixesResponseTop0Item = /*@__PURE__*/ S.suspend(() => S.Struct({ prefix: S.String, value: S.String, }), ).annotate({ identifier: "BgpTopPrefixesResponseTop0Item", }) as any as S.Schema; export type BgpTopPrefixesResponseTop0List = Array; export const BgpTopPrefixesResponseTop0List = /*@__PURE__*/ S.Array( BgpTopPrefixesResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface PrefixesBgpTopResponse { meta: BgpTopPrefixesResponseMeta; top_0: BgpTopPrefixesResponseTop0List; } export const PrefixesBgpTopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: BgpTopPrefixesResponseMeta, top_0: BgpTopPrefixesResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PrefixesBgpTopResponse", }) as any as S.Schema; export type BgpTopAsesPrefixesRequestFormat = "JSON" | "CSV"; export const BgpTopAsesPrefixesRequestFormat = /*@__PURE__*/ S.String; export interface PrefixesBgpTopAsRequest { /** Alpha-2 country code. */ country?: string; /** Format in which results will be returned. */ format?: BgpTopAsesPrefixesRequestFormat | (string & {}); /** Maximum number of ASes to return. */ limit?: number; } export const PrefixesBgpTopAsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ country: S.optional(S.String.pipe(T.Query())), format: S.optional(BgpTopAsesPrefixesRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/bgp/top/ases/prefixes", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PrefixesBgpTopAsRequest", }) as any as S.Schema; export interface BgpTopAsesPrefixesResponseAsnsItem { asn: number; country: string; name: string; pfxsCount: number; } export const BgpTopAsesPrefixesResponseAsnsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.Number, country: S.String, name: S.String, pfxsCount: S.Number.pipe(T.Body("pfxs_count")), }), ).annotate({ identifier: "BgpTopAsesPrefixesResponseAsnsItem", }) as any as S.Schema; export type BgpTopAsesPrefixesResponseAsnsList = Array; export const BgpTopAsesPrefixesResponseAsnsList = /*@__PURE__*/ S.Array( BgpTopAsesPrefixesResponseAsnsItem, ) as any as S.Schema; export type BgpTopAsesPrefixesResponseMeta = BgpRoutesMoasResponseMeta; export const BgpTopAsesPrefixesResponseMeta = BgpRoutesMoasResponseMeta; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface PrefixesBgpTopAsResponse { asns: BgpTopAsesPrefixesResponseAsnsList; meta: BgpRoutesMoasResponseMeta; } export const PrefixesBgpTopAsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ asns: BgpTopAsesPrefixesResponseAsnsList, meta: BgpRoutesMoasResponseMeta, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PrefixesBgpTopAsResponse", }) as any as S.Schema; export type As112SummaryProtocolRequestContinentList = Array; export const As112SummaryProtocolRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryProtocolRequestDateEndList = Array; export const As112SummaryProtocolRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryProtocolRequestDateRangeList = Array; export const As112SummaryProtocolRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryProtocolRequestDateStartList = Array; export const As112SummaryProtocolRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryProtocolRequestFormat = "JSON" | "CSV"; export const As112SummaryProtocolRequestFormat = /*@__PURE__*/ S.String; export type As112SummaryProtocolRequestLocationList = Array; export const As112SummaryProtocolRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryProtocolRequestNameList = Array; export const As112SummaryProtocolRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryProtocolRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const As112SummaryProtocolRequestQueryType = /*@__PURE__*/ S.String; export type As112SummaryProtocolRequestQueryTypeList = Array< As112SummaryProtocolRequestQueryType | (string & {}) >; export const As112SummaryProtocolRequestQueryTypeList = /*@__PURE__*/ S.Array( As112SummaryProtocolRequestQueryType, ) as any as S.Schema; export type As112SummaryProtocolRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const As112SummaryProtocolRequestResponseCode = /*@__PURE__*/ S.String; export type As112SummaryProtocolRequestResponseCodeList = Array< As112SummaryProtocolRequestResponseCode | (string & {}) >; export const As112SummaryProtocolRequestResponseCodeList = /*@__PURE__*/ S.Array( As112SummaryProtocolRequestResponseCode, ) as any as S.Schema; export interface ProtocolAs112SummaryRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112SummaryProtocolRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112SummaryProtocolRequestDateEndList; /** 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). */ dateRange?: As112SummaryProtocolRequestDateRangeList; /** Start of the date range. */ dateStart?: As112SummaryProtocolRequestDateStartList; /** Format in which results will be returned. */ format?: As112SummaryProtocolRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112SummaryProtocolRequestLocationList; /** Array of names used to label the series in the response. */ name?: As112SummaryProtocolRequestNameList; /** Filters results by DNS query type. */ queryType?: As112SummaryProtocolRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: As112SummaryProtocolRequestResponseCodeList; } export const ProtocolAs112SummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( As112SummaryProtocolRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(As112SummaryProtocolRequestDateEndList.pipe(T.Query())), dateRange: S.optional( As112SummaryProtocolRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( As112SummaryProtocolRequestDateStartList.pipe(T.Query()), ), format: S.optional(As112SummaryProtocolRequestFormat.pipe(T.Query())), location: S.optional( As112SummaryProtocolRequestLocationList.pipe(T.Query()), ), name: S.optional(As112SummaryProtocolRequestNameList.pipe(T.Query())), queryType: S.optional( As112SummaryProtocolRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( As112SummaryProtocolRequestResponseCodeList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/summary/protocol", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ProtocolAs112SummaryRequest", }) as any as S.Schema; export type As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsList = Array; export const As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112SummaryProtocolResponseMetaConfidenceInfo { annotations: As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112SummaryProtocolResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: As112SummaryProtocolResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112SummaryProtocolResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112SummaryProtocolResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112SummaryProtocolResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112SummaryProtocolResponseMetaDateRangeList = Array; export const As112SummaryProtocolResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112SummaryProtocolResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112SummaryProtocolResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112SummaryProtocolResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112SummaryProtocolResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112SummaryProtocolResponseMetaUnitsList = Array; export const As112SummaryProtocolResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112SummaryProtocolResponseMeta { confidenceInfo: As112SummaryProtocolResponseMetaConfidenceInfo; dateRange: As112SummaryProtocolResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112SummaryProtocolResponseMetaNormalization; /** Measurement units for the results. */ units: As112SummaryProtocolResponseMetaUnitsList; } export const As112SummaryProtocolResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: As112SummaryProtocolResponseMetaConfidenceInfo, dateRange: As112SummaryProtocolResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112SummaryProtocolResponseMetaNormalization, units: As112SummaryProtocolResponseMetaUnitsList, }), ).annotate({ identifier: "As112SummaryProtocolResponseMeta", }) as any as S.Schema; export interface As112SummaryProtocolResponseSummary0 { /** A numeric string. */ hTTPS: string; /** A numeric string. */ tCP: string; /** A numeric string. */ tLS: string; /** A numeric string. */ uDP: string; } export const As112SummaryProtocolResponseSummary0 = /*@__PURE__*/ S.suspend( () => S.Struct({ hTTPS: S.String.pipe(T.Body("HTTPS")), tCP: S.String.pipe(T.Body("TCP")), tLS: S.String.pipe(T.Body("TLS")), uDP: S.String.pipe(T.Body("UDP")), }), ).annotate({ identifier: "As112SummaryProtocolResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ProtocolAs112SummaryResponse { /** Metadata for the results. */ meta: As112SummaryProtocolResponseMeta; summary_0: As112SummaryProtocolResponseSummary0; } export const ProtocolAs112SummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: As112SummaryProtocolResponseMeta, summary_0: As112SummaryProtocolResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ProtocolAs112SummaryResponse", }) as any as S.Schema; export type As112TimeseriesGroupsProtocolRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const As112TimeseriesGroupsProtocolRequestAggInterval = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsProtocolRequestContinentList = Array; export const As112TimeseriesGroupsProtocolRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsProtocolRequestDateEndList = Array; export const As112TimeseriesGroupsProtocolRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsProtocolRequestDateRangeList = Array; export const As112TimeseriesGroupsProtocolRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsProtocolRequestDateStartList = Array; export const As112TimeseriesGroupsProtocolRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsProtocolRequestFormat = "JSON" | "CSV"; export const As112TimeseriesGroupsProtocolRequestFormat = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsProtocolRequestLocationList = Array; export const As112TimeseriesGroupsProtocolRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsProtocolRequestNameList = Array; export const As112TimeseriesGroupsProtocolRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsProtocolRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const As112TimeseriesGroupsProtocolRequestQueryType = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsProtocolRequestQueryTypeList = Array< As112TimeseriesGroupsProtocolRequestQueryType | (string & {}) >; export const As112TimeseriesGroupsProtocolRequestQueryTypeList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsProtocolRequestQueryType, ) as any as S.Schema; export type As112TimeseriesGroupsProtocolRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const As112TimeseriesGroupsProtocolRequestResponseCode = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsProtocolRequestResponseCodeList = Array< As112TimeseriesGroupsProtocolRequestResponseCode | (string & {}) >; export const As112TimeseriesGroupsProtocolRequestResponseCodeList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsProtocolRequestResponseCode, ) as any as S.Schema; export interface ProtocolAs112TimeseriesGroupRequest { /** 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/). */ aggInterval?: As112TimeseriesGroupsProtocolRequestAggInterval | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112TimeseriesGroupsProtocolRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112TimeseriesGroupsProtocolRequestDateEndList; /** 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). */ dateRange?: As112TimeseriesGroupsProtocolRequestDateRangeList; /** Start of the date range. */ dateStart?: As112TimeseriesGroupsProtocolRequestDateStartList; /** Format in which results will be returned. */ format?: As112TimeseriesGroupsProtocolRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112TimeseriesGroupsProtocolRequestLocationList; /** Array of names used to label the series in the response. */ name?: As112TimeseriesGroupsProtocolRequestNameList; /** Filters results by DNS query type. */ queryType?: As112TimeseriesGroupsProtocolRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: As112TimeseriesGroupsProtocolRequestResponseCodeList; } export const ProtocolAs112TimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( As112TimeseriesGroupsProtocolRequestAggInterval.pipe(T.Query()), ), continent: S.optional( As112TimeseriesGroupsProtocolRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( As112TimeseriesGroupsProtocolRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( As112TimeseriesGroupsProtocolRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( As112TimeseriesGroupsProtocolRequestDateStartList.pipe(T.Query()), ), format: S.optional( As112TimeseriesGroupsProtocolRequestFormat.pipe(T.Query()), ), location: S.optional( As112TimeseriesGroupsProtocolRequestLocationList.pipe(T.Query()), ), name: S.optional( As112TimeseriesGroupsProtocolRequestNameList.pipe(T.Query()), ), queryType: S.optional( As112TimeseriesGroupsProtocolRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( As112TimeseriesGroupsProtocolRequestResponseCodeList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/timeseries_groups/protocol", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ProtocolAs112TimeseriesGroupRequest", }) as any as S.Schema; export type As112TimeseriesGroupsProtocolResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const As112TimeseriesGroupsProtocolResponseMetaAggInterval = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsList = Array; export const As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112TimeseriesGroupsProtocolResponseMetaConfidenceInfo { annotations: As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112TimeseriesGroupsProtocolResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: As112TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112TimeseriesGroupsProtocolResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112TimeseriesGroupsProtocolResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112TimeseriesGroupsProtocolResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112TimeseriesGroupsProtocolResponseMetaDateRangeList = Array; export const As112TimeseriesGroupsProtocolResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112TimeseriesGroupsProtocolResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112TimeseriesGroupsProtocolResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsProtocolResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112TimeseriesGroupsProtocolResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112TimeseriesGroupsProtocolResponseMetaUnitsList = Array; export const As112TimeseriesGroupsProtocolResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112TimeseriesGroupsProtocolResponseMeta { /** 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/). */ aggInterval: As112TimeseriesGroupsProtocolResponseMetaAggInterval; confidenceInfo: As112TimeseriesGroupsProtocolResponseMetaConfidenceInfo; dateRange: As112TimeseriesGroupsProtocolResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112TimeseriesGroupsProtocolResponseMetaNormalization; /** Measurement units for the results. */ units: As112TimeseriesGroupsProtocolResponseMetaUnitsList; } export const As112TimeseriesGroupsProtocolResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: As112TimeseriesGroupsProtocolResponseMetaAggInterval, confidenceInfo: As112TimeseriesGroupsProtocolResponseMetaConfidenceInfo, dateRange: As112TimeseriesGroupsProtocolResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112TimeseriesGroupsProtocolResponseMetaNormalization, units: As112TimeseriesGroupsProtocolResponseMetaUnitsList, }), ).annotate({ identifier: "As112TimeseriesGroupsProtocolResponseMeta", }) as any as S.Schema; export type As112TimeseriesGroupsProtocolResponseSerie0HTTPSList = Array; export const As112TimeseriesGroupsProtocolResponseSerie0HTTPSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsProtocolResponseSerie0TCPList = Array; export const As112TimeseriesGroupsProtocolResponseSerie0TCPList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsProtocolResponseSerie0TLSList = Array; export const As112TimeseriesGroupsProtocolResponseSerie0TLSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsProtocolResponseSerie0UDPList = Array; export const As112TimeseriesGroupsProtocolResponseSerie0UDPList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TimeseriesGroupsProtocolResponseSerie0 { hTTPS: As112TimeseriesGroupsProtocolResponseSerie0HTTPSList; tCP: As112TimeseriesGroupsProtocolResponseSerie0TCPList; tLS: As112TimeseriesGroupsProtocolResponseSerie0TLSList; uDP: As112TimeseriesGroupsProtocolResponseSerie0UDPList; } export const As112TimeseriesGroupsProtocolResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ hTTPS: As112TimeseriesGroupsProtocolResponseSerie0HTTPSList.pipe( T.Body("HTTPS"), ), tCP: As112TimeseriesGroupsProtocolResponseSerie0TCPList.pipe( T.Body("TCP"), ), tLS: As112TimeseriesGroupsProtocolResponseSerie0TLSList.pipe( T.Body("TLS"), ), uDP: As112TimeseriesGroupsProtocolResponseSerie0UDPList.pipe( T.Body("UDP"), ), }), ).annotate({ identifier: "As112TimeseriesGroupsProtocolResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ProtocolAs112TimeseriesGroupResponse { /** Metadata for the results. */ meta: As112TimeseriesGroupsProtocolResponseMeta; serie_0: As112TimeseriesGroupsProtocolResponseSerie0; } export const ProtocolAs112TimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: As112TimeseriesGroupsProtocolResponseMeta, serie_0: As112TimeseriesGroupsProtocolResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ProtocolAs112TimeseriesGroupResponse", }) as any as S.Schema; export type AttacksLayer3SummaryProtocolRequestContinentList = Array; export const AttacksLayer3SummaryProtocolRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryProtocolRequestDateEndList = Array; export const AttacksLayer3SummaryProtocolRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryProtocolRequestDateRangeList = Array; export const AttacksLayer3SummaryProtocolRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryProtocolRequestDateStartList = Array; export const AttacksLayer3SummaryProtocolRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryProtocolRequestDirection = "ORIGIN" | "TARGET"; export const AttacksLayer3SummaryProtocolRequestDirection = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryProtocolRequestFormat = "JSON" | "CSV"; export const AttacksLayer3SummaryProtocolRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryProtocolRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer3SummaryProtocolRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryProtocolRequestIpVersionList = Array< AttacksLayer3SummaryProtocolRequestIpVersion | (string & {}) >; export const AttacksLayer3SummaryProtocolRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryProtocolRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3SummaryProtocolRequestLocationList = Array; export const AttacksLayer3SummaryProtocolRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryProtocolRequestNameList = Array; export const AttacksLayer3SummaryProtocolRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ProtocolAttackLayer3SummaryRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3SummaryProtocolRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3SummaryProtocolRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3SummaryProtocolRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3SummaryProtocolRequestDateStartList; /** Specifies whether the `location` filter applies to the source or target location. */ direction?: AttacksLayer3SummaryProtocolRequestDirection | (string & {}); /** Format in which results will be returned. */ format?: AttacksLayer3SummaryProtocolRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3SummaryProtocolRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3SummaryProtocolRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3SummaryProtocolRequestNameList; } export const ProtocolAttackLayer3SummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( AttacksLayer3SummaryProtocolRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer3SummaryProtocolRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3SummaryProtocolRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer3SummaryProtocolRequestDateStartList.pipe(T.Query()), ), direction: S.optional( AttacksLayer3SummaryProtocolRequestDirection.pipe(T.Query()), ), format: S.optional( AttacksLayer3SummaryProtocolRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer3SummaryProtocolRequestIpVersionList.pipe(T.Query()), ), location: S.optional( AttacksLayer3SummaryProtocolRequestLocationList.pipe(T.Query()), ), name: S.optional( AttacksLayer3SummaryProtocolRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/summary/protocol", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ProtocolAttackLayer3SummaryRequest", }) as any as S.Schema; export type AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3SummaryProtocolResponseMetaConfidenceInfo { annotations: AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3SummaryProtocolResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3SummaryProtocolResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3SummaryProtocolResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3SummaryProtocolResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3SummaryProtocolResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3SummaryProtocolResponseMetaDateRangeList = Array; export const AttacksLayer3SummaryProtocolResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3SummaryProtocolResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3SummaryProtocolResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryProtocolResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3SummaryProtocolResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3SummaryProtocolResponseMetaUnitsList = Array; export const AttacksLayer3SummaryProtocolResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3SummaryProtocolResponseMeta { confidenceInfo: AttacksLayer3SummaryProtocolResponseMetaConfidenceInfo; dateRange: AttacksLayer3SummaryProtocolResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3SummaryProtocolResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3SummaryProtocolResponseMetaUnitsList; } export const AttacksLayer3SummaryProtocolResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: AttacksLayer3SummaryProtocolResponseMetaConfidenceInfo, dateRange: AttacksLayer3SummaryProtocolResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3SummaryProtocolResponseMetaNormalization, units: AttacksLayer3SummaryProtocolResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3SummaryProtocolResponseMeta", }) as any as S.Schema; export interface AttacksLayer3SummaryProtocolResponseSummary0 { /** A numeric string. */ gRE: string; /** A numeric string. */ iCMP: string; /** A numeric string. */ tCP: string; /** A numeric string. */ uDP: string; } export const AttacksLayer3SummaryProtocolResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ gRE: S.String.pipe(T.Body("GRE")), iCMP: S.String.pipe(T.Body("ICMP")), tCP: S.String.pipe(T.Body("TCP")), uDP: S.String.pipe(T.Body("UDP")), }), ).annotate({ identifier: "AttacksLayer3SummaryProtocolResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ProtocolAttackLayer3SummaryResponse { /** Metadata for the results. */ meta: AttacksLayer3SummaryProtocolResponseMeta; summary_0: AttacksLayer3SummaryProtocolResponseSummary0; } export const ProtocolAttackLayer3SummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3SummaryProtocolResponseMeta, summary_0: AttacksLayer3SummaryProtocolResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ProtocolAttackLayer3SummaryResponse", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsProtocolRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer3TimeseriesGroupsProtocolRequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsProtocolRequestContinentList = Array; export const AttacksLayer3TimeseriesGroupsProtocolRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsProtocolRequestDateEndList = Array; export const AttacksLayer3TimeseriesGroupsProtocolRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsProtocolRequestDateRangeList = Array; export const AttacksLayer3TimeseriesGroupsProtocolRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsProtocolRequestDateStartList = Array; export const AttacksLayer3TimeseriesGroupsProtocolRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsProtocolRequestDirection = | "ORIGIN" | "TARGET"; export const AttacksLayer3TimeseriesGroupsProtocolRequestDirection = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsProtocolRequestFormat = "JSON" | "CSV"; export const AttacksLayer3TimeseriesGroupsProtocolRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsProtocolRequestIpVersion = | "IPv4" | "IPv6"; export const AttacksLayer3TimeseriesGroupsProtocolRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsProtocolRequestIpVersionList = Array< AttacksLayer3TimeseriesGroupsProtocolRequestIpVersion | (string & {}) >; export const AttacksLayer3TimeseriesGroupsProtocolRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsProtocolRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsProtocolRequestLocationList = Array; export const AttacksLayer3TimeseriesGroupsProtocolRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsProtocolRequestNameList = Array; export const AttacksLayer3TimeseriesGroupsProtocolRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsProtocolRequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const AttacksLayer3TimeseriesGroupsProtocolRequestNormalization = /*@__PURE__*/ S.String; export interface ProtocolAttackLayer3TimeseriesGroupRequest { /** 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/). */ aggInterval?: | AttacksLayer3TimeseriesGroupsProtocolRequestAggInterval | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3TimeseriesGroupsProtocolRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3TimeseriesGroupsProtocolRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3TimeseriesGroupsProtocolRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3TimeseriesGroupsProtocolRequestDateStartList; /** Specifies whether the `location` filter applies to the source or target location. */ direction?: | AttacksLayer3TimeseriesGroupsProtocolRequestDirection | (string & {}); /** Format in which results will be returned. */ format?: AttacksLayer3TimeseriesGroupsProtocolRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3TimeseriesGroupsProtocolRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3TimeseriesGroupsProtocolRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3TimeseriesGroupsProtocolRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AttacksLayer3TimeseriesGroupsProtocolRequestNormalization | (string & {}); } export const ProtocolAttackLayer3TimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AttacksLayer3TimeseriesGroupsProtocolRequestAggInterval.pipe(T.Query()), ), continent: S.optional( AttacksLayer3TimeseriesGroupsProtocolRequestContinentList.pipe( T.Query(), ), ), dateEnd: S.optional( AttacksLayer3TimeseriesGroupsProtocolRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3TimeseriesGroupsProtocolRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( AttacksLayer3TimeseriesGroupsProtocolRequestDateStartList.pipe( T.Query(), ), ), direction: S.optional( AttacksLayer3TimeseriesGroupsProtocolRequestDirection.pipe(T.Query()), ), format: S.optional( AttacksLayer3TimeseriesGroupsProtocolRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer3TimeseriesGroupsProtocolRequestIpVersionList.pipe( T.Query(), ), ), location: S.optional( AttacksLayer3TimeseriesGroupsProtocolRequestLocationList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer3TimeseriesGroupsProtocolRequestNameList.pipe(T.Query()), ), normalization: S.optional( AttacksLayer3TimeseriesGroupsProtocolRequestNormalization.pipe( T.Query(), ), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/timeseries_groups/protocol", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ProtocolAttackLayer3TimeseriesGroupRequest", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsProtocolResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer3TimeseriesGroupsProtocolResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfo { annotations: AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsProtocolResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3TimeseriesGroupsProtocolResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3TimeseriesGroupsProtocolResponseMetaDateRangeList = Array; export const AttacksLayer3TimeseriesGroupsProtocolResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsProtocolResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3TimeseriesGroupsProtocolResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsProtocolResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3TimeseriesGroupsProtocolResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3TimeseriesGroupsProtocolResponseMetaUnitsList = Array; export const AttacksLayer3TimeseriesGroupsProtocolResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsProtocolResponseMeta { /** 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/). */ aggInterval: AttacksLayer3TimeseriesGroupsProtocolResponseMetaAggInterval; confidenceInfo: AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfo; dateRange: AttacksLayer3TimeseriesGroupsProtocolResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3TimeseriesGroupsProtocolResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3TimeseriesGroupsProtocolResponseMetaUnitsList; } export const AttacksLayer3TimeseriesGroupsProtocolResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer3TimeseriesGroupsProtocolResponseMetaAggInterval, confidenceInfo: AttacksLayer3TimeseriesGroupsProtocolResponseMetaConfidenceInfo, dateRange: AttacksLayer3TimeseriesGroupsProtocolResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3TimeseriesGroupsProtocolResponseMetaNormalization, units: AttacksLayer3TimeseriesGroupsProtocolResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsProtocolResponseMeta", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsProtocolResponseSerie0GREList = Array; export const AttacksLayer3TimeseriesGroupsProtocolResponseSerie0GREList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsProtocolResponseSerie0ICMPList = Array; export const AttacksLayer3TimeseriesGroupsProtocolResponseSerie0ICMPList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsProtocolResponseSerie0TCPList = Array; export const AttacksLayer3TimeseriesGroupsProtocolResponseSerie0TCPList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsProtocolResponseSerie0TimestampsList = Array; export const AttacksLayer3TimeseriesGroupsProtocolResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsProtocolResponseSerie0UDPList = Array; export const AttacksLayer3TimeseriesGroupsProtocolResponseSerie0UDPList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsProtocolResponseSerie0 { gRE: AttacksLayer3TimeseriesGroupsProtocolResponseSerie0GREList; iCMP: AttacksLayer3TimeseriesGroupsProtocolResponseSerie0ICMPList; tCP: AttacksLayer3TimeseriesGroupsProtocolResponseSerie0TCPList; timestamps: AttacksLayer3TimeseriesGroupsProtocolResponseSerie0TimestampsList; uDP: AttacksLayer3TimeseriesGroupsProtocolResponseSerie0UDPList; } export const AttacksLayer3TimeseriesGroupsProtocolResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ gRE: AttacksLayer3TimeseriesGroupsProtocolResponseSerie0GREList.pipe( T.Body("GRE"), ), iCMP: AttacksLayer3TimeseriesGroupsProtocolResponseSerie0ICMPList.pipe( T.Body("ICMP"), ), tCP: AttacksLayer3TimeseriesGroupsProtocolResponseSerie0TCPList.pipe( T.Body("TCP"), ), timestamps: AttacksLayer3TimeseriesGroupsProtocolResponseSerie0TimestampsList, uDP: AttacksLayer3TimeseriesGroupsProtocolResponseSerie0UDPList.pipe( T.Body("UDP"), ), }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsProtocolResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ProtocolAttackLayer3TimeseriesGroupResponse { /** Metadata for the results. */ meta: AttacksLayer3TimeseriesGroupsProtocolResponseMeta; serie_0: AttacksLayer3TimeseriesGroupsProtocolResponseSerie0; } export const ProtocolAttackLayer3TimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3TimeseriesGroupsProtocolResponseMeta, serie_0: AttacksLayer3TimeseriesGroupsProtocolResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ProtocolAttackLayer3TimeseriesGroupResponse", }) as any as S.Schema; export type DnsSummaryProtocolRequestAsnList = Array; export const DnsSummaryProtocolRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryProtocolRequestContinentList = Array; export const DnsSummaryProtocolRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryProtocolRequestDateEndList = Array; export const DnsSummaryProtocolRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryProtocolRequestDateRangeList = Array; export const DnsSummaryProtocolRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryProtocolRequestDateStartList = Array; export const DnsSummaryProtocolRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryProtocolRequestFormat = "JSON" | "CSV"; export const DnsSummaryProtocolRequestFormat = /*@__PURE__*/ S.String; export type DnsSummaryProtocolRequestLocationList = Array; export const DnsSummaryProtocolRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryProtocolRequestNameList = Array; export const DnsSummaryProtocolRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryProtocolRequestNodataList = Array; export const DnsSummaryProtocolRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsSummaryProtocolRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsSummaryProtocolRequestQueryType = /*@__PURE__*/ S.String; export type DnsSummaryProtocolRequestQueryTypeList = Array< DnsSummaryProtocolRequestQueryType | (string & {}) >; export const DnsSummaryProtocolRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsSummaryProtocolRequestQueryType, ) as any as S.Schema; export type DnsSummaryProtocolRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsSummaryProtocolRequestResponseCode = /*@__PURE__*/ S.String; export type DnsSummaryProtocolRequestResponseCodeList = Array< DnsSummaryProtocolRequestResponseCode | (string & {}) >; export const DnsSummaryProtocolRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsSummaryProtocolRequestResponseCode, ) as any as S.Schema; export type DnsSummaryProtocolRequestTldList = Array; export const DnsSummaryProtocolRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ProtocolDnsSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsSummaryProtocolRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsSummaryProtocolRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsSummaryProtocolRequestDateEndList; /** 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). */ dateRange?: DnsSummaryProtocolRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsSummaryProtocolRequestDateStartList; /** Format in which results will be returned. */ format?: DnsSummaryProtocolRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsSummaryProtocolRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsSummaryProtocolRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsSummaryProtocolRequestNodataList; /** Filters results by DNS query type. */ queryType?: DnsSummaryProtocolRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsSummaryProtocolRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsSummaryProtocolRequestTldList; } export const ProtocolDnsSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(DnsSummaryProtocolRequestAsnList.pipe(T.Query())), continent: S.optional( DnsSummaryProtocolRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(DnsSummaryProtocolRequestDateEndList.pipe(T.Query())), dateRange: S.optional( DnsSummaryProtocolRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsSummaryProtocolRequestDateStartList.pipe(T.Query()), ), format: S.optional(DnsSummaryProtocolRequestFormat.pipe(T.Query())), location: S.optional(DnsSummaryProtocolRequestLocationList.pipe(T.Query())), name: S.optional(DnsSummaryProtocolRequestNameList.pipe(T.Query())), nodata: S.optional(DnsSummaryProtocolRequestNodataList.pipe(T.Query())), queryType: S.optional( DnsSummaryProtocolRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( DnsSummaryProtocolRequestResponseCodeList.pipe(T.Query()), ), tld: S.optional(DnsSummaryProtocolRequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/summary/protocol", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ProtocolDnsSummaryRequest", }) as any as S.Schema; export type DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsSummaryProtocolResponseMetaConfidenceInfo { annotations: DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsSummaryProtocolResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsSummaryProtocolResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsSummaryProtocolResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsSummaryProtocolResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsSummaryProtocolResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsSummaryProtocolResponseMetaDateRangeList = Array; export const DnsSummaryProtocolResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsSummaryProtocolResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsSummaryProtocolResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsSummaryProtocolResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsSummaryProtocolResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsSummaryProtocolResponseMetaUnitsList = Array; export const DnsSummaryProtocolResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsSummaryProtocolResponseMeta { confidenceInfo: DnsSummaryProtocolResponseMetaConfidenceInfo; dateRange: DnsSummaryProtocolResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsSummaryProtocolResponseMetaNormalization; /** Measurement units for the results. */ units: DnsSummaryProtocolResponseMetaUnitsList; } export const DnsSummaryProtocolResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: DnsSummaryProtocolResponseMetaConfidenceInfo, dateRange: DnsSummaryProtocolResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsSummaryProtocolResponseMetaNormalization, units: DnsSummaryProtocolResponseMetaUnitsList, }), ).annotate({ identifier: "DnsSummaryProtocolResponseMeta", }) as any as S.Schema; export type DnsSummaryProtocolResponseSummary0 = As112SummaryProtocolResponseSummary0; export const DnsSummaryProtocolResponseSummary0 = As112SummaryProtocolResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ProtocolDnsSummaryResponse { /** Metadata for the results. */ meta: DnsSummaryProtocolResponseMeta; summary_0: As112SummaryProtocolResponseSummary0; } export const ProtocolDnsSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsSummaryProtocolResponseMeta, summary_0: As112SummaryProtocolResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ProtocolDnsSummaryResponse", }) as any as S.Schema; export type DnsTimeseriesGroupsProtocolRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const DnsTimeseriesGroupsProtocolRequestAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsProtocolRequestAsnList = Array; export const DnsTimeseriesGroupsProtocolRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsProtocolRequestContinentList = Array; export const DnsTimeseriesGroupsProtocolRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsProtocolRequestDateEndList = Array; export const DnsTimeseriesGroupsProtocolRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsProtocolRequestDateRangeList = Array; export const DnsTimeseriesGroupsProtocolRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsProtocolRequestDateStartList = Array; export const DnsTimeseriesGroupsProtocolRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsProtocolRequestFormat = "JSON" | "CSV"; export const DnsTimeseriesGroupsProtocolRequestFormat = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsProtocolRequestLocationList = Array; export const DnsTimeseriesGroupsProtocolRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsProtocolRequestNameList = Array; export const DnsTimeseriesGroupsProtocolRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsProtocolRequestNodataList = Array; export const DnsTimeseriesGroupsProtocolRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesGroupsProtocolRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsTimeseriesGroupsProtocolRequestQueryType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsProtocolRequestQueryTypeList = Array< DnsTimeseriesGroupsProtocolRequestQueryType | (string & {}) >; export const DnsTimeseriesGroupsProtocolRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsProtocolRequestQueryType, ) as any as S.Schema; export type DnsTimeseriesGroupsProtocolRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsTimeseriesGroupsProtocolRequestResponseCode = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsProtocolRequestResponseCodeList = Array< DnsTimeseriesGroupsProtocolRequestResponseCode | (string & {}) >; export const DnsTimeseriesGroupsProtocolRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsProtocolRequestResponseCode, ) as any as S.Schema; export type DnsTimeseriesGroupsProtocolRequestTldList = Array; export const DnsTimeseriesGroupsProtocolRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ProtocolDnsTimeseriesGroupRequest { /** 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/). */ aggInterval?: DnsTimeseriesGroupsProtocolRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsTimeseriesGroupsProtocolRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsTimeseriesGroupsProtocolRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsTimeseriesGroupsProtocolRequestDateEndList; /** 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). */ dateRange?: DnsTimeseriesGroupsProtocolRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsTimeseriesGroupsProtocolRequestDateStartList; /** Format in which results will be returned. */ format?: DnsTimeseriesGroupsProtocolRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsTimeseriesGroupsProtocolRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsTimeseriesGroupsProtocolRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsTimeseriesGroupsProtocolRequestNodataList; /** Filters results by DNS query type. */ queryType?: DnsTimeseriesGroupsProtocolRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsTimeseriesGroupsProtocolRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsTimeseriesGroupsProtocolRequestTldList; } export const ProtocolDnsTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( DnsTimeseriesGroupsProtocolRequestAggInterval.pipe(T.Query()), ), asn: S.optional(DnsTimeseriesGroupsProtocolRequestAsnList.pipe(T.Query())), continent: S.optional( DnsTimeseriesGroupsProtocolRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( DnsTimeseriesGroupsProtocolRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( DnsTimeseriesGroupsProtocolRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsTimeseriesGroupsProtocolRequestDateStartList.pipe(T.Query()), ), format: S.optional( DnsTimeseriesGroupsProtocolRequestFormat.pipe(T.Query()), ), location: S.optional( DnsTimeseriesGroupsProtocolRequestLocationList.pipe(T.Query()), ), name: S.optional( DnsTimeseriesGroupsProtocolRequestNameList.pipe(T.Query()), ), nodata: S.optional( DnsTimeseriesGroupsProtocolRequestNodataList.pipe(T.Query()), ), queryType: S.optional( DnsTimeseriesGroupsProtocolRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( DnsTimeseriesGroupsProtocolRequestResponseCodeList.pipe(T.Query()), ), tld: S.optional(DnsTimeseriesGroupsProtocolRequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/timeseries_groups/protocol", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ProtocolDnsTimeseriesGroupRequest", }) as any as S.Schema; export type DnsTimeseriesGroupsProtocolResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const DnsTimeseriesGroupsProtocolResponseMetaAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfo { annotations: DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsTimeseriesGroupsProtocolResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsTimeseriesGroupsProtocolResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsTimeseriesGroupsProtocolResponseMetaDateRangeList = Array; export const DnsTimeseriesGroupsProtocolResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsTimeseriesGroupsProtocolResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsTimeseriesGroupsProtocolResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsProtocolResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsTimeseriesGroupsProtocolResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsTimeseriesGroupsProtocolResponseMetaUnitsList = Array; export const DnsTimeseriesGroupsProtocolResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsProtocolResponseMeta { /** 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/). */ aggInterval: DnsTimeseriesGroupsProtocolResponseMetaAggInterval; confidenceInfo: DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfo; dateRange: DnsTimeseriesGroupsProtocolResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsTimeseriesGroupsProtocolResponseMetaNormalization; /** Measurement units for the results. */ units: DnsTimeseriesGroupsProtocolResponseMetaUnitsList; } export const DnsTimeseriesGroupsProtocolResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: DnsTimeseriesGroupsProtocolResponseMetaAggInterval, confidenceInfo: DnsTimeseriesGroupsProtocolResponseMetaConfidenceInfo, dateRange: DnsTimeseriesGroupsProtocolResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsTimeseriesGroupsProtocolResponseMetaNormalization, units: DnsTimeseriesGroupsProtocolResponseMetaUnitsList, }), ).annotate({ identifier: "DnsTimeseriesGroupsProtocolResponseMeta", }) as any as S.Schema; export type DnsTimeseriesGroupsProtocolResponseSerie0HTTPSList = Array; export const DnsTimeseriesGroupsProtocolResponseSerie0HTTPSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsProtocolResponseSerie0TCPList = Array; export const DnsTimeseriesGroupsProtocolResponseSerie0TCPList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsProtocolResponseSerie0TLSList = Array; export const DnsTimeseriesGroupsProtocolResponseSerie0TLSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsProtocolResponseSerie0UDPList = Array; export const DnsTimeseriesGroupsProtocolResponseSerie0UDPList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsProtocolResponseSerie0 { hTTPS: DnsTimeseriesGroupsProtocolResponseSerie0HTTPSList; tCP: DnsTimeseriesGroupsProtocolResponseSerie0TCPList; tLS: DnsTimeseriesGroupsProtocolResponseSerie0TLSList; uDP: DnsTimeseriesGroupsProtocolResponseSerie0UDPList; } export const DnsTimeseriesGroupsProtocolResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ hTTPS: DnsTimeseriesGroupsProtocolResponseSerie0HTTPSList.pipe( T.Body("HTTPS"), ), tCP: DnsTimeseriesGroupsProtocolResponseSerie0TCPList.pipe(T.Body("TCP")), tLS: DnsTimeseriesGroupsProtocolResponseSerie0TLSList.pipe(T.Body("TLS")), uDP: DnsTimeseriesGroupsProtocolResponseSerie0UDPList.pipe(T.Body("UDP")), }), ).annotate({ identifier: "DnsTimeseriesGroupsProtocolResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ProtocolDnsTimeseriesGroupResponse { /** Metadata for the results. */ meta: DnsTimeseriesGroupsProtocolResponseMeta; serie_0: DnsTimeseriesGroupsProtocolResponseSerie0; } export const ProtocolDnsTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsTimeseriesGroupsProtocolResponseMeta, serie_0: DnsTimeseriesGroupsProtocolResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ProtocolDnsTimeseriesGroupResponse", }) as any as S.Schema; export type As112SummaryQueryTypeRequestContinentList = Array; export const As112SummaryQueryTypeRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryQueryTypeRequestDateEndList = Array; export const As112SummaryQueryTypeRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryQueryTypeRequestDateRangeList = Array; export const As112SummaryQueryTypeRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryQueryTypeRequestDateStartList = Array; export const As112SummaryQueryTypeRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryQueryTypeRequestFormat = "JSON" | "CSV"; export const As112SummaryQueryTypeRequestFormat = /*@__PURE__*/ S.String; export type As112SummaryQueryTypeRequestLocationList = Array; export const As112SummaryQueryTypeRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryQueryTypeRequestNameList = Array; export const As112SummaryQueryTypeRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryQueryTypeRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const As112SummaryQueryTypeRequestProtocol = /*@__PURE__*/ S.String; export type As112SummaryQueryTypeRequestProtocolList = Array< As112SummaryQueryTypeRequestProtocol | (string & {}) >; export const As112SummaryQueryTypeRequestProtocolList = /*@__PURE__*/ S.Array( As112SummaryQueryTypeRequestProtocol, ) as any as S.Schema; export type As112SummaryQueryTypeRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const As112SummaryQueryTypeRequestResponseCode = /*@__PURE__*/ S.String; export type As112SummaryQueryTypeRequestResponseCodeList = Array< As112SummaryQueryTypeRequestResponseCode | (string & {}) >; export const As112SummaryQueryTypeRequestResponseCodeList = /*@__PURE__*/ S.Array( As112SummaryQueryTypeRequestResponseCode, ) as any as S.Schema; export interface QueryTypeAs112SummaryRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112SummaryQueryTypeRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112SummaryQueryTypeRequestDateEndList; /** 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). */ dateRange?: As112SummaryQueryTypeRequestDateRangeList; /** Start of the date range. */ dateStart?: As112SummaryQueryTypeRequestDateStartList; /** Format in which results will be returned. */ format?: As112SummaryQueryTypeRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112SummaryQueryTypeRequestLocationList; /** Array of names used to label the series in the response. */ name?: As112SummaryQueryTypeRequestNameList; /** Filters results by DNS transport protocol. */ protocol?: As112SummaryQueryTypeRequestProtocolList; /** Filters results by DNS response code. */ responseCode?: As112SummaryQueryTypeRequestResponseCodeList; } export const QueryTypeAs112SummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( As112SummaryQueryTypeRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( As112SummaryQueryTypeRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( As112SummaryQueryTypeRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( As112SummaryQueryTypeRequestDateStartList.pipe(T.Query()), ), format: S.optional(As112SummaryQueryTypeRequestFormat.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( As112SummaryQueryTypeRequestLocationList.pipe(T.Query()), ), name: S.optional(As112SummaryQueryTypeRequestNameList.pipe(T.Query())), protocol: S.optional( As112SummaryQueryTypeRequestProtocolList.pipe(T.Query()), ), responseCode: S.optional( As112SummaryQueryTypeRequestResponseCodeList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/summary/query_type", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "QueryTypeAs112SummaryRequest", }) as any as S.Schema; export type As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsList = Array; export const As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112SummaryQueryTypeResponseMetaConfidenceInfo { annotations: As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112SummaryQueryTypeResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: As112SummaryQueryTypeResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112SummaryQueryTypeResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112SummaryQueryTypeResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112SummaryQueryTypeResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112SummaryQueryTypeResponseMetaDateRangeList = Array; export const As112SummaryQueryTypeResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112SummaryQueryTypeResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112SummaryQueryTypeResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112SummaryQueryTypeResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112SummaryQueryTypeResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112SummaryQueryTypeResponseMetaUnitsList = Array; export const As112SummaryQueryTypeResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112SummaryQueryTypeResponseMeta { confidenceInfo: As112SummaryQueryTypeResponseMetaConfidenceInfo; dateRange: As112SummaryQueryTypeResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112SummaryQueryTypeResponseMetaNormalization; /** Measurement units for the results. */ units: As112SummaryQueryTypeResponseMetaUnitsList; } export const As112SummaryQueryTypeResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: As112SummaryQueryTypeResponseMetaConfidenceInfo, dateRange: As112SummaryQueryTypeResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112SummaryQueryTypeResponseMetaNormalization, units: As112SummaryQueryTypeResponseMetaUnitsList, }), ).annotate({ identifier: "As112SummaryQueryTypeResponseMeta", }) as any as S.Schema; export type As112SummaryQueryTypeResponseSummary0Map = { [key: string]: string | undefined; }; export const As112SummaryQueryTypeResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface QueryTypeAs112SummaryResponse { /** Metadata for the results. */ meta: As112SummaryQueryTypeResponseMeta; summary_0: As112SummaryQueryTypeResponseSummary0Map; } export const QueryTypeAs112SummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: As112SummaryQueryTypeResponseMeta, summary_0: As112SummaryQueryTypeResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "QueryTypeAs112SummaryResponse", }) as any as S.Schema; export type As112TimeseriesGroupsQueryTypeRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const As112TimeseriesGroupsQueryTypeRequestAggInterval = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsQueryTypeRequestContinentList = Array; export const As112TimeseriesGroupsQueryTypeRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsQueryTypeRequestDateEndList = Array; export const As112TimeseriesGroupsQueryTypeRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsQueryTypeRequestDateRangeList = Array; export const As112TimeseriesGroupsQueryTypeRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsQueryTypeRequestDateStartList = Array; export const As112TimeseriesGroupsQueryTypeRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsQueryTypeRequestFormat = "JSON" | "CSV"; export const As112TimeseriesGroupsQueryTypeRequestFormat = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsQueryTypeRequestLocationList = Array; export const As112TimeseriesGroupsQueryTypeRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsQueryTypeRequestNameList = Array; export const As112TimeseriesGroupsQueryTypeRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsQueryTypeRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const As112TimeseriesGroupsQueryTypeRequestProtocol = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsQueryTypeRequestProtocolList = Array< As112TimeseriesGroupsQueryTypeRequestProtocol | (string & {}) >; export const As112TimeseriesGroupsQueryTypeRequestProtocolList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsQueryTypeRequestProtocol, ) as any as S.Schema; export type As112TimeseriesGroupsQueryTypeRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const As112TimeseriesGroupsQueryTypeRequestResponseCode = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsQueryTypeRequestResponseCodeList = Array< As112TimeseriesGroupsQueryTypeRequestResponseCode | (string & {}) >; export const As112TimeseriesGroupsQueryTypeRequestResponseCodeList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsQueryTypeRequestResponseCode, ) as any as S.Schema; export interface QueryTypeAs112TimeseriesGroupRequest { /** 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/). */ aggInterval?: | As112TimeseriesGroupsQueryTypeRequestAggInterval | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112TimeseriesGroupsQueryTypeRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112TimeseriesGroupsQueryTypeRequestDateEndList; /** 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). */ dateRange?: As112TimeseriesGroupsQueryTypeRequestDateRangeList; /** Start of the date range. */ dateStart?: As112TimeseriesGroupsQueryTypeRequestDateStartList; /** Format in which results will be returned. */ format?: As112TimeseriesGroupsQueryTypeRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112TimeseriesGroupsQueryTypeRequestLocationList; /** Array of names used to label the series in the response. */ name?: As112TimeseriesGroupsQueryTypeRequestNameList; /** Filters results by DNS transport protocol. */ protocol?: As112TimeseriesGroupsQueryTypeRequestProtocolList; /** Filters results by DNS response code. */ responseCode?: As112TimeseriesGroupsQueryTypeRequestResponseCodeList; } export const QueryTypeAs112TimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( As112TimeseriesGroupsQueryTypeRequestAggInterval.pipe(T.Query()), ), continent: S.optional( As112TimeseriesGroupsQueryTypeRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( As112TimeseriesGroupsQueryTypeRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( As112TimeseriesGroupsQueryTypeRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( As112TimeseriesGroupsQueryTypeRequestDateStartList.pipe(T.Query()), ), format: S.optional( As112TimeseriesGroupsQueryTypeRequestFormat.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( As112TimeseriesGroupsQueryTypeRequestLocationList.pipe(T.Query()), ), name: S.optional( As112TimeseriesGroupsQueryTypeRequestNameList.pipe(T.Query()), ), protocol: S.optional( As112TimeseriesGroupsQueryTypeRequestProtocolList.pipe(T.Query()), ), responseCode: S.optional( As112TimeseriesGroupsQueryTypeRequestResponseCodeList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/timeseries_groups/query_type", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "QueryTypeAs112TimeseriesGroupRequest", }) as any as S.Schema; export type As112TimeseriesGroupsQueryTypeResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const As112TimeseriesGroupsQueryTypeResponseMetaAggInterval = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsList = Array; export const As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfo { annotations: As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112TimeseriesGroupsQueryTypeResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112TimeseriesGroupsQueryTypeResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112TimeseriesGroupsQueryTypeResponseMetaDateRangeList = Array; export const As112TimeseriesGroupsQueryTypeResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112TimeseriesGroupsQueryTypeResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112TimeseriesGroupsQueryTypeResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsQueryTypeResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112TimeseriesGroupsQueryTypeResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112TimeseriesGroupsQueryTypeResponseMetaUnitsList = Array; export const As112TimeseriesGroupsQueryTypeResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112TimeseriesGroupsQueryTypeResponseMeta { /** 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/). */ aggInterval: As112TimeseriesGroupsQueryTypeResponseMetaAggInterval; confidenceInfo: As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfo; dateRange: As112TimeseriesGroupsQueryTypeResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112TimeseriesGroupsQueryTypeResponseMetaNormalization; /** Measurement units for the results. */ units: As112TimeseriesGroupsQueryTypeResponseMetaUnitsList; } export const As112TimeseriesGroupsQueryTypeResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: As112TimeseriesGroupsQueryTypeResponseMetaAggInterval, confidenceInfo: As112TimeseriesGroupsQueryTypeResponseMetaConfidenceInfo, dateRange: As112TimeseriesGroupsQueryTypeResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112TimeseriesGroupsQueryTypeResponseMetaNormalization, units: As112TimeseriesGroupsQueryTypeResponseMetaUnitsList, }), ).annotate({ identifier: "As112TimeseriesGroupsQueryTypeResponseMeta", }) as any as S.Schema; export type As112TimeseriesGroupsQueryTypeResponseSerie0TimestampsList = Array; export const As112TimeseriesGroupsQueryTypeResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TimeseriesGroupsQueryTypeResponseSerie0 { timestamps: As112TimeseriesGroupsQueryTypeResponseSerie0TimestampsList; } export const As112TimeseriesGroupsQueryTypeResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: As112TimeseriesGroupsQueryTypeResponseSerie0TimestampsList, }), ).annotate({ identifier: "As112TimeseriesGroupsQueryTypeResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface QueryTypeAs112TimeseriesGroupResponse { /** Metadata for the results. */ meta: As112TimeseriesGroupsQueryTypeResponseMeta; serie_0: As112TimeseriesGroupsQueryTypeResponseSerie0; } export const QueryTypeAs112TimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: As112TimeseriesGroupsQueryTypeResponseMeta, serie_0: As112TimeseriesGroupsQueryTypeResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "QueryTypeAs112TimeseriesGroupResponse", }) as any as S.Schema; export type DnsSummaryQueryTypeRequestAsnList = Array; export const DnsSummaryQueryTypeRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryQueryTypeRequestContinentList = Array; export const DnsSummaryQueryTypeRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryQueryTypeRequestDateEndList = Array; export const DnsSummaryQueryTypeRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryQueryTypeRequestDateRangeList = Array; export const DnsSummaryQueryTypeRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryQueryTypeRequestDateStartList = Array; export const DnsSummaryQueryTypeRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryQueryTypeRequestFormat = "JSON" | "CSV"; export const DnsSummaryQueryTypeRequestFormat = /*@__PURE__*/ S.String; export type DnsSummaryQueryTypeRequestLocationList = Array; export const DnsSummaryQueryTypeRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryQueryTypeRequestNameList = Array; export const DnsSummaryQueryTypeRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryQueryTypeRequestNodataList = Array; export const DnsSummaryQueryTypeRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsSummaryQueryTypeRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsSummaryQueryTypeRequestProtocol = /*@__PURE__*/ S.String; export type DnsSummaryQueryTypeRequestProtocolList = Array< DnsSummaryQueryTypeRequestProtocol | (string & {}) >; export const DnsSummaryQueryTypeRequestProtocolList = /*@__PURE__*/ S.Array( DnsSummaryQueryTypeRequestProtocol, ) as any as S.Schema; export type DnsSummaryQueryTypeRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsSummaryQueryTypeRequestResponseCode = /*@__PURE__*/ S.String; export type DnsSummaryQueryTypeRequestResponseCodeList = Array< DnsSummaryQueryTypeRequestResponseCode | (string & {}) >; export const DnsSummaryQueryTypeRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsSummaryQueryTypeRequestResponseCode, ) as any as S.Schema; export type DnsSummaryQueryTypeRequestTldList = Array; export const DnsSummaryQueryTypeRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface QueryTypeDnsSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsSummaryQueryTypeRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsSummaryQueryTypeRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsSummaryQueryTypeRequestDateEndList; /** 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). */ dateRange?: DnsSummaryQueryTypeRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsSummaryQueryTypeRequestDateStartList; /** Format in which results will be returned. */ format?: DnsSummaryQueryTypeRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsSummaryQueryTypeRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsSummaryQueryTypeRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsSummaryQueryTypeRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsSummaryQueryTypeRequestProtocolList; /** Filters results by DNS response code. */ responseCode?: DnsSummaryQueryTypeRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsSummaryQueryTypeRequestTldList; } export const QueryTypeDnsSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(DnsSummaryQueryTypeRequestAsnList.pipe(T.Query())), continent: S.optional( DnsSummaryQueryTypeRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(DnsSummaryQueryTypeRequestDateEndList.pipe(T.Query())), dateRange: S.optional( DnsSummaryQueryTypeRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsSummaryQueryTypeRequestDateStartList.pipe(T.Query()), ), format: S.optional(DnsSummaryQueryTypeRequestFormat.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( DnsSummaryQueryTypeRequestLocationList.pipe(T.Query()), ), name: S.optional(DnsSummaryQueryTypeRequestNameList.pipe(T.Query())), nodata: S.optional(DnsSummaryQueryTypeRequestNodataList.pipe(T.Query())), protocol: S.optional( DnsSummaryQueryTypeRequestProtocolList.pipe(T.Query()), ), responseCode: S.optional( DnsSummaryQueryTypeRequestResponseCodeList.pipe(T.Query()), ), tld: S.optional(DnsSummaryQueryTypeRequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/summary/query_type", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "QueryTypeDnsSummaryRequest", }) as any as S.Schema; export type DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsSummaryQueryTypeResponseMetaConfidenceInfo { annotations: DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsSummaryQueryTypeResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsSummaryQueryTypeResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsSummaryQueryTypeResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsSummaryQueryTypeResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsSummaryQueryTypeResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsSummaryQueryTypeResponseMetaDateRangeList = Array; export const DnsSummaryQueryTypeResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsSummaryQueryTypeResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsSummaryQueryTypeResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsSummaryQueryTypeResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsSummaryQueryTypeResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsSummaryQueryTypeResponseMetaUnitsList = Array; export const DnsSummaryQueryTypeResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsSummaryQueryTypeResponseMeta { confidenceInfo: DnsSummaryQueryTypeResponseMetaConfidenceInfo; dateRange: DnsSummaryQueryTypeResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsSummaryQueryTypeResponseMetaNormalization; /** Measurement units for the results. */ units: DnsSummaryQueryTypeResponseMetaUnitsList; } export const DnsSummaryQueryTypeResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: DnsSummaryQueryTypeResponseMetaConfidenceInfo, dateRange: DnsSummaryQueryTypeResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsSummaryQueryTypeResponseMetaNormalization, units: DnsSummaryQueryTypeResponseMetaUnitsList, }), ).annotate({ identifier: "DnsSummaryQueryTypeResponseMeta", }) as any as S.Schema; export type DnsSummaryQueryTypeResponseSummary0Map = { [key: string]: string | undefined; }; export const DnsSummaryQueryTypeResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface QueryTypeDnsSummaryResponse { /** Metadata for the results. */ meta: DnsSummaryQueryTypeResponseMeta; summary_0: DnsSummaryQueryTypeResponseSummary0Map; } export const QueryTypeDnsSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsSummaryQueryTypeResponseMeta, summary_0: DnsSummaryQueryTypeResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "QueryTypeDnsSummaryResponse", }) as any as S.Schema; export type DnsTimeseriesGroupsQueryTypeRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const DnsTimeseriesGroupsQueryTypeRequestAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsQueryTypeRequestAsnList = Array; export const DnsTimeseriesGroupsQueryTypeRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsQueryTypeRequestContinentList = Array; export const DnsTimeseriesGroupsQueryTypeRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsQueryTypeRequestDateEndList = Array; export const DnsTimeseriesGroupsQueryTypeRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsQueryTypeRequestDateRangeList = Array; export const DnsTimeseriesGroupsQueryTypeRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsQueryTypeRequestDateStartList = Array; export const DnsTimeseriesGroupsQueryTypeRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsQueryTypeRequestFormat = "JSON" | "CSV"; export const DnsTimeseriesGroupsQueryTypeRequestFormat = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsQueryTypeRequestLocationList = Array; export const DnsTimeseriesGroupsQueryTypeRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsQueryTypeRequestNameList = Array; export const DnsTimeseriesGroupsQueryTypeRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsQueryTypeRequestNodataList = Array; export const DnsTimeseriesGroupsQueryTypeRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesGroupsQueryTypeRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsTimeseriesGroupsQueryTypeRequestProtocol = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsQueryTypeRequestProtocolList = Array< DnsTimeseriesGroupsQueryTypeRequestProtocol | (string & {}) >; export const DnsTimeseriesGroupsQueryTypeRequestProtocolList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsQueryTypeRequestProtocol, ) as any as S.Schema; export type DnsTimeseriesGroupsQueryTypeRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsTimeseriesGroupsQueryTypeRequestResponseCode = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsQueryTypeRequestResponseCodeList = Array< DnsTimeseriesGroupsQueryTypeRequestResponseCode | (string & {}) >; export const DnsTimeseriesGroupsQueryTypeRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsQueryTypeRequestResponseCode, ) as any as S.Schema; export type DnsTimeseriesGroupsQueryTypeRequestTldList = Array; export const DnsTimeseriesGroupsQueryTypeRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface QueryTypeDnsTimeseriesGroupRequest { /** 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/). */ aggInterval?: DnsTimeseriesGroupsQueryTypeRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsTimeseriesGroupsQueryTypeRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsTimeseriesGroupsQueryTypeRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsTimeseriesGroupsQueryTypeRequestDateEndList; /** 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). */ dateRange?: DnsTimeseriesGroupsQueryTypeRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsTimeseriesGroupsQueryTypeRequestDateStartList; /** Format in which results will be returned. */ format?: DnsTimeseriesGroupsQueryTypeRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsTimeseriesGroupsQueryTypeRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsTimeseriesGroupsQueryTypeRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsTimeseriesGroupsQueryTypeRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsTimeseriesGroupsQueryTypeRequestProtocolList; /** Filters results by DNS response code. */ responseCode?: DnsTimeseriesGroupsQueryTypeRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsTimeseriesGroupsQueryTypeRequestTldList; } export const QueryTypeDnsTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( DnsTimeseriesGroupsQueryTypeRequestAggInterval.pipe(T.Query()), ), asn: S.optional(DnsTimeseriesGroupsQueryTypeRequestAsnList.pipe(T.Query())), continent: S.optional( DnsTimeseriesGroupsQueryTypeRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( DnsTimeseriesGroupsQueryTypeRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( DnsTimeseriesGroupsQueryTypeRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsTimeseriesGroupsQueryTypeRequestDateStartList.pipe(T.Query()), ), format: S.optional( DnsTimeseriesGroupsQueryTypeRequestFormat.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( DnsTimeseriesGroupsQueryTypeRequestLocationList.pipe(T.Query()), ), name: S.optional( DnsTimeseriesGroupsQueryTypeRequestNameList.pipe(T.Query()), ), nodata: S.optional( DnsTimeseriesGroupsQueryTypeRequestNodataList.pipe(T.Query()), ), protocol: S.optional( DnsTimeseriesGroupsQueryTypeRequestProtocolList.pipe(T.Query()), ), responseCode: S.optional( DnsTimeseriesGroupsQueryTypeRequestResponseCodeList.pipe(T.Query()), ), tld: S.optional(DnsTimeseriesGroupsQueryTypeRequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/timeseries_groups/query_type", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "QueryTypeDnsTimeseriesGroupRequest", }) as any as S.Schema; export type DnsTimeseriesGroupsQueryTypeResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const DnsTimeseriesGroupsQueryTypeResponseMetaAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfo { annotations: DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsTimeseriesGroupsQueryTypeResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsTimeseriesGroupsQueryTypeResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsTimeseriesGroupsQueryTypeResponseMetaDateRangeList = Array; export const DnsTimeseriesGroupsQueryTypeResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsTimeseriesGroupsQueryTypeResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsTimeseriesGroupsQueryTypeResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsQueryTypeResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsTimeseriesGroupsQueryTypeResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsTimeseriesGroupsQueryTypeResponseMetaUnitsList = Array; export const DnsTimeseriesGroupsQueryTypeResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsQueryTypeResponseMeta { /** 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/). */ aggInterval: DnsTimeseriesGroupsQueryTypeResponseMetaAggInterval; confidenceInfo: DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfo; dateRange: DnsTimeseriesGroupsQueryTypeResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsTimeseriesGroupsQueryTypeResponseMetaNormalization; /** Measurement units for the results. */ units: DnsTimeseriesGroupsQueryTypeResponseMetaUnitsList; } export const DnsTimeseriesGroupsQueryTypeResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: DnsTimeseriesGroupsQueryTypeResponseMetaAggInterval, confidenceInfo: DnsTimeseriesGroupsQueryTypeResponseMetaConfidenceInfo, dateRange: DnsTimeseriesGroupsQueryTypeResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsTimeseriesGroupsQueryTypeResponseMetaNormalization, units: DnsTimeseriesGroupsQueryTypeResponseMetaUnitsList, }), ).annotate({ identifier: "DnsTimeseriesGroupsQueryTypeResponseMeta", }) as any as S.Schema; export type DnsTimeseriesGroupsQueryTypeResponseSerie0TimestampsList = Array; export const DnsTimeseriesGroupsQueryTypeResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsQueryTypeResponseSerie0 { timestamps: DnsTimeseriesGroupsQueryTypeResponseSerie0TimestampsList; } export const DnsTimeseriesGroupsQueryTypeResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: DnsTimeseriesGroupsQueryTypeResponseSerie0TimestampsList, }), ).annotate({ identifier: "DnsTimeseriesGroupsQueryTypeResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface QueryTypeDnsTimeseriesGroupResponse { /** Metadata for the results. */ meta: DnsTimeseriesGroupsQueryTypeResponseMeta; serie_0: DnsTimeseriesGroupsQueryTypeResponseSerie0; } export const QueryTypeDnsTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsTimeseriesGroupsQueryTypeResponseMeta, serie_0: DnsTimeseriesGroupsQueryTypeResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "QueryTypeDnsTimeseriesGroupResponse", }) as any as S.Schema; export type BgpRoutesRealtimeRequestFormat = "JSON" | "CSV"; export const BgpRoutesRealtimeRequestFormat = /*@__PURE__*/ S.String; export interface RealtimeBgpRouteRequest { /** Format in which results will be returned. */ format?: BgpRoutesRealtimeRequestFormat | (string & {}); prefix?: string; } export const RealtimeBgpRouteRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ format: S.optional(BgpRoutesRealtimeRequestFormat.pipe(T.Query())), prefix: S.optional(S.String.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/bgp/routes/realtime", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "RealtimeBgpRouteRequest", }) as any as S.Schema; export interface BgpRoutesRealtimeResponseMetaAsnInfoItem { /** Name of the autonomous system. */ asName: string; /** AS number. */ asn: number; /** Alpha-2 code for the AS's registration country. */ countryCode: string; /** Organization ID. */ orgId: string; /** Organization name. */ orgName: string; } export const BgpRoutesRealtimeResponseMetaAsnInfoItem = /*@__PURE__*/ S.suspend( () => S.Struct({ asName: S.String.pipe(T.Body("as_name")), asn: S.Number, countryCode: S.String.pipe(T.Body("country_code")), orgId: S.String.pipe(T.Body("org_id")), orgName: S.String.pipe(T.Body("org_name")), }), ).annotate({ identifier: "BgpRoutesRealtimeResponseMetaAsnInfoItem", }) as any as S.Schema; export type BgpRoutesRealtimeResponseMetaAsnInfoList = Array; export const BgpRoutesRealtimeResponseMetaAsnInfoList = /*@__PURE__*/ S.Array( BgpRoutesRealtimeResponseMetaAsnInfoItem, ) as any as S.Schema; export interface BgpRoutesRealtimeResponseMetaCollectorsItem { /** Public route collector ID. */ collector: string; /** Latest real-time stream timestamp for this collector. */ latestRealtimeTs: string; /** Latest RIB dump MRT file timestamp for this collector. */ latestRibTs: string; /** Latest BGP updates MRT file timestamp for this collector. */ latestUpdatesTs: string; /** Total number of collector peers used from this collector. */ peersCount: number; /** Total number of collector peers used from this collector for IPv4 prefixes. */ peersV4Count: number; /** Total number of collector peers used from this collector for IPv6 prefixes. */ peersV6Count: number; } export const BgpRoutesRealtimeResponseMetaCollectorsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ collector: S.String, latestRealtimeTs: S.String.pipe(T.Body("latest_realtime_ts")), latestRibTs: S.String.pipe(T.Body("latest_rib_ts")), latestUpdatesTs: S.String.pipe(T.Body("latest_updates_ts")), peersCount: S.Number.pipe(T.Body("peers_count")), peersV4Count: S.Number.pipe(T.Body("peers_v4_count")), peersV6Count: S.Number.pipe(T.Body("peers_v6_count")), }), ).annotate({ identifier: "BgpRoutesRealtimeResponseMetaCollectorsItem", }) as any as S.Schema; export type BgpRoutesRealtimeResponseMetaCollectorsList = Array; export const BgpRoutesRealtimeResponseMetaCollectorsList = /*@__PURE__*/ S.Array( BgpRoutesRealtimeResponseMetaCollectorsItem, ) as any as S.Schema; export interface BgpRoutesRealtimeResponseMetaPrefixOriginsItem { /** Origin ASN. */ origin: number; /** IP prefix of this query. */ prefix: string; /** Prefix-origin RPKI validation: valid, invalid, unknown. */ rpkiValidation: string; /** Total number of peers. */ totalPeers: number; /** Total number of peers seeing this prefix. */ totalVisible: number; /** Ratio of peers seeing this prefix to total number of peers. */ visibility: number; } export const BgpRoutesRealtimeResponseMetaPrefixOriginsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ origin: S.Number, prefix: S.String, rpkiValidation: S.String.pipe(T.Body("rpki_validation")), totalPeers: S.Number.pipe(T.Body("total_peers")), totalVisible: S.Number.pipe(T.Body("total_visible")), visibility: S.Number, }), ).annotate({ identifier: "BgpRoutesRealtimeResponseMetaPrefixOriginsItem", }) as any as S.Schema; export type BgpRoutesRealtimeResponseMetaPrefixOriginsList = Array; export const BgpRoutesRealtimeResponseMetaPrefixOriginsList = /*@__PURE__*/ S.Array( BgpRoutesRealtimeResponseMetaPrefixOriginsItem, ) as any as S.Schema; export interface BgpRoutesRealtimeResponseMeta { asnInfo: BgpRoutesRealtimeResponseMetaAsnInfoList; collectors: BgpRoutesRealtimeResponseMetaCollectorsList; /** The most recent data timestamp for from the real-time sources. */ dataTime: string; prefixOrigins: BgpRoutesRealtimeResponseMetaPrefixOriginsList; /** The timestamp of this query. */ queryTime: string; } export const BgpRoutesRealtimeResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ asnInfo: BgpRoutesRealtimeResponseMetaAsnInfoList.pipe(T.Body("asn_info")), collectors: BgpRoutesRealtimeResponseMetaCollectorsList, dataTime: S.String.pipe(T.Body("data_time")), prefixOrigins: BgpRoutesRealtimeResponseMetaPrefixOriginsList.pipe( T.Body("prefix_origins"), ), queryTime: S.String.pipe(T.Body("query_time")), }), ).annotate({ identifier: "BgpRoutesRealtimeResponseMeta", }) as any as S.Schema; export type BgpRoutesRealtimeResponseRoutesItemAsPathList = Array; export const BgpRoutesRealtimeResponseRoutesItemAsPathList = /*@__PURE__*/ S.Array( S.Number, ) as any as S.Schema; export type BgpRoutesRealtimeResponseRoutesItemCommunitiesList = Array; export const BgpRoutesRealtimeResponseRoutesItemCommunitiesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BgpRoutesRealtimeResponseRoutesItem { /** AS-level path for this route, from collector to origin. */ asPath: BgpRoutesRealtimeResponseRoutesItemAsPathList; /** Public collector ID for this route. */ collector: string; /** BGP community values. */ communities: BgpRoutesRealtimeResponseRoutesItemCommunitiesList; /** IP prefix of this query. */ prefix: string; /** Latest timestamp of change for this route. */ timestamp: string; } export const BgpRoutesRealtimeResponseRoutesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ asPath: BgpRoutesRealtimeResponseRoutesItemAsPathList.pipe( T.Body("as_path"), ), collector: S.String, communities: BgpRoutesRealtimeResponseRoutesItemCommunitiesList, prefix: S.String, timestamp: S.String, }), ).annotate({ identifier: "BgpRoutesRealtimeResponseRoutesItem", }) as any as S.Schema; export type BgpRoutesRealtimeResponseRoutesList = Array; export const BgpRoutesRealtimeResponseRoutesList = /*@__PURE__*/ S.Array( BgpRoutesRealtimeResponseRoutesItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface RealtimeBgpRouteResponse { meta: BgpRoutesRealtimeResponseMeta; routes: BgpRoutesRealtimeResponseRoutesList; } export const RealtimeBgpRouteResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: BgpRoutesRealtimeResponseMeta, routes: BgpRoutesRealtimeResponseRoutesList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "RealtimeBgpRouteResponse", }) as any as S.Schema; export type EntitiesAsnsRelRequestFormat = "JSON" | "CSV"; export const EntitiesAsnsRelRequestFormat = /*@__PURE__*/ S.String; export interface RelEntityAsnRequest { /** Retrieves all ASNs with provider-customer or peering relationships with the given ASN. */ asn: number; /** Retrieves the AS relationship of ASN2 with respect to the given ASN. */ asn2?: number; /** Format in which results will be returned. */ format?: EntitiesAsnsRelRequestFormat | (string & {}); } export const RelEntityAsnRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.Number.pipe(T.Label()), asn2: S.optional(S.Number.pipe(T.Query())), format: S.optional(EntitiesAsnsRelRequestFormat.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/entities/asns/{asn}/rel", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "RelEntityAsnRequest", }) as any as S.Schema; export type EntitiesAsnsRelResponseMeta = BgpRoutesMoasResponseMeta; export const EntitiesAsnsRelResponseMeta = BgpRoutesMoasResponseMeta; export interface EntitiesAsnsRelResponseRelsItem { asn1: number; asn1Country: string; asn1Name: string; asn2: number; asn2Country: string; asn2Name: string; rel: string; } export const EntitiesAsnsRelResponseRelsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ asn1: S.Number, asn1Country: S.String.pipe(T.Body("asn1_country")), asn1Name: S.String.pipe(T.Body("asn1_name")), asn2: S.Number, asn2Country: S.String.pipe(T.Body("asn2_country")), asn2Name: S.String.pipe(T.Body("asn2_name")), rel: S.String, }), ).annotate({ identifier: "EntitiesAsnsRelResponseRelsItem", }) as any as S.Schema; export type EntitiesAsnsRelResponseRelsList = Array; export const EntitiesAsnsRelResponseRelsList = /*@__PURE__*/ S.Array( EntitiesAsnsRelResponseRelsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface RelEntityAsnResponse { meta: BgpRoutesMoasResponseMeta; rels: EntitiesAsnsRelResponseRelsList; } export const RelEntityAsnResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: BgpRoutesMoasResponseMeta, rels: EntitiesAsnsRelResponseRelsList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "RelEntityAsnResponse", }) as any as S.Schema; export type DnsSummaryResponseCodeRequestAsnList = Array; export const DnsSummaryResponseCodeRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryResponseCodeRequestContinentList = Array; export const DnsSummaryResponseCodeRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryResponseCodeRequestDateEndList = Array; export const DnsSummaryResponseCodeRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryResponseCodeRequestDateRangeList = Array; export const DnsSummaryResponseCodeRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryResponseCodeRequestDateStartList = Array; export const DnsSummaryResponseCodeRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryResponseCodeRequestFormat = "JSON" | "CSV"; export const DnsSummaryResponseCodeRequestFormat = /*@__PURE__*/ S.String; export type DnsSummaryResponseCodeRequestLocationList = Array; export const DnsSummaryResponseCodeRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryResponseCodeRequestNameList = Array; export const DnsSummaryResponseCodeRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryResponseCodeRequestNodataList = Array; export const DnsSummaryResponseCodeRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsSummaryResponseCodeRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsSummaryResponseCodeRequestProtocol = /*@__PURE__*/ S.String; export type DnsSummaryResponseCodeRequestProtocolList = Array< DnsSummaryResponseCodeRequestProtocol | (string & {}) >; export const DnsSummaryResponseCodeRequestProtocolList = /*@__PURE__*/ S.Array( DnsSummaryResponseCodeRequestProtocol, ) as any as S.Schema; export type DnsSummaryResponseCodeRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsSummaryResponseCodeRequestQueryType = /*@__PURE__*/ S.String; export type DnsSummaryResponseCodeRequestQueryTypeList = Array< DnsSummaryResponseCodeRequestQueryType | (string & {}) >; export const DnsSummaryResponseCodeRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsSummaryResponseCodeRequestQueryType, ) as any as S.Schema; export type DnsSummaryResponseCodeRequestTldList = Array; export const DnsSummaryResponseCodeRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ResponseCodeDnsSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsSummaryResponseCodeRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsSummaryResponseCodeRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsSummaryResponseCodeRequestDateEndList; /** 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). */ dateRange?: DnsSummaryResponseCodeRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsSummaryResponseCodeRequestDateStartList; /** Format in which results will be returned. */ format?: DnsSummaryResponseCodeRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsSummaryResponseCodeRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsSummaryResponseCodeRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsSummaryResponseCodeRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsSummaryResponseCodeRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsSummaryResponseCodeRequestQueryTypeList; /** Filters results by top-level domain. */ tld?: DnsSummaryResponseCodeRequestTldList; } export const ResponseCodeDnsSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(DnsSummaryResponseCodeRequestAsnList.pipe(T.Query())), continent: S.optional( DnsSummaryResponseCodeRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( DnsSummaryResponseCodeRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( DnsSummaryResponseCodeRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsSummaryResponseCodeRequestDateStartList.pipe(T.Query()), ), format: S.optional(DnsSummaryResponseCodeRequestFormat.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( DnsSummaryResponseCodeRequestLocationList.pipe(T.Query()), ), name: S.optional(DnsSummaryResponseCodeRequestNameList.pipe(T.Query())), nodata: S.optional(DnsSummaryResponseCodeRequestNodataList.pipe(T.Query())), protocol: S.optional( DnsSummaryResponseCodeRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( DnsSummaryResponseCodeRequestQueryTypeList.pipe(T.Query()), ), tld: S.optional(DnsSummaryResponseCodeRequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/summary/response_code", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ResponseCodeDnsSummaryRequest", }) as any as S.Schema; export type DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsSummaryResponseCodeResponseMetaConfidenceInfo { annotations: DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsSummaryResponseCodeResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsSummaryResponseCodeResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsSummaryResponseCodeResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsSummaryResponseCodeResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsSummaryResponseCodeResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsSummaryResponseCodeResponseMetaDateRangeList = Array; export const DnsSummaryResponseCodeResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsSummaryResponseCodeResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsSummaryResponseCodeResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsSummaryResponseCodeResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsSummaryResponseCodeResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsSummaryResponseCodeResponseMetaUnitsList = Array; export const DnsSummaryResponseCodeResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsSummaryResponseCodeResponseMeta { confidenceInfo: DnsSummaryResponseCodeResponseMetaConfidenceInfo; dateRange: DnsSummaryResponseCodeResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsSummaryResponseCodeResponseMetaNormalization; /** Measurement units for the results. */ units: DnsSummaryResponseCodeResponseMetaUnitsList; } export const DnsSummaryResponseCodeResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: DnsSummaryResponseCodeResponseMetaConfidenceInfo, dateRange: DnsSummaryResponseCodeResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsSummaryResponseCodeResponseMetaNormalization, units: DnsSummaryResponseCodeResponseMetaUnitsList, }), ).annotate({ identifier: "DnsSummaryResponseCodeResponseMeta", }) as any as S.Schema; export type DnsSummaryResponseCodeResponseSummary0Map = { [key: string]: string | undefined; }; export const DnsSummaryResponseCodeResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ResponseCodeDnsSummaryResponse { /** Metadata for the results. */ meta: DnsSummaryResponseCodeResponseMeta; summary_0: DnsSummaryResponseCodeResponseSummary0Map; } export const ResponseCodeDnsSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsSummaryResponseCodeResponseMeta, summary_0: DnsSummaryResponseCodeResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ResponseCodeDnsSummaryResponse", }) as any as S.Schema; export type DnsTimeseriesGroupsResponseCodeRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const DnsTimeseriesGroupsResponseCodeRequestAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsResponseCodeRequestAsnList = Array; export const DnsTimeseriesGroupsResponseCodeRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseCodeRequestContinentList = Array; export const DnsTimeseriesGroupsResponseCodeRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseCodeRequestDateEndList = Array; export const DnsTimeseriesGroupsResponseCodeRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseCodeRequestDateRangeList = Array; export const DnsTimeseriesGroupsResponseCodeRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseCodeRequestDateStartList = Array; export const DnsTimeseriesGroupsResponseCodeRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseCodeRequestFormat = "JSON" | "CSV"; export const DnsTimeseriesGroupsResponseCodeRequestFormat = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsResponseCodeRequestLocationList = Array; export const DnsTimeseriesGroupsResponseCodeRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseCodeRequestNameList = Array; export const DnsTimeseriesGroupsResponseCodeRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseCodeRequestNodataList = Array; export const DnsTimeseriesGroupsResponseCodeRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseCodeRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsTimeseriesGroupsResponseCodeRequestProtocol = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsResponseCodeRequestProtocolList = Array< DnsTimeseriesGroupsResponseCodeRequestProtocol | (string & {}) >; export const DnsTimeseriesGroupsResponseCodeRequestProtocolList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsResponseCodeRequestProtocol, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseCodeRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsTimeseriesGroupsResponseCodeRequestQueryType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsResponseCodeRequestQueryTypeList = Array< DnsTimeseriesGroupsResponseCodeRequestQueryType | (string & {}) >; export const DnsTimeseriesGroupsResponseCodeRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsResponseCodeRequestQueryType, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseCodeRequestTldList = Array; export const DnsTimeseriesGroupsResponseCodeRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ResponseCodeDnsTimeseriesGroupRequest { /** 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/). */ aggInterval?: | DnsTimeseriesGroupsResponseCodeRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsTimeseriesGroupsResponseCodeRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsTimeseriesGroupsResponseCodeRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsTimeseriesGroupsResponseCodeRequestDateEndList; /** 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). */ dateRange?: DnsTimeseriesGroupsResponseCodeRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsTimeseriesGroupsResponseCodeRequestDateStartList; /** Format in which results will be returned. */ format?: DnsTimeseriesGroupsResponseCodeRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsTimeseriesGroupsResponseCodeRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsTimeseriesGroupsResponseCodeRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsTimeseriesGroupsResponseCodeRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsTimeseriesGroupsResponseCodeRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsTimeseriesGroupsResponseCodeRequestQueryTypeList; /** Filters results by top-level domain. */ tld?: DnsTimeseriesGroupsResponseCodeRequestTldList; } export const ResponseCodeDnsTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( DnsTimeseriesGroupsResponseCodeRequestAggInterval.pipe(T.Query()), ), asn: S.optional( DnsTimeseriesGroupsResponseCodeRequestAsnList.pipe(T.Query()), ), continent: S.optional( DnsTimeseriesGroupsResponseCodeRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( DnsTimeseriesGroupsResponseCodeRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( DnsTimeseriesGroupsResponseCodeRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsTimeseriesGroupsResponseCodeRequestDateStartList.pipe(T.Query()), ), format: S.optional( DnsTimeseriesGroupsResponseCodeRequestFormat.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( DnsTimeseriesGroupsResponseCodeRequestLocationList.pipe(T.Query()), ), name: S.optional( DnsTimeseriesGroupsResponseCodeRequestNameList.pipe(T.Query()), ), nodata: S.optional( DnsTimeseriesGroupsResponseCodeRequestNodataList.pipe(T.Query()), ), protocol: S.optional( DnsTimeseriesGroupsResponseCodeRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( DnsTimeseriesGroupsResponseCodeRequestQueryTypeList.pipe(T.Query()), ), tld: S.optional( DnsTimeseriesGroupsResponseCodeRequestTldList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/timeseries_groups/response_code", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ResponseCodeDnsTimeseriesGroupRequest", }) as any as S.Schema; export type DnsTimeseriesGroupsResponseCodeResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const DnsTimeseriesGroupsResponseCodeResponseMetaAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfo { annotations: DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsTimeseriesGroupsResponseCodeResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsTimeseriesGroupsResponseCodeResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsTimeseriesGroupsResponseCodeResponseMetaDateRangeList = Array; export const DnsTimeseriesGroupsResponseCodeResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseCodeResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsTimeseriesGroupsResponseCodeResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsResponseCodeResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsTimeseriesGroupsResponseCodeResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsTimeseriesGroupsResponseCodeResponseMetaUnitsList = Array; export const DnsTimeseriesGroupsResponseCodeResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsResponseCodeResponseMeta { /** 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/). */ aggInterval: DnsTimeseriesGroupsResponseCodeResponseMetaAggInterval; confidenceInfo: DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfo; dateRange: DnsTimeseriesGroupsResponseCodeResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsTimeseriesGroupsResponseCodeResponseMetaNormalization; /** Measurement units for the results. */ units: DnsTimeseriesGroupsResponseCodeResponseMetaUnitsList; } export const DnsTimeseriesGroupsResponseCodeResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: DnsTimeseriesGroupsResponseCodeResponseMetaAggInterval, confidenceInfo: DnsTimeseriesGroupsResponseCodeResponseMetaConfidenceInfo, dateRange: DnsTimeseriesGroupsResponseCodeResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsTimeseriesGroupsResponseCodeResponseMetaNormalization, units: DnsTimeseriesGroupsResponseCodeResponseMetaUnitsList, }), ).annotate({ identifier: "DnsTimeseriesGroupsResponseCodeResponseMeta", }) as any as S.Schema; export type DnsTimeseriesGroupsResponseCodeResponseSerie0TimestampsList = Array; export const DnsTimeseriesGroupsResponseCodeResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsResponseCodeResponseSerie0 { timestamps: DnsTimeseriesGroupsResponseCodeResponseSerie0TimestampsList; } export const DnsTimeseriesGroupsResponseCodeResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: DnsTimeseriesGroupsResponseCodeResponseSerie0TimestampsList, }), ).annotate({ identifier: "DnsTimeseriesGroupsResponseCodeResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ResponseCodeDnsTimeseriesGroupResponse { /** Metadata for the results. */ meta: DnsTimeseriesGroupsResponseCodeResponseMeta; serie_0: DnsTimeseriesGroupsResponseCodeResponseSerie0; } export const ResponseCodeDnsTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: DnsTimeseriesGroupsResponseCodeResponseMeta, serie_0: DnsTimeseriesGroupsResponseCodeResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ResponseCodeDnsTimeseriesGroupResponse", }) as any as S.Schema; export type As112SummaryResponseCodesRequestContinentList = Array; export const As112SummaryResponseCodesRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryResponseCodesRequestDateEndList = Array; export const As112SummaryResponseCodesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryResponseCodesRequestDateRangeList = Array; export const As112SummaryResponseCodesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryResponseCodesRequestDateStartList = Array; export const As112SummaryResponseCodesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryResponseCodesRequestFormat = "JSON" | "CSV"; export const As112SummaryResponseCodesRequestFormat = /*@__PURE__*/ S.String; export type As112SummaryResponseCodesRequestLocationList = Array; export const As112SummaryResponseCodesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryResponseCodesRequestNameList = Array; export const As112SummaryResponseCodesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryResponseCodesRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const As112SummaryResponseCodesRequestProtocol = /*@__PURE__*/ S.String; export type As112SummaryResponseCodesRequestProtocolList = Array< As112SummaryResponseCodesRequestProtocol | (string & {}) >; export const As112SummaryResponseCodesRequestProtocolList = /*@__PURE__*/ S.Array( As112SummaryResponseCodesRequestProtocol, ) as any as S.Schema; export type As112SummaryResponseCodesRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const As112SummaryResponseCodesRequestQueryType = /*@__PURE__*/ S.String; export type As112SummaryResponseCodesRequestQueryTypeList = Array< As112SummaryResponseCodesRequestQueryType | (string & {}) >; export const As112SummaryResponseCodesRequestQueryTypeList = /*@__PURE__*/ S.Array( As112SummaryResponseCodesRequestQueryType, ) as any as S.Schema; export interface ResponseCodesAs112SummaryRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112SummaryResponseCodesRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112SummaryResponseCodesRequestDateEndList; /** 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). */ dateRange?: As112SummaryResponseCodesRequestDateRangeList; /** Start of the date range. */ dateStart?: As112SummaryResponseCodesRequestDateStartList; /** Format in which results will be returned. */ format?: As112SummaryResponseCodesRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112SummaryResponseCodesRequestLocationList; /** Array of names used to label the series in the response. */ name?: As112SummaryResponseCodesRequestNameList; /** Filters results by DNS transport protocol. */ protocol?: As112SummaryResponseCodesRequestProtocolList; /** Filters results by DNS query type. */ queryType?: As112SummaryResponseCodesRequestQueryTypeList; } export const ResponseCodesAs112SummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( As112SummaryResponseCodesRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( As112SummaryResponseCodesRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( As112SummaryResponseCodesRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( As112SummaryResponseCodesRequestDateStartList.pipe(T.Query()), ), format: S.optional(As112SummaryResponseCodesRequestFormat.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( As112SummaryResponseCodesRequestLocationList.pipe(T.Query()), ), name: S.optional(As112SummaryResponseCodesRequestNameList.pipe(T.Query())), protocol: S.optional( As112SummaryResponseCodesRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( As112SummaryResponseCodesRequestQueryTypeList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/summary/response_codes", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ResponseCodesAs112SummaryRequest", }) as any as S.Schema; export type As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsList = Array; export const As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112SummaryResponseCodesResponseMetaConfidenceInfo { annotations: As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112SummaryResponseCodesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: As112SummaryResponseCodesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112SummaryResponseCodesResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112SummaryResponseCodesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112SummaryResponseCodesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112SummaryResponseCodesResponseMetaDateRangeList = Array; export const As112SummaryResponseCodesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112SummaryResponseCodesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112SummaryResponseCodesResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112SummaryResponseCodesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112SummaryResponseCodesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112SummaryResponseCodesResponseMetaUnitsList = Array; export const As112SummaryResponseCodesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112SummaryResponseCodesResponseMeta { confidenceInfo: As112SummaryResponseCodesResponseMetaConfidenceInfo; dateRange: As112SummaryResponseCodesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112SummaryResponseCodesResponseMetaNormalization; /** Measurement units for the results. */ units: As112SummaryResponseCodesResponseMetaUnitsList; } export const As112SummaryResponseCodesResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: As112SummaryResponseCodesResponseMetaConfidenceInfo, dateRange: As112SummaryResponseCodesResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112SummaryResponseCodesResponseMetaNormalization, units: As112SummaryResponseCodesResponseMetaUnitsList, }), ).annotate({ identifier: "As112SummaryResponseCodesResponseMeta", }) as any as S.Schema; export type As112SummaryResponseCodesResponseSummary0Map = { [key: string]: string | undefined; }; export const As112SummaryResponseCodesResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ResponseCodesAs112SummaryResponse { /** Metadata for the results. */ meta: As112SummaryResponseCodesResponseMeta; summary_0: As112SummaryResponseCodesResponseSummary0Map; } export const ResponseCodesAs112SummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: As112SummaryResponseCodesResponseMeta, summary_0: As112SummaryResponseCodesResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ResponseCodesAs112SummaryResponse", }) as any as S.Schema; export type As112TimeseriesGroupsResponseCodesRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const As112TimeseriesGroupsResponseCodesRequestAggInterval = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsResponseCodesRequestContinentList = Array; export const As112TimeseriesGroupsResponseCodesRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsResponseCodesRequestDateEndList = Array; export const As112TimeseriesGroupsResponseCodesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsResponseCodesRequestDateRangeList = Array; export const As112TimeseriesGroupsResponseCodesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsResponseCodesRequestDateStartList = Array; export const As112TimeseriesGroupsResponseCodesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsResponseCodesRequestFormat = "JSON" | "CSV"; export const As112TimeseriesGroupsResponseCodesRequestFormat = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsResponseCodesRequestLocationList = Array; export const As112TimeseriesGroupsResponseCodesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsResponseCodesRequestNameList = Array; export const As112TimeseriesGroupsResponseCodesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsResponseCodesRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const As112TimeseriesGroupsResponseCodesRequestProtocol = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsResponseCodesRequestProtocolList = Array< As112TimeseriesGroupsResponseCodesRequestProtocol | (string & {}) >; export const As112TimeseriesGroupsResponseCodesRequestProtocolList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsResponseCodesRequestProtocol, ) as any as S.Schema; export type As112TimeseriesGroupsResponseCodesRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const As112TimeseriesGroupsResponseCodesRequestQueryType = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsResponseCodesRequestQueryTypeList = Array< As112TimeseriesGroupsResponseCodesRequestQueryType | (string & {}) >; export const As112TimeseriesGroupsResponseCodesRequestQueryTypeList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsResponseCodesRequestQueryType, ) as any as S.Schema; export interface ResponseCodesAs112TimeseriesGroupRequest { /** 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/). */ aggInterval?: | As112TimeseriesGroupsResponseCodesRequestAggInterval | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112TimeseriesGroupsResponseCodesRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112TimeseriesGroupsResponseCodesRequestDateEndList; /** 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). */ dateRange?: As112TimeseriesGroupsResponseCodesRequestDateRangeList; /** Start of the date range. */ dateStart?: As112TimeseriesGroupsResponseCodesRequestDateStartList; /** Format in which results will be returned. */ format?: As112TimeseriesGroupsResponseCodesRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112TimeseriesGroupsResponseCodesRequestLocationList; /** Array of names used to label the series in the response. */ name?: As112TimeseriesGroupsResponseCodesRequestNameList; /** Filters results by DNS transport protocol. */ protocol?: As112TimeseriesGroupsResponseCodesRequestProtocolList; /** Filters results by DNS query type. */ queryType?: As112TimeseriesGroupsResponseCodesRequestQueryTypeList; } export const ResponseCodesAs112TimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( As112TimeseriesGroupsResponseCodesRequestAggInterval.pipe(T.Query()), ), continent: S.optional( As112TimeseriesGroupsResponseCodesRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( As112TimeseriesGroupsResponseCodesRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( As112TimeseriesGroupsResponseCodesRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( As112TimeseriesGroupsResponseCodesRequestDateStartList.pipe(T.Query()), ), format: S.optional( As112TimeseriesGroupsResponseCodesRequestFormat.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( As112TimeseriesGroupsResponseCodesRequestLocationList.pipe(T.Query()), ), name: S.optional( As112TimeseriesGroupsResponseCodesRequestNameList.pipe(T.Query()), ), protocol: S.optional( As112TimeseriesGroupsResponseCodesRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( As112TimeseriesGroupsResponseCodesRequestQueryTypeList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/timeseries_groups/response_codes", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ResponseCodesAs112TimeseriesGroupRequest", }) as any as S.Schema; export type As112TimeseriesGroupsResponseCodesResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const As112TimeseriesGroupsResponseCodesResponseMetaAggInterval = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsList = Array; export const As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfo { annotations: As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112TimeseriesGroupsResponseCodesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112TimeseriesGroupsResponseCodesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112TimeseriesGroupsResponseCodesResponseMetaDateRangeList = Array; export const As112TimeseriesGroupsResponseCodesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112TimeseriesGroupsResponseCodesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112TimeseriesGroupsResponseCodesResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsResponseCodesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112TimeseriesGroupsResponseCodesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112TimeseriesGroupsResponseCodesResponseMetaUnitsList = Array; export const As112TimeseriesGroupsResponseCodesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112TimeseriesGroupsResponseCodesResponseMeta { /** 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/). */ aggInterval: As112TimeseriesGroupsResponseCodesResponseMetaAggInterval; confidenceInfo: As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfo; dateRange: As112TimeseriesGroupsResponseCodesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112TimeseriesGroupsResponseCodesResponseMetaNormalization; /** Measurement units for the results. */ units: As112TimeseriesGroupsResponseCodesResponseMetaUnitsList; } export const As112TimeseriesGroupsResponseCodesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: As112TimeseriesGroupsResponseCodesResponseMetaAggInterval, confidenceInfo: As112TimeseriesGroupsResponseCodesResponseMetaConfidenceInfo, dateRange: As112TimeseriesGroupsResponseCodesResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112TimeseriesGroupsResponseCodesResponseMetaNormalization, units: As112TimeseriesGroupsResponseCodesResponseMetaUnitsList, }), ).annotate({ identifier: "As112TimeseriesGroupsResponseCodesResponseMeta", }) as any as S.Schema; export type As112TimeseriesGroupsResponseCodesResponseSerie0TimestampsList = Array; export const As112TimeseriesGroupsResponseCodesResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TimeseriesGroupsResponseCodesResponseSerie0 { timestamps: As112TimeseriesGroupsResponseCodesResponseSerie0TimestampsList; } export const As112TimeseriesGroupsResponseCodesResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: As112TimeseriesGroupsResponseCodesResponseSerie0TimestampsList, }), ).annotate({ identifier: "As112TimeseriesGroupsResponseCodesResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ResponseCodesAs112TimeseriesGroupResponse { /** Metadata for the results. */ meta: As112TimeseriesGroupsResponseCodesResponseMeta; serie_0: As112TimeseriesGroupsResponseCodesResponseSerie0; } export const ResponseCodesAs112TimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: As112TimeseriesGroupsResponseCodesResponseMeta, serie_0: As112TimeseriesGroupsResponseCodesResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ResponseCodesAs112TimeseriesGroupResponse", }) as any as S.Schema; export type DnsSummaryResponseTtlRequestAsnList = Array; export const DnsSummaryResponseTtlRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryResponseTtlRequestContinentList = Array; export const DnsSummaryResponseTtlRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryResponseTtlRequestDateEndList = Array; export const DnsSummaryResponseTtlRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryResponseTtlRequestDateRangeList = Array; export const DnsSummaryResponseTtlRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryResponseTtlRequestDateStartList = Array; export const DnsSummaryResponseTtlRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryResponseTtlRequestFormat = "JSON" | "CSV"; export const DnsSummaryResponseTtlRequestFormat = /*@__PURE__*/ S.String; export type DnsSummaryResponseTtlRequestLocationList = Array; export const DnsSummaryResponseTtlRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryResponseTtlRequestNameList = Array; export const DnsSummaryResponseTtlRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryResponseTtlRequestNodataList = Array; export const DnsSummaryResponseTtlRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsSummaryResponseTtlRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsSummaryResponseTtlRequestProtocol = /*@__PURE__*/ S.String; export type DnsSummaryResponseTtlRequestProtocolList = Array< DnsSummaryResponseTtlRequestProtocol | (string & {}) >; export const DnsSummaryResponseTtlRequestProtocolList = /*@__PURE__*/ S.Array( DnsSummaryResponseTtlRequestProtocol, ) as any as S.Schema; export type DnsSummaryResponseTtlRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsSummaryResponseTtlRequestQueryType = /*@__PURE__*/ S.String; export type DnsSummaryResponseTtlRequestQueryTypeList = Array< DnsSummaryResponseTtlRequestQueryType | (string & {}) >; export const DnsSummaryResponseTtlRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsSummaryResponseTtlRequestQueryType, ) as any as S.Schema; export type DnsSummaryResponseTtlRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsSummaryResponseTtlRequestResponseCode = /*@__PURE__*/ S.String; export type DnsSummaryResponseTtlRequestResponseCodeList = Array< DnsSummaryResponseTtlRequestResponseCode | (string & {}) >; export const DnsSummaryResponseTtlRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsSummaryResponseTtlRequestResponseCode, ) as any as S.Schema; export type DnsSummaryResponseTtlRequestTldList = Array; export const DnsSummaryResponseTtlRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ResponseTTLDnsSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsSummaryResponseTtlRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsSummaryResponseTtlRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsSummaryResponseTtlRequestDateEndList; /** 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). */ dateRange?: DnsSummaryResponseTtlRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsSummaryResponseTtlRequestDateStartList; /** Format in which results will be returned. */ format?: DnsSummaryResponseTtlRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsSummaryResponseTtlRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsSummaryResponseTtlRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsSummaryResponseTtlRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsSummaryResponseTtlRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsSummaryResponseTtlRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsSummaryResponseTtlRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsSummaryResponseTtlRequestTldList; } export const ResponseTTLDnsSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(DnsSummaryResponseTtlRequestAsnList.pipe(T.Query())), continent: S.optional( DnsSummaryResponseTtlRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( DnsSummaryResponseTtlRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( DnsSummaryResponseTtlRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsSummaryResponseTtlRequestDateStartList.pipe(T.Query()), ), format: S.optional(DnsSummaryResponseTtlRequestFormat.pipe(T.Query())), location: S.optional( DnsSummaryResponseTtlRequestLocationList.pipe(T.Query()), ), name: S.optional(DnsSummaryResponseTtlRequestNameList.pipe(T.Query())), nodata: S.optional(DnsSummaryResponseTtlRequestNodataList.pipe(T.Query())), protocol: S.optional( DnsSummaryResponseTtlRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( DnsSummaryResponseTtlRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( DnsSummaryResponseTtlRequestResponseCodeList.pipe(T.Query()), ), tld: S.optional(DnsSummaryResponseTtlRequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/summary/response_ttl", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ResponseTTLDnsSummaryRequest", }) as any as S.Schema; export type DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsSummaryResponseTtlResponseMetaConfidenceInfo { annotations: DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsSummaryResponseTtlResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsSummaryResponseTtlResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsSummaryResponseTtlResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsSummaryResponseTtlResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsSummaryResponseTtlResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsSummaryResponseTtlResponseMetaDateRangeList = Array; export const DnsSummaryResponseTtlResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsSummaryResponseTtlResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsSummaryResponseTtlResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsSummaryResponseTtlResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsSummaryResponseTtlResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsSummaryResponseTtlResponseMetaUnitsList = Array; export const DnsSummaryResponseTtlResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsSummaryResponseTtlResponseMeta { confidenceInfo: DnsSummaryResponseTtlResponseMetaConfidenceInfo; dateRange: DnsSummaryResponseTtlResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsSummaryResponseTtlResponseMetaNormalization; /** Measurement units for the results. */ units: DnsSummaryResponseTtlResponseMetaUnitsList; } export const DnsSummaryResponseTtlResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: DnsSummaryResponseTtlResponseMetaConfidenceInfo, dateRange: DnsSummaryResponseTtlResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsSummaryResponseTtlResponseMetaNormalization, units: DnsSummaryResponseTtlResponseMetaUnitsList, }), ).annotate({ identifier: "DnsSummaryResponseTtlResponseMeta", }) as any as S.Schema; export interface DnsSummaryResponseTtlResponseSummary0 { /** A numeric string. */ gt_15m_lte_1h: string; /** A numeric string. */ gt_1d_lte_1w: string; /** A numeric string. */ gt_1h_lte_1d: string; /** A numeric string. */ gt_1m_lte_5m: string; /** A numeric string. */ gt_1w: string; /** A numeric string. */ gt_5m_lte_15m: string; /** A numeric string. */ lte_1m: string; } export const DnsSummaryResponseTtlResponseSummary0 = /*@__PURE__*/ S.suspend( () => S.Struct({ gt_15m_lte_1h: S.String, gt_1d_lte_1w: S.String, gt_1h_lte_1d: S.String, gt_1m_lte_5m: S.String, gt_1w: S.String, gt_5m_lte_15m: S.String, lte_1m: S.String, }), ).annotate({ identifier: "DnsSummaryResponseTtlResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ResponseTTLDnsSummaryResponse { /** Metadata for the results. */ meta: DnsSummaryResponseTtlResponseMeta; summary_0: DnsSummaryResponseTtlResponseSummary0; } export const ResponseTTLDnsSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsSummaryResponseTtlResponseMeta, summary_0: DnsSummaryResponseTtlResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ResponseTTLDnsSummaryResponse", }) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const DnsTimeseriesGroupsResponseTtlRequestAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsResponseTtlRequestAsnList = Array; export const DnsTimeseriesGroupsResponseTtlRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlRequestContinentList = Array; export const DnsTimeseriesGroupsResponseTtlRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlRequestDateEndList = Array; export const DnsTimeseriesGroupsResponseTtlRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlRequestDateRangeList = Array; export const DnsTimeseriesGroupsResponseTtlRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlRequestDateStartList = Array; export const DnsTimeseriesGroupsResponseTtlRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlRequestFormat = "JSON" | "CSV"; export const DnsTimeseriesGroupsResponseTtlRequestFormat = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsResponseTtlRequestLocationList = Array; export const DnsTimeseriesGroupsResponseTtlRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlRequestNameList = Array; export const DnsTimeseriesGroupsResponseTtlRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlRequestNodataList = Array; export const DnsTimeseriesGroupsResponseTtlRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlRequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsTimeseriesGroupsResponseTtlRequestProtocol = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsResponseTtlRequestProtocolList = Array< DnsTimeseriesGroupsResponseTtlRequestProtocol | (string & {}) >; export const DnsTimeseriesGroupsResponseTtlRequestProtocolList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsResponseTtlRequestProtocol, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsTimeseriesGroupsResponseTtlRequestQueryType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsResponseTtlRequestQueryTypeList = Array< DnsTimeseriesGroupsResponseTtlRequestQueryType | (string & {}) >; export const DnsTimeseriesGroupsResponseTtlRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsResponseTtlRequestQueryType, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsTimeseriesGroupsResponseTtlRequestResponseCode = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsResponseTtlRequestResponseCodeList = Array< DnsTimeseriesGroupsResponseTtlRequestResponseCode | (string & {}) >; export const DnsTimeseriesGroupsResponseTtlRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsResponseTtlRequestResponseCode, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlRequestTldList = Array; export const DnsTimeseriesGroupsResponseTtlRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ResponseTTLDnsTimeseriesGroupRequest { /** 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/). */ aggInterval?: | DnsTimeseriesGroupsResponseTtlRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsTimeseriesGroupsResponseTtlRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsTimeseriesGroupsResponseTtlRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsTimeseriesGroupsResponseTtlRequestDateEndList; /** 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). */ dateRange?: DnsTimeseriesGroupsResponseTtlRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsTimeseriesGroupsResponseTtlRequestDateStartList; /** Format in which results will be returned. */ format?: DnsTimeseriesGroupsResponseTtlRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsTimeseriesGroupsResponseTtlRequestLocationList; /** Array of names used to label the series in the response. */ name?: DnsTimeseriesGroupsResponseTtlRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsTimeseriesGroupsResponseTtlRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsTimeseriesGroupsResponseTtlRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsTimeseriesGroupsResponseTtlRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsTimeseriesGroupsResponseTtlRequestResponseCodeList; /** Filters results by top-level domain. */ tld?: DnsTimeseriesGroupsResponseTtlRequestTldList; } export const ResponseTTLDnsTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( DnsTimeseriesGroupsResponseTtlRequestAggInterval.pipe(T.Query()), ), asn: S.optional( DnsTimeseriesGroupsResponseTtlRequestAsnList.pipe(T.Query()), ), continent: S.optional( DnsTimeseriesGroupsResponseTtlRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( DnsTimeseriesGroupsResponseTtlRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( DnsTimeseriesGroupsResponseTtlRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsTimeseriesGroupsResponseTtlRequestDateStartList.pipe(T.Query()), ), format: S.optional( DnsTimeseriesGroupsResponseTtlRequestFormat.pipe(T.Query()), ), location: S.optional( DnsTimeseriesGroupsResponseTtlRequestLocationList.pipe(T.Query()), ), name: S.optional( DnsTimeseriesGroupsResponseTtlRequestNameList.pipe(T.Query()), ), nodata: S.optional( DnsTimeseriesGroupsResponseTtlRequestNodataList.pipe(T.Query()), ), protocol: S.optional( DnsTimeseriesGroupsResponseTtlRequestProtocolList.pipe(T.Query()), ), queryType: S.optional( DnsTimeseriesGroupsResponseTtlRequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( DnsTimeseriesGroupsResponseTtlRequestResponseCodeList.pipe(T.Query()), ), tld: S.optional( DnsTimeseriesGroupsResponseTtlRequestTldList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/timeseries_groups/response_ttl", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ResponseTTLDnsTimeseriesGroupRequest", }) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const DnsTimeseriesGroupsResponseTtlResponseMetaAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfo { annotations: DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsTimeseriesGroupsResponseTtlResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsTimeseriesGroupsResponseTtlResponseMetaDateRangeList = Array; export const DnsTimeseriesGroupsResponseTtlResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsTimeseriesGroupsResponseTtlResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsResponseTtlResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsTimeseriesGroupsResponseTtlResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsTimeseriesGroupsResponseTtlResponseMetaUnitsList = Array; export const DnsTimeseriesGroupsResponseTtlResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsResponseTtlResponseMeta { /** 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/). */ aggInterval: DnsTimeseriesGroupsResponseTtlResponseMetaAggInterval; confidenceInfo: DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfo; dateRange: DnsTimeseriesGroupsResponseTtlResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsTimeseriesGroupsResponseTtlResponseMetaNormalization; /** Measurement units for the results. */ units: DnsTimeseriesGroupsResponseTtlResponseMetaUnitsList; } export const DnsTimeseriesGroupsResponseTtlResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: DnsTimeseriesGroupsResponseTtlResponseMetaAggInterval, confidenceInfo: DnsTimeseriesGroupsResponseTtlResponseMetaConfidenceInfo, dateRange: DnsTimeseriesGroupsResponseTtlResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsTimeseriesGroupsResponseTtlResponseMetaNormalization, units: DnsTimeseriesGroupsResponseTtlResponseMetaUnitsList, }), ).annotate({ identifier: "DnsTimeseriesGroupsResponseTtlResponseMeta", }) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlResponseSerie0Gt15mLte1hList = Array; export const DnsTimeseriesGroupsResponseTtlResponseSerie0Gt15mLte1hList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlResponseSerie0Gt1dLte1wList = Array; export const DnsTimeseriesGroupsResponseTtlResponseSerie0Gt1dLte1wList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlResponseSerie0Gt1hLte1dList = Array; export const DnsTimeseriesGroupsResponseTtlResponseSerie0Gt1hLte1dList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlResponseSerie0Gt1mLte5mList = Array; export const DnsTimeseriesGroupsResponseTtlResponseSerie0Gt1mLte5mList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlResponseSerie0Gt1wList = Array; export const DnsTimeseriesGroupsResponseTtlResponseSerie0Gt1wList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlResponseSerie0Gt5mLte15mList = Array; export const DnsTimeseriesGroupsResponseTtlResponseSerie0Gt5mLte15mList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsResponseTtlResponseSerie0Lte1mList = Array; export const DnsTimeseriesGroupsResponseTtlResponseSerie0Lte1mList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsResponseTtlResponseSerie0 { gt_15m_lte_1h: DnsTimeseriesGroupsResponseTtlResponseSerie0Gt15mLte1hList; gt_1d_lte_1w: DnsTimeseriesGroupsResponseTtlResponseSerie0Gt1dLte1wList; gt_1h_lte_1d: DnsTimeseriesGroupsResponseTtlResponseSerie0Gt1hLte1dList; gt_1m_lte_5m: DnsTimeseriesGroupsResponseTtlResponseSerie0Gt1mLte5mList; gt_1w: DnsTimeseriesGroupsResponseTtlResponseSerie0Gt1wList; gt_5m_lte_15m: DnsTimeseriesGroupsResponseTtlResponseSerie0Gt5mLte15mList; lte_1m: DnsTimeseriesGroupsResponseTtlResponseSerie0Lte1mList; } export const DnsTimeseriesGroupsResponseTtlResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ gt_15m_lte_1h: DnsTimeseriesGroupsResponseTtlResponseSerie0Gt15mLte1hList, gt_1d_lte_1w: DnsTimeseriesGroupsResponseTtlResponseSerie0Gt1dLte1wList, gt_1h_lte_1d: DnsTimeseriesGroupsResponseTtlResponseSerie0Gt1hLte1dList, gt_1m_lte_5m: DnsTimeseriesGroupsResponseTtlResponseSerie0Gt1mLte5mList, gt_1w: DnsTimeseriesGroupsResponseTtlResponseSerie0Gt1wList, gt_5m_lte_15m: DnsTimeseriesGroupsResponseTtlResponseSerie0Gt5mLte15mList, lte_1m: DnsTimeseriesGroupsResponseTtlResponseSerie0Lte1mList, }), ).annotate({ identifier: "DnsTimeseriesGroupsResponseTtlResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ResponseTTLDnsTimeseriesGroupResponse { /** Metadata for the results. */ meta: DnsTimeseriesGroupsResponseTtlResponseMeta; serie_0: DnsTimeseriesGroupsResponseTtlResponseSerie0; } export const ResponseTTLDnsTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: DnsTimeseriesGroupsResponseTtlResponseMeta, serie_0: DnsTimeseriesGroupsResponseTtlResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ResponseTTLDnsTimeseriesGroupResponse", }) as any as S.Schema; export type SearchGlobalRequestExclude = | "ADM1S" | "ASNS" | "BOTS" | "CERTIFICATE_AUTHORITIES" | "CERTIFICATE_LOGS" | "ORIGINS" | "ORIGIN_REGIONS" | "INDUSTRIES" | "LOCATIONS" | "NOTEBOOKS" | "TLDS" | "VERTICALS"; export const SearchGlobalRequestExclude = /*@__PURE__*/ S.String; export type SearchGlobalRequestExcludeList = Array< SearchGlobalRequestExclude | (string & {}) >; export const SearchGlobalRequestExcludeList = /*@__PURE__*/ S.Array( SearchGlobalRequestExclude, ) as any as S.Schema; export type SearchGlobalRequestFormat = "JSON" | "CSV"; export const SearchGlobalRequestFormat = /*@__PURE__*/ S.String; export type SearchGlobalRequestInclude = | "ADM1S" | "ASNS" | "BOTS" | "CERTIFICATE_AUTHORITIES" | "CERTIFICATE_LOGS" | "ORIGINS" | "ORIGIN_REGIONS" | "INDUSTRIES" | "LOCATIONS" | "NOTEBOOKS" | "TLDS" | "VERTICALS"; export const SearchGlobalRequestInclude = /*@__PURE__*/ S.String; export type SearchGlobalRequestIncludeList = Array< SearchGlobalRequestInclude | (string & {}) >; export const SearchGlobalRequestIncludeList = /*@__PURE__*/ S.Array( SearchGlobalRequestInclude, ) as any as S.Schema; export interface SearchGlobalRequest { /** String used to perform the search operation. */ query: string; /** Search types excluded from results. */ exclude?: SearchGlobalRequestExcludeList; /** Format in which results will be returned. */ format?: SearchGlobalRequestFormat | (string & {}); /** Search types included in results. */ include?: SearchGlobalRequestIncludeList; /** Limits the number of objects returned in the response. */ limit?: number; /** Limits the number of objects per search category. */ limitPerGroup?: number; } export const SearchGlobalRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ query: S.String.pipe(T.Query()), exclude: S.optional(SearchGlobalRequestExcludeList.pipe(T.Query())), format: S.optional(SearchGlobalRequestFormat.pipe(T.Query())), include: S.optional(SearchGlobalRequestIncludeList.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/search/global", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SearchGlobalRequest", }) as any as S.Schema; export interface SearchGlobalResponseSearchItem { code: string; name: string; type: string; } export const SearchGlobalResponseSearchItem = /*@__PURE__*/ S.suspend(() => S.Struct({ code: S.String, name: S.String, type: S.String, }), ).annotate({ identifier: "SearchGlobalResponseSearchItem", }) as any as S.Schema; export type SearchGlobalResponseSearchList = Array; export const SearchGlobalResponseSearchList = /*@__PURE__*/ S.Array( SearchGlobalResponseSearchItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SearchGlobalResponse { search: SearchGlobalResponseSearchList; } export const SearchGlobalResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ search: SearchGlobalResponseSearchList, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SearchGlobalResponse", }) as any as S.Schema; export type BgpRpkiAspaSnapshotRequestFormat = "JSON" | "CSV"; export const BgpRpkiAspaSnapshotRequestFormat = /*@__PURE__*/ S.String; export interface SnapshotBgpRpkiAspaRequest { /** Filter by customer ASN (the ASN publishing the ASPA object). */ customerAsn?: number; /** Filters results by the specified datetime (ISO 8601). */ date?: string; /** Format in which results will be returned. */ format?: BgpRpkiAspaSnapshotRequestFormat | (string & {}); /** Include ASN metadata (name, country) in response. */ includeAsnInfo?: boolean; /** Filter by provider ASN (an authorized upstream provider in ASPA objects). */ providerAsn?: number; } export const SnapshotBgpRpkiAspaRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ customerAsn: S.optional(S.Number.pipe(T.Query())), date: S.optional(S.String.pipe(T.Query())), format: S.optional(BgpRpkiAspaSnapshotRequestFormat.pipe(T.Query())), includeAsnInfo: S.optional(S.Boolean.pipe(T.Query())), providerAsn: S.optional(S.Number.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/bgp/rpki/aspa/snapshot", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SnapshotBgpRpkiAspaRequest", }) as any as S.Schema; export type BgpRpkiAspaSnapshotResponseAsnInfo13335 = BgpRpkiAspaChangesResponseAsnInfo13335; export const BgpRpkiAspaSnapshotResponseAsnInfo13335 = BgpRpkiAspaChangesResponseAsnInfo13335; export type BgpRpkiAspaSnapshotResponseAsnInfo = BgpRpkiAspaChangesResponseAsnInfo; export const BgpRpkiAspaSnapshotResponseAsnInfo = BgpRpkiAspaChangesResponseAsnInfo; export type BgpRpkiAspaSnapshotResponseAspaObjectsItemProvidersList = Array; export const BgpRpkiAspaSnapshotResponseAspaObjectsItemProvidersList = /*@__PURE__*/ S.Array( S.Number, ) as any as S.Schema; export interface BgpRpkiAspaSnapshotResponseAspaObjectsItem { /** The customer ASN publishing the ASPA object. */ customerAsn: number; providers: BgpRpkiAspaSnapshotResponseAspaObjectsItemProvidersList; } export const BgpRpkiAspaSnapshotResponseAspaObjectsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ customerAsn: S.Number, providers: BgpRpkiAspaSnapshotResponseAspaObjectsItemProvidersList, }), ).annotate({ identifier: "BgpRpkiAspaSnapshotResponseAspaObjectsItem", }) as any as S.Schema; export type BgpRpkiAspaSnapshotResponseAspaObjectsList = Array; export const BgpRpkiAspaSnapshotResponseAspaObjectsList = /*@__PURE__*/ S.Array( BgpRpkiAspaSnapshotResponseAspaObjectsItem, ) as any as S.Schema; export interface BgpRpkiAspaSnapshotResponseMeta { /** Timestamp of the underlying data. */ dataTime: string; /** Timestamp when the query was executed. */ queryTime: string; /** Total number of ASPA objects. */ totalCount: number; } export const BgpRpkiAspaSnapshotResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ dataTime: S.String, queryTime: S.String, totalCount: S.Number, }), ).annotate({ identifier: "BgpRpkiAspaSnapshotResponseMeta", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SnapshotBgpRpkiAspaResponse { asnInfo: BgpRpkiAspaChangesResponseAsnInfo; aspaObjects: BgpRpkiAspaSnapshotResponseAspaObjectsList; meta: BgpRpkiAspaSnapshotResponseMeta; } export const SnapshotBgpRpkiAspaResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ asnInfo: BgpRpkiAspaChangesResponseAsnInfo, aspaObjects: BgpRpkiAspaSnapshotResponseAspaObjectsList, meta: BgpRpkiAspaSnapshotResponseMeta, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SnapshotBgpRpkiAspaResponse", }) as any as S.Schema; export type EmailSecuritySummarySpamRequestArc = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummarySpamRequestArc = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpamRequestArcList = Array< EmailSecuritySummarySpamRequestArc | (string & {}) >; export const EmailSecuritySummarySpamRequestArcList = /*@__PURE__*/ S.Array( EmailSecuritySummarySpamRequestArc, ) as any as S.Schema; export type EmailSecuritySummarySpamRequestDateEndList = Array; export const EmailSecuritySummarySpamRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummarySpamRequestDateRangeList = Array; export const EmailSecuritySummarySpamRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummarySpamRequestDateStartList = Array; export const EmailSecuritySummarySpamRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummarySpamRequestDkim = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummarySpamRequestDkim = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpamRequestDkimList = Array< EmailSecuritySummarySpamRequestDkim | (string & {}) >; export const EmailSecuritySummarySpamRequestDkimList = /*@__PURE__*/ S.Array( EmailSecuritySummarySpamRequestDkim, ) as any as S.Schema; export type EmailSecuritySummarySpamRequestDmarc = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummarySpamRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpamRequestDmarcList = Array< EmailSecuritySummarySpamRequestDmarc | (string & {}) >; export const EmailSecuritySummarySpamRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecuritySummarySpamRequestDmarc, ) as any as S.Schema; export type EmailSecuritySummarySpamRequestFormat = "JSON" | "CSV"; export const EmailSecuritySummarySpamRequestFormat = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpamRequestNameList = Array; export const EmailSecuritySummarySpamRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummarySpamRequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummarySpamRequestSpf = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpamRequestSpfList = Array< EmailSecuritySummarySpamRequestSpf | (string & {}) >; export const EmailSecuritySummarySpamRequestSpfList = /*@__PURE__*/ S.Array( EmailSecuritySummarySpamRequestSpf, ) as any as S.Schema; export type EmailSecuritySummarySpamRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecuritySummarySpamRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpamRequestTlsVersionList = Array< EmailSecuritySummarySpamRequestTlsVersion | (string & {}) >; export const EmailSecuritySummarySpamRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecuritySummarySpamRequestTlsVersion, ) as any as S.Schema; export interface SpamEmailSecuritySummaryRequest { /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecuritySummarySpamRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecuritySummarySpamRequestDateEndList; /** 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). */ dateRange?: EmailSecuritySummarySpamRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecuritySummarySpamRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecuritySummarySpamRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecuritySummarySpamRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecuritySummarySpamRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecuritySummarySpamRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecuritySummarySpamRequestSpfList; /** Filters results by TLS version. */ tlsVersion?: EmailSecuritySummarySpamRequestTlsVersionList; } export const SpamEmailSecuritySummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ arc: S.optional(EmailSecuritySummarySpamRequestArcList.pipe(T.Query())), dateEnd: S.optional( EmailSecuritySummarySpamRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecuritySummarySpamRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecuritySummarySpamRequestDateStartList.pipe(T.Query()), ), dkim: S.optional(EmailSecuritySummarySpamRequestDkimList.pipe(T.Query())), dmarc: S.optional(EmailSecuritySummarySpamRequestDmarcList.pipe(T.Query())), format: S.optional(EmailSecuritySummarySpamRequestFormat.pipe(T.Query())), name: S.optional(EmailSecuritySummarySpamRequestNameList.pipe(T.Query())), spf: S.optional(EmailSecuritySummarySpamRequestSpfList.pipe(T.Query())), tlsVersion: S.optional( EmailSecuritySummarySpamRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/summary/spam", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SpamEmailSecuritySummaryRequest", }) as any as S.Schema; export type EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecuritySummarySpamResponseMetaConfidenceInfo { annotations: EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecuritySummarySpamResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecuritySummarySpamResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecuritySummarySpamResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecuritySummarySpamResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecuritySummarySpamResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecuritySummarySpamResponseMetaDateRangeList = Array; export const EmailSecuritySummarySpamResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecuritySummarySpamResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecuritySummarySpamResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpamResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecuritySummarySpamResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecuritySummarySpamResponseMetaUnitsList = Array; export const EmailSecuritySummarySpamResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecuritySummarySpamResponseMeta { confidenceInfo: EmailSecuritySummarySpamResponseMetaConfidenceInfo; dateRange: EmailSecuritySummarySpamResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecuritySummarySpamResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecuritySummarySpamResponseMetaUnitsList; } export const EmailSecuritySummarySpamResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: EmailSecuritySummarySpamResponseMetaConfidenceInfo, dateRange: EmailSecuritySummarySpamResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecuritySummarySpamResponseMetaNormalization, units: EmailSecuritySummarySpamResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecuritySummarySpamResponseMeta", }) as any as S.Schema; export interface EmailSecuritySummarySpamResponseSummary0 { /** A numeric string. */ nOTSPAM: string; /** A numeric string. */ sPAM: string; } export const EmailSecuritySummarySpamResponseSummary0 = /*@__PURE__*/ S.suspend( () => S.Struct({ nOTSPAM: S.String.pipe(T.Body("NOT_SPAM")), sPAM: S.String.pipe(T.Body("SPAM")), }), ).annotate({ identifier: "EmailSecuritySummarySpamResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SpamEmailSecuritySummaryResponse { /** Metadata for the results. */ meta: EmailSecuritySummarySpamResponseMeta; summary_0: EmailSecuritySummarySpamResponseSummary0; } export const SpamEmailSecuritySummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailSecuritySummarySpamResponseMeta, summary_0: EmailSecuritySummarySpamResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SpamEmailSecuritySummaryResponse", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpamRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const EmailSecurityTimeseriesGroupsSpamRequestAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpamRequestArc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsSpamRequestArc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpamRequestArcList = Array< EmailSecurityTimeseriesGroupsSpamRequestArc | (string & {}) >; export const EmailSecurityTimeseriesGroupsSpamRequestArcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsSpamRequestArc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpamRequestDateEndList = Array; export const EmailSecurityTimeseriesGroupsSpamRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpamRequestDateRangeList = Array; export const EmailSecurityTimeseriesGroupsSpamRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpamRequestDateStartList = Array; export const EmailSecurityTimeseriesGroupsSpamRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpamRequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsSpamRequestDkim = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpamRequestDkimList = Array< EmailSecurityTimeseriesGroupsSpamRequestDkim | (string & {}) >; export const EmailSecurityTimeseriesGroupsSpamRequestDkimList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsSpamRequestDkim, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpamRequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsSpamRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpamRequestDmarcList = Array< EmailSecurityTimeseriesGroupsSpamRequestDmarc | (string & {}) >; export const EmailSecurityTimeseriesGroupsSpamRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsSpamRequestDmarc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpamRequestFormat = "JSON" | "CSV"; export const EmailSecurityTimeseriesGroupsSpamRequestFormat = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpamRequestNameList = Array; export const EmailSecurityTimeseriesGroupsSpamRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpamRequestSpf = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsSpamRequestSpf = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpamRequestSpfList = Array< EmailSecurityTimeseriesGroupsSpamRequestSpf | (string & {}) >; export const EmailSecurityTimeseriesGroupsSpamRequestSpfList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsSpamRequestSpf, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpamRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecurityTimeseriesGroupsSpamRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpamRequestTlsVersionList = Array< EmailSecurityTimeseriesGroupsSpamRequestTlsVersion | (string & {}) >; export const EmailSecurityTimeseriesGroupsSpamRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsSpamRequestTlsVersion, ) as any as S.Schema; export interface SpamEmailSecurityTimeseriesGroupRequest { /** 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/). */ aggInterval?: | EmailSecurityTimeseriesGroupsSpamRequestAggInterval | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecurityTimeseriesGroupsSpamRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecurityTimeseriesGroupsSpamRequestDateEndList; /** 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). */ dateRange?: EmailSecurityTimeseriesGroupsSpamRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecurityTimeseriesGroupsSpamRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecurityTimeseriesGroupsSpamRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecurityTimeseriesGroupsSpamRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecurityTimeseriesGroupsSpamRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecurityTimeseriesGroupsSpamRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecurityTimeseriesGroupsSpamRequestSpfList; /** Filters results by TLS version. */ tlsVersion?: EmailSecurityTimeseriesGroupsSpamRequestTlsVersionList; } export const SpamEmailSecurityTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( EmailSecurityTimeseriesGroupsSpamRequestAggInterval.pipe(T.Query()), ), arc: S.optional( EmailSecurityTimeseriesGroupsSpamRequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailSecurityTimeseriesGroupsSpamRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecurityTimeseriesGroupsSpamRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecurityTimeseriesGroupsSpamRequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailSecurityTimeseriesGroupsSpamRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailSecurityTimeseriesGroupsSpamRequestDmarcList.pipe(T.Query()), ), format: S.optional( EmailSecurityTimeseriesGroupsSpamRequestFormat.pipe(T.Query()), ), name: S.optional( EmailSecurityTimeseriesGroupsSpamRequestNameList.pipe(T.Query()), ), spf: S.optional( EmailSecurityTimeseriesGroupsSpamRequestSpfList.pipe(T.Query()), ), tlsVersion: S.optional( EmailSecurityTimeseriesGroupsSpamRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/timeseries_groups/spam", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SpamEmailSecurityTimeseriesGroupRequest", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpamResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const EmailSecurityTimeseriesGroupsSpamResponseMetaAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfo { annotations: EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpamResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecurityTimeseriesGroupsSpamResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecurityTimeseriesGroupsSpamResponseMetaDateRangeList = Array; export const EmailSecurityTimeseriesGroupsSpamResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpamResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecurityTimeseriesGroupsSpamResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpamResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecurityTimeseriesGroupsSpamResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecurityTimeseriesGroupsSpamResponseMetaUnitsList = Array; export const EmailSecurityTimeseriesGroupsSpamResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsSpamResponseMeta { /** 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/). */ aggInterval: EmailSecurityTimeseriesGroupsSpamResponseMetaAggInterval; confidenceInfo: EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfo; dateRange: EmailSecurityTimeseriesGroupsSpamResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecurityTimeseriesGroupsSpamResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecurityTimeseriesGroupsSpamResponseMetaUnitsList; } export const EmailSecurityTimeseriesGroupsSpamResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: EmailSecurityTimeseriesGroupsSpamResponseMetaAggInterval, confidenceInfo: EmailSecurityTimeseriesGroupsSpamResponseMetaConfidenceInfo, dateRange: EmailSecurityTimeseriesGroupsSpamResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecurityTimeseriesGroupsSpamResponseMetaNormalization, units: EmailSecurityTimeseriesGroupsSpamResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsSpamResponseMeta", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpamResponseSerie0NOTSPAMList = Array; export const EmailSecurityTimeseriesGroupsSpamResponseSerie0NOTSPAMList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpamResponseSerie0SPAMList = Array; export const EmailSecurityTimeseriesGroupsSpamResponseSerie0SPAMList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsSpamResponseSerie0 { nOTSPAM: EmailSecurityTimeseriesGroupsSpamResponseSerie0NOTSPAMList; sPAM: EmailSecurityTimeseriesGroupsSpamResponseSerie0SPAMList; } export const EmailSecurityTimeseriesGroupsSpamResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ nOTSPAM: EmailSecurityTimeseriesGroupsSpamResponseSerie0NOTSPAMList.pipe( T.Body("NOT_SPAM"), ), sPAM: EmailSecurityTimeseriesGroupsSpamResponseSerie0SPAMList.pipe( T.Body("SPAM"), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsSpamResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SpamEmailSecurityTimeseriesGroupResponse { /** Metadata for the results. */ meta: EmailSecurityTimeseriesGroupsSpamResponseMeta; serie_0: EmailSecurityTimeseriesGroupsSpamResponseSerie0; } export const SpamEmailSecurityTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: EmailSecurityTimeseriesGroupsSpamResponseMeta, serie_0: EmailSecurityTimeseriesGroupsSpamResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SpamEmailSecurityTimeseriesGroupResponse", }) as any as S.Schema; export type EmailRoutingSummarySpfRequestArc = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummarySpfRequestArc = /*@__PURE__*/ S.String; export type EmailRoutingSummarySpfRequestArcList = Array< EmailRoutingSummarySpfRequestArc | (string & {}) >; export const EmailRoutingSummarySpfRequestArcList = /*@__PURE__*/ S.Array( EmailRoutingSummarySpfRequestArc, ) as any as S.Schema; export type EmailRoutingSummarySpfRequestDateEndList = Array; export const EmailRoutingSummarySpfRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummarySpfRequestDateRangeList = Array; export const EmailRoutingSummarySpfRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummarySpfRequestDateStartList = Array; export const EmailRoutingSummarySpfRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummarySpfRequestDkim = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummarySpfRequestDkim = /*@__PURE__*/ S.String; export type EmailRoutingSummarySpfRequestDkimList = Array< EmailRoutingSummarySpfRequestDkim | (string & {}) >; export const EmailRoutingSummarySpfRequestDkimList = /*@__PURE__*/ S.Array( EmailRoutingSummarySpfRequestDkim, ) as any as S.Schema; export type EmailRoutingSummarySpfRequestDmarc = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummarySpfRequestDmarc = /*@__PURE__*/ S.String; export type EmailRoutingSummarySpfRequestDmarcList = Array< EmailRoutingSummarySpfRequestDmarc | (string & {}) >; export const EmailRoutingSummarySpfRequestDmarcList = /*@__PURE__*/ S.Array( EmailRoutingSummarySpfRequestDmarc, ) as any as S.Schema; export type EmailRoutingSummarySpfRequestEncrypted = | "ENCRYPTED" | "NOT_ENCRYPTED"; export const EmailRoutingSummarySpfRequestEncrypted = /*@__PURE__*/ S.String; export type EmailRoutingSummarySpfRequestEncryptedList = Array< EmailRoutingSummarySpfRequestEncrypted | (string & {}) >; export const EmailRoutingSummarySpfRequestEncryptedList = /*@__PURE__*/ S.Array( EmailRoutingSummarySpfRequestEncrypted, ) as any as S.Schema; export type EmailRoutingSummarySpfRequestFormat = "JSON" | "CSV"; export const EmailRoutingSummarySpfRequestFormat = /*@__PURE__*/ S.String; export type EmailRoutingSummarySpfRequestIpVersion = "IPv4" | "IPv6"; export const EmailRoutingSummarySpfRequestIpVersion = /*@__PURE__*/ S.String; export type EmailRoutingSummarySpfRequestIpVersionList = Array< EmailRoutingSummarySpfRequestIpVersion | (string & {}) >; export const EmailRoutingSummarySpfRequestIpVersionList = /*@__PURE__*/ S.Array( EmailRoutingSummarySpfRequestIpVersion, ) as any as S.Schema; export type EmailRoutingSummarySpfRequestNameList = Array; export const EmailRoutingSummarySpfRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface SpfEmailRoutingSummaryRequest { /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailRoutingSummarySpfRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailRoutingSummarySpfRequestDateEndList; /** 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). */ dateRange?: EmailRoutingSummarySpfRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailRoutingSummarySpfRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailRoutingSummarySpfRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailRoutingSummarySpfRequestDmarcList; /** Filters results by encryption status (encrypted vs. not-encrypted). */ encrypted?: EmailRoutingSummarySpfRequestEncryptedList; /** Format in which results will be returned. */ format?: EmailRoutingSummarySpfRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: EmailRoutingSummarySpfRequestIpVersionList; /** Array of names used to label the series in the response. */ name?: EmailRoutingSummarySpfRequestNameList; } export const SpfEmailRoutingSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ arc: S.optional(EmailRoutingSummarySpfRequestArcList.pipe(T.Query())), dateEnd: S.optional( EmailRoutingSummarySpfRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailRoutingSummarySpfRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailRoutingSummarySpfRequestDateStartList.pipe(T.Query()), ), dkim: S.optional(EmailRoutingSummarySpfRequestDkimList.pipe(T.Query())), dmarc: S.optional(EmailRoutingSummarySpfRequestDmarcList.pipe(T.Query())), encrypted: S.optional( EmailRoutingSummarySpfRequestEncryptedList.pipe(T.Query()), ), format: S.optional(EmailRoutingSummarySpfRequestFormat.pipe(T.Query())), ipVersion: S.optional( EmailRoutingSummarySpfRequestIpVersionList.pipe(T.Query()), ), name: S.optional(EmailRoutingSummarySpfRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/routing/summary/spf", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SpfEmailRoutingSummaryRequest", }) as any as S.Schema; export type EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailRoutingSummarySpfResponseMetaConfidenceInfo { annotations: EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailRoutingSummarySpfResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailRoutingSummarySpfResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailRoutingSummarySpfResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailRoutingSummarySpfResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailRoutingSummarySpfResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailRoutingSummarySpfResponseMetaDateRangeList = Array; export const EmailRoutingSummarySpfResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailRoutingSummarySpfResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailRoutingSummarySpfResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailRoutingSummarySpfResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailRoutingSummarySpfResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailRoutingSummarySpfResponseMetaUnitsList = Array; export const EmailRoutingSummarySpfResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailRoutingSummarySpfResponseMeta { confidenceInfo: EmailRoutingSummarySpfResponseMetaConfidenceInfo; dateRange: EmailRoutingSummarySpfResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailRoutingSummarySpfResponseMetaNormalization; /** Measurement units for the results. */ units: EmailRoutingSummarySpfResponseMetaUnitsList; } export const EmailRoutingSummarySpfResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: EmailRoutingSummarySpfResponseMetaConfidenceInfo, dateRange: EmailRoutingSummarySpfResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailRoutingSummarySpfResponseMetaNormalization, units: EmailRoutingSummarySpfResponseMetaUnitsList, }), ).annotate({ identifier: "EmailRoutingSummarySpfResponseMeta", }) as any as S.Schema; export type EmailRoutingSummarySpfResponseSummary0 = EmailRoutingSummaryArcResponseSummary0; export const EmailRoutingSummarySpfResponseSummary0 = EmailRoutingSummaryArcResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SpfEmailRoutingSummaryResponse { /** Metadata for the results. */ meta: EmailRoutingSummarySpfResponseMeta; summary_0: EmailRoutingSummaryArcResponseSummary0; } export const SpfEmailRoutingSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailRoutingSummarySpfResponseMeta, summary_0: EmailRoutingSummaryArcResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SpfEmailRoutingSummaryResponse", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsSpfRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const EmailRoutingTimeseriesGroupsSpfRequestAggInterval = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsSpfRequestArc = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsSpfRequestArc = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsSpfRequestArcList = Array< EmailRoutingTimeseriesGroupsSpfRequestArc | (string & {}) >; export const EmailRoutingTimeseriesGroupsSpfRequestArcList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsSpfRequestArc, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsSpfRequestDateEndList = Array; export const EmailRoutingTimeseriesGroupsSpfRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsSpfRequestDateRangeList = Array; export const EmailRoutingTimeseriesGroupsSpfRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsSpfRequestDateStartList = Array; export const EmailRoutingTimeseriesGroupsSpfRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsSpfRequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsSpfRequestDkim = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsSpfRequestDkimList = Array< EmailRoutingTimeseriesGroupsSpfRequestDkim | (string & {}) >; export const EmailRoutingTimeseriesGroupsSpfRequestDkimList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsSpfRequestDkim, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsSpfRequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsSpfRequestDmarc = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsSpfRequestDmarcList = Array< EmailRoutingTimeseriesGroupsSpfRequestDmarc | (string & {}) >; export const EmailRoutingTimeseriesGroupsSpfRequestDmarcList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsSpfRequestDmarc, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsSpfRequestEncrypted = | "ENCRYPTED" | "NOT_ENCRYPTED"; export const EmailRoutingTimeseriesGroupsSpfRequestEncrypted = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsSpfRequestEncryptedList = Array< EmailRoutingTimeseriesGroupsSpfRequestEncrypted | (string & {}) >; export const EmailRoutingTimeseriesGroupsSpfRequestEncryptedList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsSpfRequestEncrypted, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsSpfRequestFormat = "JSON" | "CSV"; export const EmailRoutingTimeseriesGroupsSpfRequestFormat = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsSpfRequestIpVersion = "IPv4" | "IPv6"; export const EmailRoutingTimeseriesGroupsSpfRequestIpVersion = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsSpfRequestIpVersionList = Array< EmailRoutingTimeseriesGroupsSpfRequestIpVersion | (string & {}) >; export const EmailRoutingTimeseriesGroupsSpfRequestIpVersionList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsSpfRequestIpVersion, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsSpfRequestNameList = Array; export const EmailRoutingTimeseriesGroupsSpfRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface SpfEmailRoutingTimeseriesGroupRequest { /** 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/). */ aggInterval?: | EmailRoutingTimeseriesGroupsSpfRequestAggInterval | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailRoutingTimeseriesGroupsSpfRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailRoutingTimeseriesGroupsSpfRequestDateEndList; /** 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). */ dateRange?: EmailRoutingTimeseriesGroupsSpfRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailRoutingTimeseriesGroupsSpfRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailRoutingTimeseriesGroupsSpfRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailRoutingTimeseriesGroupsSpfRequestDmarcList; /** Filters results by encryption status (encrypted vs. not-encrypted). */ encrypted?: EmailRoutingTimeseriesGroupsSpfRequestEncryptedList; /** Format in which results will be returned. */ format?: EmailRoutingTimeseriesGroupsSpfRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: EmailRoutingTimeseriesGroupsSpfRequestIpVersionList; /** Array of names used to label the series in the response. */ name?: EmailRoutingTimeseriesGroupsSpfRequestNameList; } export const SpfEmailRoutingTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( EmailRoutingTimeseriesGroupsSpfRequestAggInterval.pipe(T.Query()), ), arc: S.optional( EmailRoutingTimeseriesGroupsSpfRequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailRoutingTimeseriesGroupsSpfRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailRoutingTimeseriesGroupsSpfRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailRoutingTimeseriesGroupsSpfRequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailRoutingTimeseriesGroupsSpfRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailRoutingTimeseriesGroupsSpfRequestDmarcList.pipe(T.Query()), ), encrypted: S.optional( EmailRoutingTimeseriesGroupsSpfRequestEncryptedList.pipe(T.Query()), ), format: S.optional( EmailRoutingTimeseriesGroupsSpfRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( EmailRoutingTimeseriesGroupsSpfRequestIpVersionList.pipe(T.Query()), ), name: S.optional( EmailRoutingTimeseriesGroupsSpfRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/routing/timeseries_groups/spf", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SpfEmailRoutingTimeseriesGroupRequest", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsSpfResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const EmailRoutingTimeseriesGroupsSpfResponseMetaAggInterval = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfo { annotations: EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsSpfResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailRoutingTimeseriesGroupsSpfResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailRoutingTimeseriesGroupsSpfResponseMetaDateRangeList = Array; export const EmailRoutingTimeseriesGroupsSpfResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsSpfResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailRoutingTimeseriesGroupsSpfResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsSpfResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailRoutingTimeseriesGroupsSpfResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailRoutingTimeseriesGroupsSpfResponseMetaUnitsList = Array; export const EmailRoutingTimeseriesGroupsSpfResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsSpfResponseMeta { /** 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/). */ aggInterval: EmailRoutingTimeseriesGroupsSpfResponseMetaAggInterval; confidenceInfo: EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfo; dateRange: EmailRoutingTimeseriesGroupsSpfResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailRoutingTimeseriesGroupsSpfResponseMetaNormalization; /** Measurement units for the results. */ units: EmailRoutingTimeseriesGroupsSpfResponseMetaUnitsList; } export const EmailRoutingTimeseriesGroupsSpfResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: EmailRoutingTimeseriesGroupsSpfResponseMetaAggInterval, confidenceInfo: EmailRoutingTimeseriesGroupsSpfResponseMetaConfidenceInfo, dateRange: EmailRoutingTimeseriesGroupsSpfResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailRoutingTimeseriesGroupsSpfResponseMetaNormalization, units: EmailRoutingTimeseriesGroupsSpfResponseMetaUnitsList, }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsSpfResponseMeta", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsSpfResponseSerie0FAILList = Array; export const EmailRoutingTimeseriesGroupsSpfResponseSerie0FAILList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsSpfResponseSerie0NONEList = Array; export const EmailRoutingTimeseriesGroupsSpfResponseSerie0NONEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsSpfResponseSerie0PASSList = Array; export const EmailRoutingTimeseriesGroupsSpfResponseSerie0PASSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsSpfResponseSerie0 { fAIL: EmailRoutingTimeseriesGroupsSpfResponseSerie0FAILList; nONE: EmailRoutingTimeseriesGroupsSpfResponseSerie0NONEList; pASS: EmailRoutingTimeseriesGroupsSpfResponseSerie0PASSList; } export const EmailRoutingTimeseriesGroupsSpfResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ fAIL: EmailRoutingTimeseriesGroupsSpfResponseSerie0FAILList.pipe( T.Body("FAIL"), ), nONE: EmailRoutingTimeseriesGroupsSpfResponseSerie0NONEList.pipe( T.Body("NONE"), ), pASS: EmailRoutingTimeseriesGroupsSpfResponseSerie0PASSList.pipe( T.Body("PASS"), ), }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsSpfResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SpfEmailRoutingTimeseriesGroupResponse { /** Metadata for the results. */ meta: EmailRoutingTimeseriesGroupsSpfResponseMeta; serie_0: EmailRoutingTimeseriesGroupsSpfResponseSerie0; } export const SpfEmailRoutingTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: EmailRoutingTimeseriesGroupsSpfResponseMeta, serie_0: EmailRoutingTimeseriesGroupsSpfResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SpfEmailRoutingTimeseriesGroupResponse", }) as any as S.Schema; export type EmailSecuritySummarySpfRequestArc = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummarySpfRequestArc = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpfRequestArcList = Array< EmailSecuritySummarySpfRequestArc | (string & {}) >; export const EmailSecuritySummarySpfRequestArcList = /*@__PURE__*/ S.Array( EmailSecuritySummarySpfRequestArc, ) as any as S.Schema; export type EmailSecuritySummarySpfRequestDateEndList = Array; export const EmailSecuritySummarySpfRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummarySpfRequestDateRangeList = Array; export const EmailSecuritySummarySpfRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummarySpfRequestDateStartList = Array; export const EmailSecuritySummarySpfRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummarySpfRequestDkim = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummarySpfRequestDkim = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpfRequestDkimList = Array< EmailSecuritySummarySpfRequestDkim | (string & {}) >; export const EmailSecuritySummarySpfRequestDkimList = /*@__PURE__*/ S.Array( EmailSecuritySummarySpfRequestDkim, ) as any as S.Schema; export type EmailSecuritySummarySpfRequestDmarc = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummarySpfRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpfRequestDmarcList = Array< EmailSecuritySummarySpfRequestDmarc | (string & {}) >; export const EmailSecuritySummarySpfRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecuritySummarySpfRequestDmarc, ) as any as S.Schema; export type EmailSecuritySummarySpfRequestFormat = "JSON" | "CSV"; export const EmailSecuritySummarySpfRequestFormat = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpfRequestNameList = Array; export const EmailSecuritySummarySpfRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummarySpfRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecuritySummarySpfRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpfRequestTlsVersionList = Array< EmailSecuritySummarySpfRequestTlsVersion | (string & {}) >; export const EmailSecuritySummarySpfRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecuritySummarySpfRequestTlsVersion, ) as any as S.Schema; export interface SpfEmailSecuritySummaryRequest { /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecuritySummarySpfRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecuritySummarySpfRequestDateEndList; /** 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). */ dateRange?: EmailSecuritySummarySpfRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecuritySummarySpfRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecuritySummarySpfRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecuritySummarySpfRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecuritySummarySpfRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecuritySummarySpfRequestNameList; /** Filters results by TLS version. */ tlsVersion?: EmailSecuritySummarySpfRequestTlsVersionList; } export const SpfEmailSecuritySummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ arc: S.optional(EmailSecuritySummarySpfRequestArcList.pipe(T.Query())), dateEnd: S.optional( EmailSecuritySummarySpfRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecuritySummarySpfRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecuritySummarySpfRequestDateStartList.pipe(T.Query()), ), dkim: S.optional(EmailSecuritySummarySpfRequestDkimList.pipe(T.Query())), dmarc: S.optional(EmailSecuritySummarySpfRequestDmarcList.pipe(T.Query())), format: S.optional(EmailSecuritySummarySpfRequestFormat.pipe(T.Query())), name: S.optional(EmailSecuritySummarySpfRequestNameList.pipe(T.Query())), tlsVersion: S.optional( EmailSecuritySummarySpfRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/summary/spf", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SpfEmailSecuritySummaryRequest", }) as any as S.Schema; export type EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecuritySummarySpfResponseMetaConfidenceInfo { annotations: EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecuritySummarySpfResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecuritySummarySpfResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecuritySummarySpfResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecuritySummarySpfResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecuritySummarySpfResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecuritySummarySpfResponseMetaDateRangeList = Array; export const EmailSecuritySummarySpfResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecuritySummarySpfResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecuritySummarySpfResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpfResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecuritySummarySpfResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecuritySummarySpfResponseMetaUnitsList = Array; export const EmailSecuritySummarySpfResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecuritySummarySpfResponseMeta { confidenceInfo: EmailSecuritySummarySpfResponseMetaConfidenceInfo; dateRange: EmailSecuritySummarySpfResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecuritySummarySpfResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecuritySummarySpfResponseMetaUnitsList; } export const EmailSecuritySummarySpfResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: EmailSecuritySummarySpfResponseMetaConfidenceInfo, dateRange: EmailSecuritySummarySpfResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecuritySummarySpfResponseMetaNormalization, units: EmailSecuritySummarySpfResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecuritySummarySpfResponseMeta", }) as any as S.Schema; export type EmailSecuritySummarySpfResponseSummary0 = EmailRoutingSummaryArcResponseSummary0; export const EmailSecuritySummarySpfResponseSummary0 = EmailRoutingSummaryArcResponseSummary0; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SpfEmailSecuritySummaryResponse { /** Metadata for the results. */ meta: EmailSecuritySummarySpfResponseMeta; summary_0: EmailRoutingSummaryArcResponseSummary0; } export const SpfEmailSecuritySummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailSecuritySummarySpfResponseMeta, summary_0: EmailRoutingSummaryArcResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SpfEmailSecuritySummaryResponse", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpfRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const EmailSecurityTimeseriesGroupsSpfRequestAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpfRequestArc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsSpfRequestArc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpfRequestArcList = Array< EmailSecurityTimeseriesGroupsSpfRequestArc | (string & {}) >; export const EmailSecurityTimeseriesGroupsSpfRequestArcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsSpfRequestArc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpfRequestDateEndList = Array; export const EmailSecurityTimeseriesGroupsSpfRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpfRequestDateRangeList = Array; export const EmailSecurityTimeseriesGroupsSpfRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpfRequestDateStartList = Array; export const EmailSecurityTimeseriesGroupsSpfRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpfRequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsSpfRequestDkim = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpfRequestDkimList = Array< EmailSecurityTimeseriesGroupsSpfRequestDkim | (string & {}) >; export const EmailSecurityTimeseriesGroupsSpfRequestDkimList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsSpfRequestDkim, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpfRequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsSpfRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpfRequestDmarcList = Array< EmailSecurityTimeseriesGroupsSpfRequestDmarc | (string & {}) >; export const EmailSecurityTimeseriesGroupsSpfRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsSpfRequestDmarc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpfRequestFormat = "JSON" | "CSV"; export const EmailSecurityTimeseriesGroupsSpfRequestFormat = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpfRequestNameList = Array; export const EmailSecurityTimeseriesGroupsSpfRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpfRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecurityTimeseriesGroupsSpfRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpfRequestTlsVersionList = Array< EmailSecurityTimeseriesGroupsSpfRequestTlsVersion | (string & {}) >; export const EmailSecurityTimeseriesGroupsSpfRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsSpfRequestTlsVersion, ) as any as S.Schema; export interface SpfEmailSecurityTimeseriesGroupRequest { /** 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/). */ aggInterval?: | EmailSecurityTimeseriesGroupsSpfRequestAggInterval | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecurityTimeseriesGroupsSpfRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecurityTimeseriesGroupsSpfRequestDateEndList; /** 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). */ dateRange?: EmailSecurityTimeseriesGroupsSpfRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecurityTimeseriesGroupsSpfRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecurityTimeseriesGroupsSpfRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecurityTimeseriesGroupsSpfRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecurityTimeseriesGroupsSpfRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecurityTimeseriesGroupsSpfRequestNameList; /** Filters results by TLS version. */ tlsVersion?: EmailSecurityTimeseriesGroupsSpfRequestTlsVersionList; } export const SpfEmailSecurityTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( EmailSecurityTimeseriesGroupsSpfRequestAggInterval.pipe(T.Query()), ), arc: S.optional( EmailSecurityTimeseriesGroupsSpfRequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailSecurityTimeseriesGroupsSpfRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecurityTimeseriesGroupsSpfRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecurityTimeseriesGroupsSpfRequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailSecurityTimeseriesGroupsSpfRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailSecurityTimeseriesGroupsSpfRequestDmarcList.pipe(T.Query()), ), format: S.optional( EmailSecurityTimeseriesGroupsSpfRequestFormat.pipe(T.Query()), ), name: S.optional( EmailSecurityTimeseriesGroupsSpfRequestNameList.pipe(T.Query()), ), tlsVersion: S.optional( EmailSecurityTimeseriesGroupsSpfRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/timeseries_groups/spf", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SpfEmailSecurityTimeseriesGroupRequest", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpfResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const EmailSecurityTimeseriesGroupsSpfResponseMetaAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfo { annotations: EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpfResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecurityTimeseriesGroupsSpfResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecurityTimeseriesGroupsSpfResponseMetaDateRangeList = Array; export const EmailSecurityTimeseriesGroupsSpfResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpfResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecurityTimeseriesGroupsSpfResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpfResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecurityTimeseriesGroupsSpfResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecurityTimeseriesGroupsSpfResponseMetaUnitsList = Array; export const EmailSecurityTimeseriesGroupsSpfResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsSpfResponseMeta { /** 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/). */ aggInterval: EmailSecurityTimeseriesGroupsSpfResponseMetaAggInterval; confidenceInfo: EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfo; dateRange: EmailSecurityTimeseriesGroupsSpfResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecurityTimeseriesGroupsSpfResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecurityTimeseriesGroupsSpfResponseMetaUnitsList; } export const EmailSecurityTimeseriesGroupsSpfResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: EmailSecurityTimeseriesGroupsSpfResponseMetaAggInterval, confidenceInfo: EmailSecurityTimeseriesGroupsSpfResponseMetaConfidenceInfo, dateRange: EmailSecurityTimeseriesGroupsSpfResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecurityTimeseriesGroupsSpfResponseMetaNormalization, units: EmailSecurityTimeseriesGroupsSpfResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsSpfResponseMeta", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpfResponseSerie0FAILList = Array; export const EmailSecurityTimeseriesGroupsSpfResponseSerie0FAILList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpfResponseSerie0NONEList = Array; export const EmailSecurityTimeseriesGroupsSpfResponseSerie0NONEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpfResponseSerie0PASSList = Array; export const EmailSecurityTimeseriesGroupsSpfResponseSerie0PASSList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsSpfResponseSerie0 { fAIL: EmailSecurityTimeseriesGroupsSpfResponseSerie0FAILList; nONE: EmailSecurityTimeseriesGroupsSpfResponseSerie0NONEList; pASS: EmailSecurityTimeseriesGroupsSpfResponseSerie0PASSList; } export const EmailSecurityTimeseriesGroupsSpfResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ fAIL: EmailSecurityTimeseriesGroupsSpfResponseSerie0FAILList.pipe( T.Body("FAIL"), ), nONE: EmailSecurityTimeseriesGroupsSpfResponseSerie0NONEList.pipe( T.Body("NONE"), ), pASS: EmailSecurityTimeseriesGroupsSpfResponseSerie0PASSList.pipe( T.Body("PASS"), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsSpfResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SpfEmailSecurityTimeseriesGroupResponse { /** Metadata for the results. */ meta: EmailSecurityTimeseriesGroupsSpfResponseMeta; serie_0: EmailSecurityTimeseriesGroupsSpfResponseSerie0; } export const SpfEmailSecurityTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: EmailSecurityTimeseriesGroupsSpfResponseMeta, serie_0: EmailSecurityTimeseriesGroupsSpfResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SpfEmailSecurityTimeseriesGroupResponse", }) as any as S.Schema; export type EmailSecuritySummarySpoofRequestArc = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummarySpoofRequestArc = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpoofRequestArcList = Array< EmailSecuritySummarySpoofRequestArc | (string & {}) >; export const EmailSecuritySummarySpoofRequestArcList = /*@__PURE__*/ S.Array( EmailSecuritySummarySpoofRequestArc, ) as any as S.Schema; export type EmailSecuritySummarySpoofRequestDateEndList = Array; export const EmailSecuritySummarySpoofRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummarySpoofRequestDateRangeList = Array; export const EmailSecuritySummarySpoofRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummarySpoofRequestDateStartList = Array; export const EmailSecuritySummarySpoofRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummarySpoofRequestDkim = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummarySpoofRequestDkim = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpoofRequestDkimList = Array< EmailSecuritySummarySpoofRequestDkim | (string & {}) >; export const EmailSecuritySummarySpoofRequestDkimList = /*@__PURE__*/ S.Array( EmailSecuritySummarySpoofRequestDkim, ) as any as S.Schema; export type EmailSecuritySummarySpoofRequestDmarc = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummarySpoofRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpoofRequestDmarcList = Array< EmailSecuritySummarySpoofRequestDmarc | (string & {}) >; export const EmailSecuritySummarySpoofRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecuritySummarySpoofRequestDmarc, ) as any as S.Schema; export type EmailSecuritySummarySpoofRequestFormat = "JSON" | "CSV"; export const EmailSecuritySummarySpoofRequestFormat = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpoofRequestNameList = Array; export const EmailSecuritySummarySpoofRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummarySpoofRequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummarySpoofRequestSpf = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpoofRequestSpfList = Array< EmailSecuritySummarySpoofRequestSpf | (string & {}) >; export const EmailSecuritySummarySpoofRequestSpfList = /*@__PURE__*/ S.Array( EmailSecuritySummarySpoofRequestSpf, ) as any as S.Schema; export type EmailSecuritySummarySpoofRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecuritySummarySpoofRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpoofRequestTlsVersionList = Array< EmailSecuritySummarySpoofRequestTlsVersion | (string & {}) >; export const EmailSecuritySummarySpoofRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecuritySummarySpoofRequestTlsVersion, ) as any as S.Schema; export interface SpoofEmailSecuritySummaryRequest { /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecuritySummarySpoofRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecuritySummarySpoofRequestDateEndList; /** 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). */ dateRange?: EmailSecuritySummarySpoofRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecuritySummarySpoofRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecuritySummarySpoofRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecuritySummarySpoofRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecuritySummarySpoofRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecuritySummarySpoofRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecuritySummarySpoofRequestSpfList; /** Filters results by TLS version. */ tlsVersion?: EmailSecuritySummarySpoofRequestTlsVersionList; } export const SpoofEmailSecuritySummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ arc: S.optional(EmailSecuritySummarySpoofRequestArcList.pipe(T.Query())), dateEnd: S.optional( EmailSecuritySummarySpoofRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecuritySummarySpoofRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecuritySummarySpoofRequestDateStartList.pipe(T.Query()), ), dkim: S.optional(EmailSecuritySummarySpoofRequestDkimList.pipe(T.Query())), dmarc: S.optional( EmailSecuritySummarySpoofRequestDmarcList.pipe(T.Query()), ), format: S.optional(EmailSecuritySummarySpoofRequestFormat.pipe(T.Query())), name: S.optional(EmailSecuritySummarySpoofRequestNameList.pipe(T.Query())), spf: S.optional(EmailSecuritySummarySpoofRequestSpfList.pipe(T.Query())), tlsVersion: S.optional( EmailSecuritySummarySpoofRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/summary/spoof", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SpoofEmailSecuritySummaryRequest", }) as any as S.Schema; export type EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecuritySummarySpoofResponseMetaConfidenceInfo { annotations: EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecuritySummarySpoofResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecuritySummarySpoofResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecuritySummarySpoofResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecuritySummarySpoofResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecuritySummarySpoofResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecuritySummarySpoofResponseMetaDateRangeList = Array; export const EmailSecuritySummarySpoofResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecuritySummarySpoofResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecuritySummarySpoofResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecuritySummarySpoofResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecuritySummarySpoofResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecuritySummarySpoofResponseMetaUnitsList = Array; export const EmailSecuritySummarySpoofResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecuritySummarySpoofResponseMeta { confidenceInfo: EmailSecuritySummarySpoofResponseMetaConfidenceInfo; dateRange: EmailSecuritySummarySpoofResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecuritySummarySpoofResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecuritySummarySpoofResponseMetaUnitsList; } export const EmailSecuritySummarySpoofResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: EmailSecuritySummarySpoofResponseMetaConfidenceInfo, dateRange: EmailSecuritySummarySpoofResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecuritySummarySpoofResponseMetaNormalization, units: EmailSecuritySummarySpoofResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecuritySummarySpoofResponseMeta", }) as any as S.Schema; export interface EmailSecuritySummarySpoofResponseSummary0 { /** A numeric string. */ nOTSPOOF: string; /** A numeric string. */ sPOOF: string; } export const EmailSecuritySummarySpoofResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ nOTSPOOF: S.String.pipe(T.Body("NOT_SPOOF")), sPOOF: S.String.pipe(T.Body("SPOOF")), }), ).annotate({ identifier: "EmailSecuritySummarySpoofResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SpoofEmailSecuritySummaryResponse { /** Metadata for the results. */ meta: EmailSecuritySummarySpoofResponseMeta; summary_0: EmailSecuritySummarySpoofResponseSummary0; } export const SpoofEmailSecuritySummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailSecuritySummarySpoofResponseMeta, summary_0: EmailSecuritySummarySpoofResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SpoofEmailSecuritySummaryResponse", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpoofRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const EmailSecurityTimeseriesGroupsSpoofRequestAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpoofRequestArc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsSpoofRequestArc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpoofRequestArcList = Array< EmailSecurityTimeseriesGroupsSpoofRequestArc | (string & {}) >; export const EmailSecurityTimeseriesGroupsSpoofRequestArcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsSpoofRequestArc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpoofRequestDateEndList = Array; export const EmailSecurityTimeseriesGroupsSpoofRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpoofRequestDateRangeList = Array; export const EmailSecurityTimeseriesGroupsSpoofRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpoofRequestDateStartList = Array; export const EmailSecurityTimeseriesGroupsSpoofRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpoofRequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsSpoofRequestDkim = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpoofRequestDkimList = Array< EmailSecurityTimeseriesGroupsSpoofRequestDkim | (string & {}) >; export const EmailSecurityTimeseriesGroupsSpoofRequestDkimList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsSpoofRequestDkim, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpoofRequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsSpoofRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpoofRequestDmarcList = Array< EmailSecurityTimeseriesGroupsSpoofRequestDmarc | (string & {}) >; export const EmailSecurityTimeseriesGroupsSpoofRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsSpoofRequestDmarc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpoofRequestFormat = "JSON" | "CSV"; export const EmailSecurityTimeseriesGroupsSpoofRequestFormat = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpoofRequestNameList = Array; export const EmailSecurityTimeseriesGroupsSpoofRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpoofRequestSpf = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsSpoofRequestSpf = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpoofRequestSpfList = Array< EmailSecurityTimeseriesGroupsSpoofRequestSpf | (string & {}) >; export const EmailSecurityTimeseriesGroupsSpoofRequestSpfList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsSpoofRequestSpf, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpoofRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecurityTimeseriesGroupsSpoofRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpoofRequestTlsVersionList = Array< EmailSecurityTimeseriesGroupsSpoofRequestTlsVersion | (string & {}) >; export const EmailSecurityTimeseriesGroupsSpoofRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsSpoofRequestTlsVersion, ) as any as S.Schema; export interface SpoofEmailSecurityTimeseriesGroupRequest { /** 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/). */ aggInterval?: | EmailSecurityTimeseriesGroupsSpoofRequestAggInterval | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecurityTimeseriesGroupsSpoofRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecurityTimeseriesGroupsSpoofRequestDateEndList; /** 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). */ dateRange?: EmailSecurityTimeseriesGroupsSpoofRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecurityTimeseriesGroupsSpoofRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecurityTimeseriesGroupsSpoofRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecurityTimeseriesGroupsSpoofRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecurityTimeseriesGroupsSpoofRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecurityTimeseriesGroupsSpoofRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecurityTimeseriesGroupsSpoofRequestSpfList; /** Filters results by TLS version. */ tlsVersion?: EmailSecurityTimeseriesGroupsSpoofRequestTlsVersionList; } export const SpoofEmailSecurityTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( EmailSecurityTimeseriesGroupsSpoofRequestAggInterval.pipe(T.Query()), ), arc: S.optional( EmailSecurityTimeseriesGroupsSpoofRequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailSecurityTimeseriesGroupsSpoofRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecurityTimeseriesGroupsSpoofRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecurityTimeseriesGroupsSpoofRequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailSecurityTimeseriesGroupsSpoofRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailSecurityTimeseriesGroupsSpoofRequestDmarcList.pipe(T.Query()), ), format: S.optional( EmailSecurityTimeseriesGroupsSpoofRequestFormat.pipe(T.Query()), ), name: S.optional( EmailSecurityTimeseriesGroupsSpoofRequestNameList.pipe(T.Query()), ), spf: S.optional( EmailSecurityTimeseriesGroupsSpoofRequestSpfList.pipe(T.Query()), ), tlsVersion: S.optional( EmailSecurityTimeseriesGroupsSpoofRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/timeseries_groups/spoof", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SpoofEmailSecurityTimeseriesGroupRequest", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpoofResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const EmailSecurityTimeseriesGroupsSpoofResponseMetaAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfo { annotations: EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpoofResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecurityTimeseriesGroupsSpoofResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecurityTimeseriesGroupsSpoofResponseMetaDateRangeList = Array; export const EmailSecurityTimeseriesGroupsSpoofResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpoofResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecurityTimeseriesGroupsSpoofResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsSpoofResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecurityTimeseriesGroupsSpoofResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecurityTimeseriesGroupsSpoofResponseMetaUnitsList = Array; export const EmailSecurityTimeseriesGroupsSpoofResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsSpoofResponseMeta { /** 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/). */ aggInterval: EmailSecurityTimeseriesGroupsSpoofResponseMetaAggInterval; confidenceInfo: EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfo; dateRange: EmailSecurityTimeseriesGroupsSpoofResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecurityTimeseriesGroupsSpoofResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecurityTimeseriesGroupsSpoofResponseMetaUnitsList; } export const EmailSecurityTimeseriesGroupsSpoofResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: EmailSecurityTimeseriesGroupsSpoofResponseMetaAggInterval, confidenceInfo: EmailSecurityTimeseriesGroupsSpoofResponseMetaConfidenceInfo, dateRange: EmailSecurityTimeseriesGroupsSpoofResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecurityTimeseriesGroupsSpoofResponseMetaNormalization, units: EmailSecurityTimeseriesGroupsSpoofResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsSpoofResponseMeta", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpoofResponseSerie0NOTSPOOFList = Array; export const EmailSecurityTimeseriesGroupsSpoofResponseSerie0NOTSPOOFList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsSpoofResponseSerie0SPOOFList = Array; export const EmailSecurityTimeseriesGroupsSpoofResponseSerie0SPOOFList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsSpoofResponseSerie0 { nOTSPOOF: EmailSecurityTimeseriesGroupsSpoofResponseSerie0NOTSPOOFList; sPOOF: EmailSecurityTimeseriesGroupsSpoofResponseSerie0SPOOFList; } export const EmailSecurityTimeseriesGroupsSpoofResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ nOTSPOOF: EmailSecurityTimeseriesGroupsSpoofResponseSerie0NOTSPOOFList.pipe( T.Body("NOT_SPOOF"), ), sPOOF: EmailSecurityTimeseriesGroupsSpoofResponseSerie0SPOOFList.pipe( T.Body("SPOOF"), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsSpoofResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SpoofEmailSecurityTimeseriesGroupResponse { /** Metadata for the results. */ meta: EmailSecurityTimeseriesGroupsSpoofResponseMeta; serie_0: EmailSecurityTimeseriesGroupsSpoofResponseSerie0; } export const SpoofEmailSecurityTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailSecurityTimeseriesGroupsSpoofResponseMeta, serie_0: EmailSecurityTimeseriesGroupsSpoofResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SpoofEmailSecurityTimeseriesGroupResponse", }) as any as S.Schema; export type BgpRoutesStatsRequestFormat = "JSON" | "CSV"; export const BgpRoutesStatsRequestFormat = /*@__PURE__*/ S.String; export interface StatsBgpRouteRequest { /** Filters results by Autonomous System. Specify a single Autonomous System Number (ASN) as integer. */ asn?: number; /** Format in which results will be returned. */ format?: BgpRoutesStatsRequestFormat | (string & {}); /** Filters results by location. Specify an alpha-2 location code. */ location?: string; } export const StatsBgpRouteRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(S.Number.pipe(T.Query())), format: S.optional(BgpRoutesStatsRequestFormat.pipe(T.Query())), location: S.optional(S.String.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/bgp/routes/stats", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "StatsBgpRouteRequest", }) as any as S.Schema; export type BgpRoutesStatsResponseMeta = BgpRoutesMoasResponseMeta; export const BgpRoutesStatsResponseMeta = BgpRoutesMoasResponseMeta; export interface BgpRoutesStatsResponseStats { distinctOrigins: number; distinctOriginsIpv4: number; distinctOriginsIpv6: number; distinctPrefixes: number; distinctPrefixesIpv4: number; distinctPrefixesIpv6: number; routesInvalid: number; routesInvalidIpv4: number; routesInvalidIpv6: number; routesTotal: number; routesTotalIpv4: number; routesTotalIpv6: number; routesUnknown: number; routesUnknownIpv4: number; routesUnknownIpv6: number; routesValid: number; routesValidIpv4: number; routesValidIpv6: number; } export const BgpRoutesStatsResponseStats = /*@__PURE__*/ S.suspend(() => S.Struct({ distinctOrigins: S.Number.pipe(T.Body("distinct_origins")), distinctOriginsIpv4: S.Number.pipe(T.Body("distinct_origins_ipv4")), distinctOriginsIpv6: S.Number.pipe(T.Body("distinct_origins_ipv6")), distinctPrefixes: S.Number.pipe(T.Body("distinct_prefixes")), distinctPrefixesIpv4: S.Number.pipe(T.Body("distinct_prefixes_ipv4")), distinctPrefixesIpv6: S.Number.pipe(T.Body("distinct_prefixes_ipv6")), routesInvalid: S.Number.pipe(T.Body("routes_invalid")), routesInvalidIpv4: S.Number.pipe(T.Body("routes_invalid_ipv4")), routesInvalidIpv6: S.Number.pipe(T.Body("routes_invalid_ipv6")), routesTotal: S.Number.pipe(T.Body("routes_total")), routesTotalIpv4: S.Number.pipe(T.Body("routes_total_ipv4")), routesTotalIpv6: S.Number.pipe(T.Body("routes_total_ipv6")), routesUnknown: S.Number.pipe(T.Body("routes_unknown")), routesUnknownIpv4: S.Number.pipe(T.Body("routes_unknown_ipv4")), routesUnknownIpv6: S.Number.pipe(T.Body("routes_unknown_ipv6")), routesValid: S.Number.pipe(T.Body("routes_valid")), routesValidIpv4: S.Number.pipe(T.Body("routes_valid_ipv4")), routesValidIpv6: S.Number.pipe(T.Body("routes_valid_ipv6")), }), ).annotate({ identifier: "BgpRoutesStatsResponseStats", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface StatsBgpRouteResponse { meta: BgpRoutesMoasResponseMeta; stats: BgpRoutesStatsResponseStats; } export const StatsBgpRouteResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: BgpRoutesMoasResponseMeta, stats: BgpRoutesStatsResponseStats, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "StatsBgpRouteResponse", }) as any as S.Schema; export type AgentReadinessSummaryRequestDimension = "CHECK"; export const AgentReadinessSummaryRequestDimension = /*@__PURE__*/ S.String; export type AgentReadinessSummaryRequestDomainCategoryList = Array; export const AgentReadinessSummaryRequestDomainCategoryList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AgentReadinessSummaryRequestFormat = "JSON" | "CSV"; export const AgentReadinessSummaryRequestFormat = /*@__PURE__*/ S.String; export type AgentReadinessSummaryRequestNameList = Array; export const AgentReadinessSummaryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface SummaryAgentReadinessRequest { /** Specifies the agent readiness data dimension by which to group the results. */ dimension: AgentReadinessSummaryRequestDimension | (string & {}); /** Filters results by the specified date. */ date?: string; /** Filters results by domain category. */ domainCategory?: AgentReadinessSummaryRequestDomainCategoryList; /** Format in which results will be returned. */ format?: AgentReadinessSummaryRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: AgentReadinessSummaryRequestNameList; } export const SummaryAgentReadinessRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: AgentReadinessSummaryRequestDimension.pipe(T.Label()), date: S.optional(S.String.pipe(T.Query())), domainCategory: S.optional( AgentReadinessSummaryRequestDomainCategoryList.pipe(T.Query()), ), format: S.optional(AgentReadinessSummaryRequestFormat.pipe(T.Query())), name: S.optional(AgentReadinessSummaryRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/agent_readiness/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryAgentReadinessRequest", }) as any as S.Schema; export interface AgentReadinessSummaryResponseMetaDomainCategoriesItem { /** Sub-category name. */ name: string; /** Number of successfully scanned domains in this sub-category. */ value: number; } export const AgentReadinessSummaryResponseMetaDomainCategoriesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ name: S.String, value: S.Number, }), ).annotate({ identifier: "AgentReadinessSummaryResponseMetaDomainCategoriesItem", }) as any as S.Schema; export type AgentReadinessSummaryResponseMetaDomainCategoriesList = Array; export const AgentReadinessSummaryResponseMetaDomainCategoriesList = /*@__PURE__*/ S.Array( AgentReadinessSummaryResponseMetaDomainCategoriesItem, ) as any as S.Schema; export type AgentReadinessSummaryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AgentReadinessSummaryResponseMetaNormalization = /*@__PURE__*/ S.String; export type AgentReadinessSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AgentReadinessSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AgentReadinessSummaryResponseMetaUnitsList = Array; export const AgentReadinessSummaryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AgentReadinessSummaryResponseMeta { /** Date of the returned scan (YYYY-MM-DD). May differ from the requested date if no scan exists for that exact date. */ date: string; /** Available domain sub-categories with their scan counts. Use as filter options for the domainCategory parameter. */ domainCategories: AgentReadinessSummaryResponseMetaDomainCategoriesList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AgentReadinessSummaryResponseMetaNormalization; /** Domains successfully scanned (excludes errors). */ successfulDomains: number; /** Total domains attempted in the scan. */ totalDomains: number; /** Measurement units for the results. */ units: AgentReadinessSummaryResponseMetaUnitsList; } export const AgentReadinessSummaryResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ date: S.String, domainCategories: AgentReadinessSummaryResponseMetaDomainCategoriesList, lastUpdated: S.String, normalization: AgentReadinessSummaryResponseMetaNormalization, successfulDomains: S.Number, totalDomains: S.Number, units: AgentReadinessSummaryResponseMetaUnitsList, }), ).annotate({ identifier: "AgentReadinessSummaryResponseMeta", }) as any as S.Schema; export type AgentReadinessSummaryResponseSummary0Map = { [key: string]: string | undefined; }; export const AgentReadinessSummaryResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryAgentReadinessResponse { meta: AgentReadinessSummaryResponseMeta; summary_0: AgentReadinessSummaryResponseSummary0Map; } export const SummaryAgentReadinessResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AgentReadinessSummaryResponseMeta, summary_0: AgentReadinessSummaryResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryAgentReadinessResponse", }) as any as S.Schema; export type AiMarkdownForAgentsSummaryRequestDateEndList = Array; export const AiMarkdownForAgentsSummaryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiMarkdownForAgentsSummaryRequestDateRangeList = Array; export const AiMarkdownForAgentsSummaryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiMarkdownForAgentsSummaryRequestDateStartList = Array; export const AiMarkdownForAgentsSummaryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiMarkdownForAgentsSummaryRequestFormat = "JSON" | "CSV"; export const AiMarkdownForAgentsSummaryRequestFormat = /*@__PURE__*/ S.String; export type AiMarkdownForAgentsSummaryRequestNameList = Array; export const AiMarkdownForAgentsSummaryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface SummaryAiMarkdownForAgentRequest { /** End of the date range (inclusive). */ dateEnd?: AiMarkdownForAgentsSummaryRequestDateEndList; /** 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). */ dateRange?: AiMarkdownForAgentsSummaryRequestDateRangeList; /** Start of the date range. */ dateStart?: AiMarkdownForAgentsSummaryRequestDateStartList; /** Format in which results will be returned. */ format?: AiMarkdownForAgentsSummaryRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: AiMarkdownForAgentsSummaryRequestNameList; } export const SummaryAiMarkdownForAgentRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dateEnd: S.optional( AiMarkdownForAgentsSummaryRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AiMarkdownForAgentsSummaryRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AiMarkdownForAgentsSummaryRequestDateStartList.pipe(T.Query()), ), format: S.optional(AiMarkdownForAgentsSummaryRequestFormat.pipe(T.Query())), name: S.optional(AiMarkdownForAgentsSummaryRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/ai/markdown_for_agents/summary", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryAiMarkdownForAgentRequest", }) as any as S.Schema; export type AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsList = Array; export const AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AiMarkdownForAgentsSummaryResponseMetaConfidenceInfo { annotations: AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AiMarkdownForAgentsSummaryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AiMarkdownForAgentsSummaryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AiMarkdownForAgentsSummaryResponseMetaConfidenceInfo", }) as any as S.Schema; export type AiMarkdownForAgentsSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AiMarkdownForAgentsSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AiMarkdownForAgentsSummaryResponseMetaDateRangeList = Array; export const AiMarkdownForAgentsSummaryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AiMarkdownForAgentsSummaryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AiMarkdownForAgentsSummaryResponseMetaNormalization = /*@__PURE__*/ S.String; export type AiMarkdownForAgentsSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AiMarkdownForAgentsSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AiMarkdownForAgentsSummaryResponseMetaUnitsList = Array; export const AiMarkdownForAgentsSummaryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AiMarkdownForAgentsSummaryResponseMeta { confidenceInfo: AiMarkdownForAgentsSummaryResponseMetaConfidenceInfo; dateRange: AiMarkdownForAgentsSummaryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AiMarkdownForAgentsSummaryResponseMetaNormalization; /** Measurement units for the results. */ units: AiMarkdownForAgentsSummaryResponseMetaUnitsList; } export const AiMarkdownForAgentsSummaryResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: AiMarkdownForAgentsSummaryResponseMetaConfidenceInfo, dateRange: AiMarkdownForAgentsSummaryResponseMetaDateRangeList, lastUpdated: S.String, normalization: AiMarkdownForAgentsSummaryResponseMetaNormalization, units: AiMarkdownForAgentsSummaryResponseMetaUnitsList, }), ).annotate({ identifier: "AiMarkdownForAgentsSummaryResponseMeta", }) as any as S.Schema; export interface AiMarkdownForAgentsSummaryResponseSummary0 { /** A numeric string that can include decimals and infinity values. */ value: string; } export const AiMarkdownForAgentsSummaryResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ value: S.String, }), ).annotate({ identifier: "AiMarkdownForAgentsSummaryResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryAiMarkdownForAgentResponse { /** Metadata for the results. */ meta: AiMarkdownForAgentsSummaryResponseMeta; summary_0: AiMarkdownForAgentsSummaryResponseSummary0; } export const SummaryAiMarkdownForAgentResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AiMarkdownForAgentsSummaryResponseMeta, summary_0: AiMarkdownForAgentsSummaryResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryAiMarkdownForAgentResponse", }) as any as S.Schema; export type AiBotsSummaryV2RequestDimension = | "USER_AGENT" | "CRAWL_PURPOSE" | "INDUSTRY" | "VERTICAL" | "CONTENT_TYPE" | "RESPONSE_STATUS" | "RESPONSE_STATUS_CATEGORY"; export const AiBotsSummaryV2RequestDimension = /*@__PURE__*/ S.String; export type AiBotsSummaryV2RequestAsnList = Array; export const AiBotsSummaryV2RequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsSummaryV2RequestContentType = | "HTML" | "IMAGES" | "JSON" | "JAVASCRIPT" | "CSS" | "PLAIN_TEXT" | "FONTS" | "XML" | "YAML" | "VIDEO" | "AUDIO" | "MARKDOWN" | "DOCUMENTS" | "BINARY" | "SERIALIZATION" | "OTHER"; export const AiBotsSummaryV2RequestContentType = /*@__PURE__*/ S.String; export type AiBotsSummaryV2RequestContentTypeList = Array< AiBotsSummaryV2RequestContentType | (string & {}) >; export const AiBotsSummaryV2RequestContentTypeList = /*@__PURE__*/ S.Array( AiBotsSummaryV2RequestContentType, ) as any as S.Schema; export type AiBotsSummaryV2RequestContinentList = Array; export const AiBotsSummaryV2RequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsSummaryV2RequestCrawlPurposeList = Array; export const AiBotsSummaryV2RequestCrawlPurposeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsSummaryV2RequestDateEndList = Array; export const AiBotsSummaryV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsSummaryV2RequestDateRangeList = Array; export const AiBotsSummaryV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsSummaryV2RequestDateStartList = Array; export const AiBotsSummaryV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsSummaryV2RequestFormat = "JSON" | "CSV"; export const AiBotsSummaryV2RequestFormat = /*@__PURE__*/ S.String; export type AiBotsSummaryV2RequestIndustryList = Array; export const AiBotsSummaryV2RequestIndustryList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsSummaryV2RequestLocationList = Array; export const AiBotsSummaryV2RequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsSummaryV2RequestNameList = Array; export const AiBotsSummaryV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsSummaryV2RequestResponseStatusList = Array; export const AiBotsSummaryV2RequestResponseStatusList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsSummaryV2RequestResponseStatusCategory = | "INFORMATIONAL" | "SUCCESS" | "REDIRECTION" | "CLIENT_ERROR" | "SERVER_ERROR"; export const AiBotsSummaryV2RequestResponseStatusCategory = /*@__PURE__*/ S.String; export type AiBotsSummaryV2RequestResponseStatusCategoryList = Array< AiBotsSummaryV2RequestResponseStatusCategory | (string & {}) >; export const AiBotsSummaryV2RequestResponseStatusCategoryList = /*@__PURE__*/ S.Array( AiBotsSummaryV2RequestResponseStatusCategory, ) as any as S.Schema; export type AiBotsSummaryV2RequestUserAgentList = Array; export const AiBotsSummaryV2RequestUserAgentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsSummaryV2RequestVerticalList = Array; export const AiBotsSummaryV2RequestVerticalList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface SummaryAiTimeseriesGroupRequest { /** Specifies the attribute by which to group the results. */ dimension: AiBotsSummaryV2RequestDimension | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AiBotsSummaryV2RequestAsnList; /** Filters results by content type category. */ contentType?: AiBotsSummaryV2RequestContentTypeList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AiBotsSummaryV2RequestContinentList; /** Filters results by bot crawl purpose. */ crawlPurpose?: AiBotsSummaryV2RequestCrawlPurposeList; /** End of the date range (inclusive). */ dateEnd?: AiBotsSummaryV2RequestDateEndList; /** 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). */ dateRange?: AiBotsSummaryV2RequestDateRangeList; /** Start of the date range. */ dateStart?: AiBotsSummaryV2RequestDateStartList; /** Format in which results will be returned. */ format?: AiBotsSummaryV2RequestFormat | (string & {}); /** Filters results by industry. */ industry?: AiBotsSummaryV2RequestIndustryList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AiBotsSummaryV2RequestLocationList; /** Array of names used to label the series in the response. */ name?: AiBotsSummaryV2RequestNameList; /** Filters results by HTTP response status code (e.g. 200, 403, 404). Only [IANA-registered codes](https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml) are accepted. */ responseStatus?: AiBotsSummaryV2RequestResponseStatusList; /** Filters results by HTTP response status code category. */ responseStatusCategory?: AiBotsSummaryV2RequestResponseStatusCategoryList; /** Filters results by user agent. */ userAgent?: AiBotsSummaryV2RequestUserAgentList; /** Filters results by vertical. */ vertical?: AiBotsSummaryV2RequestVerticalList; } export const SummaryAiTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: AiBotsSummaryV2RequestDimension.pipe(T.Label()), asn: S.optional(AiBotsSummaryV2RequestAsnList.pipe(T.Query())), contentType: S.optional( AiBotsSummaryV2RequestContentTypeList.pipe(T.Query()), ), continent: S.optional(AiBotsSummaryV2RequestContinentList.pipe(T.Query())), crawlPurpose: S.optional( AiBotsSummaryV2RequestCrawlPurposeList.pipe(T.Query()), ), dateEnd: S.optional(AiBotsSummaryV2RequestDateEndList.pipe(T.Query())), dateRange: S.optional(AiBotsSummaryV2RequestDateRangeList.pipe(T.Query())), dateStart: S.optional(AiBotsSummaryV2RequestDateStartList.pipe(T.Query())), format: S.optional(AiBotsSummaryV2RequestFormat.pipe(T.Query())), industry: S.optional(AiBotsSummaryV2RequestIndustryList.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional(AiBotsSummaryV2RequestLocationList.pipe(T.Query())), name: S.optional(AiBotsSummaryV2RequestNameList.pipe(T.Query())), responseStatus: S.optional( AiBotsSummaryV2RequestResponseStatusList.pipe(T.Query()), ), responseStatusCategory: S.optional( AiBotsSummaryV2RequestResponseStatusCategoryList.pipe(T.Query()), ), userAgent: S.optional(AiBotsSummaryV2RequestUserAgentList.pipe(T.Query())), vertical: S.optional(AiBotsSummaryV2RequestVerticalList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/ai/bots/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryAiTimeseriesGroupRequest", }) as any as S.Schema; export type AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AiBotsSummaryV2ResponseMetaConfidenceInfo { annotations: AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AiBotsSummaryV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AiBotsSummaryV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AiBotsSummaryV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type AiBotsSummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AiBotsSummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AiBotsSummaryV2ResponseMetaDateRangeList = Array; export const AiBotsSummaryV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AiBotsSummaryV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AiBotsSummaryV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type AiBotsSummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AiBotsSummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AiBotsSummaryV2ResponseMetaUnitsList = Array; export const AiBotsSummaryV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AiBotsSummaryV2ResponseMeta { confidenceInfo: AiBotsSummaryV2ResponseMetaConfidenceInfo; dateRange: AiBotsSummaryV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AiBotsSummaryV2ResponseMetaNormalization; /** Measurement units for the results. */ units: AiBotsSummaryV2ResponseMetaUnitsList; } export const AiBotsSummaryV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AiBotsSummaryV2ResponseMetaConfidenceInfo, dateRange: AiBotsSummaryV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: AiBotsSummaryV2ResponseMetaNormalization, units: AiBotsSummaryV2ResponseMetaUnitsList, }), ).annotate({ identifier: "AiBotsSummaryV2ResponseMeta", }) as any as S.Schema; export type AiBotsSummaryV2ResponseSummary0Map = { [key: string]: string | undefined; }; export const AiBotsSummaryV2ResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryAiTimeseriesGroupResponse { /** Metadata for the results. */ meta: AiBotsSummaryV2ResponseMeta; summary_0: AiBotsSummaryV2ResponseSummary0Map; } export const SummaryAiTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AiBotsSummaryV2ResponseMeta, summary_0: AiBotsSummaryV2ResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryAiTimeseriesGroupResponse", }) as any as S.Schema; export type BotsSummaryRequestDimension = | "BOT" | "BOT_KIND" | "BOT_OPERATOR" | "BOT_CATEGORY"; export const BotsSummaryRequestDimension = /*@__PURE__*/ S.String; export type BotsSummaryRequestAsnList = Array; export const BotsSummaryRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsSummaryRequestBotList = Array; export const BotsSummaryRequestBotList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsSummaryRequestBotCategory = | "SEARCH_ENGINE_CRAWLER" | "SEARCH_ENGINE_OPTIMIZATION" | "MONITORING_AND_ANALYTICS" | "ADVERTISING_AND_MARKETING" | "SOCIAL_MEDIA_MARKETING" | "PAGE_PREVIEW" | "ACADEMIC_RESEARCH" | "SECURITY" | "ACCESSIBILITY" | "WEBHOOKS" | "FEED_FETCHER" | "AI_CRAWLER" | "AGGREGATOR" | "AI_ASSISTANT" | "AI_SEARCH" | "ARCHIVER"; export const BotsSummaryRequestBotCategory = /*@__PURE__*/ S.String; export type BotsSummaryRequestBotCategoryList = Array< BotsSummaryRequestBotCategory | (string & {}) >; export const BotsSummaryRequestBotCategoryList = /*@__PURE__*/ S.Array( BotsSummaryRequestBotCategory, ) as any as S.Schema; export type BotsSummaryRequestBotKind = "AGENT" | "BOT"; export const BotsSummaryRequestBotKind = /*@__PURE__*/ S.String; export type BotsSummaryRequestBotKindList = Array< BotsSummaryRequestBotKind | (string & {}) >; export const BotsSummaryRequestBotKindList = /*@__PURE__*/ S.Array( BotsSummaryRequestBotKind, ) as any as S.Schema; export type BotsSummaryRequestBotOperatorList = Array; export const BotsSummaryRequestBotOperatorList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsSummaryRequestBotVerificationStatus = "VERIFIED"; export const BotsSummaryRequestBotVerificationStatus = /*@__PURE__*/ S.String; export type BotsSummaryRequestBotVerificationStatusList = Array< BotsSummaryRequestBotVerificationStatus | (string & {}) >; export const BotsSummaryRequestBotVerificationStatusList = /*@__PURE__*/ S.Array( BotsSummaryRequestBotVerificationStatus, ) as any as S.Schema; export type BotsSummaryRequestContinentList = Array; export const BotsSummaryRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsSummaryRequestDateEndList = Array; export const BotsSummaryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsSummaryRequestDateRangeList = Array; export const BotsSummaryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsSummaryRequestDateStartList = Array; export const BotsSummaryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsSummaryRequestFormat = "JSON" | "CSV"; export const BotsSummaryRequestFormat = /*@__PURE__*/ S.String; export type BotsSummaryRequestLocationList = Array; export const BotsSummaryRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsSummaryRequestNameList = Array; export const BotsSummaryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface SummaryBotRequest { /** Specifies the attribute by which to group the results. */ dimension: BotsSummaryRequestDimension | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: BotsSummaryRequestAsnList; /** Filters results by bot name. */ bot?: BotsSummaryRequestBotList; /** Filters results by bot category. */ botCategory?: BotsSummaryRequestBotCategoryList; /** Filters results by bot kind. Deprecated: the Verified Bot / Signed Agent distinction is being removed. */ botKind?: BotsSummaryRequestBotKindList; /** Filters results by bot operator. */ botOperator?: BotsSummaryRequestBotOperatorList; /** Filters results by bot verification status (Verified vs. Unverified). */ botVerificationStatus?: BotsSummaryRequestBotVerificationStatusList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: BotsSummaryRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: BotsSummaryRequestDateEndList; /** 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). */ dateRange?: BotsSummaryRequestDateRangeList; /** Start of the date range. */ dateStart?: BotsSummaryRequestDateStartList; /** Format in which results will be returned. */ format?: BotsSummaryRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: BotsSummaryRequestLocationList; /** Array of names used to label the series in the response. */ name?: BotsSummaryRequestNameList; } export const SummaryBotRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: BotsSummaryRequestDimension.pipe(T.Label()), asn: S.optional(BotsSummaryRequestAsnList.pipe(T.Query())), bot: S.optional(BotsSummaryRequestBotList.pipe(T.Query())), botCategory: S.optional(BotsSummaryRequestBotCategoryList.pipe(T.Query())), botKind: S.optional(BotsSummaryRequestBotKindList.pipe(T.Query())), botOperator: S.optional(BotsSummaryRequestBotOperatorList.pipe(T.Query())), botVerificationStatus: S.optional( BotsSummaryRequestBotVerificationStatusList.pipe(T.Query()), ), continent: S.optional(BotsSummaryRequestContinentList.pipe(T.Query())), dateEnd: S.optional(BotsSummaryRequestDateEndList.pipe(T.Query())), dateRange: S.optional(BotsSummaryRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(BotsSummaryRequestDateStartList.pipe(T.Query())), format: S.optional(BotsSummaryRequestFormat.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional(BotsSummaryRequestLocationList.pipe(T.Query())), name: S.optional(BotsSummaryRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/bots/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryBotRequest", }) as any as S.Schema; export type BotsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const BotsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type BotsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const BotsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type BotsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const BotsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BotsSummaryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: BotsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: BotsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: BotsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const BotsSummaryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: BotsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: BotsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr(BotsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList), ), }), ).annotate({ identifier: "BotsSummaryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type BotsSummaryResponseMetaConfidenceInfoAnnotationsList = Array; export const BotsSummaryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( BotsSummaryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface BotsSummaryResponseMetaConfidenceInfo { annotations: BotsSummaryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const BotsSummaryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: BotsSummaryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "BotsSummaryResponseMetaConfidenceInfo", }) as any as S.Schema; export type BotsSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const BotsSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type BotsSummaryResponseMetaDateRangeList = Array; export const BotsSummaryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type BotsSummaryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const BotsSummaryResponseMetaNormalization = /*@__PURE__*/ S.String; export type BotsSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const BotsSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type BotsSummaryResponseMetaUnitsList = Array; export const BotsSummaryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface BotsSummaryResponseMeta { confidenceInfo: BotsSummaryResponseMetaConfidenceInfo; dateRange: BotsSummaryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: BotsSummaryResponseMetaNormalization; /** Measurement units for the results. */ units: BotsSummaryResponseMetaUnitsList; } export const BotsSummaryResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: BotsSummaryResponseMetaConfidenceInfo, dateRange: BotsSummaryResponseMetaDateRangeList, lastUpdated: S.String, normalization: BotsSummaryResponseMetaNormalization, units: BotsSummaryResponseMetaUnitsList, }), ).annotate({ identifier: "BotsSummaryResponseMeta", }) as any as S.Schema; export type BotsSummaryResponseSummary0Map = { [key: string]: string | undefined; }; export const BotsSummaryResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryBotResponse { /** Metadata for the results. */ meta: BotsSummaryResponseMeta; summary_0: BotsSummaryResponseSummary0Map; } export const SummaryBotResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: BotsSummaryResponseMeta, summary_0: BotsSummaryResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryBotResponse", }) as any as S.Schema; export type BotsWebCrawlersSummaryRequestDimension = | "CLIENT_TYPE" | "USER_AGENT" | "REFERER" | "CRAWL_REFER_RATIO" | "VERTICAL" | "INDUSTRY" | "RESPONSE_STATUS" | "RESPONSE_STATUS_CATEGORY"; export const BotsWebCrawlersSummaryRequestDimension = /*@__PURE__*/ S.String; export type BotsWebCrawlersSummaryRequestBotOperatorList = Array; export const BotsWebCrawlersSummaryRequestBotOperatorList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsWebCrawlersSummaryRequestClientType = | "HUMAN" | "NON_AI_BOT" | "AI_BOT" | "MIXED_PURPOSE"; export const BotsWebCrawlersSummaryRequestClientType = /*@__PURE__*/ S.String; export type BotsWebCrawlersSummaryRequestClientTypeList = Array< BotsWebCrawlersSummaryRequestClientType | (string & {}) >; export const BotsWebCrawlersSummaryRequestClientTypeList = /*@__PURE__*/ S.Array( BotsWebCrawlersSummaryRequestClientType, ) as any as S.Schema; export type BotsWebCrawlersSummaryRequestDateEndList = Array; export const BotsWebCrawlersSummaryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsWebCrawlersSummaryRequestDateRangeList = Array; export const BotsWebCrawlersSummaryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsWebCrawlersSummaryRequestDateStartList = Array; export const BotsWebCrawlersSummaryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsWebCrawlersSummaryRequestFormat = "JSON" | "CSV"; export const BotsWebCrawlersSummaryRequestFormat = /*@__PURE__*/ S.String; export type BotsWebCrawlersSummaryRequestIndustryList = Array; export const BotsWebCrawlersSummaryRequestIndustryList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsWebCrawlersSummaryRequestNameList = Array; export const BotsWebCrawlersSummaryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsWebCrawlersSummaryRequestResponseStatusList = Array; export const BotsWebCrawlersSummaryRequestResponseStatusList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsWebCrawlersSummaryRequestResponseStatusCategory = | "INFORMATIONAL" | "SUCCESS" | "REDIRECTION" | "CLIENT_ERROR" | "SERVER_ERROR"; export const BotsWebCrawlersSummaryRequestResponseStatusCategory = /*@__PURE__*/ S.String; export type BotsWebCrawlersSummaryRequestResponseStatusCategoryList = Array< BotsWebCrawlersSummaryRequestResponseStatusCategory | (string & {}) >; export const BotsWebCrawlersSummaryRequestResponseStatusCategoryList = /*@__PURE__*/ S.Array( BotsWebCrawlersSummaryRequestResponseStatusCategory, ) as any as S.Schema; export type BotsWebCrawlersSummaryRequestVerticalList = Array; export const BotsWebCrawlersSummaryRequestVerticalList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface SummaryBotWebCrawlerRequest { /** Specifies the attribute by which to group the results. */ dimension: BotsWebCrawlersSummaryRequestDimension | (string & {}); /** Filters results by bot operator. */ botOperator?: BotsWebCrawlersSummaryRequestBotOperatorList; /** Filters results by agent type. */ clientType?: BotsWebCrawlersSummaryRequestClientTypeList; /** End of the date range (inclusive). */ dateEnd?: BotsWebCrawlersSummaryRequestDateEndList; /** 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). */ dateRange?: BotsWebCrawlersSummaryRequestDateRangeList; /** Start of the date range. */ dateStart?: BotsWebCrawlersSummaryRequestDateStartList; /** Format in which results will be returned. */ format?: BotsWebCrawlersSummaryRequestFormat | (string & {}); /** Filters results by industry. */ industry?: BotsWebCrawlersSummaryRequestIndustryList; /** 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. */ limitPerGroup?: number; /** Array of names used to label the series in the response. */ name?: BotsWebCrawlersSummaryRequestNameList; /** Filters results by HTTP response status code (e.g. 200, 403, 404). Only [IANA-registered codes](https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml) are accepted. */ responseStatus?: BotsWebCrawlersSummaryRequestResponseStatusList; /** Filters results by HTTP response status code category. */ responseStatusCategory?: BotsWebCrawlersSummaryRequestResponseStatusCategoryList; /** Filters results by vertical. */ vertical?: BotsWebCrawlersSummaryRequestVerticalList; } export const SummaryBotWebCrawlerRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: BotsWebCrawlersSummaryRequestDimension.pipe(T.Label()), botOperator: S.optional( BotsWebCrawlersSummaryRequestBotOperatorList.pipe(T.Query()), ), clientType: S.optional( BotsWebCrawlersSummaryRequestClientTypeList.pipe(T.Query()), ), dateEnd: S.optional( BotsWebCrawlersSummaryRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( BotsWebCrawlersSummaryRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( BotsWebCrawlersSummaryRequestDateStartList.pipe(T.Query()), ), format: S.optional(BotsWebCrawlersSummaryRequestFormat.pipe(T.Query())), industry: S.optional( BotsWebCrawlersSummaryRequestIndustryList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), name: S.optional(BotsWebCrawlersSummaryRequestNameList.pipe(T.Query())), responseStatus: S.optional( BotsWebCrawlersSummaryRequestResponseStatusList.pipe(T.Query()), ), responseStatusCategory: S.optional( BotsWebCrawlersSummaryRequestResponseStatusCategoryList.pipe(T.Query()), ), vertical: S.optional( BotsWebCrawlersSummaryRequestVerticalList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/bots/crawlers/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryBotWebCrawlerRequest", }) as any as S.Schema; export type BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsList = Array; export const BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface BotsWebCrawlersSummaryResponseMetaConfidenceInfo { annotations: BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const BotsWebCrawlersSummaryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: BotsWebCrawlersSummaryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "BotsWebCrawlersSummaryResponseMetaConfidenceInfo", }) as any as S.Schema; export type BotsWebCrawlersSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const BotsWebCrawlersSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type BotsWebCrawlersSummaryResponseMetaDateRangeList = Array; export const BotsWebCrawlersSummaryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type BotsWebCrawlersSummaryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const BotsWebCrawlersSummaryResponseMetaNormalization = /*@__PURE__*/ S.String; export type BotsWebCrawlersSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const BotsWebCrawlersSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type BotsWebCrawlersSummaryResponseMetaUnitsList = Array; export const BotsWebCrawlersSummaryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface BotsWebCrawlersSummaryResponseMeta { confidenceInfo: BotsWebCrawlersSummaryResponseMetaConfidenceInfo; dateRange: BotsWebCrawlersSummaryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: BotsWebCrawlersSummaryResponseMetaNormalization; /** Measurement units for the results. */ units: BotsWebCrawlersSummaryResponseMetaUnitsList; } export const BotsWebCrawlersSummaryResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: BotsWebCrawlersSummaryResponseMetaConfidenceInfo, dateRange: BotsWebCrawlersSummaryResponseMetaDateRangeList, lastUpdated: S.String, normalization: BotsWebCrawlersSummaryResponseMetaNormalization, units: BotsWebCrawlersSummaryResponseMetaUnitsList, }), ).annotate({ identifier: "BotsWebCrawlersSummaryResponseMeta", }) as any as S.Schema; export type BotsWebCrawlersSummaryResponseSummary0Map = { [key: string]: string | undefined; }; export const BotsWebCrawlersSummaryResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryBotWebCrawlerResponse { /** Metadata for the results. */ meta: BotsWebCrawlersSummaryResponseMeta; summary_0: BotsWebCrawlersSummaryResponseSummary0Map; } export const SummaryBotWebCrawlerResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: BotsWebCrawlersSummaryResponseMeta, summary_0: BotsWebCrawlersSummaryResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryBotWebCrawlerResponse", }) as any as S.Schema; export type CtSummaryRequestDimension = | "CA" | "CA_OWNER" | "DURATION" | "ENTRY_TYPE" | "EXPIRATION_STATUS" | "HAS_IPS" | "HAS_WILDCARDS" | "LOG" | "LOG_API" | "LOG_OPERATOR" | "PUBLIC_KEY_ALGORITHM" | "SIGNATURE_ALGORITHM" | "TLD" | "VALIDATION_LEVEL"; export const CtSummaryRequestDimension = /*@__PURE__*/ S.String; export type CtSummaryRequestCaList = Array; export const CtSummaryRequestCaList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtSummaryRequestCaOwnerList = Array; export const CtSummaryRequestCaOwnerList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtSummaryRequestDateEndList = Array; export const CtSummaryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtSummaryRequestDateRangeList = Array; export const CtSummaryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtSummaryRequestDateStartList = Array; export const CtSummaryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtSummaryRequestDuration = | "LTE_3D" | "GT_3D_LTE_7D" | "GT_7D_LTE_10D" | "GT_10D_LTE_47D" | "GT_47D_LTE_100D" | "GT_100D_LTE_200D" | "GT_200D"; export const CtSummaryRequestDuration = /*@__PURE__*/ S.String; export type CtSummaryRequestDurationList = Array< CtSummaryRequestDuration | (string & {}) >; export const CtSummaryRequestDurationList = /*@__PURE__*/ S.Array( CtSummaryRequestDuration, ) as any as S.Schema; export type CtSummaryRequestEntryType = "PRECERTIFICATE" | "CERTIFICATE"; export const CtSummaryRequestEntryType = /*@__PURE__*/ S.String; export type CtSummaryRequestEntryTypeList = Array< CtSummaryRequestEntryType | (string & {}) >; export const CtSummaryRequestEntryTypeList = /*@__PURE__*/ S.Array( CtSummaryRequestEntryType, ) as any as S.Schema; export type CtSummaryRequestExpirationStatus = "EXPIRED" | "VALID"; export const CtSummaryRequestExpirationStatus = /*@__PURE__*/ S.String; export type CtSummaryRequestExpirationStatusList = Array< CtSummaryRequestExpirationStatus | (string & {}) >; export const CtSummaryRequestExpirationStatusList = /*@__PURE__*/ S.Array( CtSummaryRequestExpirationStatus, ) as any as S.Schema; export type CtSummaryRequestFormat = "JSON" | "CSV"; export const CtSummaryRequestFormat = /*@__PURE__*/ S.String; export type CtSummaryRequestHasIpsList = Array; export const CtSummaryRequestHasIpsList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type CtSummaryRequestHasWildcardsList = Array; export const CtSummaryRequestHasWildcardsList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type CtSummaryRequestLogList = Array; export const CtSummaryRequestLogList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtSummaryRequestLogApi = "RFC6962" | "STATIC"; export const CtSummaryRequestLogApi = /*@__PURE__*/ S.String; export type CtSummaryRequestLogApiList = Array< CtSummaryRequestLogApi | (string & {}) >; export const CtSummaryRequestLogApiList = /*@__PURE__*/ S.Array( CtSummaryRequestLogApi, ) as any as S.Schema; export type CtSummaryRequestLogOperatorList = Array; export const CtSummaryRequestLogOperatorList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtSummaryRequestNameList = Array; export const CtSummaryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtSummaryRequestNormalization = "RAW_VALUES" | "PERCENTAGE"; export const CtSummaryRequestNormalization = /*@__PURE__*/ S.String; export type CtSummaryRequestPublicKeyAlgorithm = "DSA" | "ECDSA" | "RSA"; export const CtSummaryRequestPublicKeyAlgorithm = /*@__PURE__*/ S.String; export type CtSummaryRequestPublicKeyAlgorithmList = Array< CtSummaryRequestPublicKeyAlgorithm | (string & {}) >; export const CtSummaryRequestPublicKeyAlgorithmList = /*@__PURE__*/ S.Array( CtSummaryRequestPublicKeyAlgorithm, ) as any as S.Schema; export type CtSummaryRequestSignatureAlgorithm = | "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"; export const CtSummaryRequestSignatureAlgorithm = /*@__PURE__*/ S.String; export type CtSummaryRequestSignatureAlgorithmList = Array< CtSummaryRequestSignatureAlgorithm | (string & {}) >; export const CtSummaryRequestSignatureAlgorithmList = /*@__PURE__*/ S.Array( CtSummaryRequestSignatureAlgorithm, ) as any as S.Schema; export type CtSummaryRequestTldList = Array; export const CtSummaryRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtSummaryRequestUniqueEntries = "true" | "false"; export const CtSummaryRequestUniqueEntries = /*@__PURE__*/ S.String; export type CtSummaryRequestUniqueEntriesList = Array< CtSummaryRequestUniqueEntries | (string & {}) >; export const CtSummaryRequestUniqueEntriesList = /*@__PURE__*/ S.Array( CtSummaryRequestUniqueEntries, ) as any as S.Schema; export type CtSummaryRequestValidationLevel = | "DOMAIN" | "ORGANIZATION" | "EXTENDED"; export const CtSummaryRequestValidationLevel = /*@__PURE__*/ S.String; export type CtSummaryRequestValidationLevelList = Array< CtSummaryRequestValidationLevel | (string & {}) >; export const CtSummaryRequestValidationLevelList = /*@__PURE__*/ S.Array( CtSummaryRequestValidationLevel, ) as any as S.Schema; export interface SummaryCtRequest { /** Specifies the certificate attribute by which to group the results. */ dimension: CtSummaryRequestDimension | (string & {}); /** Filters results by certificate authority. */ ca?: CtSummaryRequestCaList; /** Filters results by certificate authority owner. */ caOwner?: CtSummaryRequestCaOwnerList; /** End of the date range (inclusive). */ dateEnd?: CtSummaryRequestDateEndList; /** 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). */ dateRange?: CtSummaryRequestDateRangeList; /** Start of the date range. */ dateStart?: CtSummaryRequestDateStartList; /** Filters results by certificate duration. */ duration?: CtSummaryRequestDurationList; /** Filters results by entry type (certificate vs. pre-certificate). */ entryType?: CtSummaryRequestEntryTypeList; /** Filters results by expiration status (expired vs. valid). */ expirationStatus?: CtSummaryRequestExpirationStatusList; /** Format in which results will be returned. */ format?: CtSummaryRequestFormat | (string & {}); /** Filters results based on whether the certificates are bound to specific IP addresses. */ hasIps?: CtSummaryRequestHasIpsList; /** Filters results based on whether the certificates contain wildcard domains. */ hasWildcards?: CtSummaryRequestHasWildcardsList; /** 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. */ limitPerGroup?: number; /** Filters results by certificate log. */ log?: CtSummaryRequestLogList; /** Filters results by certificate log API (RFC6962 vs. static). */ logApi?: CtSummaryRequestLogApiList; /** Filters results by certificate log operator. */ logOperator?: CtSummaryRequestLogOperatorList; /** Array of names used to label the series in the response. */ name?: CtSummaryRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: CtSummaryRequestNormalization | (string & {}); /** Filters results by public key algorithm. */ publicKeyAlgorithm?: CtSummaryRequestPublicKeyAlgorithmList; /** Filters results by signature algorithm. */ signatureAlgorithm?: CtSummaryRequestSignatureAlgorithmList; /** Filters results by top-level domain. */ tld?: CtSummaryRequestTldList; /** Specifies whether to filter out duplicate certificates and pre-certificates. Set to true for unique entries only. */ uniqueEntries?: CtSummaryRequestUniqueEntriesList; /** Filters results by validation level. */ validationLevel?: CtSummaryRequestValidationLevelList; } export const SummaryCtRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: CtSummaryRequestDimension.pipe(T.Label()), ca: S.optional(CtSummaryRequestCaList.pipe(T.Query())), caOwner: S.optional(CtSummaryRequestCaOwnerList.pipe(T.Query())), dateEnd: S.optional(CtSummaryRequestDateEndList.pipe(T.Query())), dateRange: S.optional(CtSummaryRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(CtSummaryRequestDateStartList.pipe(T.Query())), duration: S.optional(CtSummaryRequestDurationList.pipe(T.Query())), entryType: S.optional(CtSummaryRequestEntryTypeList.pipe(T.Query())), expirationStatus: S.optional( CtSummaryRequestExpirationStatusList.pipe(T.Query()), ), format: S.optional(CtSummaryRequestFormat.pipe(T.Query())), hasIps: S.optional(CtSummaryRequestHasIpsList.pipe(T.Query())), hasWildcards: S.optional(CtSummaryRequestHasWildcardsList.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), log: S.optional(CtSummaryRequestLogList.pipe(T.Query())), logApi: S.optional(CtSummaryRequestLogApiList.pipe(T.Query())), logOperator: S.optional(CtSummaryRequestLogOperatorList.pipe(T.Query())), name: S.optional(CtSummaryRequestNameList.pipe(T.Query())), normalization: S.optional(CtSummaryRequestNormalization.pipe(T.Query())), publicKeyAlgorithm: S.optional( CtSummaryRequestPublicKeyAlgorithmList.pipe(T.Query()), ), signatureAlgorithm: S.optional( CtSummaryRequestSignatureAlgorithmList.pipe(T.Query()), ), tld: S.optional(CtSummaryRequestTldList.pipe(T.Query())), uniqueEntries: S.optional( CtSummaryRequestUniqueEntriesList.pipe(T.Query()), ), validationLevel: S.optional( CtSummaryRequestValidationLevelList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/ct/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryCtRequest", }) as any as S.Schema; export type CtSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const CtSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type CtSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const CtSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type CtSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const CtSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CtSummaryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: CtSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: CtSummaryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: CtSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const CtSummaryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: CtSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: CtSummaryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr(CtSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList), ), }), ).annotate({ identifier: "CtSummaryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type CtSummaryResponseMetaConfidenceInfoAnnotationsList = Array; export const CtSummaryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( CtSummaryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface CtSummaryResponseMetaConfidenceInfo { annotations: CtSummaryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const CtSummaryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: CtSummaryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "CtSummaryResponseMetaConfidenceInfo", }) as any as S.Schema; export type CtSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const CtSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type CtSummaryResponseMetaDateRangeList = Array; export const CtSummaryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type CtSummaryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const CtSummaryResponseMetaNormalization = /*@__PURE__*/ S.String; export type CtSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const CtSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type CtSummaryResponseMetaUnitsList = Array; export const CtSummaryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface CtSummaryResponseMeta { confidenceInfo: CtSummaryResponseMetaConfidenceInfo; dateRange: CtSummaryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: CtSummaryResponseMetaNormalization; /** Measurement units for the results. */ units: CtSummaryResponseMetaUnitsList; } export const CtSummaryResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: CtSummaryResponseMetaConfidenceInfo, dateRange: CtSummaryResponseMetaDateRangeList, lastUpdated: S.String, normalization: CtSummaryResponseMetaNormalization, units: CtSummaryResponseMetaUnitsList, }), ).annotate({ identifier: "CtSummaryResponseMeta", }) as any as S.Schema; export type CtSummaryResponseSummary0Case0Map = { [key: string]: string | undefined; }; export const CtSummaryResponseSummary0Case0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; export interface CtSummaryResponseSummary0Case1 { rfc6962: string; static: string; } export const CtSummaryResponseSummary0Case1 = /*@__PURE__*/ S.suspend(() => S.Struct({ rfc6962: S.String, static: S.String, }), ).annotate({ identifier: "CtSummaryResponseSummary0Case1", }) as any as S.Schema; export interface CtSummaryResponseSummary0Case2 { gt_121d: string; gt_16d_lte_31d: string; gt_31d_lte_91d: string; gt_3d_lte_16d: string; gt_91d_lte_121d: string; lte_3d: string; } export const CtSummaryResponseSummary0Case2 = /*@__PURE__*/ S.suspend(() => S.Struct({ gt_121d: S.String, gt_16d_lte_31d: S.String, gt_31d_lte_91d: S.String, gt_3d_lte_16d: S.String, gt_91d_lte_121d: S.String, lte_3d: S.String, }), ).annotate({ identifier: "CtSummaryResponseSummary0Case2", }) as any as S.Schema; export interface CtSummaryResponseSummary0Case3 { cERTIFICATE: string; pRECERTIFICATE: string; } export const CtSummaryResponseSummary0Case3 = /*@__PURE__*/ S.suspend(() => S.Struct({ cERTIFICATE: S.String.pipe(T.Body("CERTIFICATE")), pRECERTIFICATE: S.String.pipe(T.Body("PRECERTIFICATE")), }), ).annotate({ identifier: "CtSummaryResponseSummary0Case3", }) as any as S.Schema; export interface CtSummaryResponseSummary0Case4 { eXPIRED: string; vALID: string; } export const CtSummaryResponseSummary0Case4 = /*@__PURE__*/ S.suspend(() => S.Struct({ eXPIRED: S.String.pipe(T.Body("EXPIRED")), vALID: S.String.pipe(T.Body("VALID")), }), ).annotate({ identifier: "CtSummaryResponseSummary0Case4", }) as any as S.Schema; export interface CtSummaryResponseSummary0Case5 { nEGATIVE: string; pOSITIVE: string; } export const CtSummaryResponseSummary0Case5 = /*@__PURE__*/ S.suspend(() => S.Struct({ nEGATIVE: S.String.pipe(T.Body("NEGATIVE")), pOSITIVE: S.String.pipe(T.Body("POSITIVE")), }), ).annotate({ identifier: "CtSummaryResponseSummary0Case5", }) as any as S.Schema; export interface CtSummaryResponseSummary0Case6 { dSA: string; eCDSA: string; rSA: string; } export const CtSummaryResponseSummary0Case6 = /*@__PURE__*/ S.suspend(() => S.Struct({ dSA: S.String.pipe(T.Body("DSA")), eCDSA: S.String.pipe(T.Body("ECDSA")), rSA: S.String.pipe(T.Body("RSA")), }), ).annotate({ identifier: "CtSummaryResponseSummary0Case6", }) as any as S.Schema; export interface CtSummaryResponseSummary0Case7 { domain: string; extended: string; organization: string; unknown: string; } export const CtSummaryResponseSummary0Case7 = /*@__PURE__*/ S.suspend(() => S.Struct({ domain: S.String, extended: S.String, organization: S.String, unknown: S.String, }), ).annotate({ identifier: "CtSummaryResponseSummary0Case7", }) as any as S.Schema; export type CtSummaryResponseSummary0 = | CtSummaryResponseSummary0Case0Map | CtSummaryResponseSummary0Case1 | CtSummaryResponseSummary0Case2 | CtSummaryResponseSummary0Case3 | CtSummaryResponseSummary0Case4 | CtSummaryResponseSummary0Case5 | CtSummaryResponseSummary0Case6 | CtSummaryResponseSummary0Case7; export const CtSummaryResponseSummary0 = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ [], ["rfc6962", "static"], [ "gt_121d", "gt_16d_lte_31d", "gt_31d_lte_91d", "gt_3d_lte_16d", "gt_91d_lte_121d", "lte_3d", ], ["cERTIFICATE", "pRECERTIFICATE"], ["eXPIRED", "vALID"], ["nEGATIVE", "pOSITIVE"], ["dSA", "eCDSA", "rSA"], ["domain", "extended", "organization", "unknown"], ]), ); /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryCtResponse { /** Metadata for the results. */ meta: CtSummaryResponseMeta; summary_0: CtSummaryResponseSummary0; } export const SummaryCtResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: CtSummaryResponseMeta, summary_0: CtSummaryResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryCtResponse", }) as any as S.Schema; export type NetflowsSummaryRequestAsnList = Array; export const NetflowsSummaryRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsSummaryRequestContinentList = Array; export const NetflowsSummaryRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsSummaryRequestDateEndList = Array; export const NetflowsSummaryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsSummaryRequestDateRangeList = Array; export const NetflowsSummaryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsSummaryRequestDateStartList = Array; export const NetflowsSummaryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsSummaryRequestFormat = "JSON" | "CSV"; export const NetflowsSummaryRequestFormat = /*@__PURE__*/ S.String; export type NetflowsSummaryRequestGeoIdList = Array; export const NetflowsSummaryRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsSummaryRequestLocationList = Array; export const NetflowsSummaryRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsSummaryRequestNameList = Array; export const NetflowsSummaryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface SummaryNetflowRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: NetflowsSummaryRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: NetflowsSummaryRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: NetflowsSummaryRequestDateEndList; /** 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). */ dateRange?: NetflowsSummaryRequestDateRangeList; /** Start of the date range. */ dateStart?: NetflowsSummaryRequestDateStartList; /** Format in which results will be returned. */ format?: NetflowsSummaryRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: NetflowsSummaryRequestGeoIdList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: NetflowsSummaryRequestLocationList; /** Array of names used to label the series in the response. */ name?: NetflowsSummaryRequestNameList; } export const SummaryNetflowRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(NetflowsSummaryRequestAsnList.pipe(T.Query())), continent: S.optional(NetflowsSummaryRequestContinentList.pipe(T.Query())), dateEnd: S.optional(NetflowsSummaryRequestDateEndList.pipe(T.Query())), dateRange: S.optional(NetflowsSummaryRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(NetflowsSummaryRequestDateStartList.pipe(T.Query())), format: S.optional(NetflowsSummaryRequestFormat.pipe(T.Query())), geoId: S.optional(NetflowsSummaryRequestGeoIdList.pipe(T.Query())), location: S.optional(NetflowsSummaryRequestLocationList.pipe(T.Query())), name: S.optional(NetflowsSummaryRequestNameList.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/netflows/summary", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryNetflowRequest", }) as any as S.Schema; export type NetflowsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const NetflowsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type NetflowsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const NetflowsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type NetflowsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const NetflowsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface NetflowsSummaryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: NetflowsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: NetflowsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: NetflowsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const NetflowsSummaryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: NetflowsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: NetflowsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( NetflowsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "NetflowsSummaryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type NetflowsSummaryResponseMetaConfidenceInfoAnnotationsList = Array; export const NetflowsSummaryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( NetflowsSummaryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface NetflowsSummaryResponseMetaConfidenceInfo { annotations: NetflowsSummaryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const NetflowsSummaryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: NetflowsSummaryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "NetflowsSummaryResponseMetaConfidenceInfo", }) as any as S.Schema; export type NetflowsSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const NetflowsSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type NetflowsSummaryResponseMetaDateRangeList = Array; export const NetflowsSummaryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type NetflowsSummaryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const NetflowsSummaryResponseMetaNormalization = /*@__PURE__*/ S.String; export type NetflowsSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const NetflowsSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type NetflowsSummaryResponseMetaUnitsList = Array; export const NetflowsSummaryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface NetflowsSummaryResponseMeta { confidenceInfo: NetflowsSummaryResponseMetaConfidenceInfo; dateRange: NetflowsSummaryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: NetflowsSummaryResponseMetaNormalization; /** Measurement units for the results. */ units: NetflowsSummaryResponseMetaUnitsList; } export const NetflowsSummaryResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: NetflowsSummaryResponseMetaConfidenceInfo, dateRange: NetflowsSummaryResponseMetaDateRangeList, lastUpdated: S.String, normalization: NetflowsSummaryResponseMetaNormalization, units: NetflowsSummaryResponseMetaUnitsList, }), ).annotate({ identifier: "NetflowsSummaryResponseMeta", }) as any as S.Schema; export interface NetflowsSummaryResponseSummary0 { /** A numeric string. */ hTTP: string; /** A numeric string. */ oTHER: string; } export const NetflowsSummaryResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ hTTP: S.String.pipe(T.Body("HTTP")), oTHER: S.String.pipe(T.Body("OTHER")), }), ).annotate({ identifier: "NetflowsSummaryResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryNetflowResponse { /** Metadata for the results. */ meta: NetflowsSummaryResponseMeta; summary_0: NetflowsSummaryResponseSummary0; } export const SummaryNetflowResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: NetflowsSummaryResponseMeta, summary_0: NetflowsSummaryResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryNetflowResponse", }) as any as S.Schema; export type PostQuantumOriginSummaryRequestDimension = "KEY_AGREEMENT"; export const PostQuantumOriginSummaryRequestDimension = /*@__PURE__*/ S.String; export type PostQuantumOriginSummaryRequestDateEndList = Array; export const PostQuantumOriginSummaryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type PostQuantumOriginSummaryRequestDateRangeList = Array; export const PostQuantumOriginSummaryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type PostQuantumOriginSummaryRequestDateStartList = Array; export const PostQuantumOriginSummaryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type PostQuantumOriginSummaryRequestFormat = "JSON" | "CSV"; export const PostQuantumOriginSummaryRequestFormat = /*@__PURE__*/ S.String; export type PostQuantumOriginSummaryRequestNameList = Array; export const PostQuantumOriginSummaryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface SummaryPostQuantumOriginRequest { /** Specifies the origin post-quantum data dimension by which to group the results. */ dimension: PostQuantumOriginSummaryRequestDimension | (string & {}); /** End of the date range (inclusive). */ dateEnd?: PostQuantumOriginSummaryRequestDateEndList; /** 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). */ dateRange?: PostQuantumOriginSummaryRequestDateRangeList; /** Start of the date range. */ dateStart?: PostQuantumOriginSummaryRequestDateStartList; /** Format in which results will be returned. */ format?: PostQuantumOriginSummaryRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: PostQuantumOriginSummaryRequestNameList; } export const SummaryPostQuantumOriginRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: PostQuantumOriginSummaryRequestDimension.pipe(T.Label()), dateEnd: S.optional( PostQuantumOriginSummaryRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( PostQuantumOriginSummaryRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( PostQuantumOriginSummaryRequestDateStartList.pipe(T.Query()), ), format: S.optional(PostQuantumOriginSummaryRequestFormat.pipe(T.Query())), name: S.optional(PostQuantumOriginSummaryRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/post_quantum/origin/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryPostQuantumOriginRequest", }) as any as S.Schema; export type PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsList = Array; export const PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface PostQuantumOriginSummaryResponseMetaConfidenceInfo { annotations: PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const PostQuantumOriginSummaryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: PostQuantumOriginSummaryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "PostQuantumOriginSummaryResponseMetaConfidenceInfo", }) as any as S.Schema; export type PostQuantumOriginSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const PostQuantumOriginSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type PostQuantumOriginSummaryResponseMetaDateRangeList = Array; export const PostQuantumOriginSummaryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type PostQuantumOriginSummaryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const PostQuantumOriginSummaryResponseMetaNormalization = /*@__PURE__*/ S.String; export type PostQuantumOriginSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const PostQuantumOriginSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type PostQuantumOriginSummaryResponseMetaUnitsList = Array; export const PostQuantumOriginSummaryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface PostQuantumOriginSummaryResponseMeta { confidenceInfo: PostQuantumOriginSummaryResponseMetaConfidenceInfo; dateRange: PostQuantumOriginSummaryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: PostQuantumOriginSummaryResponseMetaNormalization; /** Measurement units for the results. */ units: PostQuantumOriginSummaryResponseMetaUnitsList; } export const PostQuantumOriginSummaryResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: PostQuantumOriginSummaryResponseMetaConfidenceInfo, dateRange: PostQuantumOriginSummaryResponseMetaDateRangeList, lastUpdated: S.String, normalization: PostQuantumOriginSummaryResponseMetaNormalization, units: PostQuantumOriginSummaryResponseMetaUnitsList, }), ).annotate({ identifier: "PostQuantumOriginSummaryResponseMeta", }) as any as S.Schema; export type PostQuantumOriginSummaryResponseSummary0Map = { [key: string]: string | undefined; }; export const PostQuantumOriginSummaryResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryPostQuantumOriginResponse { /** Metadata for the results. */ meta: PostQuantumOriginSummaryResponseMeta; summary_0: PostQuantumOriginSummaryResponseSummary0Map; } export const SummaryPostQuantumOriginResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: PostQuantumOriginSummaryResponseMeta, summary_0: PostQuantumOriginSummaryResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryPostQuantumOriginResponse", }) as any as S.Schema; export type QualityIqiSummaryRequestMetric = "BANDWIDTH" | "DNS" | "LATENCY"; export const QualityIqiSummaryRequestMetric = /*@__PURE__*/ S.String; export type QualityIqiSummaryRequestAsnList = Array; export const QualityIqiSummaryRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualityIqiSummaryRequestContinentList = Array; export const QualityIqiSummaryRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualityIqiSummaryRequestDateEndList = Array; export const QualityIqiSummaryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualityIqiSummaryRequestDateRangeList = Array; export const QualityIqiSummaryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualityIqiSummaryRequestDateStartList = Array; export const QualityIqiSummaryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualityIqiSummaryRequestFormat = "JSON" | "CSV"; export const QualityIqiSummaryRequestFormat = /*@__PURE__*/ S.String; export type QualityIqiSummaryRequestLocationList = Array; export const QualityIqiSummaryRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualityIqiSummaryRequestNameList = Array; export const QualityIqiSummaryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface SummaryQualityIqiRequest { /** Defines which metric to return (bandwidth, latency, or DNS response time). */ metric: QualityIqiSummaryRequestMetric | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: QualityIqiSummaryRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: QualityIqiSummaryRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: QualityIqiSummaryRequestDateEndList; /** 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). */ dateRange?: QualityIqiSummaryRequestDateRangeList; /** Start of the date range. */ dateStart?: QualityIqiSummaryRequestDateStartList; /** Format in which results will be returned. */ format?: QualityIqiSummaryRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: QualityIqiSummaryRequestLocationList; /** Array of names used to label the series in the response. */ name?: QualityIqiSummaryRequestNameList; } export const SummaryQualityIqiRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ metric: QualityIqiSummaryRequestMetric.pipe(T.Query()), asn: S.optional(QualityIqiSummaryRequestAsnList.pipe(T.Query())), continent: S.optional( QualityIqiSummaryRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(QualityIqiSummaryRequestDateEndList.pipe(T.Query())), dateRange: S.optional( QualityIqiSummaryRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( QualityIqiSummaryRequestDateStartList.pipe(T.Query()), ), format: S.optional(QualityIqiSummaryRequestFormat.pipe(T.Query())), location: S.optional(QualityIqiSummaryRequestLocationList.pipe(T.Query())), name: S.optional(QualityIqiSummaryRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/quality/iqi/summary", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryQualityIqiRequest", }) as any as S.Schema; export type QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsList = Array; export const QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface QualityIqiSummaryResponseMetaConfidenceInfo { annotations: QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const QualityIqiSummaryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: QualityIqiSummaryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "QualityIqiSummaryResponseMetaConfidenceInfo", }) as any as S.Schema; export type QualityIqiSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const QualityIqiSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type QualityIqiSummaryResponseMetaDateRangeList = Array; export const QualityIqiSummaryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type QualityIqiSummaryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const QualityIqiSummaryResponseMetaNormalization = /*@__PURE__*/ S.String; export type QualityIqiSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const QualityIqiSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type QualityIqiSummaryResponseMetaUnitsList = Array; export const QualityIqiSummaryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface QualityIqiSummaryResponseMeta { confidenceInfo: QualityIqiSummaryResponseMetaConfidenceInfo; dateRange: QualityIqiSummaryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: QualityIqiSummaryResponseMetaNormalization; /** Measurement units for the results. */ units: QualityIqiSummaryResponseMetaUnitsList; } export const QualityIqiSummaryResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: QualityIqiSummaryResponseMetaConfidenceInfo, dateRange: QualityIqiSummaryResponseMetaDateRangeList, lastUpdated: S.String, normalization: QualityIqiSummaryResponseMetaNormalization, units: QualityIqiSummaryResponseMetaUnitsList, }), ).annotate({ identifier: "QualityIqiSummaryResponseMeta", }) as any as S.Schema; export interface QualityIqiSummaryResponseSummary0 { p25: string; p50: string; p75: string; } export const QualityIqiSummaryResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ p25: S.String, p50: S.String, p75: S.String, }), ).annotate({ identifier: "QualityIqiSummaryResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryQualityIqiResponse { /** Metadata for the results. */ meta: QualityIqiSummaryResponseMeta; summary_0: QualityIqiSummaryResponseSummary0; } export const SummaryQualityIqiResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: QualityIqiSummaryResponseMeta, summary_0: QualityIqiSummaryResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryQualityIqiResponse", }) as any as S.Schema; export type QualitySpeedSummaryRequestAsnList = Array; export const QualitySpeedSummaryRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedSummaryRequestContinentList = Array; export const QualitySpeedSummaryRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedSummaryRequestDateEndList = Array; export const QualitySpeedSummaryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedSummaryRequestFormat = "JSON" | "CSV"; export const QualitySpeedSummaryRequestFormat = /*@__PURE__*/ S.String; export type QualitySpeedSummaryRequestLocationList = Array; export const QualitySpeedSummaryRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualitySpeedSummaryRequestNameList = Array; export const QualitySpeedSummaryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface SummaryQualitySpeedRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: QualitySpeedSummaryRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: QualitySpeedSummaryRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: QualitySpeedSummaryRequestDateEndList; /** Format in which results will be returned. */ format?: QualitySpeedSummaryRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: QualitySpeedSummaryRequestLocationList; /** Array of names used to label the series in the response. */ name?: QualitySpeedSummaryRequestNameList; } export const SummaryQualitySpeedRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(QualitySpeedSummaryRequestAsnList.pipe(T.Query())), continent: S.optional( QualitySpeedSummaryRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(QualitySpeedSummaryRequestDateEndList.pipe(T.Query())), format: S.optional(QualitySpeedSummaryRequestFormat.pipe(T.Query())), location: S.optional( QualitySpeedSummaryRequestLocationList.pipe(T.Query()), ), name: S.optional(QualitySpeedSummaryRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/quality/speed/summary", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryQualitySpeedRequest", }) as any as S.Schema; export type QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsList = Array; export const QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface QualitySpeedSummaryResponseMetaConfidenceInfo { annotations: QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const QualitySpeedSummaryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: QualitySpeedSummaryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "QualitySpeedSummaryResponseMetaConfidenceInfo", }) as any as S.Schema; export type QualitySpeedSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const QualitySpeedSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type QualitySpeedSummaryResponseMetaDateRangeList = Array; export const QualitySpeedSummaryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type QualitySpeedSummaryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const QualitySpeedSummaryResponseMetaNormalization = /*@__PURE__*/ S.String; export type QualitySpeedSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const QualitySpeedSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type QualitySpeedSummaryResponseMetaUnitsList = Array; export const QualitySpeedSummaryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface QualitySpeedSummaryResponseMeta { confidenceInfo: QualitySpeedSummaryResponseMetaConfidenceInfo; dateRange: QualitySpeedSummaryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: QualitySpeedSummaryResponseMetaNormalization; /** Measurement units for the results. */ units: QualitySpeedSummaryResponseMetaUnitsList; } export const QualitySpeedSummaryResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: QualitySpeedSummaryResponseMetaConfidenceInfo, dateRange: QualitySpeedSummaryResponseMetaDateRangeList, lastUpdated: S.String, normalization: QualitySpeedSummaryResponseMetaNormalization, units: QualitySpeedSummaryResponseMetaUnitsList, }), ).annotate({ identifier: "QualitySpeedSummaryResponseMeta", }) as any as S.Schema; export interface QualitySpeedSummaryResponseSummary0 { bandwidthDownload: string; bandwidthUpload: string; jitterIdle: string; jitterLoaded: string; latencyIdle: string; latencyLoaded: string; packetLoss: string; } export const QualitySpeedSummaryResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ bandwidthDownload: S.String, bandwidthUpload: S.String, jitterIdle: S.String, jitterLoaded: S.String, latencyIdle: S.String, latencyLoaded: S.String, packetLoss: S.String, }), ).annotate({ identifier: "QualitySpeedSummaryResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryQualitySpeedResponse { /** Metadata for the results. */ meta: QualitySpeedSummaryResponseMeta; summary_0: QualitySpeedSummaryResponseSummary0; } export const SummaryQualitySpeedResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: QualitySpeedSummaryResponseMeta, summary_0: QualitySpeedSummaryResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryQualitySpeedResponse", }) as any as S.Schema; export type TcpResetsTimeoutsSummaryRequestAsnList = Array; export const TcpResetsTimeoutsSummaryRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TcpResetsTimeoutsSummaryRequestContinentList = Array; export const TcpResetsTimeoutsSummaryRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TcpResetsTimeoutsSummaryRequestDateEndList = Array; export const TcpResetsTimeoutsSummaryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TcpResetsTimeoutsSummaryRequestDateRangeList = Array; export const TcpResetsTimeoutsSummaryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TcpResetsTimeoutsSummaryRequestDateStartList = Array; export const TcpResetsTimeoutsSummaryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TcpResetsTimeoutsSummaryRequestFormat = "JSON" | "CSV"; export const TcpResetsTimeoutsSummaryRequestFormat = /*@__PURE__*/ S.String; export type TcpResetsTimeoutsSummaryRequestLocationList = Array; export const TcpResetsTimeoutsSummaryRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TcpResetsTimeoutsSummaryRequestNameList = Array; export const TcpResetsTimeoutsSummaryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface SummaryTcpResetsTimeoutRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: TcpResetsTimeoutsSummaryRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: TcpResetsTimeoutsSummaryRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: TcpResetsTimeoutsSummaryRequestDateEndList; /** 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). */ dateRange?: TcpResetsTimeoutsSummaryRequestDateRangeList; /** Start of the date range. */ dateStart?: TcpResetsTimeoutsSummaryRequestDateStartList; /** Format in which results will be returned. */ format?: TcpResetsTimeoutsSummaryRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: TcpResetsTimeoutsSummaryRequestLocationList; /** Array of names used to label the series in the response. */ name?: TcpResetsTimeoutsSummaryRequestNameList; } export const SummaryTcpResetsTimeoutRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(TcpResetsTimeoutsSummaryRequestAsnList.pipe(T.Query())), continent: S.optional( TcpResetsTimeoutsSummaryRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( TcpResetsTimeoutsSummaryRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( TcpResetsTimeoutsSummaryRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( TcpResetsTimeoutsSummaryRequestDateStartList.pipe(T.Query()), ), format: S.optional(TcpResetsTimeoutsSummaryRequestFormat.pipe(T.Query())), location: S.optional( TcpResetsTimeoutsSummaryRequestLocationList.pipe(T.Query()), ), name: S.optional(TcpResetsTimeoutsSummaryRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/tcp_resets_timeouts/summary", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryTcpResetsTimeoutRequest", }) as any as S.Schema; export type TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsList = Array; export const TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface TcpResetsTimeoutsSummaryResponseMetaConfidenceInfo { annotations: TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const TcpResetsTimeoutsSummaryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: TcpResetsTimeoutsSummaryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "TcpResetsTimeoutsSummaryResponseMetaConfidenceInfo", }) as any as S.Schema; export type TcpResetsTimeoutsSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const TcpResetsTimeoutsSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type TcpResetsTimeoutsSummaryResponseMetaDateRangeList = Array; export const TcpResetsTimeoutsSummaryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type TcpResetsTimeoutsSummaryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const TcpResetsTimeoutsSummaryResponseMetaNormalization = /*@__PURE__*/ S.String; export type TcpResetsTimeoutsSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const TcpResetsTimeoutsSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type TcpResetsTimeoutsSummaryResponseMetaUnitsList = Array; export const TcpResetsTimeoutsSummaryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface TcpResetsTimeoutsSummaryResponseMeta { confidenceInfo: TcpResetsTimeoutsSummaryResponseMetaConfidenceInfo; dateRange: TcpResetsTimeoutsSummaryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: TcpResetsTimeoutsSummaryResponseMetaNormalization; /** Measurement units for the results. */ units: TcpResetsTimeoutsSummaryResponseMetaUnitsList; } export const TcpResetsTimeoutsSummaryResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: TcpResetsTimeoutsSummaryResponseMetaConfidenceInfo, dateRange: TcpResetsTimeoutsSummaryResponseMetaDateRangeList, lastUpdated: S.String, normalization: TcpResetsTimeoutsSummaryResponseMetaNormalization, units: TcpResetsTimeoutsSummaryResponseMetaUnitsList, }), ).annotate({ identifier: "TcpResetsTimeoutsSummaryResponseMeta", }) as any as S.Schema; export interface TcpResetsTimeoutsSummaryResponseSummary0 { /** Connection resets within the first 10 packets from the client, but after the server has received multiple data packets. */ laterInFlow: string; /** All other connections. */ noMatch: string; /** Connection resets or timeouts after the server received both a SYN packet and an ACK packet, meaning the connection was successfully established. */ postAck: string; /** Connection resets or timeouts after the server received a packet with PSH flag set, following connection establishment. */ postPsh: string; /** Connection resets or timeouts after the server received only a single SYN packet. */ postSyn: string; } export const TcpResetsTimeoutsSummaryResponseSummary0 = /*@__PURE__*/ S.suspend( () => S.Struct({ laterInFlow: S.String.pipe(T.Body("later_in_flow")), noMatch: S.String.pipe(T.Body("no_match")), postAck: S.String.pipe(T.Body("post_ack")), postPsh: S.String.pipe(T.Body("post_psh")), postSyn: S.String.pipe(T.Body("post_syn")), }), ).annotate({ identifier: "TcpResetsTimeoutsSummaryResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryTcpResetsTimeoutResponse { /** Metadata for the results. */ meta: TcpResetsTimeoutsSummaryResponseMeta; summary_0: TcpResetsTimeoutsSummaryResponseSummary0; } export const SummaryTcpResetsTimeoutResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: TcpResetsTimeoutsSummaryResponseMeta, summary_0: TcpResetsTimeoutsSummaryResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryTcpResetsTimeoutResponse", }) as any as S.Schema; export type AiInferenceSummaryV2RequestDimension = "MODEL" | "TASK"; export const AiInferenceSummaryV2RequestDimension = /*@__PURE__*/ S.String; export type AiInferenceSummaryV2RequestAsnList = Array; export const AiInferenceSummaryV2RequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceSummaryV2RequestContinentList = Array; export const AiInferenceSummaryV2RequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceSummaryV2RequestDateEndList = Array; export const AiInferenceSummaryV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceSummaryV2RequestDateRangeList = Array; export const AiInferenceSummaryV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceSummaryV2RequestDateStartList = Array; export const AiInferenceSummaryV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceSummaryV2RequestFormat = "JSON" | "CSV"; export const AiInferenceSummaryV2RequestFormat = /*@__PURE__*/ S.String; export type AiInferenceSummaryV2RequestLocationList = Array; export const AiInferenceSummaryV2RequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceSummaryV2RequestNameList = Array; export const AiInferenceSummaryV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface SummaryV2AiInferenceRequest { /** Specifies the attribute by which to group the results. */ dimension: AiInferenceSummaryV2RequestDimension | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AiInferenceSummaryV2RequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AiInferenceSummaryV2RequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AiInferenceSummaryV2RequestDateEndList; /** 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). */ dateRange?: AiInferenceSummaryV2RequestDateRangeList; /** Start of the date range. */ dateStart?: AiInferenceSummaryV2RequestDateStartList; /** Format in which results will be returned. */ format?: AiInferenceSummaryV2RequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AiInferenceSummaryV2RequestLocationList; /** Array of names used to label the series in the response. */ name?: AiInferenceSummaryV2RequestNameList; } export const SummaryV2AiInferenceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: AiInferenceSummaryV2RequestDimension.pipe(T.Label()), asn: S.optional(AiInferenceSummaryV2RequestAsnList.pipe(T.Query())), continent: S.optional( AiInferenceSummaryV2RequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(AiInferenceSummaryV2RequestDateEndList.pipe(T.Query())), dateRange: S.optional( AiInferenceSummaryV2RequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AiInferenceSummaryV2RequestDateStartList.pipe(T.Query()), ), format: S.optional(AiInferenceSummaryV2RequestFormat.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AiInferenceSummaryV2RequestLocationList.pipe(T.Query()), ), name: S.optional(AiInferenceSummaryV2RequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/ai/inference/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2AiInferenceRequest", }) as any as S.Schema; export type AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AiInferenceSummaryV2ResponseMetaConfidenceInfo { annotations: AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AiInferenceSummaryV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AiInferenceSummaryV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AiInferenceSummaryV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type AiInferenceSummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AiInferenceSummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AiInferenceSummaryV2ResponseMetaDateRangeList = Array; export const AiInferenceSummaryV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AiInferenceSummaryV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AiInferenceSummaryV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type AiInferenceSummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AiInferenceSummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AiInferenceSummaryV2ResponseMetaUnitsList = Array; export const AiInferenceSummaryV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AiInferenceSummaryV2ResponseMeta { confidenceInfo: AiInferenceSummaryV2ResponseMetaConfidenceInfo; dateRange: AiInferenceSummaryV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AiInferenceSummaryV2ResponseMetaNormalization; /** Measurement units for the results. */ units: AiInferenceSummaryV2ResponseMetaUnitsList; } export const AiInferenceSummaryV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AiInferenceSummaryV2ResponseMetaConfidenceInfo, dateRange: AiInferenceSummaryV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: AiInferenceSummaryV2ResponseMetaNormalization, units: AiInferenceSummaryV2ResponseMetaUnitsList, }), ).annotate({ identifier: "AiInferenceSummaryV2ResponseMeta", }) as any as S.Schema; export type AiInferenceSummaryV2ResponseSummary0Map = { [key: string]: string | undefined; }; export const AiInferenceSummaryV2ResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryV2AiInferenceResponse { /** Metadata for the results. */ meta: AiInferenceSummaryV2ResponseMeta; summary_0: AiInferenceSummaryV2ResponseSummary0Map; } export const SummaryV2AiInferenceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AiInferenceSummaryV2ResponseMeta, summary_0: AiInferenceSummaryV2ResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2AiInferenceResponse", }) as any as S.Schema; export type As112SummaryV2RequestDimension = | "DNSSEC" | "EDNS" | "IP_VERSION" | "PROTOCOL" | "QUERY_TYPE" | "RESPONSE_CODE"; export const As112SummaryV2RequestDimension = /*@__PURE__*/ S.String; export type As112SummaryV2RequestContinentList = Array; export const As112SummaryV2RequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryV2RequestDateEndList = Array; export const As112SummaryV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryV2RequestDateRangeList = Array; export const As112SummaryV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryV2RequestDateStartList = Array; export const As112SummaryV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryV2RequestFormat = "JSON" | "CSV"; export const As112SummaryV2RequestFormat = /*@__PURE__*/ S.String; export type As112SummaryV2RequestLocationList = Array; export const As112SummaryV2RequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryV2RequestNameList = Array; export const As112SummaryV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112SummaryV2RequestProtocol = "UDP" | "TCP" | "HTTPS" | "TLS"; export const As112SummaryV2RequestProtocol = /*@__PURE__*/ S.String; export type As112SummaryV2RequestProtocolList = Array< As112SummaryV2RequestProtocol | (string & {}) >; export const As112SummaryV2RequestProtocolList = /*@__PURE__*/ S.Array( As112SummaryV2RequestProtocol, ) as any as S.Schema; export type As112SummaryV2RequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const As112SummaryV2RequestQueryType = /*@__PURE__*/ S.String; export type As112SummaryV2RequestQueryTypeList = Array< As112SummaryV2RequestQueryType | (string & {}) >; export const As112SummaryV2RequestQueryTypeList = /*@__PURE__*/ S.Array( As112SummaryV2RequestQueryType, ) as any as S.Schema; export type As112SummaryV2RequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const As112SummaryV2RequestResponseCode = /*@__PURE__*/ S.String; export type As112SummaryV2RequestResponseCodeList = Array< As112SummaryV2RequestResponseCode | (string & {}) >; export const As112SummaryV2RequestResponseCodeList = /*@__PURE__*/ S.Array( As112SummaryV2RequestResponseCode, ) as any as S.Schema; export interface SummaryV2As112Request { /** Specifies the attribute by which to group the results. */ dimension: As112SummaryV2RequestDimension | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112SummaryV2RequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112SummaryV2RequestDateEndList; /** 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). */ dateRange?: As112SummaryV2RequestDateRangeList; /** Start of the date range. */ dateStart?: As112SummaryV2RequestDateStartList; /** Format in which results will be returned. */ format?: As112SummaryV2RequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112SummaryV2RequestLocationList; /** Array of names used to label the series in the response. */ name?: As112SummaryV2RequestNameList; /** Filters results by DNS transport protocol. */ protocol?: As112SummaryV2RequestProtocolList; /** Filters results by DNS query type. */ queryType?: As112SummaryV2RequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: As112SummaryV2RequestResponseCodeList; } export const SummaryV2As112Request = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: As112SummaryV2RequestDimension.pipe(T.Label()), continent: S.optional(As112SummaryV2RequestContinentList.pipe(T.Query())), dateEnd: S.optional(As112SummaryV2RequestDateEndList.pipe(T.Query())), dateRange: S.optional(As112SummaryV2RequestDateRangeList.pipe(T.Query())), dateStart: S.optional(As112SummaryV2RequestDateStartList.pipe(T.Query())), format: S.optional(As112SummaryV2RequestFormat.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional(As112SummaryV2RequestLocationList.pipe(T.Query())), name: S.optional(As112SummaryV2RequestNameList.pipe(T.Query())), protocol: S.optional(As112SummaryV2RequestProtocolList.pipe(T.Query())), queryType: S.optional(As112SummaryV2RequestQueryTypeList.pipe(T.Query())), responseCode: S.optional( As112SummaryV2RequestResponseCodeList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2As112Request", }) as any as S.Schema; export type As112SummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112SummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112SummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112SummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112SummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112SummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112SummaryV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112SummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112SummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112SummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112SummaryV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112SummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112SummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112SummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112SummaryV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112SummaryV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const As112SummaryV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112SummaryV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112SummaryV2ResponseMetaConfidenceInfo { annotations: As112SummaryV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112SummaryV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: As112SummaryV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112SummaryV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112SummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112SummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112SummaryV2ResponseMetaDateRangeList = Array; export const As112SummaryV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112SummaryV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112SummaryV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112SummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112SummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112SummaryV2ResponseMetaUnitsList = Array; export const As112SummaryV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112SummaryV2ResponseMeta { confidenceInfo: As112SummaryV2ResponseMetaConfidenceInfo; dateRange: As112SummaryV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112SummaryV2ResponseMetaNormalization; /** Measurement units for the results. */ units: As112SummaryV2ResponseMetaUnitsList; } export const As112SummaryV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: As112SummaryV2ResponseMetaConfidenceInfo, dateRange: As112SummaryV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112SummaryV2ResponseMetaNormalization, units: As112SummaryV2ResponseMetaUnitsList, }), ).annotate({ identifier: "As112SummaryV2ResponseMeta", }) as any as S.Schema; export type As112SummaryV2ResponseSummary0Map = { [key: string]: string | undefined; }; export const As112SummaryV2ResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryV2As112Response { /** Metadata for the results. */ meta: As112SummaryV2ResponseMeta; summary_0: As112SummaryV2ResponseSummary0Map; } export const SummaryV2As112Response = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: As112SummaryV2ResponseMeta, summary_0: As112SummaryV2ResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2As112Response", }) as any as S.Schema; export type AttacksLayer3SummaryV2RequestDimension = | "PROTOCOL" | "IP_VERSION" | "VECTOR" | "DURATION" | "BITRATE" | "VERTICAL" | "INDUSTRY"; export const AttacksLayer3SummaryV2RequestDimension = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryV2RequestContinentList = Array; export const AttacksLayer3SummaryV2RequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryV2RequestDateEndList = Array; export const AttacksLayer3SummaryV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryV2RequestDateRangeList = Array; export const AttacksLayer3SummaryV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryV2RequestDateStartList = Array; export const AttacksLayer3SummaryV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryV2RequestDirection = "ORIGIN" | "TARGET"; export const AttacksLayer3SummaryV2RequestDirection = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryV2RequestFormat = "JSON" | "CSV"; export const AttacksLayer3SummaryV2RequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryV2RequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer3SummaryV2RequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryV2RequestIpVersionList = Array< AttacksLayer3SummaryV2RequestIpVersion | (string & {}) >; export const AttacksLayer3SummaryV2RequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryV2RequestIpVersion, ) as any as S.Schema; export type AttacksLayer3SummaryV2RequestLocationList = Array; export const AttacksLayer3SummaryV2RequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryV2RequestNameList = Array; export const AttacksLayer3SummaryV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryV2RequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3SummaryV2RequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryV2RequestProtocolList = Array< AttacksLayer3SummaryV2RequestProtocol | (string & {}) >; export const AttacksLayer3SummaryV2RequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryV2RequestProtocol, ) as any as S.Schema; export interface SummaryV2AttackLayer3Request { /** Specifies the attribute by which to group the results. */ dimension: AttacksLayer3SummaryV2RequestDimension | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3SummaryV2RequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3SummaryV2RequestDateEndList; /** 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). */ dateRange?: AttacksLayer3SummaryV2RequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3SummaryV2RequestDateStartList; /** Specifies whether the `location` filter applies to the source or target location. */ direction?: AttacksLayer3SummaryV2RequestDirection | (string & {}); /** Format in which results will be returned. */ format?: AttacksLayer3SummaryV2RequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3SummaryV2RequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3SummaryV2RequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3SummaryV2RequestNameList; /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3SummaryV2RequestProtocolList; } export const SummaryV2AttackLayer3Request = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: AttacksLayer3SummaryV2RequestDimension.pipe(T.Label()), continent: S.optional( AttacksLayer3SummaryV2RequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer3SummaryV2RequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3SummaryV2RequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer3SummaryV2RequestDateStartList.pipe(T.Query()), ), direction: S.optional( AttacksLayer3SummaryV2RequestDirection.pipe(T.Query()), ), format: S.optional(AttacksLayer3SummaryV2RequestFormat.pipe(T.Query())), ipVersion: S.optional( AttacksLayer3SummaryV2RequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer3SummaryV2RequestLocationList.pipe(T.Query()), ), name: S.optional(AttacksLayer3SummaryV2RequestNameList.pipe(T.Query())), protocol: S.optional( AttacksLayer3SummaryV2RequestProtocolList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2AttackLayer3Request", }) as any as S.Schema; export type AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3SummaryV2ResponseMetaConfidenceInfo { annotations: AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3SummaryV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3SummaryV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3SummaryV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3SummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3SummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3SummaryV2ResponseMetaDateRangeList = Array; export const AttacksLayer3SummaryV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3SummaryV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3SummaryV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3SummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3SummaryV2ResponseMetaUnitsList = Array; export const AttacksLayer3SummaryV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3SummaryV2ResponseMeta { confidenceInfo: AttacksLayer3SummaryV2ResponseMetaConfidenceInfo; dateRange: AttacksLayer3SummaryV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3SummaryV2ResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3SummaryV2ResponseMetaUnitsList; } export const AttacksLayer3SummaryV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AttacksLayer3SummaryV2ResponseMetaConfidenceInfo, dateRange: AttacksLayer3SummaryV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3SummaryV2ResponseMetaNormalization, units: AttacksLayer3SummaryV2ResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3SummaryV2ResponseMeta", }) as any as S.Schema; export type AttacksLayer3SummaryV2ResponseSummary0Map = { [key: string]: string | undefined; }; export const AttacksLayer3SummaryV2ResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryV2AttackLayer3Response { /** Metadata for the results. */ meta: AttacksLayer3SummaryV2ResponseMeta; summary_0: AttacksLayer3SummaryV2ResponseSummary0Map; } export const SummaryV2AttackLayer3Response = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3SummaryV2ResponseMeta, summary_0: AttacksLayer3SummaryV2ResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2AttackLayer3Response", }) as any as S.Schema; export type AttacksLayer7SummaryV2RequestDimension = | "HTTP_METHOD" | "HTTP_VERSION" | "IP_VERSION" | "MANAGED_RULES" | "MITIGATION_PRODUCT" | "VERTICAL" | "INDUSTRY"; export const AttacksLayer7SummaryV2RequestDimension = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryV2RequestAsnList = Array; export const AttacksLayer7SummaryV2RequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryV2RequestContinentList = Array; export const AttacksLayer7SummaryV2RequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryV2RequestDateEndList = Array; export const AttacksLayer7SummaryV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryV2RequestDateRangeList = Array; export const AttacksLayer7SummaryV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryV2RequestDateStartList = Array; export const AttacksLayer7SummaryV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryV2RequestFormat = "JSON" | "CSV"; export const AttacksLayer7SummaryV2RequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryV2RequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7SummaryV2RequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryV2RequestHttpMethodList = Array< AttacksLayer7SummaryV2RequestHttpMethod | (string & {}) >; export const AttacksLayer7SummaryV2RequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryV2RequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7SummaryV2RequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7SummaryV2RequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryV2RequestHttpVersionList = Array< AttacksLayer7SummaryV2RequestHttpVersion | (string & {}) >; export const AttacksLayer7SummaryV2RequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryV2RequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7SummaryV2RequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer7SummaryV2RequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryV2RequestIpVersionList = Array< AttacksLayer7SummaryV2RequestIpVersion | (string & {}) >; export const AttacksLayer7SummaryV2RequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryV2RequestIpVersion, ) as any as S.Schema; export type AttacksLayer7SummaryV2RequestLocationList = Array; export const AttacksLayer7SummaryV2RequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryV2RequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7SummaryV2RequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryV2RequestMitigationProductList = Array< AttacksLayer7SummaryV2RequestMitigationProduct | (string & {}) >; export const AttacksLayer7SummaryV2RequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryV2RequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7SummaryV2RequestNameList = Array; export const AttacksLayer7SummaryV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface SummaryV2AttackLayer7Request { /** Specifies the attribute by which to group the results. */ dimension: AttacksLayer7SummaryV2RequestDimension | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7SummaryV2RequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7SummaryV2RequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7SummaryV2RequestDateEndList; /** 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). */ dateRange?: AttacksLayer7SummaryV2RequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7SummaryV2RequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7SummaryV2RequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7SummaryV2RequestHttpMethodList; /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7SummaryV2RequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7SummaryV2RequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7SummaryV2RequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7SummaryV2RequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7SummaryV2RequestNameList; } export const SummaryV2AttackLayer7Request = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: AttacksLayer7SummaryV2RequestDimension.pipe(T.Label()), asn: S.optional(AttacksLayer7SummaryV2RequestAsnList.pipe(T.Query())), continent: S.optional( AttacksLayer7SummaryV2RequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer7SummaryV2RequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7SummaryV2RequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer7SummaryV2RequestDateStartList.pipe(T.Query()), ), format: S.optional(AttacksLayer7SummaryV2RequestFormat.pipe(T.Query())), httpMethod: S.optional( AttacksLayer7SummaryV2RequestHttpMethodList.pipe(T.Query()), ), httpVersion: S.optional( AttacksLayer7SummaryV2RequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer7SummaryV2RequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer7SummaryV2RequestLocationList.pipe(T.Query()), ), mitigationProduct: S.optional( AttacksLayer7SummaryV2RequestMitigationProductList.pipe(T.Query()), ), name: S.optional(AttacksLayer7SummaryV2RequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2AttackLayer7Request", }) as any as S.Schema; export type AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7SummaryV2ResponseMetaConfidenceInfo { annotations: AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7SummaryV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7SummaryV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7SummaryV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7SummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7SummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7SummaryV2ResponseMetaDateRangeList = Array; export const AttacksLayer7SummaryV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7SummaryV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7SummaryV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7SummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7SummaryV2ResponseMetaUnitsList = Array; export const AttacksLayer7SummaryV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7SummaryV2ResponseMeta { confidenceInfo: AttacksLayer7SummaryV2ResponseMetaConfidenceInfo; dateRange: AttacksLayer7SummaryV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7SummaryV2ResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7SummaryV2ResponseMetaUnitsList; } export const AttacksLayer7SummaryV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AttacksLayer7SummaryV2ResponseMetaConfidenceInfo, dateRange: AttacksLayer7SummaryV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7SummaryV2ResponseMetaNormalization, units: AttacksLayer7SummaryV2ResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7SummaryV2ResponseMeta", }) as any as S.Schema; export type AttacksLayer7SummaryV2ResponseSummary0Map = { [key: string]: string | undefined; }; export const AttacksLayer7SummaryV2ResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryV2AttackLayer7Response { /** Metadata for the results. */ meta: AttacksLayer7SummaryV2ResponseMeta; summary_0: AttacksLayer7SummaryV2ResponseSummary0Map; } export const SummaryV2AttackLayer7Response = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer7SummaryV2ResponseMeta, summary_0: AttacksLayer7SummaryV2ResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2AttackLayer7Response", }) as any as S.Schema; export type DnsSummaryV2RequestDimension = | "AS" | "CACHE_HIT" | "DNSSEC" | "DNSSEC_AWARE" | "DNSSEC_E2E" | "IP_VERSION" | "LOCATION" | "MATCHING_ANSWER" | "PROTOCOL" | "QUERY_TYPE" | "RESPONSE_CODE" | "RESPONSE_TTL" | "TLD" | "TLD_DNS_MAGNITUDE"; export const DnsSummaryV2RequestDimension = /*@__PURE__*/ S.String; export type DnsSummaryV2RequestAsnList = Array; export const DnsSummaryV2RequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryV2RequestCacheHitList = Array; export const DnsSummaryV2RequestCacheHitList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsSummaryV2RequestContinentList = Array; export const DnsSummaryV2RequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryV2RequestDateEndList = Array; export const DnsSummaryV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryV2RequestDateRangeList = Array; export const DnsSummaryV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryV2RequestDateStartList = Array; export const DnsSummaryV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryV2RequestDnssec = | "INVALID" | "INSECURE" | "SECURE" | "OTHER"; export const DnsSummaryV2RequestDnssec = /*@__PURE__*/ S.String; export type DnsSummaryV2RequestDnssecList = Array< DnsSummaryV2RequestDnssec | (string & {}) >; export const DnsSummaryV2RequestDnssecList = /*@__PURE__*/ S.Array( DnsSummaryV2RequestDnssec, ) as any as S.Schema; export type DnsSummaryV2RequestDnssecAware = "SUPPORTED" | "NOT_SUPPORTED"; export const DnsSummaryV2RequestDnssecAware = /*@__PURE__*/ S.String; export type DnsSummaryV2RequestDnssecAwareList = Array< DnsSummaryV2RequestDnssecAware | (string & {}) >; export const DnsSummaryV2RequestDnssecAwareList = /*@__PURE__*/ S.Array( DnsSummaryV2RequestDnssecAware, ) as any as S.Schema; export type DnsSummaryV2RequestDnssecE2eList = Array; export const DnsSummaryV2RequestDnssecE2eList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsSummaryV2RequestFormat = "JSON" | "CSV"; export const DnsSummaryV2RequestFormat = /*@__PURE__*/ S.String; export type DnsSummaryV2RequestIpVersion = "IPv4" | "IPv6"; export const DnsSummaryV2RequestIpVersion = /*@__PURE__*/ S.String; export type DnsSummaryV2RequestIpVersionList = Array< DnsSummaryV2RequestIpVersion | (string & {}) >; export const DnsSummaryV2RequestIpVersionList = /*@__PURE__*/ S.Array( DnsSummaryV2RequestIpVersion, ) as any as S.Schema; export type DnsSummaryV2RequestLocationList = Array; export const DnsSummaryV2RequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryV2RequestMatchingAnswerList = Array; export const DnsSummaryV2RequestMatchingAnswerList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsSummaryV2RequestNameList = Array; export const DnsSummaryV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsSummaryV2RequestNodataList = Array; export const DnsSummaryV2RequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsSummaryV2RequestProtocol = "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsSummaryV2RequestProtocol = /*@__PURE__*/ S.String; export type DnsSummaryV2RequestProtocolList = Array< DnsSummaryV2RequestProtocol | (string & {}) >; export const DnsSummaryV2RequestProtocolList = /*@__PURE__*/ S.Array( DnsSummaryV2RequestProtocol, ) as any as S.Schema; export type DnsSummaryV2RequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsSummaryV2RequestQueryType = /*@__PURE__*/ S.String; export type DnsSummaryV2RequestQueryTypeList = Array< DnsSummaryV2RequestQueryType | (string & {}) >; export const DnsSummaryV2RequestQueryTypeList = /*@__PURE__*/ S.Array( DnsSummaryV2RequestQueryType, ) as any as S.Schema; export type DnsSummaryV2RequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsSummaryV2RequestResponseCode = /*@__PURE__*/ S.String; export type DnsSummaryV2RequestResponseCodeList = Array< DnsSummaryV2RequestResponseCode | (string & {}) >; export const DnsSummaryV2RequestResponseCodeList = /*@__PURE__*/ S.Array( DnsSummaryV2RequestResponseCode, ) as any as S.Schema; export type DnsSummaryV2RequestResponseTtl = | "LTE_1M" | "GT_1M_LTE_5M" | "GT_5M_LTE_15M" | "GT_15M_LTE_1H" | "GT_1H_LTE_1D" | "GT_1D_LTE_1W" | "GT_1W"; export const DnsSummaryV2RequestResponseTtl = /*@__PURE__*/ S.String; export type DnsSummaryV2RequestResponseTtlList = Array< DnsSummaryV2RequestResponseTtl | (string & {}) >; export const DnsSummaryV2RequestResponseTtlList = /*@__PURE__*/ S.Array( DnsSummaryV2RequestResponseTtl, ) as any as S.Schema; export type DnsSummaryV2RequestTldList = Array; export const DnsSummaryV2RequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface SummaryV2DnsRequest { /** Specifies the attribute by which to group the results. */ dimension: DnsSummaryV2RequestDimension | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsSummaryV2RequestAsnList; /** Filters results based on cache status. */ cacheHit?: DnsSummaryV2RequestCacheHitList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsSummaryV2RequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsSummaryV2RequestDateEndList; /** 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). */ dateRange?: DnsSummaryV2RequestDateRangeList; /** Start of the date range. */ dateStart?: DnsSummaryV2RequestDateStartList; /** Filters results based on DNSSEC (DNS Security Extensions) support. */ dnssec?: DnsSummaryV2RequestDnssecList; /** Filters results based on DNSSEC (DNS Security Extensions) client awareness. */ dnssecAware?: DnsSummaryV2RequestDnssecAwareList; /** Filters results based on DNSSEC-validated answers by end-to-end security status. */ dnssecE2e?: DnsSummaryV2RequestDnssecE2eList; /** Format in which results will be returned. */ format?: DnsSummaryV2RequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: DnsSummaryV2RequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsSummaryV2RequestLocationList; /** Filters results based on whether the queries have a matching answer. */ matchingAnswer?: DnsSummaryV2RequestMatchingAnswerList; /** Array of names used to label the series in the response. */ name?: DnsSummaryV2RequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsSummaryV2RequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsSummaryV2RequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsSummaryV2RequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsSummaryV2RequestResponseCodeList; /** Filters results by DNS response TTL. */ responseTtl?: DnsSummaryV2RequestResponseTtlList; /** Filters results by top-level domain. */ tld?: DnsSummaryV2RequestTldList; } export const SummaryV2DnsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: DnsSummaryV2RequestDimension.pipe(T.Label()), asn: S.optional(DnsSummaryV2RequestAsnList.pipe(T.Query())), cacheHit: S.optional(DnsSummaryV2RequestCacheHitList.pipe(T.Query())), continent: S.optional(DnsSummaryV2RequestContinentList.pipe(T.Query())), dateEnd: S.optional(DnsSummaryV2RequestDateEndList.pipe(T.Query())), dateRange: S.optional(DnsSummaryV2RequestDateRangeList.pipe(T.Query())), dateStart: S.optional(DnsSummaryV2RequestDateStartList.pipe(T.Query())), dnssec: S.optional(DnsSummaryV2RequestDnssecList.pipe(T.Query())), dnssecAware: S.optional(DnsSummaryV2RequestDnssecAwareList.pipe(T.Query())), dnssecE2e: S.optional(DnsSummaryV2RequestDnssecE2eList.pipe(T.Query())), format: S.optional(DnsSummaryV2RequestFormat.pipe(T.Query())), ipVersion: S.optional(DnsSummaryV2RequestIpVersionList.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional(DnsSummaryV2RequestLocationList.pipe(T.Query())), matchingAnswer: S.optional( DnsSummaryV2RequestMatchingAnswerList.pipe(T.Query()), ), name: S.optional(DnsSummaryV2RequestNameList.pipe(T.Query())), nodata: S.optional(DnsSummaryV2RequestNodataList.pipe(T.Query())), protocol: S.optional(DnsSummaryV2RequestProtocolList.pipe(T.Query())), queryType: S.optional(DnsSummaryV2RequestQueryTypeList.pipe(T.Query())), responseCode: S.optional( DnsSummaryV2RequestResponseCodeList.pipe(T.Query()), ), responseTtl: S.optional(DnsSummaryV2RequestResponseTtlList.pipe(T.Query())), tld: S.optional(DnsSummaryV2RequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2DnsRequest", }) as any as S.Schema; export type DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr(DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList), ), }), ).annotate({ identifier: "DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsSummaryV2ResponseMetaConfidenceInfo { annotations: DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsSummaryV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: DnsSummaryV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsSummaryV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsSummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsSummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsSummaryV2ResponseMetaDateRangeList = Array; export const DnsSummaryV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsSummaryV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsSummaryV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsSummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsSummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsSummaryV2ResponseMetaUnitsList = Array; export const DnsSummaryV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsSummaryV2ResponseMeta { confidenceInfo: DnsSummaryV2ResponseMetaConfidenceInfo; dateRange: DnsSummaryV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsSummaryV2ResponseMetaNormalization; /** Measurement units for the results. */ units: DnsSummaryV2ResponseMetaUnitsList; } export const DnsSummaryV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: DnsSummaryV2ResponseMetaConfidenceInfo, dateRange: DnsSummaryV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsSummaryV2ResponseMetaNormalization, units: DnsSummaryV2ResponseMetaUnitsList, }), ).annotate({ identifier: "DnsSummaryV2ResponseMeta", }) as any as S.Schema; export type DnsSummaryV2ResponseSummary0Map = { [key: string]: string | undefined; }; export const DnsSummaryV2ResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryV2DnsResponse { /** Metadata for the results. */ meta: DnsSummaryV2ResponseMeta; summary_0: DnsSummaryV2ResponseSummary0Map; } export const SummaryV2DnsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsSummaryV2ResponseMeta, summary_0: DnsSummaryV2ResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2DnsResponse", }) as any as S.Schema; export type EmailRoutingSummaryV2RequestDimension = | "IP_VERSION" | "ENCRYPTED" | "ARC" | "DKIM" | "DMARC" | "SPF"; export const EmailRoutingSummaryV2RequestDimension = /*@__PURE__*/ S.String; export type EmailRoutingSummaryV2RequestArc = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryV2RequestArc = /*@__PURE__*/ S.String; export type EmailRoutingSummaryV2RequestArcList = Array< EmailRoutingSummaryV2RequestArc | (string & {}) >; export const EmailRoutingSummaryV2RequestArcList = /*@__PURE__*/ S.Array( EmailRoutingSummaryV2RequestArc, ) as any as S.Schema; export type EmailRoutingSummaryV2RequestDateEndList = Array; export const EmailRoutingSummaryV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryV2RequestDateRangeList = Array; export const EmailRoutingSummaryV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryV2RequestDateStartList = Array; export const EmailRoutingSummaryV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryV2RequestDkim = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryV2RequestDkim = /*@__PURE__*/ S.String; export type EmailRoutingSummaryV2RequestDkimList = Array< EmailRoutingSummaryV2RequestDkim | (string & {}) >; export const EmailRoutingSummaryV2RequestDkimList = /*@__PURE__*/ S.Array( EmailRoutingSummaryV2RequestDkim, ) as any as S.Schema; export type EmailRoutingSummaryV2RequestDmarc = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryV2RequestDmarc = /*@__PURE__*/ S.String; export type EmailRoutingSummaryV2RequestDmarcList = Array< EmailRoutingSummaryV2RequestDmarc | (string & {}) >; export const EmailRoutingSummaryV2RequestDmarcList = /*@__PURE__*/ S.Array( EmailRoutingSummaryV2RequestDmarc, ) as any as S.Schema; export type EmailRoutingSummaryV2RequestEncrypted = | "ENCRYPTED" | "NOT_ENCRYPTED"; export const EmailRoutingSummaryV2RequestEncrypted = /*@__PURE__*/ S.String; export type EmailRoutingSummaryV2RequestEncryptedList = Array< EmailRoutingSummaryV2RequestEncrypted | (string & {}) >; export const EmailRoutingSummaryV2RequestEncryptedList = /*@__PURE__*/ S.Array( EmailRoutingSummaryV2RequestEncrypted, ) as any as S.Schema; export type EmailRoutingSummaryV2RequestFormat = "JSON" | "CSV"; export const EmailRoutingSummaryV2RequestFormat = /*@__PURE__*/ S.String; export type EmailRoutingSummaryV2RequestIpVersion = "IPv4" | "IPv6"; export const EmailRoutingSummaryV2RequestIpVersion = /*@__PURE__*/ S.String; export type EmailRoutingSummaryV2RequestIpVersionList = Array< EmailRoutingSummaryV2RequestIpVersion | (string & {}) >; export const EmailRoutingSummaryV2RequestIpVersionList = /*@__PURE__*/ S.Array( EmailRoutingSummaryV2RequestIpVersion, ) as any as S.Schema; export type EmailRoutingSummaryV2RequestNameList = Array; export const EmailRoutingSummaryV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingSummaryV2RequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailRoutingSummaryV2RequestSpf = /*@__PURE__*/ S.String; export type EmailRoutingSummaryV2RequestSpfList = Array< EmailRoutingSummaryV2RequestSpf | (string & {}) >; export const EmailRoutingSummaryV2RequestSpfList = /*@__PURE__*/ S.Array( EmailRoutingSummaryV2RequestSpf, ) as any as S.Schema; export interface SummaryV2EmailRoutingRequest { /** Specifies the attribute by which to group the results. */ dimension: EmailRoutingSummaryV2RequestDimension | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailRoutingSummaryV2RequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailRoutingSummaryV2RequestDateEndList; /** 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). */ dateRange?: EmailRoutingSummaryV2RequestDateRangeList; /** Start of the date range. */ dateStart?: EmailRoutingSummaryV2RequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailRoutingSummaryV2RequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailRoutingSummaryV2RequestDmarcList; /** Filters results by encryption status (encrypted vs. not-encrypted). */ encrypted?: EmailRoutingSummaryV2RequestEncryptedList; /** Format in which results will be returned. */ format?: EmailRoutingSummaryV2RequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: EmailRoutingSummaryV2RequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Array of names used to label the series in the response. */ name?: EmailRoutingSummaryV2RequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailRoutingSummaryV2RequestSpfList; } export const SummaryV2EmailRoutingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: EmailRoutingSummaryV2RequestDimension.pipe(T.Label()), arc: S.optional(EmailRoutingSummaryV2RequestArcList.pipe(T.Query())), dateEnd: S.optional( EmailRoutingSummaryV2RequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailRoutingSummaryV2RequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailRoutingSummaryV2RequestDateStartList.pipe(T.Query()), ), dkim: S.optional(EmailRoutingSummaryV2RequestDkimList.pipe(T.Query())), dmarc: S.optional(EmailRoutingSummaryV2RequestDmarcList.pipe(T.Query())), encrypted: S.optional( EmailRoutingSummaryV2RequestEncryptedList.pipe(T.Query()), ), format: S.optional(EmailRoutingSummaryV2RequestFormat.pipe(T.Query())), ipVersion: S.optional( EmailRoutingSummaryV2RequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), name: S.optional(EmailRoutingSummaryV2RequestNameList.pipe(T.Query())), spf: S.optional(EmailRoutingSummaryV2RequestSpfList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/routing/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2EmailRoutingRequest", }) as any as S.Schema; export type EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailRoutingSummaryV2ResponseMetaConfidenceInfo { annotations: EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailRoutingSummaryV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailRoutingSummaryV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailRoutingSummaryV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailRoutingSummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailRoutingSummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailRoutingSummaryV2ResponseMetaDateRangeList = Array; export const EmailRoutingSummaryV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailRoutingSummaryV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailRoutingSummaryV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailRoutingSummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailRoutingSummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailRoutingSummaryV2ResponseMetaUnitsList = Array; export const EmailRoutingSummaryV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailRoutingSummaryV2ResponseMeta { confidenceInfo: EmailRoutingSummaryV2ResponseMetaConfidenceInfo; dateRange: EmailRoutingSummaryV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailRoutingSummaryV2ResponseMetaNormalization; /** Measurement units for the results. */ units: EmailRoutingSummaryV2ResponseMetaUnitsList; } export const EmailRoutingSummaryV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: EmailRoutingSummaryV2ResponseMetaConfidenceInfo, dateRange: EmailRoutingSummaryV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailRoutingSummaryV2ResponseMetaNormalization, units: EmailRoutingSummaryV2ResponseMetaUnitsList, }), ).annotate({ identifier: "EmailRoutingSummaryV2ResponseMeta", }) as any as S.Schema; export type EmailRoutingSummaryV2ResponseSummary0Map = { [key: string]: string | undefined; }; export const EmailRoutingSummaryV2ResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryV2EmailRoutingResponse { /** Metadata for the results. */ meta: EmailRoutingSummaryV2ResponseMeta; summary_0: EmailRoutingSummaryV2ResponseSummary0Map; } export const SummaryV2EmailRoutingResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailRoutingSummaryV2ResponseMeta, summary_0: EmailRoutingSummaryV2ResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2EmailRoutingResponse", }) as any as S.Schema; export type EmailSecuritySummaryV2RequestDimension = | "SPAM" | "MALICIOUS" | "SPOOF" | "THREAT_CATEGORY" | "ARC" | "DKIM" | "DMARC" | "SPF" | "TLS_VERSION"; export const EmailSecuritySummaryV2RequestDimension = /*@__PURE__*/ S.String; export type EmailSecuritySummaryV2RequestArc = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryV2RequestArc = /*@__PURE__*/ S.String; export type EmailSecuritySummaryV2RequestArcList = Array< EmailSecuritySummaryV2RequestArc | (string & {}) >; export const EmailSecuritySummaryV2RequestArcList = /*@__PURE__*/ S.Array( EmailSecuritySummaryV2RequestArc, ) as any as S.Schema; export type EmailSecuritySummaryV2RequestDateEndList = Array; export const EmailSecuritySummaryV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryV2RequestDateRangeList = Array; export const EmailSecuritySummaryV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryV2RequestDateStartList = Array; export const EmailSecuritySummaryV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryV2RequestDkim = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryV2RequestDkim = /*@__PURE__*/ S.String; export type EmailSecuritySummaryV2RequestDkimList = Array< EmailSecuritySummaryV2RequestDkim | (string & {}) >; export const EmailSecuritySummaryV2RequestDkimList = /*@__PURE__*/ S.Array( EmailSecuritySummaryV2RequestDkim, ) as any as S.Schema; export type EmailSecuritySummaryV2RequestDmarc = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryV2RequestDmarc = /*@__PURE__*/ S.String; export type EmailSecuritySummaryV2RequestDmarcList = Array< EmailSecuritySummaryV2RequestDmarc | (string & {}) >; export const EmailSecuritySummaryV2RequestDmarcList = /*@__PURE__*/ S.Array( EmailSecuritySummaryV2RequestDmarc, ) as any as S.Schema; export type EmailSecuritySummaryV2RequestFormat = "JSON" | "CSV"; export const EmailSecuritySummaryV2RequestFormat = /*@__PURE__*/ S.String; export type EmailSecuritySummaryV2RequestNameList = Array; export const EmailSecuritySummaryV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryV2RequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryV2RequestSpf = /*@__PURE__*/ S.String; export type EmailSecuritySummaryV2RequestSpfList = Array< EmailSecuritySummaryV2RequestSpf | (string & {}) >; export const EmailSecuritySummaryV2RequestSpfList = /*@__PURE__*/ S.Array( EmailSecuritySummaryV2RequestSpf, ) as any as S.Schema; export type EmailSecuritySummaryV2RequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecuritySummaryV2RequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecuritySummaryV2RequestTlsVersionList = Array< EmailSecuritySummaryV2RequestTlsVersion | (string & {}) >; export const EmailSecuritySummaryV2RequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecuritySummaryV2RequestTlsVersion, ) as any as S.Schema; export interface SummaryV2EmailSecurityRequest { /** Specifies the attribute by which to group the results. */ dimension: EmailSecuritySummaryV2RequestDimension | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecuritySummaryV2RequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecuritySummaryV2RequestDateEndList; /** 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). */ dateRange?: EmailSecuritySummaryV2RequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecuritySummaryV2RequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecuritySummaryV2RequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecuritySummaryV2RequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecuritySummaryV2RequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Array of names used to label the series in the response. */ name?: EmailSecuritySummaryV2RequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecuritySummaryV2RequestSpfList; /** Filters results by TLS version. */ tlsVersion?: EmailSecuritySummaryV2RequestTlsVersionList; } export const SummaryV2EmailSecurityRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: EmailSecuritySummaryV2RequestDimension.pipe(T.Label()), arc: S.optional(EmailSecuritySummaryV2RequestArcList.pipe(T.Query())), dateEnd: S.optional( EmailSecuritySummaryV2RequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecuritySummaryV2RequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecuritySummaryV2RequestDateStartList.pipe(T.Query()), ), dkim: S.optional(EmailSecuritySummaryV2RequestDkimList.pipe(T.Query())), dmarc: S.optional(EmailSecuritySummaryV2RequestDmarcList.pipe(T.Query())), format: S.optional(EmailSecuritySummaryV2RequestFormat.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), name: S.optional(EmailSecuritySummaryV2RequestNameList.pipe(T.Query())), spf: S.optional(EmailSecuritySummaryV2RequestSpfList.pipe(T.Query())), tlsVersion: S.optional( EmailSecuritySummaryV2RequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2EmailSecurityRequest", }) as any as S.Schema; export type EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecuritySummaryV2ResponseMetaConfidenceInfo { annotations: EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecuritySummaryV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecuritySummaryV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecuritySummaryV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecuritySummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecuritySummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecuritySummaryV2ResponseMetaDateRangeList = Array; export const EmailSecuritySummaryV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecuritySummaryV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecuritySummaryV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecuritySummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecuritySummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecuritySummaryV2ResponseMetaUnitsList = Array; export const EmailSecuritySummaryV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecuritySummaryV2ResponseMeta { confidenceInfo: EmailSecuritySummaryV2ResponseMetaConfidenceInfo; dateRange: EmailSecuritySummaryV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecuritySummaryV2ResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecuritySummaryV2ResponseMetaUnitsList; } export const EmailSecuritySummaryV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: EmailSecuritySummaryV2ResponseMetaConfidenceInfo, dateRange: EmailSecuritySummaryV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecuritySummaryV2ResponseMetaNormalization, units: EmailSecuritySummaryV2ResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecuritySummaryV2ResponseMeta", }) as any as S.Schema; export type EmailSecuritySummaryV2ResponseSummary0Map = { [key: string]: string | undefined; }; export const EmailSecuritySummaryV2ResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryV2EmailSecurityResponse { /** Metadata for the results. */ meta: EmailSecuritySummaryV2ResponseMeta; summary_0: EmailSecuritySummaryV2ResponseSummary0Map; } export const SummaryV2EmailSecurityResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailSecuritySummaryV2ResponseMeta, summary_0: EmailSecuritySummaryV2ResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2EmailSecurityResponse", }) as any as S.Schema; export type HttpSummaryV2RequestDimension = | "ADM1" | "API_TRAFFIC" | "AS" | "BOT_CLASS" | "BROWSER" | "BROWSER_FAMILY" | "CONTENT_TYPE" | "DEVICE_TYPE" | "HTTP_PROTOCOL" | "HTTP_VERSION" | "IP_VERSION" | "LOCATION" | "OS" | "POST_QUANTUM" | "TLS_VERSION"; export const HttpSummaryV2RequestDimension = /*@__PURE__*/ S.String; export type HttpSummaryV2RequestApiTraffic = "API" | "NON_API"; export const HttpSummaryV2RequestApiTraffic = /*@__PURE__*/ S.String; export type HttpSummaryV2RequestApiTrafficList = Array< HttpSummaryV2RequestApiTraffic | (string & {}) >; export const HttpSummaryV2RequestApiTrafficList = /*@__PURE__*/ S.Array( HttpSummaryV2RequestApiTraffic, ) as any as S.Schema; export type HttpSummaryV2RequestAsnList = Array; export const HttpSummaryV2RequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryV2RequestBotClass = "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpSummaryV2RequestBotClass = /*@__PURE__*/ S.String; export type HttpSummaryV2RequestBotClassList = Array< HttpSummaryV2RequestBotClass | (string & {}) >; export const HttpSummaryV2RequestBotClassList = /*@__PURE__*/ S.Array( HttpSummaryV2RequestBotClass, ) as any as S.Schema; export type HttpSummaryV2RequestContentType = | "HTML" | "IMAGES" | "JSON" | "JAVASCRIPT" | "CSS" | "PLAIN_TEXT" | "FONTS" | "XML" | "YAML" | "VIDEO" | "AUDIO" | "MARKDOWN" | "DOCUMENTS" | "BINARY" | "SERIALIZATION" | "OTHER"; export const HttpSummaryV2RequestContentType = /*@__PURE__*/ S.String; export type HttpSummaryV2RequestContentTypeList = Array< HttpSummaryV2RequestContentType | (string & {}) >; export const HttpSummaryV2RequestContentTypeList = /*@__PURE__*/ S.Array( HttpSummaryV2RequestContentType, ) as any as S.Schema; export type HttpSummaryV2RequestContinentList = Array; export const HttpSummaryV2RequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryV2RequestDateEndList = Array; export const HttpSummaryV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryV2RequestDateRangeList = Array; export const HttpSummaryV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryV2RequestDateStartList = Array; export const HttpSummaryV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryV2RequestDeviceType = "DESKTOP" | "MOBILE" | "OTHER"; export const HttpSummaryV2RequestDeviceType = /*@__PURE__*/ S.String; export type HttpSummaryV2RequestDeviceTypeList = Array< HttpSummaryV2RequestDeviceType | (string & {}) >; export const HttpSummaryV2RequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpSummaryV2RequestDeviceType, ) as any as S.Schema; export type HttpSummaryV2RequestFormat = "JSON" | "CSV"; export const HttpSummaryV2RequestFormat = /*@__PURE__*/ S.String; export type HttpSummaryV2RequestGeoIdList = Array; export const HttpSummaryV2RequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryV2RequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpSummaryV2RequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpSummaryV2RequestHttpProtocolList = Array< HttpSummaryV2RequestHttpProtocol | (string & {}) >; export const HttpSummaryV2RequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpSummaryV2RequestHttpProtocol, ) as any as S.Schema; export type HttpSummaryV2RequestHttpVersion = "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpSummaryV2RequestHttpVersion = /*@__PURE__*/ S.String; export type HttpSummaryV2RequestHttpVersionList = Array< HttpSummaryV2RequestHttpVersion | (string & {}) >; export const HttpSummaryV2RequestHttpVersionList = /*@__PURE__*/ S.Array( HttpSummaryV2RequestHttpVersion, ) as any as S.Schema; export type HttpSummaryV2RequestIpVersion = "IPv4" | "IPv6"; export const HttpSummaryV2RequestIpVersion = /*@__PURE__*/ S.String; export type HttpSummaryV2RequestIpVersionList = Array< HttpSummaryV2RequestIpVersion | (string & {}) >; export const HttpSummaryV2RequestIpVersionList = /*@__PURE__*/ S.Array( HttpSummaryV2RequestIpVersion, ) as any as S.Schema; export type HttpSummaryV2RequestLocationList = Array; export const HttpSummaryV2RequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryV2RequestNameList = Array; export const HttpSummaryV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryV2RequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpSummaryV2RequestOs = /*@__PURE__*/ S.String; export type HttpSummaryV2RequestOsList = Array< HttpSummaryV2RequestOs | (string & {}) >; export const HttpSummaryV2RequestOsList = /*@__PURE__*/ S.Array( HttpSummaryV2RequestOs, ) as any as S.Schema; export type HttpSummaryV2RequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpSummaryV2RequestTlsVersion = /*@__PURE__*/ S.String; export type HttpSummaryV2RequestTlsVersionList = Array< HttpSummaryV2RequestTlsVersion | (string & {}) >; export const HttpSummaryV2RequestTlsVersionList = /*@__PURE__*/ S.Array( HttpSummaryV2RequestTlsVersion, ) as any as S.Schema; export interface SummaryV2HttpRequest { /** Specifies the HTTP attribute by which to group the results. */ dimension: HttpSummaryV2RequestDimension | (string & {}); /** Filters results by API traffic classification. API traffic is identified by JSON or XML response content types on dynamic (non-cacheable) HTTP requests. */ apiTraffic?: HttpSummaryV2RequestApiTrafficList; /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpSummaryV2RequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpSummaryV2RequestBotClassList; /** Filters results by content type category. */ contentType?: HttpSummaryV2RequestContentTypeList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpSummaryV2RequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpSummaryV2RequestDateEndList; /** 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). */ dateRange?: HttpSummaryV2RequestDateRangeList; /** Start of the date range. */ dateStart?: HttpSummaryV2RequestDateStartList; /** Filters results by device type. */ deviceType?: HttpSummaryV2RequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpSummaryV2RequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpSummaryV2RequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpSummaryV2RequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpSummaryV2RequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpSummaryV2RequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpSummaryV2RequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpSummaryV2RequestNameList; /** Filters results by operating system. */ os?: HttpSummaryV2RequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpSummaryV2RequestTlsVersionList; } export const SummaryV2HttpRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: HttpSummaryV2RequestDimension.pipe(T.Label()), apiTraffic: S.optional(HttpSummaryV2RequestApiTrafficList.pipe(T.Query())), asn: S.optional(HttpSummaryV2RequestAsnList.pipe(T.Query())), botClass: S.optional(HttpSummaryV2RequestBotClassList.pipe(T.Query())), contentType: S.optional( HttpSummaryV2RequestContentTypeList.pipe(T.Query()), ), continent: S.optional(HttpSummaryV2RequestContinentList.pipe(T.Query())), dateEnd: S.optional(HttpSummaryV2RequestDateEndList.pipe(T.Query())), dateRange: S.optional(HttpSummaryV2RequestDateRangeList.pipe(T.Query())), dateStart: S.optional(HttpSummaryV2RequestDateStartList.pipe(T.Query())), deviceType: S.optional(HttpSummaryV2RequestDeviceTypeList.pipe(T.Query())), format: S.optional(HttpSummaryV2RequestFormat.pipe(T.Query())), geoId: S.optional(HttpSummaryV2RequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpSummaryV2RequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpSummaryV2RequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional(HttpSummaryV2RequestIpVersionList.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional(HttpSummaryV2RequestLocationList.pipe(T.Query())), name: S.optional(HttpSummaryV2RequestNameList.pipe(T.Query())), os: S.optional(HttpSummaryV2RequestOsList.pipe(T.Query())), tlsVersion: S.optional(HttpSummaryV2RequestTlsVersionList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2HttpRequest", }) as any as S.Schema; export type HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpSummaryV2ResponseMetaConfidenceInfo { annotations: HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpSummaryV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: HttpSummaryV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpSummaryV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpSummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpSummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpSummaryV2ResponseMetaDateRangeList = Array; export const HttpSummaryV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpSummaryV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpSummaryV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpSummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpSummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpSummaryV2ResponseMetaUnitsList = Array; export const HttpSummaryV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpSummaryV2ResponseMeta { confidenceInfo: HttpSummaryV2ResponseMetaConfidenceInfo; dateRange: HttpSummaryV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpSummaryV2ResponseMetaNormalization; /** Measurement units for the results. */ units: HttpSummaryV2ResponseMetaUnitsList; } export const HttpSummaryV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpSummaryV2ResponseMetaConfidenceInfo, dateRange: HttpSummaryV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpSummaryV2ResponseMetaNormalization, units: HttpSummaryV2ResponseMetaUnitsList, }), ).annotate({ identifier: "HttpSummaryV2ResponseMeta", }) as any as S.Schema; export type HttpSummaryV2ResponseSummary0Map = { [key: string]: string | undefined; }; export const HttpSummaryV2ResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryV2HttpResponse { /** Metadata for the results. */ meta: HttpSummaryV2ResponseMeta; summary_0: HttpSummaryV2ResponseSummary0Map; } export const SummaryV2HttpResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpSummaryV2ResponseMeta, summary_0: HttpSummaryV2ResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2HttpResponse", }) as any as S.Schema; export type LeakedCredentialsSummaryV2RequestDimension = | "COMPROMISED" | "BOT_CLASS"; export const LeakedCredentialsSummaryV2RequestDimension = /*@__PURE__*/ S.String; export type LeakedCredentialsSummaryV2RequestAsnList = Array; export const LeakedCredentialsSummaryV2RequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsSummaryV2RequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const LeakedCredentialsSummaryV2RequestBotClass = /*@__PURE__*/ S.String; export type LeakedCredentialsSummaryV2RequestBotClassList = Array< LeakedCredentialsSummaryV2RequestBotClass | (string & {}) >; export const LeakedCredentialsSummaryV2RequestBotClassList = /*@__PURE__*/ S.Array( LeakedCredentialsSummaryV2RequestBotClass, ) as any as S.Schema; export type LeakedCredentialsSummaryV2RequestCompromised = | "CLEAN" | "COMPROMISED"; export const LeakedCredentialsSummaryV2RequestCompromised = /*@__PURE__*/ S.String; export type LeakedCredentialsSummaryV2RequestCompromisedList = Array< LeakedCredentialsSummaryV2RequestCompromised | (string & {}) >; export const LeakedCredentialsSummaryV2RequestCompromisedList = /*@__PURE__*/ S.Array( LeakedCredentialsSummaryV2RequestCompromised, ) as any as S.Schema; export type LeakedCredentialsSummaryV2RequestContinentList = Array; export const LeakedCredentialsSummaryV2RequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsSummaryV2RequestDateEndList = Array; export const LeakedCredentialsSummaryV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsSummaryV2RequestDateRangeList = Array; export const LeakedCredentialsSummaryV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsSummaryV2RequestDateStartList = Array; export const LeakedCredentialsSummaryV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsSummaryV2RequestFormat = "JSON" | "CSV"; export const LeakedCredentialsSummaryV2RequestFormat = /*@__PURE__*/ S.String; export type LeakedCredentialsSummaryV2RequestLocationList = Array; export const LeakedCredentialsSummaryV2RequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsSummaryV2RequestNameList = Array; export const LeakedCredentialsSummaryV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface SummaryV2LeakedCredentialRequest { /** Specifies the attribute by which to group the results. */ dimension: LeakedCredentialsSummaryV2RequestDimension | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: LeakedCredentialsSummaryV2RequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: LeakedCredentialsSummaryV2RequestBotClassList; /** Filters results by compromised credential status (clean vs. compromised). */ compromised?: LeakedCredentialsSummaryV2RequestCompromisedList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: LeakedCredentialsSummaryV2RequestContinentList; /** End of the date range (inclusive). */ dateEnd?: LeakedCredentialsSummaryV2RequestDateEndList; /** 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). */ dateRange?: LeakedCredentialsSummaryV2RequestDateRangeList; /** Start of the date range. */ dateStart?: LeakedCredentialsSummaryV2RequestDateStartList; /** Format in which results will be returned. */ format?: LeakedCredentialsSummaryV2RequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: LeakedCredentialsSummaryV2RequestLocationList; /** Array of names used to label the series in the response. */ name?: LeakedCredentialsSummaryV2RequestNameList; } export const SummaryV2LeakedCredentialRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: LeakedCredentialsSummaryV2RequestDimension.pipe(T.Label()), asn: S.optional(LeakedCredentialsSummaryV2RequestAsnList.pipe(T.Query())), botClass: S.optional( LeakedCredentialsSummaryV2RequestBotClassList.pipe(T.Query()), ), compromised: S.optional( LeakedCredentialsSummaryV2RequestCompromisedList.pipe(T.Query()), ), continent: S.optional( LeakedCredentialsSummaryV2RequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( LeakedCredentialsSummaryV2RequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( LeakedCredentialsSummaryV2RequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( LeakedCredentialsSummaryV2RequestDateStartList.pipe(T.Query()), ), format: S.optional(LeakedCredentialsSummaryV2RequestFormat.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( LeakedCredentialsSummaryV2RequestLocationList.pipe(T.Query()), ), name: S.optional(LeakedCredentialsSummaryV2RequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/leaked_credential_checks/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2LeakedCredentialRequest", }) as any as S.Schema; export type LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface LeakedCredentialsSummaryV2ResponseMetaConfidenceInfo { annotations: LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const LeakedCredentialsSummaryV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: LeakedCredentialsSummaryV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "LeakedCredentialsSummaryV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type LeakedCredentialsSummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const LeakedCredentialsSummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type LeakedCredentialsSummaryV2ResponseMetaDateRangeList = Array; export const LeakedCredentialsSummaryV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type LeakedCredentialsSummaryV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const LeakedCredentialsSummaryV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type LeakedCredentialsSummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const LeakedCredentialsSummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type LeakedCredentialsSummaryV2ResponseMetaUnitsList = Array; export const LeakedCredentialsSummaryV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface LeakedCredentialsSummaryV2ResponseMeta { confidenceInfo: LeakedCredentialsSummaryV2ResponseMetaConfidenceInfo; dateRange: LeakedCredentialsSummaryV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: LeakedCredentialsSummaryV2ResponseMetaNormalization; /** Measurement units for the results. */ units: LeakedCredentialsSummaryV2ResponseMetaUnitsList; } export const LeakedCredentialsSummaryV2ResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: LeakedCredentialsSummaryV2ResponseMetaConfidenceInfo, dateRange: LeakedCredentialsSummaryV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: LeakedCredentialsSummaryV2ResponseMetaNormalization, units: LeakedCredentialsSummaryV2ResponseMetaUnitsList, }), ).annotate({ identifier: "LeakedCredentialsSummaryV2ResponseMeta", }) as any as S.Schema; export type LeakedCredentialsSummaryV2ResponseSummary0Map = { [key: string]: string | undefined; }; export const LeakedCredentialsSummaryV2ResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryV2LeakedCredentialResponse { /** Metadata for the results. */ meta: LeakedCredentialsSummaryV2ResponseMeta; summary_0: LeakedCredentialsSummaryV2ResponseSummary0Map; } export const SummaryV2LeakedCredentialResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: LeakedCredentialsSummaryV2ResponseMeta, summary_0: LeakedCredentialsSummaryV2ResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2LeakedCredentialResponse", }) as any as S.Schema; export type NetflowsSummaryV2RequestDimension = | "ADM1" | "AS" | "LOCATION" | "PRODUCT"; export const NetflowsSummaryV2RequestDimension = /*@__PURE__*/ S.String; export type NetflowsSummaryV2RequestAsnList = Array; export const NetflowsSummaryV2RequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsSummaryV2RequestContinentList = Array; export const NetflowsSummaryV2RequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsSummaryV2RequestDateEndList = Array; export const NetflowsSummaryV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsSummaryV2RequestDateRangeList = Array; export const NetflowsSummaryV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsSummaryV2RequestDateStartList = Array; export const NetflowsSummaryV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsSummaryV2RequestFormat = "JSON" | "CSV"; export const NetflowsSummaryV2RequestFormat = /*@__PURE__*/ S.String; export type NetflowsSummaryV2RequestGeoIdList = Array; export const NetflowsSummaryV2RequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsSummaryV2RequestLocationList = Array; export const NetflowsSummaryV2RequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsSummaryV2RequestNameList = Array; export const NetflowsSummaryV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsSummaryV2RequestProduct = "HTTP" | "ALL"; export const NetflowsSummaryV2RequestProduct = /*@__PURE__*/ S.String; export type NetflowsSummaryV2RequestProductList = Array< NetflowsSummaryV2RequestProduct | (string & {}) >; export const NetflowsSummaryV2RequestProductList = /*@__PURE__*/ S.Array( NetflowsSummaryV2RequestProduct, ) as any as S.Schema; export interface SummaryV2NetflowRequest { /** Specifies the NetFlows attribute by which to group the results. */ dimension: NetflowsSummaryV2RequestDimension | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: NetflowsSummaryV2RequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: NetflowsSummaryV2RequestContinentList; /** End of the date range (inclusive). */ dateEnd?: NetflowsSummaryV2RequestDateEndList; /** 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). */ dateRange?: NetflowsSummaryV2RequestDateRangeList; /** Start of the date range. */ dateStart?: NetflowsSummaryV2RequestDateStartList; /** Format in which results will be returned. */ format?: NetflowsSummaryV2RequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: NetflowsSummaryV2RequestGeoIdList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: NetflowsSummaryV2RequestLocationList; /** Array of names used to label the series in the response. */ name?: NetflowsSummaryV2RequestNameList; /** Filters the results by network traffic product types. */ product?: NetflowsSummaryV2RequestProductList; } export const SummaryV2NetflowRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: NetflowsSummaryV2RequestDimension.pipe(T.Label()), asn: S.optional(NetflowsSummaryV2RequestAsnList.pipe(T.Query())), continent: S.optional( NetflowsSummaryV2RequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(NetflowsSummaryV2RequestDateEndList.pipe(T.Query())), dateRange: S.optional( NetflowsSummaryV2RequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( NetflowsSummaryV2RequestDateStartList.pipe(T.Query()), ), format: S.optional(NetflowsSummaryV2RequestFormat.pipe(T.Query())), geoId: S.optional(NetflowsSummaryV2RequestGeoIdList.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional(NetflowsSummaryV2RequestLocationList.pipe(T.Query())), name: S.optional(NetflowsSummaryV2RequestNameList.pipe(T.Query())), product: S.optional(NetflowsSummaryV2RequestProductList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/netflows/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2NetflowRequest", }) as any as S.Schema; export type NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface NetflowsSummaryV2ResponseMetaConfidenceInfo { annotations: NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const NetflowsSummaryV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: NetflowsSummaryV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "NetflowsSummaryV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type NetflowsSummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const NetflowsSummaryV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type NetflowsSummaryV2ResponseMetaDateRangeList = Array; export const NetflowsSummaryV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type NetflowsSummaryV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const NetflowsSummaryV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type NetflowsSummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const NetflowsSummaryV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type NetflowsSummaryV2ResponseMetaUnitsList = Array; export const NetflowsSummaryV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface NetflowsSummaryV2ResponseMeta { confidenceInfo: NetflowsSummaryV2ResponseMetaConfidenceInfo; dateRange: NetflowsSummaryV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: NetflowsSummaryV2ResponseMetaNormalization; /** Measurement units for the results. */ units: NetflowsSummaryV2ResponseMetaUnitsList; } export const NetflowsSummaryV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: NetflowsSummaryV2ResponseMetaConfidenceInfo, dateRange: NetflowsSummaryV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: NetflowsSummaryV2ResponseMetaNormalization, units: NetflowsSummaryV2ResponseMetaUnitsList, }), ).annotate({ identifier: "NetflowsSummaryV2ResponseMeta", }) as any as S.Schema; export type NetflowsSummaryV2ResponseSummary0Map = { [key: string]: string | undefined; }; export const NetflowsSummaryV2ResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SummaryV2NetflowResponse { /** Metadata for the results. */ meta: NetflowsSummaryV2ResponseMeta; summary_0: NetflowsSummaryV2ResponseSummary0Map; } export const SummaryV2NetflowResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: NetflowsSummaryV2ResponseMeta, summary_0: NetflowsSummaryV2ResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SummaryV2NetflowResponse", }) as any as S.Schema; export interface SupportPostQuantumTlsRequest { /** Hostname or IP address to test for Post-Quantum TLS support, optionally with port (defaults to 443). */ host: string; } export const SupportPostQuantumTlsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ host: S.String.pipe(T.Query()), }) .pipe( T.Http({ method: "GET", uri: "/radar/post_quantum/tls/support", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SupportPostQuantumTlsRequest", }) as any as S.Schema; export interface PostQuantumTlsSupportResponseBugs { /** Server sends a HelloRetryRequest but fails to complete the handshake after the client sends the second ClientHello. Often caused by non-compliant TLS 1.3 implementations on shared hosting providers. */ hrrFailure: boolean; /** Server rejects fragmented ClientHello caused by large PQ keyshare, but accepts classical (non-PQ) handshakes. Typically caused by middleboxes or firewalls that cannot reassemble split TLS ClientHello messages. */ splitClientHello: boolean; /** Server cannot handle an unknown key exchange algorithm in the ClientHello keyshare extension. Compliant servers should respond with HelloRetryRequest for a supported algorithm. */ unknownKeyshare: boolean; } export const PostQuantumTlsSupportResponseBugs = /*@__PURE__*/ S.suspend(() => S.Struct({ hrrFailure: S.Boolean, splitClientHello: S.Boolean, unknownKeyshare: S.Boolean, }), ).annotate({ identifier: "PostQuantumTlsSupportResponseBugs", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface SupportPostQuantumTlsResponse { bugs: PostQuantumTlsSupportResponseBugs; /** The host that was tested */ host: string; /** TLS CurveID of the negotiated key exchange */ kex: number; /** Human-readable name of the key exchange algorithm */ kexName: string; /** Whether the negotiated key exchange uses Post-Quantum cryptography (specifically X25519MLKEM768) */ pq: boolean; } export const SupportPostQuantumTlsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ bugs: PostQuantumTlsSupportResponseBugs, host: S.String, kex: S.Number, kexName: S.String, pq: S.Boolean, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "SupportPostQuantumTlsResponse", }) as any as S.Schema; export type AttacksLayer3TopLocationsTargetRequestContinentList = Array; export const AttacksLayer3TopLocationsTargetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopLocationsTargetRequestDateEndList = Array; export const AttacksLayer3TopLocationsTargetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopLocationsTargetRequestDateRangeList = Array; export const AttacksLayer3TopLocationsTargetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopLocationsTargetRequestDateStartList = Array; export const AttacksLayer3TopLocationsTargetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopLocationsTargetRequestFormat = "JSON" | "CSV"; export const AttacksLayer3TopLocationsTargetRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3TopLocationsTargetRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer3TopLocationsTargetRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3TopLocationsTargetRequestIpVersionList = Array< AttacksLayer3TopLocationsTargetRequestIpVersion | (string & {}) >; export const AttacksLayer3TopLocationsTargetRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3TopLocationsTargetRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3TopLocationsTargetRequestLocationList = Array; export const AttacksLayer3TopLocationsTargetRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopLocationsTargetRequestNameList = Array; export const AttacksLayer3TopLocationsTargetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopLocationsTargetRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3TopLocationsTargetRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3TopLocationsTargetRequestProtocolList = Array< AttacksLayer3TopLocationsTargetRequestProtocol | (string & {}) >; export const AttacksLayer3TopLocationsTargetRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3TopLocationsTargetRequestProtocol, ) as any as S.Schema; export interface TargetAttackLayer3TopLocationRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3TopLocationsTargetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3TopLocationsTargetRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3TopLocationsTargetRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3TopLocationsTargetRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer3TopLocationsTargetRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3TopLocationsTargetRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3TopLocationsTargetRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3TopLocationsTargetRequestNameList; /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3TopLocationsTargetRequestProtocolList; } export const TargetAttackLayer3TopLocationRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ continent: S.optional( AttacksLayer3TopLocationsTargetRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer3TopLocationsTargetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3TopLocationsTargetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer3TopLocationsTargetRequestDateStartList.pipe(T.Query()), ), format: S.optional( AttacksLayer3TopLocationsTargetRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer3TopLocationsTargetRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer3TopLocationsTargetRequestLocationList.pipe(T.Query()), ), name: S.optional( AttacksLayer3TopLocationsTargetRequestNameList.pipe(T.Query()), ), protocol: S.optional( AttacksLayer3TopLocationsTargetRequestProtocolList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/top/locations/target", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TargetAttackLayer3TopLocationRequest", }) as any as S.Schema; export type AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfo { annotations: AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3TopLocationsTargetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3TopLocationsTargetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3TopLocationsTargetResponseMetaDateRangeList = Array; export const AttacksLayer3TopLocationsTargetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3TopLocationsTargetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3TopLocationsTargetResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TopLocationsTargetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3TopLocationsTargetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3TopLocationsTargetResponseMetaUnitsList = Array; export const AttacksLayer3TopLocationsTargetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3TopLocationsTargetResponseMeta { confidenceInfo: AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfo; dateRange: AttacksLayer3TopLocationsTargetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3TopLocationsTargetResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3TopLocationsTargetResponseMetaUnitsList; } export const AttacksLayer3TopLocationsTargetResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AttacksLayer3TopLocationsTargetResponseMetaConfidenceInfo, dateRange: AttacksLayer3TopLocationsTargetResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3TopLocationsTargetResponseMetaNormalization, units: AttacksLayer3TopLocationsTargetResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3TopLocationsTargetResponseMeta", }) as any as S.Schema; export interface AttacksLayer3TopLocationsTargetResponseTop0Item { rank: number; targetCountryAlpha2: string; targetCountryName: string; value: string; } export const AttacksLayer3TopLocationsTargetResponseTop0Item = /*@__PURE__*/ S.suspend(() => S.Struct({ rank: S.Number, targetCountryAlpha2: S.String, targetCountryName: S.String, value: S.String, }), ).annotate({ identifier: "AttacksLayer3TopLocationsTargetResponseTop0Item", }) as any as S.Schema; export type AttacksLayer3TopLocationsTargetResponseTop0List = Array; export const AttacksLayer3TopLocationsTargetResponseTop0List = /*@__PURE__*/ S.Array( AttacksLayer3TopLocationsTargetResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TargetAttackLayer3TopLocationResponse { /** Metadata for the results. */ meta: AttacksLayer3TopLocationsTargetResponseMeta; top_0: AttacksLayer3TopLocationsTargetResponseTop0List; } export const TargetAttackLayer3TopLocationResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: AttacksLayer3TopLocationsTargetResponseMeta, top_0: AttacksLayer3TopLocationsTargetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TargetAttackLayer3TopLocationResponse", }) as any as S.Schema; export type AttacksLayer7TopLocationsTargetRequestContinentList = Array; export const AttacksLayer7TopLocationsTargetRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopLocationsTargetRequestDateEndList = Array; export const AttacksLayer7TopLocationsTargetRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopLocationsTargetRequestDateRangeList = Array; export const AttacksLayer7TopLocationsTargetRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopLocationsTargetRequestDateStartList = Array; export const AttacksLayer7TopLocationsTargetRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopLocationsTargetRequestFormat = "JSON" | "CSV"; export const AttacksLayer7TopLocationsTargetRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7TopLocationsTargetRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7TopLocationsTargetRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7TopLocationsTargetRequestMitigationProductList = Array< AttacksLayer7TopLocationsTargetRequestMitigationProduct | (string & {}) >; export const AttacksLayer7TopLocationsTargetRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7TopLocationsTargetRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7TopLocationsTargetRequestNameList = Array; export const AttacksLayer7TopLocationsTargetRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TargetAttackLayer7TopLocationRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7TopLocationsTargetRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7TopLocationsTargetRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7TopLocationsTargetRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7TopLocationsTargetRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7TopLocationsTargetRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7TopLocationsTargetRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7TopLocationsTargetRequestNameList; } export const TargetAttackLayer7TopLocationRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ continent: S.optional( AttacksLayer7TopLocationsTargetRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer7TopLocationsTargetRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7TopLocationsTargetRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer7TopLocationsTargetRequestDateStartList.pipe(T.Query()), ), format: S.optional( AttacksLayer7TopLocationsTargetRequestFormat.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), mitigationProduct: S.optional( AttacksLayer7TopLocationsTargetRequestMitigationProductList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer7TopLocationsTargetRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/top/locations/target", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TargetAttackLayer7TopLocationRequest", }) as any as S.Schema; export type AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfo { annotations: AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7TopLocationsTargetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7TopLocationsTargetResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7TopLocationsTargetResponseMetaDateRangeList = Array; export const AttacksLayer7TopLocationsTargetResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7TopLocationsTargetResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7TopLocationsTargetResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7TopLocationsTargetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7TopLocationsTargetResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7TopLocationsTargetResponseMetaUnitsList = Array; export const AttacksLayer7TopLocationsTargetResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7TopLocationsTargetResponseMeta { confidenceInfo: AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfo; dateRange: AttacksLayer7TopLocationsTargetResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7TopLocationsTargetResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7TopLocationsTargetResponseMetaUnitsList; } export const AttacksLayer7TopLocationsTargetResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AttacksLayer7TopLocationsTargetResponseMetaConfidenceInfo, dateRange: AttacksLayer7TopLocationsTargetResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7TopLocationsTargetResponseMetaNormalization, units: AttacksLayer7TopLocationsTargetResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7TopLocationsTargetResponseMeta", }) as any as S.Schema; export type AttacksLayer7TopLocationsTargetResponseTop0Item = AttacksLayer3TopLocationsTargetResponseTop0Item; export const AttacksLayer7TopLocationsTargetResponseTop0Item = AttacksLayer3TopLocationsTargetResponseTop0Item; export type AttacksLayer7TopLocationsTargetResponseTop0List = Array; export const AttacksLayer7TopLocationsTargetResponseTop0List = /*@__PURE__*/ S.Array( AttacksLayer3TopLocationsTargetResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TargetAttackLayer7TopLocationResponse { /** Metadata for the results. */ meta: AttacksLayer7TopLocationsTargetResponseMeta; top_0: AttacksLayer7TopLocationsTargetResponseTop0List; } export const TargetAttackLayer7TopLocationResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: AttacksLayer7TopLocationsTargetResponseMeta, top_0: AttacksLayer7TopLocationsTargetResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TargetAttackLayer7TopLocationResponse", }) as any as S.Schema; export type AiInferenceSummaryTaskRequestDateEndList = Array; export const AiInferenceSummaryTaskRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceSummaryTaskRequestDateRangeList = Array; export const AiInferenceSummaryTaskRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceSummaryTaskRequestDateStartList = Array; export const AiInferenceSummaryTaskRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceSummaryTaskRequestFormat = "JSON" | "CSV"; export const AiInferenceSummaryTaskRequestFormat = /*@__PURE__*/ S.String; export type AiInferenceSummaryTaskRequestNameList = Array; export const AiInferenceSummaryTaskRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TaskAiInferenceSummaryRequest { /** End of the date range (inclusive). */ dateEnd?: AiInferenceSummaryTaskRequestDateEndList; /** 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). */ dateRange?: AiInferenceSummaryTaskRequestDateRangeList; /** Start of the date range. */ dateStart?: AiInferenceSummaryTaskRequestDateStartList; /** Format in which results will be returned. */ format?: AiInferenceSummaryTaskRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Array of names used to label the series in the response. */ name?: AiInferenceSummaryTaskRequestNameList; } export const TaskAiInferenceSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dateEnd: S.optional( AiInferenceSummaryTaskRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AiInferenceSummaryTaskRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AiInferenceSummaryTaskRequestDateStartList.pipe(T.Query()), ), format: S.optional(AiInferenceSummaryTaskRequestFormat.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), name: S.optional(AiInferenceSummaryTaskRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/ai/inference/summary/task", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TaskAiInferenceSummaryRequest", }) as any as S.Schema; export type AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsList = Array; export const AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AiInferenceSummaryTaskResponseMetaConfidenceInfo { annotations: AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AiInferenceSummaryTaskResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AiInferenceSummaryTaskResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AiInferenceSummaryTaskResponseMetaConfidenceInfo", }) as any as S.Schema; export type AiInferenceSummaryTaskResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AiInferenceSummaryTaskResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AiInferenceSummaryTaskResponseMetaDateRangeList = Array; export const AiInferenceSummaryTaskResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AiInferenceSummaryTaskResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AiInferenceSummaryTaskResponseMetaNormalization = /*@__PURE__*/ S.String; export type AiInferenceSummaryTaskResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AiInferenceSummaryTaskResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AiInferenceSummaryTaskResponseMetaUnitsList = Array; export const AiInferenceSummaryTaskResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AiInferenceSummaryTaskResponseMeta { confidenceInfo: AiInferenceSummaryTaskResponseMetaConfidenceInfo; dateRange: AiInferenceSummaryTaskResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AiInferenceSummaryTaskResponseMetaNormalization; /** Measurement units for the results. */ units: AiInferenceSummaryTaskResponseMetaUnitsList; } export const AiInferenceSummaryTaskResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AiInferenceSummaryTaskResponseMetaConfidenceInfo, dateRange: AiInferenceSummaryTaskResponseMetaDateRangeList, lastUpdated: S.String, normalization: AiInferenceSummaryTaskResponseMetaNormalization, units: AiInferenceSummaryTaskResponseMetaUnitsList, }), ).annotate({ identifier: "AiInferenceSummaryTaskResponseMeta", }) as any as S.Schema; export type AiInferenceSummaryTaskResponseSummary0Map = { [key: string]: string | undefined; }; export const AiInferenceSummaryTaskResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TaskAiInferenceSummaryResponse { /** Metadata for the results. */ meta: AiInferenceSummaryTaskResponseMeta; summary_0: AiInferenceSummaryTaskResponseSummary0Map; } export const TaskAiInferenceSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AiInferenceSummaryTaskResponseMeta, summary_0: AiInferenceSummaryTaskResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TaskAiInferenceSummaryResponse", }) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryTaskRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AiInferenceTimeseriesGroupsSummaryTaskRequestAggInterval = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsSummaryTaskRequestDateEndList = Array; export const AiInferenceTimeseriesGroupsSummaryTaskRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryTaskRequestDateRangeList = Array; export const AiInferenceTimeseriesGroupsSummaryTaskRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryTaskRequestDateStartList = Array; export const AiInferenceTimeseriesGroupsSummaryTaskRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryTaskRequestFormat = | "JSON" | "CSV"; export const AiInferenceTimeseriesGroupsSummaryTaskRequestFormat = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsSummaryTaskRequestNameList = Array; export const AiInferenceTimeseriesGroupsSummaryTaskRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TaskAiInferenceTimeseriesGroupSummaryRequest { /** 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/). */ aggInterval?: | AiInferenceTimeseriesGroupsSummaryTaskRequestAggInterval | (string & {}); /** End of the date range (inclusive). */ dateEnd?: AiInferenceTimeseriesGroupsSummaryTaskRequestDateEndList; /** 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). */ dateRange?: AiInferenceTimeseriesGroupsSummaryTaskRequestDateRangeList; /** Start of the date range. */ dateStart?: AiInferenceTimeseriesGroupsSummaryTaskRequestDateStartList; /** Format in which results will be returned. */ format?: AiInferenceTimeseriesGroupsSummaryTaskRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Array of names used to label the series in the response. */ name?: AiInferenceTimeseriesGroupsSummaryTaskRequestNameList; } export const TaskAiInferenceTimeseriesGroupSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AiInferenceTimeseriesGroupsSummaryTaskRequestAggInterval.pipe( T.Query(), ), ), dateEnd: S.optional( AiInferenceTimeseriesGroupsSummaryTaskRequestDateEndList.pipe( T.Query(), ), ), dateRange: S.optional( AiInferenceTimeseriesGroupsSummaryTaskRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( AiInferenceTimeseriesGroupsSummaryTaskRequestDateStartList.pipe( T.Query(), ), ), format: S.optional( AiInferenceTimeseriesGroupsSummaryTaskRequestFormat.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), name: S.optional( AiInferenceTimeseriesGroupsSummaryTaskRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/ai/inference/timeseries_groups/task", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TaskAiInferenceTimeseriesGroupSummaryRequest", }) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryTaskResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AiInferenceTimeseriesGroupsSummaryTaskResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsList = Array; export const AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfo { annotations: AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfo", }) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryTaskResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AiInferenceTimeseriesGroupsSummaryTaskResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AiInferenceTimeseriesGroupsSummaryTaskResponseMetaDateRangeList = Array; export const AiInferenceTimeseriesGroupsSummaryTaskResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryTaskResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AiInferenceTimeseriesGroupsSummaryTaskResponseMetaNormalization = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsSummaryTaskResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AiInferenceTimeseriesGroupsSummaryTaskResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AiInferenceTimeseriesGroupsSummaryTaskResponseMetaUnitsList = Array; export const AiInferenceTimeseriesGroupsSummaryTaskResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AiInferenceTimeseriesGroupsSummaryTaskResponseMeta { /** 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/). */ aggInterval: AiInferenceTimeseriesGroupsSummaryTaskResponseMetaAggInterval; confidenceInfo: AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfo; dateRange: AiInferenceTimeseriesGroupsSummaryTaskResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AiInferenceTimeseriesGroupsSummaryTaskResponseMetaNormalization; /** Measurement units for the results. */ units: AiInferenceTimeseriesGroupsSummaryTaskResponseMetaUnitsList; } export const AiInferenceTimeseriesGroupsSummaryTaskResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AiInferenceTimeseriesGroupsSummaryTaskResponseMetaAggInterval, confidenceInfo: AiInferenceTimeseriesGroupsSummaryTaskResponseMetaConfidenceInfo, dateRange: AiInferenceTimeseriesGroupsSummaryTaskResponseMetaDateRangeList, lastUpdated: S.String, normalization: AiInferenceTimeseriesGroupsSummaryTaskResponseMetaNormalization, units: AiInferenceTimeseriesGroupsSummaryTaskResponseMetaUnitsList, }), ).annotate({ identifier: "AiInferenceTimeseriesGroupsSummaryTaskResponseMeta", }) as any as S.Schema; export type AiInferenceTimeseriesGroupsSummaryTaskResponseSerie0TimestampsList = Array; export const AiInferenceTimeseriesGroupsSummaryTaskResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiInferenceTimeseriesGroupsSummaryTaskResponseSerie0 { timestamps: AiInferenceTimeseriesGroupsSummaryTaskResponseSerie0TimestampsList; } export const AiInferenceTimeseriesGroupsSummaryTaskResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: AiInferenceTimeseriesGroupsSummaryTaskResponseSerie0TimestampsList, }), ).annotate({ identifier: "AiInferenceTimeseriesGroupsSummaryTaskResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TaskAiInferenceTimeseriesGroupSummaryResponse { /** Metadata for the results. */ meta: AiInferenceTimeseriesGroupsSummaryTaskResponseMeta; serie_0: AiInferenceTimeseriesGroupsSummaryTaskResponseSerie0; } export const TaskAiInferenceTimeseriesGroupSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AiInferenceTimeseriesGroupsSummaryTaskResponseMeta, serie_0: AiInferenceTimeseriesGroupsSummaryTaskResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TaskAiInferenceTimeseriesGroupSummaryResponse", }) as any as S.Schema; export type EmailSecuritySummaryThreatCategoryRequestArc = | "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryThreatCategoryRequestArc = /*@__PURE__*/ S.String; export type EmailSecuritySummaryThreatCategoryRequestArcList = Array< EmailSecuritySummaryThreatCategoryRequestArc | (string & {}) >; export const EmailSecuritySummaryThreatCategoryRequestArcList = /*@__PURE__*/ S.Array( EmailSecuritySummaryThreatCategoryRequestArc, ) as any as S.Schema; export type EmailSecuritySummaryThreatCategoryRequestDateEndList = Array; export const EmailSecuritySummaryThreatCategoryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryThreatCategoryRequestDateRangeList = Array; export const EmailSecuritySummaryThreatCategoryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryThreatCategoryRequestDateStartList = Array; export const EmailSecuritySummaryThreatCategoryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryThreatCategoryRequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryThreatCategoryRequestDkim = /*@__PURE__*/ S.String; export type EmailSecuritySummaryThreatCategoryRequestDkimList = Array< EmailSecuritySummaryThreatCategoryRequestDkim | (string & {}) >; export const EmailSecuritySummaryThreatCategoryRequestDkimList = /*@__PURE__*/ S.Array( EmailSecuritySummaryThreatCategoryRequestDkim, ) as any as S.Schema; export type EmailSecuritySummaryThreatCategoryRequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryThreatCategoryRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecuritySummaryThreatCategoryRequestDmarcList = Array< EmailSecuritySummaryThreatCategoryRequestDmarc | (string & {}) >; export const EmailSecuritySummaryThreatCategoryRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecuritySummaryThreatCategoryRequestDmarc, ) as any as S.Schema; export type EmailSecuritySummaryThreatCategoryRequestFormat = "JSON" | "CSV"; export const EmailSecuritySummaryThreatCategoryRequestFormat = /*@__PURE__*/ S.String; export type EmailSecuritySummaryThreatCategoryRequestNameList = Array; export const EmailSecuritySummaryThreatCategoryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryThreatCategoryRequestSpf = | "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryThreatCategoryRequestSpf = /*@__PURE__*/ S.String; export type EmailSecuritySummaryThreatCategoryRequestSpfList = Array< EmailSecuritySummaryThreatCategoryRequestSpf | (string & {}) >; export const EmailSecuritySummaryThreatCategoryRequestSpfList = /*@__PURE__*/ S.Array( EmailSecuritySummaryThreatCategoryRequestSpf, ) as any as S.Schema; export type EmailSecuritySummaryThreatCategoryRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecuritySummaryThreatCategoryRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecuritySummaryThreatCategoryRequestTlsVersionList = Array< EmailSecuritySummaryThreatCategoryRequestTlsVersion | (string & {}) >; export const EmailSecuritySummaryThreatCategoryRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecuritySummaryThreatCategoryRequestTlsVersion, ) as any as S.Schema; export interface ThreatCategoryEmailSecuritySummaryRequest { /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecuritySummaryThreatCategoryRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecuritySummaryThreatCategoryRequestDateEndList; /** 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). */ dateRange?: EmailSecuritySummaryThreatCategoryRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecuritySummaryThreatCategoryRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecuritySummaryThreatCategoryRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecuritySummaryThreatCategoryRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecuritySummaryThreatCategoryRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecuritySummaryThreatCategoryRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecuritySummaryThreatCategoryRequestSpfList; /** Filters results by TLS version. */ tlsVersion?: EmailSecuritySummaryThreatCategoryRequestTlsVersionList; } export const ThreatCategoryEmailSecuritySummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ arc: S.optional( EmailSecuritySummaryThreatCategoryRequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailSecuritySummaryThreatCategoryRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecuritySummaryThreatCategoryRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecuritySummaryThreatCategoryRequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailSecuritySummaryThreatCategoryRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailSecuritySummaryThreatCategoryRequestDmarcList.pipe(T.Query()), ), format: S.optional( EmailSecuritySummaryThreatCategoryRequestFormat.pipe(T.Query()), ), name: S.optional( EmailSecuritySummaryThreatCategoryRequestNameList.pipe(T.Query()), ), spf: S.optional( EmailSecuritySummaryThreatCategoryRequestSpfList.pipe(T.Query()), ), tlsVersion: S.optional( EmailSecuritySummaryThreatCategoryRequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/summary/threat_category", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ThreatCategoryEmailSecuritySummaryRequest", }) as any as S.Schema; export type EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfo { annotations: EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecuritySummaryThreatCategoryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecuritySummaryThreatCategoryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecuritySummaryThreatCategoryResponseMetaDateRangeList = Array; export const EmailSecuritySummaryThreatCategoryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecuritySummaryThreatCategoryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecuritySummaryThreatCategoryResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecuritySummaryThreatCategoryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecuritySummaryThreatCategoryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecuritySummaryThreatCategoryResponseMetaUnitsList = Array; export const EmailSecuritySummaryThreatCategoryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecuritySummaryThreatCategoryResponseMeta { confidenceInfo: EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfo; dateRange: EmailSecuritySummaryThreatCategoryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecuritySummaryThreatCategoryResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecuritySummaryThreatCategoryResponseMetaUnitsList; } export const EmailSecuritySummaryThreatCategoryResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: EmailSecuritySummaryThreatCategoryResponseMetaConfidenceInfo, dateRange: EmailSecuritySummaryThreatCategoryResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecuritySummaryThreatCategoryResponseMetaNormalization, units: EmailSecuritySummaryThreatCategoryResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecuritySummaryThreatCategoryResponseMeta", }) as any as S.Schema; export interface EmailSecuritySummaryThreatCategoryResponseSummary0 { /** A numeric string. */ brandImpersonation: string; /** A numeric string. */ credentialHarvester: string; /** A numeric string. */ identityDeception: string; /** A numeric string. */ link: string; } export const EmailSecuritySummaryThreatCategoryResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ brandImpersonation: S.String.pipe(T.Body("BrandImpersonation")), credentialHarvester: S.String.pipe(T.Body("CredentialHarvester")), identityDeception: S.String.pipe(T.Body("IdentityDeception")), link: S.String.pipe(T.Body("Link")), }), ).annotate({ identifier: "EmailSecuritySummaryThreatCategoryResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ThreatCategoryEmailSecuritySummaryResponse { /** Metadata for the results. */ meta: EmailSecuritySummaryThreatCategoryResponseMeta; summary_0: EmailSecuritySummaryThreatCategoryResponseSummary0; } export const ThreatCategoryEmailSecuritySummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailSecuritySummaryThreatCategoryResponseMeta, summary_0: EmailSecuritySummaryThreatCategoryResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ThreatCategoryEmailSecuritySummaryResponse", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsThreatCategoryRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const EmailSecurityTimeseriesGroupsThreatCategoryRequestAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsThreatCategoryRequestArc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsThreatCategoryRequestArc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsThreatCategoryRequestArcList = Array< EmailSecurityTimeseriesGroupsThreatCategoryRequestArc | (string & {}) >; export const EmailSecurityTimeseriesGroupsThreatCategoryRequestArcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsThreatCategoryRequestArc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsThreatCategoryRequestDateEndList = Array; export const EmailSecurityTimeseriesGroupsThreatCategoryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsThreatCategoryRequestDateRangeList = Array; export const EmailSecurityTimeseriesGroupsThreatCategoryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsThreatCategoryRequestDateStartList = Array; export const EmailSecurityTimeseriesGroupsThreatCategoryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsThreatCategoryRequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsThreatCategoryRequestDkim = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsThreatCategoryRequestDkimList = Array< EmailSecurityTimeseriesGroupsThreatCategoryRequestDkim | (string & {}) >; export const EmailSecurityTimeseriesGroupsThreatCategoryRequestDkimList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsThreatCategoryRequestDkim, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsThreatCategoryRequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsThreatCategoryRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsThreatCategoryRequestDmarcList = Array< EmailSecurityTimeseriesGroupsThreatCategoryRequestDmarc | (string & {}) >; export const EmailSecurityTimeseriesGroupsThreatCategoryRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsThreatCategoryRequestDmarc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsThreatCategoryRequestFormat = | "JSON" | "CSV"; export const EmailSecurityTimeseriesGroupsThreatCategoryRequestFormat = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsThreatCategoryRequestNameList = Array; export const EmailSecurityTimeseriesGroupsThreatCategoryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsThreatCategoryRequestSpf = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsThreatCategoryRequestSpf = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsThreatCategoryRequestSpfList = Array< EmailSecurityTimeseriesGroupsThreatCategoryRequestSpf | (string & {}) >; export const EmailSecurityTimeseriesGroupsThreatCategoryRequestSpfList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsThreatCategoryRequestSpf, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsThreatCategoryRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecurityTimeseriesGroupsThreatCategoryRequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsThreatCategoryRequestTlsVersionList = Array< EmailSecurityTimeseriesGroupsThreatCategoryRequestTlsVersion | (string & {}) >; export const EmailSecurityTimeseriesGroupsThreatCategoryRequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsThreatCategoryRequestTlsVersion, ) as any as S.Schema; export interface ThreatCategoryEmailSecurityTimeseriesGroupRequest { /** 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/). */ aggInterval?: | EmailSecurityTimeseriesGroupsThreatCategoryRequestAggInterval | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecurityTimeseriesGroupsThreatCategoryRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecurityTimeseriesGroupsThreatCategoryRequestDateEndList; /** 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). */ dateRange?: EmailSecurityTimeseriesGroupsThreatCategoryRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecurityTimeseriesGroupsThreatCategoryRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecurityTimeseriesGroupsThreatCategoryRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecurityTimeseriesGroupsThreatCategoryRequestDmarcList; /** Format in which results will be returned. */ format?: | EmailSecurityTimeseriesGroupsThreatCategoryRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecurityTimeseriesGroupsThreatCategoryRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecurityTimeseriesGroupsThreatCategoryRequestSpfList; /** Filters results by TLS version. */ tlsVersion?: EmailSecurityTimeseriesGroupsThreatCategoryRequestTlsVersionList; } export const ThreatCategoryEmailSecurityTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( EmailSecurityTimeseriesGroupsThreatCategoryRequestAggInterval.pipe( T.Query(), ), ), arc: S.optional( EmailSecurityTimeseriesGroupsThreatCategoryRequestArcList.pipe( T.Query(), ), ), dateEnd: S.optional( EmailSecurityTimeseriesGroupsThreatCategoryRequestDateEndList.pipe( T.Query(), ), ), dateRange: S.optional( EmailSecurityTimeseriesGroupsThreatCategoryRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( EmailSecurityTimeseriesGroupsThreatCategoryRequestDateStartList.pipe( T.Query(), ), ), dkim: S.optional( EmailSecurityTimeseriesGroupsThreatCategoryRequestDkimList.pipe( T.Query(), ), ), dmarc: S.optional( EmailSecurityTimeseriesGroupsThreatCategoryRequestDmarcList.pipe( T.Query(), ), ), format: S.optional( EmailSecurityTimeseriesGroupsThreatCategoryRequestFormat.pipe( T.Query(), ), ), name: S.optional( EmailSecurityTimeseriesGroupsThreatCategoryRequestNameList.pipe( T.Query(), ), ), spf: S.optional( EmailSecurityTimeseriesGroupsThreatCategoryRequestSpfList.pipe( T.Query(), ), ), tlsVersion: S.optional( EmailSecurityTimeseriesGroupsThreatCategoryRequestTlsVersionList.pipe( T.Query(), ), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/timeseries_groups/threat_category", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ThreatCategoryEmailSecurityTimeseriesGroupRequest", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfo { annotations: EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaDateRangeList = Array; export const EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaUnitsList = Array; export const EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsThreatCategoryResponseMeta { /** 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/). */ aggInterval: EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaAggInterval; confidenceInfo: EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfo; dateRange: EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaUnitsList; } export const EmailSecurityTimeseriesGroupsThreatCategoryResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaAggInterval, confidenceInfo: EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaConfidenceInfo, dateRange: EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaNormalization, units: EmailSecurityTimeseriesGroupsThreatCategoryResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsThreatCategoryResponseMeta", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0BrandImpersonationList = Array; export const EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0BrandImpersonationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0CredentialHarvesterList = Array; export const EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0CredentialHarvesterList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0IdentityDeceptionList = Array; export const EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0IdentityDeceptionList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0LinkList = Array; export const EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0LinkList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0 { brandImpersonation: EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0BrandImpersonationList; credentialHarvester: EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0CredentialHarvesterList; identityDeception: EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0IdentityDeceptionList; link: EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0LinkList; } export const EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ brandImpersonation: EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0BrandImpersonationList.pipe( T.Body("BrandImpersonation"), ), credentialHarvester: EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0CredentialHarvesterList.pipe( T.Body("CredentialHarvester"), ), identityDeception: EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0IdentityDeceptionList.pipe( T.Body("IdentityDeception"), ), link: EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0LinkList.pipe( T.Body("Link"), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ThreatCategoryEmailSecurityTimeseriesGroupResponse { /** Metadata for the results. */ meta: EmailSecurityTimeseriesGroupsThreatCategoryResponseMeta; serie_0: EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0; } export const ThreatCategoryEmailSecurityTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailSecurityTimeseriesGroupsThreatCategoryResponseMeta, serie_0: EmailSecurityTimeseriesGroupsThreatCategoryResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ThreatCategoryEmailSecurityTimeseriesGroupResponse", }) as any as S.Schema; export type AiBotsTimeseriesRequestAggInterval = "15m" | "1h" | "1d" | "1w"; export const AiBotsTimeseriesRequestAggInterval = /*@__PURE__*/ S.String; export type AiBotsTimeseriesRequestAsnList = Array; export const AiBotsTimeseriesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesRequestContentType = | "HTML" | "IMAGES" | "JSON" | "JAVASCRIPT" | "CSS" | "PLAIN_TEXT" | "FONTS" | "XML" | "YAML" | "VIDEO" | "AUDIO" | "MARKDOWN" | "DOCUMENTS" | "BINARY" | "SERIALIZATION" | "OTHER"; export const AiBotsTimeseriesRequestContentType = /*@__PURE__*/ S.String; export type AiBotsTimeseriesRequestContentTypeList = Array< AiBotsTimeseriesRequestContentType | (string & {}) >; export const AiBotsTimeseriesRequestContentTypeList = /*@__PURE__*/ S.Array( AiBotsTimeseriesRequestContentType, ) as any as S.Schema; export type AiBotsTimeseriesRequestContinentList = Array; export const AiBotsTimeseriesRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesRequestCrawlPurposeList = Array; export const AiBotsTimeseriesRequestCrawlPurposeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesRequestDateEndList = Array; export const AiBotsTimeseriesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesRequestDateRangeList = Array; export const AiBotsTimeseriesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesRequestDateStartList = Array; export const AiBotsTimeseriesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesRequestFormat = "JSON" | "CSV"; export const AiBotsTimeseriesRequestFormat = /*@__PURE__*/ S.String; export type AiBotsTimeseriesRequestIndustryList = Array; export const AiBotsTimeseriesRequestIndustryList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesRequestLocationList = Array; export const AiBotsTimeseriesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesRequestNameList = Array; export const AiBotsTimeseriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesRequestResponseStatusList = Array; export const AiBotsTimeseriesRequestResponseStatusList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesRequestResponseStatusCategory = | "INFORMATIONAL" | "SUCCESS" | "REDIRECTION" | "CLIENT_ERROR" | "SERVER_ERROR"; export const AiBotsTimeseriesRequestResponseStatusCategory = /*@__PURE__*/ S.String; export type AiBotsTimeseriesRequestResponseStatusCategoryList = Array< AiBotsTimeseriesRequestResponseStatusCategory | (string & {}) >; export const AiBotsTimeseriesRequestResponseStatusCategoryList = /*@__PURE__*/ S.Array( AiBotsTimeseriesRequestResponseStatusCategory, ) as any as S.Schema; export type AiBotsTimeseriesRequestUserAgentList = Array; export const AiBotsTimeseriesRequestUserAgentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesRequestVerticalList = Array; export const AiBotsTimeseriesRequestVerticalList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TimeseriesAiBotRequest { /** 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/). */ aggInterval?: AiBotsTimeseriesRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AiBotsTimeseriesRequestAsnList; /** Filters results by content type category. */ contentType?: AiBotsTimeseriesRequestContentTypeList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AiBotsTimeseriesRequestContinentList; /** Filters results by bot crawl purpose. */ crawlPurpose?: AiBotsTimeseriesRequestCrawlPurposeList; /** End of the date range (inclusive). */ dateEnd?: AiBotsTimeseriesRequestDateEndList; /** 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). */ dateRange?: AiBotsTimeseriesRequestDateRangeList; /** Start of the date range. */ dateStart?: AiBotsTimeseriesRequestDateStartList; /** Format in which results will be returned. */ format?: AiBotsTimeseriesRequestFormat | (string & {}); /** Filters results by industry. */ industry?: AiBotsTimeseriesRequestIndustryList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AiBotsTimeseriesRequestLocationList; /** Array of names used to label the series in the response. */ name?: AiBotsTimeseriesRequestNameList; /** Filters results by HTTP response status code (e.g. 200, 403, 404). Only [IANA-registered codes](https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml) are accepted. */ responseStatus?: AiBotsTimeseriesRequestResponseStatusList; /** Filters results by HTTP response status code category. */ responseStatusCategory?: AiBotsTimeseriesRequestResponseStatusCategoryList; /** Filters results by user agent. */ userAgent?: AiBotsTimeseriesRequestUserAgentList; /** Filters results by vertical. */ vertical?: AiBotsTimeseriesRequestVerticalList; } export const TimeseriesAiBotRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional(AiBotsTimeseriesRequestAggInterval.pipe(T.Query())), asn: S.optional(AiBotsTimeseriesRequestAsnList.pipe(T.Query())), contentType: S.optional( AiBotsTimeseriesRequestContentTypeList.pipe(T.Query()), ), continent: S.optional(AiBotsTimeseriesRequestContinentList.pipe(T.Query())), crawlPurpose: S.optional( AiBotsTimeseriesRequestCrawlPurposeList.pipe(T.Query()), ), dateEnd: S.optional(AiBotsTimeseriesRequestDateEndList.pipe(T.Query())), dateRange: S.optional(AiBotsTimeseriesRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(AiBotsTimeseriesRequestDateStartList.pipe(T.Query())), format: S.optional(AiBotsTimeseriesRequestFormat.pipe(T.Query())), industry: S.optional(AiBotsTimeseriesRequestIndustryList.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional(AiBotsTimeseriesRequestLocationList.pipe(T.Query())), name: S.optional(AiBotsTimeseriesRequestNameList.pipe(T.Query())), responseStatus: S.optional( AiBotsTimeseriesRequestResponseStatusList.pipe(T.Query()), ), responseStatusCategory: S.optional( AiBotsTimeseriesRequestResponseStatusCategoryList.pipe(T.Query()), ), userAgent: S.optional(AiBotsTimeseriesRequestUserAgentList.pipe(T.Query())), vertical: S.optional(AiBotsTimeseriesRequestVerticalList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/ai/bots/timeseries", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesAiBotRequest", }) as any as S.Schema; export type AiBotsTimeseriesResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AiBotsTimeseriesResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsList = Array; export const AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AiBotsTimeseriesResponseMetaConfidenceInfo { annotations: AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AiBotsTimeseriesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AiBotsTimeseriesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AiBotsTimeseriesResponseMetaConfidenceInfo", }) as any as S.Schema; export type AiBotsTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AiBotsTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AiBotsTimeseriesResponseMetaDateRangeList = Array; export const AiBotsTimeseriesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AiBotsTimeseriesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AiBotsTimeseriesResponseMetaNormalization = /*@__PURE__*/ S.String; export type AiBotsTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AiBotsTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AiBotsTimeseriesResponseMetaUnitsList = Array; export const AiBotsTimeseriesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AiBotsTimeseriesResponseMeta { /** 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/). */ aggInterval: AiBotsTimeseriesResponseMetaAggInterval; confidenceInfo: AiBotsTimeseriesResponseMetaConfidenceInfo; dateRange: AiBotsTimeseriesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AiBotsTimeseriesResponseMetaNormalization; /** Measurement units for the results. */ units: AiBotsTimeseriesResponseMetaUnitsList; } export const AiBotsTimeseriesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AiBotsTimeseriesResponseMetaAggInterval, confidenceInfo: AiBotsTimeseriesResponseMetaConfidenceInfo, dateRange: AiBotsTimeseriesResponseMetaDateRangeList, lastUpdated: S.String, normalization: AiBotsTimeseriesResponseMetaNormalization, units: AiBotsTimeseriesResponseMetaUnitsList, }), ).annotate({ identifier: "AiBotsTimeseriesResponseMeta", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesAiBotResponse { /** Metadata for the results. */ meta: AiBotsTimeseriesResponseMeta; } export const TimeseriesAiBotResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AiBotsTimeseriesResponseMeta, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesAiBotResponse", }) as any as S.Schema; export type AiMarkdownForAgentsTimeseriesRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AiMarkdownForAgentsTimeseriesRequestAggInterval = /*@__PURE__*/ S.String; export type AiMarkdownForAgentsTimeseriesRequestDateEndList = Array; export const AiMarkdownForAgentsTimeseriesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiMarkdownForAgentsTimeseriesRequestDateRangeList = Array; export const AiMarkdownForAgentsTimeseriesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiMarkdownForAgentsTimeseriesRequestDateStartList = Array; export const AiMarkdownForAgentsTimeseriesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiMarkdownForAgentsTimeseriesRequestFormat = "JSON" | "CSV"; export const AiMarkdownForAgentsTimeseriesRequestFormat = /*@__PURE__*/ S.String; export type AiMarkdownForAgentsTimeseriesRequestNameList = Array; export const AiMarkdownForAgentsTimeseriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TimeseriesAiMarkdownForAgentRequest { /** 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/). */ aggInterval?: AiMarkdownForAgentsTimeseriesRequestAggInterval | (string & {}); /** End of the date range (inclusive). */ dateEnd?: AiMarkdownForAgentsTimeseriesRequestDateEndList; /** 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). */ dateRange?: AiMarkdownForAgentsTimeseriesRequestDateRangeList; /** Start of the date range. */ dateStart?: AiMarkdownForAgentsTimeseriesRequestDateStartList; /** Format in which results will be returned. */ format?: AiMarkdownForAgentsTimeseriesRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: AiMarkdownForAgentsTimeseriesRequestNameList; } export const TimeseriesAiMarkdownForAgentRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AiMarkdownForAgentsTimeseriesRequestAggInterval.pipe(T.Query()), ), dateEnd: S.optional( AiMarkdownForAgentsTimeseriesRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AiMarkdownForAgentsTimeseriesRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AiMarkdownForAgentsTimeseriesRequestDateStartList.pipe(T.Query()), ), format: S.optional( AiMarkdownForAgentsTimeseriesRequestFormat.pipe(T.Query()), ), name: S.optional( AiMarkdownForAgentsTimeseriesRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/ai/markdown_for_agents/timeseries", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesAiMarkdownForAgentRequest", }) as any as S.Schema; export type AiMarkdownForAgentsTimeseriesResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AiMarkdownForAgentsTimeseriesResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsList = Array; export const AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfo { annotations: AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfo", }) as any as S.Schema; export type AiMarkdownForAgentsTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AiMarkdownForAgentsTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AiMarkdownForAgentsTimeseriesResponseMetaDateRangeList = Array; export const AiMarkdownForAgentsTimeseriesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AiMarkdownForAgentsTimeseriesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AiMarkdownForAgentsTimeseriesResponseMetaNormalization = /*@__PURE__*/ S.String; export type AiMarkdownForAgentsTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AiMarkdownForAgentsTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AiMarkdownForAgentsTimeseriesResponseMetaUnitsList = Array; export const AiMarkdownForAgentsTimeseriesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AiMarkdownForAgentsTimeseriesResponseMeta { /** 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/). */ aggInterval: AiMarkdownForAgentsTimeseriesResponseMetaAggInterval; confidenceInfo: AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfo; dateRange: AiMarkdownForAgentsTimeseriesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AiMarkdownForAgentsTimeseriesResponseMetaNormalization; /** Measurement units for the results. */ units: AiMarkdownForAgentsTimeseriesResponseMetaUnitsList; } export const AiMarkdownForAgentsTimeseriesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AiMarkdownForAgentsTimeseriesResponseMetaAggInterval, confidenceInfo: AiMarkdownForAgentsTimeseriesResponseMetaConfidenceInfo, dateRange: AiMarkdownForAgentsTimeseriesResponseMetaDateRangeList, lastUpdated: S.String, normalization: AiMarkdownForAgentsTimeseriesResponseMetaNormalization, units: AiMarkdownForAgentsTimeseriesResponseMetaUnitsList, }), ).annotate({ identifier: "AiMarkdownForAgentsTimeseriesResponseMeta", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesAiMarkdownForAgentResponse { /** Metadata for the results. */ meta: AiMarkdownForAgentsTimeseriesResponseMeta; } export const TimeseriesAiMarkdownForAgentResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: AiMarkdownForAgentsTimeseriesResponseMeta, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesAiMarkdownForAgentResponse", }) as any as S.Schema; export type As112TimeseriesRequestAggInterval = "15m" | "1h" | "1d" | "1w"; export const As112TimeseriesRequestAggInterval = /*@__PURE__*/ S.String; export type As112TimeseriesRequestContinentList = Array; export const As112TimeseriesRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesRequestDateEndList = Array; export const As112TimeseriesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesRequestDateRangeList = Array; export const As112TimeseriesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesRequestDateStartList = Array; export const As112TimeseriesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesRequestFormat = "JSON" | "CSV"; export const As112TimeseriesRequestFormat = /*@__PURE__*/ S.String; export type As112TimeseriesRequestLocationList = Array; export const As112TimeseriesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesRequestNameList = Array; export const As112TimeseriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesRequestProtocol = "UDP" | "TCP" | "HTTPS" | "TLS"; export const As112TimeseriesRequestProtocol = /*@__PURE__*/ S.String; export type As112TimeseriesRequestProtocolList = Array< As112TimeseriesRequestProtocol | (string & {}) >; export const As112TimeseriesRequestProtocolList = /*@__PURE__*/ S.Array( As112TimeseriesRequestProtocol, ) as any as S.Schema; export type As112TimeseriesRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const As112TimeseriesRequestQueryType = /*@__PURE__*/ S.String; export type As112TimeseriesRequestQueryTypeList = Array< As112TimeseriesRequestQueryType | (string & {}) >; export const As112TimeseriesRequestQueryTypeList = /*@__PURE__*/ S.Array( As112TimeseriesRequestQueryType, ) as any as S.Schema; export type As112TimeseriesRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const As112TimeseriesRequestResponseCode = /*@__PURE__*/ S.String; export type As112TimeseriesRequestResponseCodeList = Array< As112TimeseriesRequestResponseCode | (string & {}) >; export const As112TimeseriesRequestResponseCodeList = /*@__PURE__*/ S.Array( As112TimeseriesRequestResponseCode, ) as any as S.Schema; export interface TimeseriesAs112Request { /** 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/). */ aggInterval?: As112TimeseriesRequestAggInterval | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112TimeseriesRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112TimeseriesRequestDateEndList; /** 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). */ dateRange?: As112TimeseriesRequestDateRangeList; /** Start of the date range. */ dateStart?: As112TimeseriesRequestDateStartList; /** Format in which results will be returned. */ format?: As112TimeseriesRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112TimeseriesRequestLocationList; /** Array of names used to label the series in the response. */ name?: As112TimeseriesRequestNameList; /** Filters results by DNS transport protocol. */ protocol?: As112TimeseriesRequestProtocolList; /** Filters results by DNS query type. */ queryType?: As112TimeseriesRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: As112TimeseriesRequestResponseCodeList; } export const TimeseriesAs112Request = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional(As112TimeseriesRequestAggInterval.pipe(T.Query())), continent: S.optional(As112TimeseriesRequestContinentList.pipe(T.Query())), dateEnd: S.optional(As112TimeseriesRequestDateEndList.pipe(T.Query())), dateRange: S.optional(As112TimeseriesRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(As112TimeseriesRequestDateStartList.pipe(T.Query())), format: S.optional(As112TimeseriesRequestFormat.pipe(T.Query())), location: S.optional(As112TimeseriesRequestLocationList.pipe(T.Query())), name: S.optional(As112TimeseriesRequestNameList.pipe(T.Query())), protocol: S.optional(As112TimeseriesRequestProtocolList.pipe(T.Query())), queryType: S.optional(As112TimeseriesRequestQueryTypeList.pipe(T.Query())), responseCode: S.optional( As112TimeseriesRequestResponseCodeList.pipe(T.Query()), ), }) .pipe(T.Http({ method: "GET", uri: "/radar/as112/timeseries", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesAs112Request", }) as any as S.Schema; export type As112TimeseriesResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const As112TimeseriesResponseMetaAggInterval = /*@__PURE__*/ S.String; export type As112TimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112TimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112TimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112TimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112TimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112TimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TimeseriesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112TimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112TimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112TimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112TimeseriesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112TimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112TimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112TimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112TimeseriesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112TimeseriesResponseMetaConfidenceInfoAnnotationsList = Array; export const As112TimeseriesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112TimeseriesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112TimeseriesResponseMetaConfidenceInfo { annotations: As112TimeseriesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112TimeseriesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: As112TimeseriesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112TimeseriesResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112TimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112TimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112TimeseriesResponseMetaDateRangeList = Array; export const As112TimeseriesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112TimeseriesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112TimeseriesResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112TimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112TimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112TimeseriesResponseMetaUnitsList = Array; export const As112TimeseriesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112TimeseriesResponseMeta { /** 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/). */ aggInterval: As112TimeseriesResponseMetaAggInterval; confidenceInfo: As112TimeseriesResponseMetaConfidenceInfo; dateRange: As112TimeseriesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112TimeseriesResponseMetaNormalization; /** Measurement units for the results. */ units: As112TimeseriesResponseMetaUnitsList; } export const As112TimeseriesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: As112TimeseriesResponseMetaAggInterval, confidenceInfo: As112TimeseriesResponseMetaConfidenceInfo, dateRange: As112TimeseriesResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112TimeseriesResponseMetaNormalization, units: As112TimeseriesResponseMetaUnitsList, }), ).annotate({ identifier: "As112TimeseriesResponseMeta", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesAs112Response { /** Metadata for the results. */ meta: As112TimeseriesResponseMeta; } export const TimeseriesAs112Response = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: As112TimeseriesResponseMeta, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesAs112Response", }) as any as S.Schema; export type AttacksLayer3TimeseriesRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer3TimeseriesRequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesRequestAsnList = Array; export const AttacksLayer3TimeseriesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesRequestContinentList = Array; export const AttacksLayer3TimeseriesRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesRequestDateEndList = Array; export const AttacksLayer3TimeseriesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesRequestDateRangeList = Array; export const AttacksLayer3TimeseriesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesRequestDateStartList = Array; export const AttacksLayer3TimeseriesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesRequestDirection = "ORIGIN" | "TARGET"; export const AttacksLayer3TimeseriesRequestDirection = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesRequestFormat = "JSON" | "CSV"; export const AttacksLayer3TimeseriesRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer3TimeseriesRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesRequestIpVersionList = Array< AttacksLayer3TimeseriesRequestIpVersion | (string & {}) >; export const AttacksLayer3TimeseriesRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3TimeseriesRequestLocationList = Array; export const AttacksLayer3TimeseriesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesRequestMetric = "BYTES" | "BYTES_OLD"; export const AttacksLayer3TimeseriesRequestMetric = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesRequestNameList = Array; export const AttacksLayer3TimeseriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesRequestNormalization = | "PERCENTAGE_CHANGE" | "MIN0_MAX"; export const AttacksLayer3TimeseriesRequestNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3TimeseriesRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesRequestProtocolList = Array< AttacksLayer3TimeseriesRequestProtocol | (string & {}) >; export const AttacksLayer3TimeseriesRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesRequestProtocol, ) as any as S.Schema; export interface TimeseriesAttackLayer3Request { /** 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/). */ aggInterval?: AttacksLayer3TimeseriesRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer3TimeseriesRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3TimeseriesRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3TimeseriesRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3TimeseriesRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3TimeseriesRequestDateStartList; /** Specifies whether the `location` filter applies to the source or target location. */ direction?: AttacksLayer3TimeseriesRequestDirection | (string & {}); /** Format in which results will be returned. */ format?: AttacksLayer3TimeseriesRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3TimeseriesRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3TimeseriesRequestLocationList; /** Measurement units, eg. bytes. */ metric?: AttacksLayer3TimeseriesRequestMetric | (string & {}); /** Array of names used to label the series in the response. */ name?: AttacksLayer3TimeseriesRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: AttacksLayer3TimeseriesRequestNormalization | (string & {}); /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3TimeseriesRequestProtocolList; } export const TimeseriesAttackLayer3Request = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AttacksLayer3TimeseriesRequestAggInterval.pipe(T.Query()), ), asn: S.optional(AttacksLayer3TimeseriesRequestAsnList.pipe(T.Query())), continent: S.optional( AttacksLayer3TimeseriesRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer3TimeseriesRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3TimeseriesRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer3TimeseriesRequestDateStartList.pipe(T.Query()), ), direction: S.optional( AttacksLayer3TimeseriesRequestDirection.pipe(T.Query()), ), format: S.optional(AttacksLayer3TimeseriesRequestFormat.pipe(T.Query())), ipVersion: S.optional( AttacksLayer3TimeseriesRequestIpVersionList.pipe(T.Query()), ), location: S.optional( AttacksLayer3TimeseriesRequestLocationList.pipe(T.Query()), ), metric: S.optional(AttacksLayer3TimeseriesRequestMetric.pipe(T.Query())), name: S.optional(AttacksLayer3TimeseriesRequestNameList.pipe(T.Query())), normalization: S.optional( AttacksLayer3TimeseriesRequestNormalization.pipe(T.Query()), ), protocol: S.optional( AttacksLayer3TimeseriesRequestProtocolList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/timeseries", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesAttackLayer3Request", }) as any as S.Schema; export type AttacksLayer3TimeseriesResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer3TimeseriesResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesResponseMetaConfidenceInfo { annotations: AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3TimeseriesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3TimeseriesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3TimeseriesResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3TimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3TimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3TimeseriesResponseMetaDateRangeList = Array; export const AttacksLayer3TimeseriesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3TimeseriesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3TimeseriesResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3TimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3TimeseriesResponseMetaUnitsList = Array; export const AttacksLayer3TimeseriesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesResponseMeta { /** 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/). */ aggInterval: AttacksLayer3TimeseriesResponseMetaAggInterval; confidenceInfo: AttacksLayer3TimeseriesResponseMetaConfidenceInfo; dateRange: AttacksLayer3TimeseriesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3TimeseriesResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3TimeseriesResponseMetaUnitsList; } export const AttacksLayer3TimeseriesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer3TimeseriesResponseMetaAggInterval, confidenceInfo: AttacksLayer3TimeseriesResponseMetaConfidenceInfo, dateRange: AttacksLayer3TimeseriesResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3TimeseriesResponseMetaNormalization, units: AttacksLayer3TimeseriesResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3TimeseriesResponseMeta", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesAttackLayer3Response { /** Metadata for the results. */ meta: AttacksLayer3TimeseriesResponseMeta; } export const TimeseriesAttackLayer3Response = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3TimeseriesResponseMeta, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesAttackLayer3Response", }) as any as S.Schema; export type AttacksLayer7TimeseriesRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer7TimeseriesRequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesRequestAsnList = Array; export const AttacksLayer7TimeseriesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesRequestContinentList = Array; export const AttacksLayer7TimeseriesRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesRequestDateEndList = Array; export const AttacksLayer7TimeseriesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesRequestDateRangeList = Array; export const AttacksLayer7TimeseriesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesRequestDateStartList = Array; export const AttacksLayer7TimeseriesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesRequestFormat = "JSON" | "CSV"; export const AttacksLayer7TimeseriesRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesRequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7TimeseriesRequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesRequestHttpMethodList = Array< AttacksLayer7TimeseriesRequestHttpMethod | (string & {}) >; export const AttacksLayer7TimeseriesRequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesRequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7TimeseriesRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7TimeseriesRequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesRequestHttpVersionList = Array< AttacksLayer7TimeseriesRequestHttpVersion | (string & {}) >; export const AttacksLayer7TimeseriesRequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesRequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7TimeseriesRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer7TimeseriesRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesRequestIpVersionList = Array< AttacksLayer7TimeseriesRequestIpVersion | (string & {}) >; export const AttacksLayer7TimeseriesRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesRequestIpVersion, ) as any as S.Schema; export type AttacksLayer7TimeseriesRequestLocationList = Array; export const AttacksLayer7TimeseriesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7TimeseriesRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesRequestMitigationProductList = Array< AttacksLayer7TimeseriesRequestMitigationProduct | (string & {}) >; export const AttacksLayer7TimeseriesRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7TimeseriesRequestNameList = Array; export const AttacksLayer7TimeseriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesRequestNormalization = | "PERCENTAGE_CHANGE" | "MIN0_MAX"; export const AttacksLayer7TimeseriesRequestNormalization = /*@__PURE__*/ S.String; export interface TimeseriesAttackLayer7Request { /** 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/). */ aggInterval?: AttacksLayer7TimeseriesRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7TimeseriesRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7TimeseriesRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7TimeseriesRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7TimeseriesRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7TimeseriesRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7TimeseriesRequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7TimeseriesRequestHttpMethodList; /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7TimeseriesRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7TimeseriesRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7TimeseriesRequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7TimeseriesRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7TimeseriesRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: AttacksLayer7TimeseriesRequestNormalization | (string & {}); } export const TimeseriesAttackLayer7Request = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AttacksLayer7TimeseriesRequestAggInterval.pipe(T.Query()), ), asn: S.optional(AttacksLayer7TimeseriesRequestAsnList.pipe(T.Query())), continent: S.optional( AttacksLayer7TimeseriesRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer7TimeseriesRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7TimeseriesRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer7TimeseriesRequestDateStartList.pipe(T.Query()), ), format: S.optional(AttacksLayer7TimeseriesRequestFormat.pipe(T.Query())), httpMethod: S.optional( AttacksLayer7TimeseriesRequestHttpMethodList.pipe(T.Query()), ), httpVersion: S.optional( AttacksLayer7TimeseriesRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer7TimeseriesRequestIpVersionList.pipe(T.Query()), ), location: S.optional( AttacksLayer7TimeseriesRequestLocationList.pipe(T.Query()), ), mitigationProduct: S.optional( AttacksLayer7TimeseriesRequestMitigationProductList.pipe(T.Query()), ), name: S.optional(AttacksLayer7TimeseriesRequestNameList.pipe(T.Query())), normalization: S.optional( AttacksLayer7TimeseriesRequestNormalization.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/timeseries", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesAttackLayer7Request", }) as any as S.Schema; export type AttacksLayer7TimeseriesResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer7TimeseriesResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesResponseMetaConfidenceInfo { annotations: AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7TimeseriesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7TimeseriesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7TimeseriesResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7TimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7TimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7TimeseriesResponseMetaDateRangeList = Array; export const AttacksLayer7TimeseriesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7TimeseriesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7TimeseriesResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7TimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7TimeseriesResponseMetaUnitsList = Array; export const AttacksLayer7TimeseriesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesResponseMeta { /** 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/). */ aggInterval: AttacksLayer7TimeseriesResponseMetaAggInterval; confidenceInfo: AttacksLayer7TimeseriesResponseMetaConfidenceInfo; dateRange: AttacksLayer7TimeseriesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7TimeseriesResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7TimeseriesResponseMetaUnitsList; } export const AttacksLayer7TimeseriesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer7TimeseriesResponseMetaAggInterval, confidenceInfo: AttacksLayer7TimeseriesResponseMetaConfidenceInfo, dateRange: AttacksLayer7TimeseriesResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7TimeseriesResponseMetaNormalization, units: AttacksLayer7TimeseriesResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesResponseMeta", }) as any as S.Schema; export type AttacksLayer7TimeseriesResponseSerie0TimestampsList = Array; export const AttacksLayer7TimeseriesResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesResponseSerie0ValuesList = Array; export const AttacksLayer7TimeseriesResponseSerie0ValuesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesResponseSerie0 { timestamps: AttacksLayer7TimeseriesResponseSerie0TimestampsList; values: AttacksLayer7TimeseriesResponseSerie0ValuesList; } export const AttacksLayer7TimeseriesResponseSerie0 = /*@__PURE__*/ S.suspend( () => S.Struct({ timestamps: AttacksLayer7TimeseriesResponseSerie0TimestampsList, values: AttacksLayer7TimeseriesResponseSerie0ValuesList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesAttackLayer7Response { /** Metadata for the results. */ meta: AttacksLayer7TimeseriesResponseMeta; serie_0: AttacksLayer7TimeseriesResponseSerie0; } export const TimeseriesAttackLayer7Response = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer7TimeseriesResponseMeta, serie_0: AttacksLayer7TimeseriesResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesAttackLayer7Response", }) as any as S.Schema; export type BgpTimeseriesRequestAggInterval = "15m" | "1h" | "1d" | "1w"; export const BgpTimeseriesRequestAggInterval = /*@__PURE__*/ S.String; export type BgpTimeseriesRequestAsnList = Array; export const BgpTimeseriesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTimeseriesRequestDateEndList = Array; export const BgpTimeseriesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTimeseriesRequestDateRangeList = Array; export const BgpTimeseriesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTimeseriesRequestDateStartList = Array; export const BgpTimeseriesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTimeseriesRequestFormat = "JSON" | "CSV"; export const BgpTimeseriesRequestFormat = /*@__PURE__*/ S.String; export type BgpTimeseriesRequestNameList = Array; export const BgpTimeseriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTimeseriesRequestPrefixList = Array; export const BgpTimeseriesRequestPrefixList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTimeseriesRequestUpdateType = "ANNOUNCEMENT" | "WITHDRAWAL"; export const BgpTimeseriesRequestUpdateType = /*@__PURE__*/ S.String; export type BgpTimeseriesRequestUpdateTypeList = Array< BgpTimeseriesRequestUpdateType | (string & {}) >; export const BgpTimeseriesRequestUpdateTypeList = /*@__PURE__*/ S.Array( BgpTimeseriesRequestUpdateType, ) as any as S.Schema; export interface TimeseriesBgpRequest { /** 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/). */ aggInterval?: BgpTimeseriesRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: BgpTimeseriesRequestAsnList; /** End of the date range (inclusive). */ dateEnd?: BgpTimeseriesRequestDateEndList; /** 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). */ dateRange?: BgpTimeseriesRequestDateRangeList; /** Start of the date range. */ dateStart?: BgpTimeseriesRequestDateStartList; /** Format in which results will be returned. */ format?: BgpTimeseriesRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: BgpTimeseriesRequestNameList; /** Filters results by BGP network prefix. */ prefix?: BgpTimeseriesRequestPrefixList; /** Filters results by BGP update type. */ updateType?: BgpTimeseriesRequestUpdateTypeList; } export const TimeseriesBgpRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional(BgpTimeseriesRequestAggInterval.pipe(T.Query())), asn: S.optional(BgpTimeseriesRequestAsnList.pipe(T.Query())), dateEnd: S.optional(BgpTimeseriesRequestDateEndList.pipe(T.Query())), dateRange: S.optional(BgpTimeseriesRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(BgpTimeseriesRequestDateStartList.pipe(T.Query())), format: S.optional(BgpTimeseriesRequestFormat.pipe(T.Query())), name: S.optional(BgpTimeseriesRequestNameList.pipe(T.Query())), prefix: S.optional(BgpTimeseriesRequestPrefixList.pipe(T.Query())), updateType: S.optional(BgpTimeseriesRequestUpdateTypeList.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/bgp/timeseries", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesBgpRequest", }) as any as S.Schema; export type BgpTimeseriesResponseMetaAggInterval = "15m" | "1h" | "1d" | "1w"; export const BgpTimeseriesResponseMetaAggInterval = /*@__PURE__*/ S.String; export type BgpTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const BgpTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type BgpTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const BgpTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type BgpTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const BgpTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BgpTimeseriesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: BgpTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: BgpTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: BgpTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const BgpTimeseriesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: BgpTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: BgpTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( BgpTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "BgpTimeseriesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type BgpTimeseriesResponseMetaConfidenceInfoAnnotationsList = Array; export const BgpTimeseriesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( BgpTimeseriesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface BgpTimeseriesResponseMetaConfidenceInfo { annotations: BgpTimeseriesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const BgpTimeseriesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: BgpTimeseriesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "BgpTimeseriesResponseMetaConfidenceInfo", }) as any as S.Schema; export type BgpTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const BgpTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type BgpTimeseriesResponseMetaDateRangeList = Array; export const BgpTimeseriesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export interface BgpTimeseriesResponseMeta { aggInterval: BgpTimeseriesResponseMetaAggInterval; confidenceInfo: BgpTimeseriesResponseMetaConfidenceInfo; dateRange: BgpTimeseriesResponseMetaDateRangeList; lastUpdated: string; } export const BgpTimeseriesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: BgpTimeseriesResponseMetaAggInterval, confidenceInfo: BgpTimeseriesResponseMetaConfidenceInfo, dateRange: BgpTimeseriesResponseMetaDateRangeList, lastUpdated: S.String, }), ).annotate({ identifier: "BgpTimeseriesResponseMeta", }) as any as S.Schema; export type BgpTimeseriesResponseSerie0TimestampsList = Array; export const BgpTimeseriesResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpTimeseriesResponseSerie0ValuesList = Array; export const BgpTimeseriesResponseSerie0ValuesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BgpTimeseriesResponseSerie0 { timestamps: BgpTimeseriesResponseSerie0TimestampsList; values: BgpTimeseriesResponseSerie0ValuesList; } export const BgpTimeseriesResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: BgpTimeseriesResponseSerie0TimestampsList, values: BgpTimeseriesResponseSerie0ValuesList, }), ).annotate({ identifier: "BgpTimeseriesResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesBgpResponse { meta: BgpTimeseriesResponseMeta; serie_0: BgpTimeseriesResponseSerie0; } export const TimeseriesBgpResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: BgpTimeseriesResponseMeta, serie_0: BgpTimeseriesResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesBgpResponse", }) as any as S.Schema; export type BgpIpsTimeseriesRequestAsnList = Array; export const BgpIpsTimeseriesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpIpsTimeseriesRequestDateEndList = Array; export const BgpIpsTimeseriesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpIpsTimeseriesRequestDateRangeList = Array; export const BgpIpsTimeseriesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpIpsTimeseriesRequestDateStartList = Array; export const BgpIpsTimeseriesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpIpsTimeseriesRequestFormat = "JSON" | "CSV"; export const BgpIpsTimeseriesRequestFormat = /*@__PURE__*/ S.String; export type BgpIpsTimeseriesRequestIpVersion = "IPv4" | "IPv6"; export const BgpIpsTimeseriesRequestIpVersion = /*@__PURE__*/ S.String; export type BgpIpsTimeseriesRequestIpVersionList = Array< BgpIpsTimeseriesRequestIpVersion | (string & {}) >; export const BgpIpsTimeseriesRequestIpVersionList = /*@__PURE__*/ S.Array( BgpIpsTimeseriesRequestIpVersion, ) as any as S.Schema; export type BgpIpsTimeseriesRequestLocationList = Array; export const BgpIpsTimeseriesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpIpsTimeseriesRequestNameList = Array; export const BgpIpsTimeseriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TimeseriesBgpIpRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: BgpIpsTimeseriesRequestAsnList; /** End of the date range (inclusive). */ dateEnd?: BgpIpsTimeseriesRequestDateEndList; /** 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). */ dateRange?: BgpIpsTimeseriesRequestDateRangeList; /** Start of the date range. */ dateStart?: BgpIpsTimeseriesRequestDateStartList; /** Format in which results will be returned. */ format?: BgpIpsTimeseriesRequestFormat | (string & {}); /** Includes data delay meta information. */ includeDelay?: boolean; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: BgpIpsTimeseriesRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 location codes. */ location?: BgpIpsTimeseriesRequestLocationList; /** Array of names used to label the series in the response. */ name?: BgpIpsTimeseriesRequestNameList; } export const TimeseriesBgpIpRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(BgpIpsTimeseriesRequestAsnList.pipe(T.Query())), dateEnd: S.optional(BgpIpsTimeseriesRequestDateEndList.pipe(T.Query())), dateRange: S.optional(BgpIpsTimeseriesRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(BgpIpsTimeseriesRequestDateStartList.pipe(T.Query())), format: S.optional(BgpIpsTimeseriesRequestFormat.pipe(T.Query())), includeDelay: S.optional(S.Boolean.pipe(T.Query())), ipVersion: S.optional(BgpIpsTimeseriesRequestIpVersionList.pipe(T.Query())), location: S.optional(BgpIpsTimeseriesRequestLocationList.pipe(T.Query())), name: S.optional(BgpIpsTimeseriesRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/bgp/ips/timeseries", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesBgpIpRequest", }) as any as S.Schema; export type BgpIpsTimeseriesResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const BgpIpsTimeseriesResponseMetaAggInterval = /*@__PURE__*/ S.String; export type BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsList = Array; export const BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface BgpIpsTimeseriesResponseMetaConfidenceInfo { annotations: BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const BgpIpsTimeseriesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: BgpIpsTimeseriesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "BgpIpsTimeseriesResponseMetaConfidenceInfo", }) as any as S.Schema; export type BgpIpsTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const BgpIpsTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type BgpIpsTimeseriesResponseMetaDateRangeList = Array; export const BgpIpsTimeseriesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type BgpIpsTimeseriesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const BgpIpsTimeseriesResponseMetaNormalization = /*@__PURE__*/ S.String; export type BgpIpsTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const BgpIpsTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type BgpIpsTimeseriesResponseMetaUnitsList = Array; export const BgpIpsTimeseriesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface BgpIpsTimeseriesResponseMetaDelayAsnDataLatest { entriesCount: number; path: string; timestamp: number; } export const BgpIpsTimeseriesResponseMetaDelayAsnDataLatest = /*@__PURE__*/ S.suspend(() => S.Struct({ entriesCount: S.Number.pipe(T.Body("entries_count")), path: S.String, timestamp: S.Number, }), ).annotate({ identifier: "BgpIpsTimeseriesResponseMetaDelayAsnDataLatest", }) as any as S.Schema; export interface BgpIpsTimeseriesResponseMetaDelayAsnData { delaySecs: number; delayStr: string; healthy: boolean; latest: BgpIpsTimeseriesResponseMetaDelayAsnDataLatest; } export const BgpIpsTimeseriesResponseMetaDelayAsnData = /*@__PURE__*/ S.suspend( () => S.Struct({ delaySecs: S.Number, delayStr: S.String, healthy: S.Boolean, latest: BgpIpsTimeseriesResponseMetaDelayAsnDataLatest, }), ).annotate({ identifier: "BgpIpsTimeseriesResponseMetaDelayAsnData", }) as any as S.Schema; export interface BgpIpsTimeseriesResponseMetaDelayCountryDataLatest { count: number; timestamp: number; } export const BgpIpsTimeseriesResponseMetaDelayCountryDataLatest = /*@__PURE__*/ S.suspend(() => S.Struct({ count: S.Number, timestamp: S.Number, }), ).annotate({ identifier: "BgpIpsTimeseriesResponseMetaDelayCountryDataLatest", }) as any as S.Schema; export interface BgpIpsTimeseriesResponseMetaDelayCountryData { delaySecs: number; delayStr: string; healthy: boolean; latest: BgpIpsTimeseriesResponseMetaDelayCountryDataLatest; } export const BgpIpsTimeseriesResponseMetaDelayCountryData = /*@__PURE__*/ S.suspend(() => S.Struct({ delaySecs: S.Number, delayStr: S.String, healthy: S.Boolean, latest: BgpIpsTimeseriesResponseMetaDelayCountryDataLatest, }), ).annotate({ identifier: "BgpIpsTimeseriesResponseMetaDelayCountryData", }) as any as S.Schema; export interface BgpIpsTimeseriesResponseMetaDelay { asnData: BgpIpsTimeseriesResponseMetaDelayAsnData; countryData: BgpIpsTimeseriesResponseMetaDelayCountryData; healthy: boolean; nowTs: number; } export const BgpIpsTimeseriesResponseMetaDelay = /*@__PURE__*/ S.suspend(() => S.Struct({ asnData: BgpIpsTimeseriesResponseMetaDelayAsnData.pipe(T.Body("asn_data")), countryData: BgpIpsTimeseriesResponseMetaDelayCountryData.pipe( T.Body("country_data"), ), healthy: S.Boolean, nowTs: S.Number, }), ).annotate({ identifier: "BgpIpsTimeseriesResponseMetaDelay", }) as any as S.Schema; export interface BgpIpsTimeseriesResponseMeta { /** 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/). */ aggInterval: BgpIpsTimeseriesResponseMetaAggInterval; confidenceInfo: BgpIpsTimeseriesResponseMetaConfidenceInfo; dateRange: BgpIpsTimeseriesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: BgpIpsTimeseriesResponseMetaNormalization; /** Measurement units for the results. */ units: BgpIpsTimeseriesResponseMetaUnitsList; delay?: BgpIpsTimeseriesResponseMetaDelay | null; } export const BgpIpsTimeseriesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: BgpIpsTimeseriesResponseMetaAggInterval, confidenceInfo: BgpIpsTimeseriesResponseMetaConfidenceInfo, dateRange: BgpIpsTimeseriesResponseMetaDateRangeList, lastUpdated: S.String, normalization: BgpIpsTimeseriesResponseMetaNormalization, units: BgpIpsTimeseriesResponseMetaUnitsList, delay: S.optional(S.NullOr(BgpIpsTimeseriesResponseMetaDelay)), }), ).annotate({ identifier: "BgpIpsTimeseriesResponseMeta", }) as any as S.Schema; export type BgpIpsTimeseriesResponseSerie0Ipv4List = Array; export const BgpIpsTimeseriesResponseSerie0Ipv4List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpIpsTimeseriesResponseSerie0Ipv6List = Array; export const BgpIpsTimeseriesResponseSerie0Ipv6List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpIpsTimeseriesResponseSerie0TimestampsList = Array; export const BgpIpsTimeseriesResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BgpIpsTimeseriesResponseSerie0 { ipv4: BgpIpsTimeseriesResponseSerie0Ipv4List; ipv6: BgpIpsTimeseriesResponseSerie0Ipv6List; timestamps: BgpIpsTimeseriesResponseSerie0TimestampsList; } export const BgpIpsTimeseriesResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ ipv4: BgpIpsTimeseriesResponseSerie0Ipv4List, ipv6: BgpIpsTimeseriesResponseSerie0Ipv6List, timestamps: BgpIpsTimeseriesResponseSerie0TimestampsList, }), ).annotate({ identifier: "BgpIpsTimeseriesResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesBgpIpResponse { /** Metadata for the results. */ meta: BgpIpsTimeseriesResponseMeta; serie_0: BgpIpsTimeseriesResponseSerie0; } export const TimeseriesBgpIpResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: BgpIpsTimeseriesResponseMeta, serie_0: BgpIpsTimeseriesResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesBgpIpResponse", }) as any as S.Schema; export type BgpRpkiAspaTimeseriesRequestFormat = "JSON" | "CSV"; export const BgpRpkiAspaTimeseriesRequestFormat = /*@__PURE__*/ S.String; export type BgpRpkiAspaTimeseriesRequestLocationList = Array; export const BgpRpkiAspaTimeseriesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpRpkiAspaTimeseriesRequestNameList = Array; export const BgpRpkiAspaTimeseriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpRpkiAspaTimeseriesRequestRir = | "RIPE_NCC" | "ARIN" | "APNIC" | "LACNIC" | "AFRINIC"; export const BgpRpkiAspaTimeseriesRequestRir = /*@__PURE__*/ S.String; export type BgpRpkiAspaTimeseriesRequestRirList = Array< BgpRpkiAspaTimeseriesRequestRir | (string & {}) >; export const BgpRpkiAspaTimeseriesRequestRirList = /*@__PURE__*/ S.Array( BgpRpkiAspaTimeseriesRequestRir, ) as any as S.Schema; export interface TimeseriesBgpRpkiAspaRequest { /** End of the date range (inclusive). */ dateEnd?: string; /** Start of the date range (inclusive). */ dateStart?: string; /** Format in which results will be returned. */ format?: BgpRpkiAspaTimeseriesRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 location codes. */ location?: BgpRpkiAspaTimeseriesRequestLocationList; /** Array of names used to label the series in the response. */ name?: BgpRpkiAspaTimeseriesRequestNameList; /** Filter by Regional Internet Registry (RIR). Multiple RIRs generate multiple series. */ rir?: BgpRpkiAspaTimeseriesRequestRirList; } export const TimeseriesBgpRpkiAspaRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dateEnd: S.optional(S.String.pipe(T.Query())), dateStart: S.optional(S.String.pipe(T.Query())), format: S.optional(BgpRpkiAspaTimeseriesRequestFormat.pipe(T.Query())), location: S.optional( BgpRpkiAspaTimeseriesRequestLocationList.pipe(T.Query()), ), name: S.optional(BgpRpkiAspaTimeseriesRequestNameList.pipe(T.Query())), rir: S.optional(BgpRpkiAspaTimeseriesRequestRirList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/bgp/rpki/aspa/timeseries", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesBgpRpkiAspaRequest", }) as any as S.Schema; export type BgpRpkiAspaTimeseriesResponseMeta = BgpRpkiAspaChangesResponseMeta; export const BgpRpkiAspaTimeseriesResponseMeta = BgpRpkiAspaChangesResponseMeta; export type BgpRpkiAspaTimeseriesResponseSerie0TimestampsList = Array; export const BgpRpkiAspaTimeseriesResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpRpkiAspaTimeseriesResponseSerie0ValuesList = Array; export const BgpRpkiAspaTimeseriesResponseSerie0ValuesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BgpRpkiAspaTimeseriesResponseSerie0 { timestamps: BgpRpkiAspaTimeseriesResponseSerie0TimestampsList; values: BgpRpkiAspaTimeseriesResponseSerie0ValuesList; } export const BgpRpkiAspaTimeseriesResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: BgpRpkiAspaTimeseriesResponseSerie0TimestampsList, values: BgpRpkiAspaTimeseriesResponseSerie0ValuesList, }), ).annotate({ identifier: "BgpRpkiAspaTimeseriesResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesBgpRpkiAspaResponse { meta: BgpRpkiAspaChangesResponseMeta; serie_0: BgpRpkiAspaTimeseriesResponseSerie0; } export const TimeseriesBgpRpkiAspaResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: BgpRpkiAspaChangesResponseMeta, serie_0: BgpRpkiAspaTimeseriesResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesBgpRpkiAspaResponse", }) as any as S.Schema; export type BgpRpkiRoasTimeseriesRequestAsnList = Array; export const BgpRpkiRoasTimeseriesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpRpkiRoasTimeseriesRequestFormat = "JSON" | "CSV"; export const BgpRpkiRoasTimeseriesRequestFormat = /*@__PURE__*/ S.String; export type BgpRpkiRoasTimeseriesRequestLocationList = Array; export const BgpRpkiRoasTimeseriesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpRpkiRoasTimeseriesRequestMetric = | "validPfxsRatio" | "validPfxsV4Ratio" | "validPfxsV6Ratio" | "validIpsRatio" | "validIpsV4Ratio" | "validIpsV6Ratio"; export const BgpRpkiRoasTimeseriesRequestMetric = /*@__PURE__*/ S.String; export type BgpRpkiRoasTimeseriesRequestNameList = Array; export const BgpRpkiRoasTimeseriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TimeseriesBgpRpkiRoaRequest { /** Filters results by Autonomous System Number. Specify one or more ASNs. Multiple values generate one series per ASN. */ asn?: BgpRpkiRoasTimeseriesRequestAsnList; /** End of the date range (inclusive). */ dateEnd?: string; /** Start of the date range (inclusive). */ dateStart?: string; /** Format in which results will be returned. */ format?: BgpRpkiRoasTimeseriesRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 location codes. */ location?: BgpRpkiRoasTimeseriesRequestLocationList; /** Which RPKI ROA validation metric to return. validPfxsRatio = ratio of RPKI-valid prefixes (IPv4+IPv6 combined). validPfxsV4Ratio / validPfxsV6Ratio = same, split by IP version. validIpsRatio = ratio of RPKI-valid address space (IPv4 /24s + IPv6 /48s). validIpsV4Ratio / validIpsV6Ratio = same, split by IP version. */ metric?: BgpRpkiRoasTimeseriesRequestMetric | (string & {}); /** Array of names used to label the series in the response. */ name?: BgpRpkiRoasTimeseriesRequestNameList; } export const TimeseriesBgpRpkiRoaRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(BgpRpkiRoasTimeseriesRequestAsnList.pipe(T.Query())), dateEnd: S.optional(S.String.pipe(T.Query())), dateStart: S.optional(S.String.pipe(T.Query())), format: S.optional(BgpRpkiRoasTimeseriesRequestFormat.pipe(T.Query())), location: S.optional( BgpRpkiRoasTimeseriesRequestLocationList.pipe(T.Query()), ), metric: S.optional(BgpRpkiRoasTimeseriesRequestMetric.pipe(T.Query())), name: S.optional(BgpRpkiRoasTimeseriesRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/bgp/rpki/roas/timeseries", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesBgpRpkiRoaRequest", }) as any as S.Schema; export type BgpRpkiRoasTimeseriesResponseMeta = BgpRpkiAspaChangesResponseMeta; export const BgpRpkiRoasTimeseriesResponseMeta = BgpRpkiAspaChangesResponseMeta; export type BgpRpkiRoasTimeseriesResponseSerie0TimestampsList = Array; export const BgpRpkiRoasTimeseriesResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BgpRpkiRoasTimeseriesResponseSerie0ValuesList = Array; export const BgpRpkiRoasTimeseriesResponseSerie0ValuesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BgpRpkiRoasTimeseriesResponseSerie0 { timestamps: BgpRpkiRoasTimeseriesResponseSerie0TimestampsList; values: BgpRpkiRoasTimeseriesResponseSerie0ValuesList; } export const BgpRpkiRoasTimeseriesResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: BgpRpkiRoasTimeseriesResponseSerie0TimestampsList, values: BgpRpkiRoasTimeseriesResponseSerie0ValuesList, }), ).annotate({ identifier: "BgpRpkiRoasTimeseriesResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesBgpRpkiRoaResponse { meta: BgpRpkiAspaChangesResponseMeta; serie_0: BgpRpkiRoasTimeseriesResponseSerie0; } export const TimeseriesBgpRpkiRoaResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: BgpRpkiAspaChangesResponseMeta, serie_0: BgpRpkiRoasTimeseriesResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesBgpRpkiRoaResponse", }) as any as S.Schema; export type BotsTimeseriesRequestAggInterval = "15m" | "1h" | "1d" | "1w"; export const BotsTimeseriesRequestAggInterval = /*@__PURE__*/ S.String; export type BotsTimeseriesRequestAsnList = Array; export const BotsTimeseriesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsTimeseriesRequestBotList = Array; export const BotsTimeseriesRequestBotList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsTimeseriesRequestBotCategory = | "SEARCH_ENGINE_CRAWLER" | "SEARCH_ENGINE_OPTIMIZATION" | "MONITORING_AND_ANALYTICS" | "ADVERTISING_AND_MARKETING" | "SOCIAL_MEDIA_MARKETING" | "PAGE_PREVIEW" | "ACADEMIC_RESEARCH" | "SECURITY" | "ACCESSIBILITY" | "WEBHOOKS" | "FEED_FETCHER" | "AI_CRAWLER" | "AGGREGATOR" | "AI_ASSISTANT" | "AI_SEARCH" | "ARCHIVER"; export const BotsTimeseriesRequestBotCategory = /*@__PURE__*/ S.String; export type BotsTimeseriesRequestBotCategoryList = Array< BotsTimeseriesRequestBotCategory | (string & {}) >; export const BotsTimeseriesRequestBotCategoryList = /*@__PURE__*/ S.Array( BotsTimeseriesRequestBotCategory, ) as any as S.Schema; export type BotsTimeseriesRequestBotKind = "AGENT" | "BOT"; export const BotsTimeseriesRequestBotKind = /*@__PURE__*/ S.String; export type BotsTimeseriesRequestBotKindList = Array< BotsTimeseriesRequestBotKind | (string & {}) >; export const BotsTimeseriesRequestBotKindList = /*@__PURE__*/ S.Array( BotsTimeseriesRequestBotKind, ) as any as S.Schema; export type BotsTimeseriesRequestBotOperatorList = Array; export const BotsTimeseriesRequestBotOperatorList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsTimeseriesRequestBotVerificationStatus = "VERIFIED"; export const BotsTimeseriesRequestBotVerificationStatus = /*@__PURE__*/ S.String; export type BotsTimeseriesRequestBotVerificationStatusList = Array< BotsTimeseriesRequestBotVerificationStatus | (string & {}) >; export const BotsTimeseriesRequestBotVerificationStatusList = /*@__PURE__*/ S.Array( BotsTimeseriesRequestBotVerificationStatus, ) as any as S.Schema; export type BotsTimeseriesRequestContinentList = Array; export const BotsTimeseriesRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsTimeseriesRequestDateEndList = Array; export const BotsTimeseriesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsTimeseriesRequestDateRangeList = Array; export const BotsTimeseriesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsTimeseriesRequestDateStartList = Array; export const BotsTimeseriesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsTimeseriesRequestFormat = "JSON" | "CSV"; export const BotsTimeseriesRequestFormat = /*@__PURE__*/ S.String; export type BotsTimeseriesRequestLocationList = Array; export const BotsTimeseriesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsTimeseriesRequestNameList = Array; export const BotsTimeseriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TimeseriesBotRequest { /** 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/). */ aggInterval?: BotsTimeseriesRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: BotsTimeseriesRequestAsnList; /** Filters results by bot name. */ bot?: BotsTimeseriesRequestBotList; /** Filters results by bot category. */ botCategory?: BotsTimeseriesRequestBotCategoryList; /** Filters results by bot kind. Deprecated: the Verified Bot / Signed Agent distinction is being removed. */ botKind?: BotsTimeseriesRequestBotKindList; /** Filters results by bot operator. */ botOperator?: BotsTimeseriesRequestBotOperatorList; /** Filters results by bot verification status (Verified vs. Unverified). */ botVerificationStatus?: BotsTimeseriesRequestBotVerificationStatusList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: BotsTimeseriesRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: BotsTimeseriesRequestDateEndList; /** 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). */ dateRange?: BotsTimeseriesRequestDateRangeList; /** Start of the date range. */ dateStart?: BotsTimeseriesRequestDateStartList; /** Format in which results will be returned. */ format?: BotsTimeseriesRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: BotsTimeseriesRequestLocationList; /** Array of names used to label the series in the response. */ name?: BotsTimeseriesRequestNameList; } export const TimeseriesBotRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional(BotsTimeseriesRequestAggInterval.pipe(T.Query())), asn: S.optional(BotsTimeseriesRequestAsnList.pipe(T.Query())), bot: S.optional(BotsTimeseriesRequestBotList.pipe(T.Query())), botCategory: S.optional( BotsTimeseriesRequestBotCategoryList.pipe(T.Query()), ), botKind: S.optional(BotsTimeseriesRequestBotKindList.pipe(T.Query())), botOperator: S.optional( BotsTimeseriesRequestBotOperatorList.pipe(T.Query()), ), botVerificationStatus: S.optional( BotsTimeseriesRequestBotVerificationStatusList.pipe(T.Query()), ), continent: S.optional(BotsTimeseriesRequestContinentList.pipe(T.Query())), dateEnd: S.optional(BotsTimeseriesRequestDateEndList.pipe(T.Query())), dateRange: S.optional(BotsTimeseriesRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(BotsTimeseriesRequestDateStartList.pipe(T.Query())), format: S.optional(BotsTimeseriesRequestFormat.pipe(T.Query())), location: S.optional(BotsTimeseriesRequestLocationList.pipe(T.Query())), name: S.optional(BotsTimeseriesRequestNameList.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/bots/timeseries", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesBotRequest", }) as any as S.Schema; export type BotsTimeseriesResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const BotsTimeseriesResponseMetaAggInterval = /*@__PURE__*/ S.String; export type BotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const BotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type BotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const BotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type BotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const BotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BotsTimeseriesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: BotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: BotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: BotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const BotsTimeseriesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: BotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: BotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( BotsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "BotsTimeseriesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type BotsTimeseriesResponseMetaConfidenceInfoAnnotationsList = Array; export const BotsTimeseriesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( BotsTimeseriesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface BotsTimeseriesResponseMetaConfidenceInfo { annotations: BotsTimeseriesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const BotsTimeseriesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: BotsTimeseriesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "BotsTimeseriesResponseMetaConfidenceInfo", }) as any as S.Schema; export type BotsTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const BotsTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type BotsTimeseriesResponseMetaDateRangeList = Array; export const BotsTimeseriesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type BotsTimeseriesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const BotsTimeseriesResponseMetaNormalization = /*@__PURE__*/ S.String; export type BotsTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const BotsTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type BotsTimeseriesResponseMetaUnitsList = Array; export const BotsTimeseriesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface BotsTimeseriesResponseMeta { /** 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/). */ aggInterval: BotsTimeseriesResponseMetaAggInterval; confidenceInfo: BotsTimeseriesResponseMetaConfidenceInfo; dateRange: BotsTimeseriesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: BotsTimeseriesResponseMetaNormalization; /** Measurement units for the results. */ units: BotsTimeseriesResponseMetaUnitsList; } export const BotsTimeseriesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: BotsTimeseriesResponseMetaAggInterval, confidenceInfo: BotsTimeseriesResponseMetaConfidenceInfo, dateRange: BotsTimeseriesResponseMetaDateRangeList, lastUpdated: S.String, normalization: BotsTimeseriesResponseMetaNormalization, units: BotsTimeseriesResponseMetaUnitsList, }), ).annotate({ identifier: "BotsTimeseriesResponseMeta", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesBotResponse { /** Metadata for the results. */ meta: BotsTimeseriesResponseMeta; } export const TimeseriesBotResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: BotsTimeseriesResponseMeta, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesBotResponse", }) as any as S.Schema; export type CtTimeseriesRequestAggInterval = "15m" | "1h" | "1d" | "1w"; export const CtTimeseriesRequestAggInterval = /*@__PURE__*/ S.String; export type CtTimeseriesRequestCaList = Array; export const CtTimeseriesRequestCaList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesRequestCaOwnerList = Array; export const CtTimeseriesRequestCaOwnerList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesRequestDateEndList = Array; export const CtTimeseriesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesRequestDateRangeList = Array; export const CtTimeseriesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesRequestDateStartList = Array; export const CtTimeseriesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesRequestDuration = | "LTE_3D" | "GT_3D_LTE_7D" | "GT_7D_LTE_10D" | "GT_10D_LTE_47D" | "GT_47D_LTE_100D" | "GT_100D_LTE_200D" | "GT_200D"; export const CtTimeseriesRequestDuration = /*@__PURE__*/ S.String; export type CtTimeseriesRequestDurationList = Array< CtTimeseriesRequestDuration | (string & {}) >; export const CtTimeseriesRequestDurationList = /*@__PURE__*/ S.Array( CtTimeseriesRequestDuration, ) as any as S.Schema; export type CtTimeseriesRequestEntryType = "PRECERTIFICATE" | "CERTIFICATE"; export const CtTimeseriesRequestEntryType = /*@__PURE__*/ S.String; export type CtTimeseriesRequestEntryTypeList = Array< CtTimeseriesRequestEntryType | (string & {}) >; export const CtTimeseriesRequestEntryTypeList = /*@__PURE__*/ S.Array( CtTimeseriesRequestEntryType, ) as any as S.Schema; export type CtTimeseriesRequestExpirationStatus = "EXPIRED" | "VALID"; export const CtTimeseriesRequestExpirationStatus = /*@__PURE__*/ S.String; export type CtTimeseriesRequestExpirationStatusList = Array< CtTimeseriesRequestExpirationStatus | (string & {}) >; export const CtTimeseriesRequestExpirationStatusList = /*@__PURE__*/ S.Array( CtTimeseriesRequestExpirationStatus, ) as any as S.Schema; export type CtTimeseriesRequestFormat = "JSON" | "CSV"; export const CtTimeseriesRequestFormat = /*@__PURE__*/ S.String; export type CtTimeseriesRequestHasIpsList = Array; export const CtTimeseriesRequestHasIpsList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type CtTimeseriesRequestHasWildcardsList = Array; export const CtTimeseriesRequestHasWildcardsList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type CtTimeseriesRequestLogList = Array; export const CtTimeseriesRequestLogList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesRequestLogApi = "RFC6962" | "STATIC"; export const CtTimeseriesRequestLogApi = /*@__PURE__*/ S.String; export type CtTimeseriesRequestLogApiList = Array< CtTimeseriesRequestLogApi | (string & {}) >; export const CtTimeseriesRequestLogApiList = /*@__PURE__*/ S.Array( CtTimeseriesRequestLogApi, ) as any as S.Schema; export type CtTimeseriesRequestLogOperatorList = Array; export const CtTimeseriesRequestLogOperatorList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesRequestNameList = Array; export const CtTimeseriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesRequestPublicKeyAlgorithm = "DSA" | "ECDSA" | "RSA"; export const CtTimeseriesRequestPublicKeyAlgorithm = /*@__PURE__*/ S.String; export type CtTimeseriesRequestPublicKeyAlgorithmList = Array< CtTimeseriesRequestPublicKeyAlgorithm | (string & {}) >; export const CtTimeseriesRequestPublicKeyAlgorithmList = /*@__PURE__*/ S.Array( CtTimeseriesRequestPublicKeyAlgorithm, ) as any as S.Schema; export type CtTimeseriesRequestSignatureAlgorithm = | "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"; export const CtTimeseriesRequestSignatureAlgorithm = /*@__PURE__*/ S.String; export type CtTimeseriesRequestSignatureAlgorithmList = Array< CtTimeseriesRequestSignatureAlgorithm | (string & {}) >; export const CtTimeseriesRequestSignatureAlgorithmList = /*@__PURE__*/ S.Array( CtTimeseriesRequestSignatureAlgorithm, ) as any as S.Schema; export type CtTimeseriesRequestTldList = Array; export const CtTimeseriesRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesRequestUniqueEntries = "true" | "false"; export const CtTimeseriesRequestUniqueEntries = /*@__PURE__*/ S.String; export type CtTimeseriesRequestUniqueEntriesList = Array< CtTimeseriesRequestUniqueEntries | (string & {}) >; export const CtTimeseriesRequestUniqueEntriesList = /*@__PURE__*/ S.Array( CtTimeseriesRequestUniqueEntries, ) as any as S.Schema; export type CtTimeseriesRequestValidationLevel = | "DOMAIN" | "ORGANIZATION" | "EXTENDED"; export const CtTimeseriesRequestValidationLevel = /*@__PURE__*/ S.String; export type CtTimeseriesRequestValidationLevelList = Array< CtTimeseriesRequestValidationLevel | (string & {}) >; export const CtTimeseriesRequestValidationLevelList = /*@__PURE__*/ S.Array( CtTimeseriesRequestValidationLevel, ) as any as S.Schema; export interface TimeseriesCtRequest { /** 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/). */ aggInterval?: CtTimeseriesRequestAggInterval | (string & {}); /** Filters results by certificate authority. */ ca?: CtTimeseriesRequestCaList; /** Filters results by certificate authority owner. */ caOwner?: CtTimeseriesRequestCaOwnerList; /** End of the date range (inclusive). */ dateEnd?: CtTimeseriesRequestDateEndList; /** 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). */ dateRange?: CtTimeseriesRequestDateRangeList; /** Start of the date range. */ dateStart?: CtTimeseriesRequestDateStartList; /** Filters results by certificate duration. */ duration?: CtTimeseriesRequestDurationList; /** Filters results by entry type (certificate vs. pre-certificate). */ entryType?: CtTimeseriesRequestEntryTypeList; /** Filters results by expiration status (expired vs. valid). */ expirationStatus?: CtTimeseriesRequestExpirationStatusList; /** Format in which results will be returned. */ format?: CtTimeseriesRequestFormat | (string & {}); /** Filters results based on whether the certificates are bound to specific IP addresses. */ hasIps?: CtTimeseriesRequestHasIpsList; /** Filters results based on whether the certificates contain wildcard domains. */ hasWildcards?: CtTimeseriesRequestHasWildcardsList; /** Filters results by certificate log. */ log?: CtTimeseriesRequestLogList; /** Filters results by certificate log API (RFC6962 vs. static). */ logApi?: CtTimeseriesRequestLogApiList; /** Filters results by certificate log operator. */ logOperator?: CtTimeseriesRequestLogOperatorList; /** Array of names used to label the series in the response. */ name?: CtTimeseriesRequestNameList; /** Filters results by public key algorithm. */ publicKeyAlgorithm?: CtTimeseriesRequestPublicKeyAlgorithmList; /** Filters results by signature algorithm. */ signatureAlgorithm?: CtTimeseriesRequestSignatureAlgorithmList; /** Filters results by top-level domain. */ tld?: CtTimeseriesRequestTldList; /** Specifies whether to filter out duplicate certificates and pre-certificates. Set to true for unique entries only. */ uniqueEntries?: CtTimeseriesRequestUniqueEntriesList; /** Filters results by validation level. */ validationLevel?: CtTimeseriesRequestValidationLevelList; } export const TimeseriesCtRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional(CtTimeseriesRequestAggInterval.pipe(T.Query())), ca: S.optional(CtTimeseriesRequestCaList.pipe(T.Query())), caOwner: S.optional(CtTimeseriesRequestCaOwnerList.pipe(T.Query())), dateEnd: S.optional(CtTimeseriesRequestDateEndList.pipe(T.Query())), dateRange: S.optional(CtTimeseriesRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(CtTimeseriesRequestDateStartList.pipe(T.Query())), duration: S.optional(CtTimeseriesRequestDurationList.pipe(T.Query())), entryType: S.optional(CtTimeseriesRequestEntryTypeList.pipe(T.Query())), expirationStatus: S.optional( CtTimeseriesRequestExpirationStatusList.pipe(T.Query()), ), format: S.optional(CtTimeseriesRequestFormat.pipe(T.Query())), hasIps: S.optional(CtTimeseriesRequestHasIpsList.pipe(T.Query())), hasWildcards: S.optional( CtTimeseriesRequestHasWildcardsList.pipe(T.Query()), ), log: S.optional(CtTimeseriesRequestLogList.pipe(T.Query())), logApi: S.optional(CtTimeseriesRequestLogApiList.pipe(T.Query())), logOperator: S.optional(CtTimeseriesRequestLogOperatorList.pipe(T.Query())), name: S.optional(CtTimeseriesRequestNameList.pipe(T.Query())), publicKeyAlgorithm: S.optional( CtTimeseriesRequestPublicKeyAlgorithmList.pipe(T.Query()), ), signatureAlgorithm: S.optional( CtTimeseriesRequestSignatureAlgorithmList.pipe(T.Query()), ), tld: S.optional(CtTimeseriesRequestTldList.pipe(T.Query())), uniqueEntries: S.optional( CtTimeseriesRequestUniqueEntriesList.pipe(T.Query()), ), validationLevel: S.optional( CtTimeseriesRequestValidationLevelList.pipe(T.Query()), ), }) .pipe(T.Http({ method: "GET", uri: "/radar/ct/timeseries", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesCtRequest", }) as any as S.Schema; export type CtTimeseriesResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const CtTimeseriesResponseMetaAggInterval = /*@__PURE__*/ S.String; export type CtTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const CtTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type CtTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const CtTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type CtTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const CtTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CtTimeseriesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: CtTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: CtTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: CtTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const CtTimeseriesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: CtTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: CtTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr(CtTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList), ), }), ).annotate({ identifier: "CtTimeseriesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type CtTimeseriesResponseMetaConfidenceInfoAnnotationsList = Array; export const CtTimeseriesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( CtTimeseriesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface CtTimeseriesResponseMetaConfidenceInfo { annotations: CtTimeseriesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const CtTimeseriesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: CtTimeseriesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "CtTimeseriesResponseMetaConfidenceInfo", }) as any as S.Schema; export type CtTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const CtTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type CtTimeseriesResponseMetaDateRangeList = Array; export const CtTimeseriesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type CtTimeseriesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const CtTimeseriesResponseMetaNormalization = /*@__PURE__*/ S.String; export type CtTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const CtTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type CtTimeseriesResponseMetaUnitsList = Array; export const CtTimeseriesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface CtTimeseriesResponseMeta { /** 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/). */ aggInterval: CtTimeseriesResponseMetaAggInterval; confidenceInfo: CtTimeseriesResponseMetaConfidenceInfo; dateRange: CtTimeseriesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: CtTimeseriesResponseMetaNormalization; /** Measurement units for the results. */ units: CtTimeseriesResponseMetaUnitsList; } export const CtTimeseriesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: CtTimeseriesResponseMetaAggInterval, confidenceInfo: CtTimeseriesResponseMetaConfidenceInfo, dateRange: CtTimeseriesResponseMetaDateRangeList, lastUpdated: S.String, normalization: CtTimeseriesResponseMetaNormalization, units: CtTimeseriesResponseMetaUnitsList, }), ).annotate({ identifier: "CtTimeseriesResponseMeta", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesCtResponse { /** Metadata for the results. */ meta: CtTimeseriesResponseMeta; } export const TimeseriesCtResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: CtTimeseriesResponseMeta, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesCtResponse", }) as any as S.Schema; export type DnsTimeseriesRequestAggInterval = "15m" | "1h" | "1d" | "1w"; export const DnsTimeseriesRequestAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesRequestAsnList = Array; export const DnsTimeseriesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesRequestCacheHitList = Array; export const DnsTimeseriesRequestCacheHitList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesRequestContinentList = Array; export const DnsTimeseriesRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesRequestDateEndList = Array; export const DnsTimeseriesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesRequestDateRangeList = Array; export const DnsTimeseriesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesRequestDateStartList = Array; export const DnsTimeseriesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesRequestDnssec = | "INVALID" | "INSECURE" | "SECURE" | "OTHER"; export const DnsTimeseriesRequestDnssec = /*@__PURE__*/ S.String; export type DnsTimeseriesRequestDnssecList = Array< DnsTimeseriesRequestDnssec | (string & {}) >; export const DnsTimeseriesRequestDnssecList = /*@__PURE__*/ S.Array( DnsTimeseriesRequestDnssec, ) as any as S.Schema; export type DnsTimeseriesRequestDnssecAware = "SUPPORTED" | "NOT_SUPPORTED"; export const DnsTimeseriesRequestDnssecAware = /*@__PURE__*/ S.String; export type DnsTimeseriesRequestDnssecAwareList = Array< DnsTimeseriesRequestDnssecAware | (string & {}) >; export const DnsTimeseriesRequestDnssecAwareList = /*@__PURE__*/ S.Array( DnsTimeseriesRequestDnssecAware, ) as any as S.Schema; export type DnsTimeseriesRequestDnssecE2eList = Array; export const DnsTimeseriesRequestDnssecE2eList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesRequestFormat = "JSON" | "CSV"; export const DnsTimeseriesRequestFormat = /*@__PURE__*/ S.String; export type DnsTimeseriesRequestIpVersion = "IPv4" | "IPv6"; export const DnsTimeseriesRequestIpVersion = /*@__PURE__*/ S.String; export type DnsTimeseriesRequestIpVersionList = Array< DnsTimeseriesRequestIpVersion | (string & {}) >; export const DnsTimeseriesRequestIpVersionList = /*@__PURE__*/ S.Array( DnsTimeseriesRequestIpVersion, ) as any as S.Schema; export type DnsTimeseriesRequestLocationList = Array; export const DnsTimeseriesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesRequestMatchingAnswerList = Array; export const DnsTimeseriesRequestMatchingAnswerList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesRequestNameList = Array; export const DnsTimeseriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesRequestNodataList = Array; export const DnsTimeseriesRequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesRequestProtocol = "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsTimeseriesRequestProtocol = /*@__PURE__*/ S.String; export type DnsTimeseriesRequestProtocolList = Array< DnsTimeseriesRequestProtocol | (string & {}) >; export const DnsTimeseriesRequestProtocolList = /*@__PURE__*/ S.Array( DnsTimeseriesRequestProtocol, ) as any as S.Schema; export type DnsTimeseriesRequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsTimeseriesRequestQueryType = /*@__PURE__*/ S.String; export type DnsTimeseriesRequestQueryTypeList = Array< DnsTimeseriesRequestQueryType | (string & {}) >; export const DnsTimeseriesRequestQueryTypeList = /*@__PURE__*/ S.Array( DnsTimeseriesRequestQueryType, ) as any as S.Schema; export type DnsTimeseriesRequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsTimeseriesRequestResponseCode = /*@__PURE__*/ S.String; export type DnsTimeseriesRequestResponseCodeList = Array< DnsTimeseriesRequestResponseCode | (string & {}) >; export const DnsTimeseriesRequestResponseCodeList = /*@__PURE__*/ S.Array( DnsTimeseriesRequestResponseCode, ) as any as S.Schema; export type DnsTimeseriesRequestResponseTtl = | "LTE_1M" | "GT_1M_LTE_5M" | "GT_5M_LTE_15M" | "GT_15M_LTE_1H" | "GT_1H_LTE_1D" | "GT_1D_LTE_1W" | "GT_1W"; export const DnsTimeseriesRequestResponseTtl = /*@__PURE__*/ S.String; export type DnsTimeseriesRequestResponseTtlList = Array< DnsTimeseriesRequestResponseTtl | (string & {}) >; export const DnsTimeseriesRequestResponseTtlList = /*@__PURE__*/ S.Array( DnsTimeseriesRequestResponseTtl, ) as any as S.Schema; export type DnsTimeseriesRequestTldList = Array; export const DnsTimeseriesRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TimeseriesDnsRequest { /** 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/). */ aggInterval?: DnsTimeseriesRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsTimeseriesRequestAsnList; /** Filters results based on cache status. */ cacheHit?: DnsTimeseriesRequestCacheHitList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsTimeseriesRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsTimeseriesRequestDateEndList; /** 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). */ dateRange?: DnsTimeseriesRequestDateRangeList; /** Start of the date range. */ dateStart?: DnsTimeseriesRequestDateStartList; /** Filters results based on DNSSEC (DNS Security Extensions) support. */ dnssec?: DnsTimeseriesRequestDnssecList; /** Filters results based on DNSSEC (DNS Security Extensions) client awareness. */ dnssecAware?: DnsTimeseriesRequestDnssecAwareList; /** Filters results based on DNSSEC-validated answers by end-to-end security status. */ dnssecE2e?: DnsTimeseriesRequestDnssecE2eList; /** Format in which results will be returned. */ format?: DnsTimeseriesRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: DnsTimeseriesRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsTimeseriesRequestLocationList; /** Filters results based on whether the queries have a matching answer. */ matchingAnswer?: DnsTimeseriesRequestMatchingAnswerList; /** Array of names used to label the series in the response. */ name?: DnsTimeseriesRequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsTimeseriesRequestNodataList; /** Filters results by DNS transport protocol. */ protocol?: DnsTimeseriesRequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsTimeseriesRequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsTimeseriesRequestResponseCodeList; /** Filters results by DNS response TTL. */ responseTtl?: DnsTimeseriesRequestResponseTtlList; /** Filters results by top-level domain. */ tld?: DnsTimeseriesRequestTldList; } export const TimeseriesDnsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional(DnsTimeseriesRequestAggInterval.pipe(T.Query())), asn: S.optional(DnsTimeseriesRequestAsnList.pipe(T.Query())), cacheHit: S.optional(DnsTimeseriesRequestCacheHitList.pipe(T.Query())), continent: S.optional(DnsTimeseriesRequestContinentList.pipe(T.Query())), dateEnd: S.optional(DnsTimeseriesRequestDateEndList.pipe(T.Query())), dateRange: S.optional(DnsTimeseriesRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(DnsTimeseriesRequestDateStartList.pipe(T.Query())), dnssec: S.optional(DnsTimeseriesRequestDnssecList.pipe(T.Query())), dnssecAware: S.optional( DnsTimeseriesRequestDnssecAwareList.pipe(T.Query()), ), dnssecE2e: S.optional(DnsTimeseriesRequestDnssecE2eList.pipe(T.Query())), format: S.optional(DnsTimeseriesRequestFormat.pipe(T.Query())), ipVersion: S.optional(DnsTimeseriesRequestIpVersionList.pipe(T.Query())), location: S.optional(DnsTimeseriesRequestLocationList.pipe(T.Query())), matchingAnswer: S.optional( DnsTimeseriesRequestMatchingAnswerList.pipe(T.Query()), ), name: S.optional(DnsTimeseriesRequestNameList.pipe(T.Query())), nodata: S.optional(DnsTimeseriesRequestNodataList.pipe(T.Query())), protocol: S.optional(DnsTimeseriesRequestProtocolList.pipe(T.Query())), queryType: S.optional(DnsTimeseriesRequestQueryTypeList.pipe(T.Query())), responseCode: S.optional( DnsTimeseriesRequestResponseCodeList.pipe(T.Query()), ), responseTtl: S.optional( DnsTimeseriesRequestResponseTtlList.pipe(T.Query()), ), tld: S.optional(DnsTimeseriesRequestTldList.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/dns/timeseries", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesDnsRequest", }) as any as S.Schema; export type DnsTimeseriesResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const DnsTimeseriesResponseMetaAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsTimeseriesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsTimeseriesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsTimeseriesResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsTimeseriesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsTimeseriesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsTimeseriesResponseMetaConfidenceInfo { annotations: DnsTimeseriesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsTimeseriesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: DnsTimeseriesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsTimeseriesResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsTimeseriesResponseMetaDateRangeList = Array; export const DnsTimeseriesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsTimeseriesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsTimeseriesResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsTimeseriesResponseMetaUnitsList = Array; export const DnsTimeseriesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsTimeseriesResponseMeta { /** 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/). */ aggInterval: DnsTimeseriesResponseMetaAggInterval; confidenceInfo: DnsTimeseriesResponseMetaConfidenceInfo; dateRange: DnsTimeseriesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsTimeseriesResponseMetaNormalization; /** Measurement units for the results. */ units: DnsTimeseriesResponseMetaUnitsList; } export const DnsTimeseriesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: DnsTimeseriesResponseMetaAggInterval, confidenceInfo: DnsTimeseriesResponseMetaConfidenceInfo, dateRange: DnsTimeseriesResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsTimeseriesResponseMetaNormalization, units: DnsTimeseriesResponseMetaUnitsList, }), ).annotate({ identifier: "DnsTimeseriesResponseMeta", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesDnsResponse { /** Metadata for the results. */ meta: DnsTimeseriesResponseMeta; } export const TimeseriesDnsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsTimeseriesResponseMeta, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesDnsResponse", }) as any as S.Schema; export type AiBotsTimeseriesGroupsRequestDimension = | "USER_AGENT" | "CRAWL_PURPOSE" | "INDUSTRY" | "VERTICAL" | "CONTENT_TYPE" | "RESPONSE_STATUS" | "RESPONSE_STATUS_CATEGORY"; export const AiBotsTimeseriesGroupsRequestDimension = /*@__PURE__*/ S.String; export type AiBotsTimeseriesGroupsRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AiBotsTimeseriesGroupsRequestAggInterval = /*@__PURE__*/ S.String; export type AiBotsTimeseriesGroupsRequestAsnList = Array; export const AiBotsTimeseriesGroupsRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesGroupsRequestContentType = | "HTML" | "IMAGES" | "JSON" | "JAVASCRIPT" | "CSS" | "PLAIN_TEXT" | "FONTS" | "XML" | "YAML" | "VIDEO" | "AUDIO" | "MARKDOWN" | "DOCUMENTS" | "BINARY" | "SERIALIZATION" | "OTHER"; export const AiBotsTimeseriesGroupsRequestContentType = /*@__PURE__*/ S.String; export type AiBotsTimeseriesGroupsRequestContentTypeList = Array< AiBotsTimeseriesGroupsRequestContentType | (string & {}) >; export const AiBotsTimeseriesGroupsRequestContentTypeList = /*@__PURE__*/ S.Array( AiBotsTimeseriesGroupsRequestContentType, ) as any as S.Schema; export type AiBotsTimeseriesGroupsRequestContinentList = Array; export const AiBotsTimeseriesGroupsRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesGroupsRequestCrawlPurposeList = Array; export const AiBotsTimeseriesGroupsRequestCrawlPurposeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesGroupsRequestDateEndList = Array; export const AiBotsTimeseriesGroupsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesGroupsRequestDateRangeList = Array; export const AiBotsTimeseriesGroupsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesGroupsRequestDateStartList = Array; export const AiBotsTimeseriesGroupsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesGroupsRequestFormat = "JSON" | "CSV"; export const AiBotsTimeseriesGroupsRequestFormat = /*@__PURE__*/ S.String; export type AiBotsTimeseriesGroupsRequestIndustryList = Array; export const AiBotsTimeseriesGroupsRequestIndustryList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesGroupsRequestLocationList = Array; export const AiBotsTimeseriesGroupsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesGroupsRequestNameList = Array; export const AiBotsTimeseriesGroupsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesGroupsRequestNormalization = | "PERCENTAGE" | "MIN0_MAX" | "PERCENTAGE_CHANGE"; export const AiBotsTimeseriesGroupsRequestNormalization = /*@__PURE__*/ S.String; export type AiBotsTimeseriesGroupsRequestResponseStatusList = Array; export const AiBotsTimeseriesGroupsRequestResponseStatusList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesGroupsRequestResponseStatusCategory = | "INFORMATIONAL" | "SUCCESS" | "REDIRECTION" | "CLIENT_ERROR" | "SERVER_ERROR"; export const AiBotsTimeseriesGroupsRequestResponseStatusCategory = /*@__PURE__*/ S.String; export type AiBotsTimeseriesGroupsRequestResponseStatusCategoryList = Array< AiBotsTimeseriesGroupsRequestResponseStatusCategory | (string & {}) >; export const AiBotsTimeseriesGroupsRequestResponseStatusCategoryList = /*@__PURE__*/ S.Array( AiBotsTimeseriesGroupsRequestResponseStatusCategory, ) as any as S.Schema; export type AiBotsTimeseriesGroupsRequestUserAgentList = Array; export const AiBotsTimeseriesGroupsRequestUserAgentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsTimeseriesGroupsRequestVerticalList = Array; export const AiBotsTimeseriesGroupsRequestVerticalList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TimeseriesGroupsAiBotRequest { /** Specifies the attribute by which to group the results. */ dimension: AiBotsTimeseriesGroupsRequestDimension | (string & {}); /** 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/). */ aggInterval?: AiBotsTimeseriesGroupsRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AiBotsTimeseriesGroupsRequestAsnList; /** Filters results by content type category. */ contentType?: AiBotsTimeseriesGroupsRequestContentTypeList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AiBotsTimeseriesGroupsRequestContinentList; /** Filters results by bot crawl purpose. */ crawlPurpose?: AiBotsTimeseriesGroupsRequestCrawlPurposeList; /** End of the date range (inclusive). */ dateEnd?: AiBotsTimeseriesGroupsRequestDateEndList; /** 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). */ dateRange?: AiBotsTimeseriesGroupsRequestDateRangeList; /** Start of the date range. */ dateStart?: AiBotsTimeseriesGroupsRequestDateStartList; /** Format in which results will be returned. */ format?: AiBotsTimeseriesGroupsRequestFormat | (string & {}); /** Filters results by industry. */ industry?: AiBotsTimeseriesGroupsRequestIndustryList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AiBotsTimeseriesGroupsRequestLocationList; /** Array of names used to label the series in the response. */ name?: AiBotsTimeseriesGroupsRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: AiBotsTimeseriesGroupsRequestNormalization | (string & {}); /** Filters results by HTTP response status code (e.g. 200, 403, 404). Only [IANA-registered codes](https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml) are accepted. */ responseStatus?: AiBotsTimeseriesGroupsRequestResponseStatusList; /** Filters results by HTTP response status code category. */ responseStatusCategory?: AiBotsTimeseriesGroupsRequestResponseStatusCategoryList; /** Filters results by user agent. */ userAgent?: AiBotsTimeseriesGroupsRequestUserAgentList; /** Filters results by vertical. */ vertical?: AiBotsTimeseriesGroupsRequestVerticalList; } export const TimeseriesGroupsAiBotRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: AiBotsTimeseriesGroupsRequestDimension.pipe(T.Label()), aggInterval: S.optional( AiBotsTimeseriesGroupsRequestAggInterval.pipe(T.Query()), ), asn: S.optional(AiBotsTimeseriesGroupsRequestAsnList.pipe(T.Query())), contentType: S.optional( AiBotsTimeseriesGroupsRequestContentTypeList.pipe(T.Query()), ), continent: S.optional( AiBotsTimeseriesGroupsRequestContinentList.pipe(T.Query()), ), crawlPurpose: S.optional( AiBotsTimeseriesGroupsRequestCrawlPurposeList.pipe(T.Query()), ), dateEnd: S.optional( AiBotsTimeseriesGroupsRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AiBotsTimeseriesGroupsRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AiBotsTimeseriesGroupsRequestDateStartList.pipe(T.Query()), ), format: S.optional(AiBotsTimeseriesGroupsRequestFormat.pipe(T.Query())), industry: S.optional( AiBotsTimeseriesGroupsRequestIndustryList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AiBotsTimeseriesGroupsRequestLocationList.pipe(T.Query()), ), name: S.optional(AiBotsTimeseriesGroupsRequestNameList.pipe(T.Query())), normalization: S.optional( AiBotsTimeseriesGroupsRequestNormalization.pipe(T.Query()), ), responseStatus: S.optional( AiBotsTimeseriesGroupsRequestResponseStatusList.pipe(T.Query()), ), responseStatusCategory: S.optional( AiBotsTimeseriesGroupsRequestResponseStatusCategoryList.pipe(T.Query()), ), userAgent: S.optional( AiBotsTimeseriesGroupsRequestUserAgentList.pipe(T.Query()), ), vertical: S.optional( AiBotsTimeseriesGroupsRequestVerticalList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/ai/bots/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsAiBotRequest", }) as any as S.Schema; export type AiBotsTimeseriesGroupsResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AiBotsTimeseriesGroupsResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = Array; export const AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AiBotsTimeseriesGroupsResponseMetaConfidenceInfo { annotations: AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AiBotsTimeseriesGroupsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AiBotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AiBotsTimeseriesGroupsResponseMetaConfidenceInfo", }) as any as S.Schema; export type AiBotsTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AiBotsTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AiBotsTimeseriesGroupsResponseMetaDateRangeList = Array; export const AiBotsTimeseriesGroupsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AiBotsTimeseriesGroupsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AiBotsTimeseriesGroupsResponseMetaNormalization = /*@__PURE__*/ S.String; export type AiBotsTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AiBotsTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AiBotsTimeseriesGroupsResponseMetaUnitsList = Array; export const AiBotsTimeseriesGroupsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AiBotsTimeseriesGroupsResponseMeta { /** 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/). */ aggInterval: AiBotsTimeseriesGroupsResponseMetaAggInterval; confidenceInfo: AiBotsTimeseriesGroupsResponseMetaConfidenceInfo; dateRange: AiBotsTimeseriesGroupsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AiBotsTimeseriesGroupsResponseMetaNormalization; /** Measurement units for the results. */ units: AiBotsTimeseriesGroupsResponseMetaUnitsList; } export const AiBotsTimeseriesGroupsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AiBotsTimeseriesGroupsResponseMetaAggInterval, confidenceInfo: AiBotsTimeseriesGroupsResponseMetaConfidenceInfo, dateRange: AiBotsTimeseriesGroupsResponseMetaDateRangeList, lastUpdated: S.String, normalization: AiBotsTimeseriesGroupsResponseMetaNormalization, units: AiBotsTimeseriesGroupsResponseMetaUnitsList, }), ).annotate({ identifier: "AiBotsTimeseriesGroupsResponseMeta", }) as any as S.Schema; export type AiBotsTimeseriesGroupsResponseSerie0TimestampsList = Array; export const AiBotsTimeseriesGroupsResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiBotsTimeseriesGroupsResponseSerie0 { timestamps: AiBotsTimeseriesGroupsResponseSerie0TimestampsList; } export const AiBotsTimeseriesGroupsResponseSerie0 = /*@__PURE__*/ S.suspend( () => S.Struct({ timestamps: AiBotsTimeseriesGroupsResponseSerie0TimestampsList, }), ).annotate({ identifier: "AiBotsTimeseriesGroupsResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsAiBotResponse { /** Metadata for the results. */ meta: AiBotsTimeseriesGroupsResponseMeta; serie_0: AiBotsTimeseriesGroupsResponseSerie0; } export const TimeseriesGroupsAiBotResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AiBotsTimeseriesGroupsResponseMeta, serie_0: AiBotsTimeseriesGroupsResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsAiBotResponse", }) as any as S.Schema; export type BotsTimeseriesGroupsRequestDimension = | "BOT" | "BOT_KIND" | "BOT_OPERATOR" | "BOT_CATEGORY"; export const BotsTimeseriesGroupsRequestDimension = /*@__PURE__*/ S.String; export type BotsTimeseriesGroupsRequestAggInterval = "15m" | "1h" | "1d" | "1w"; export const BotsTimeseriesGroupsRequestAggInterval = /*@__PURE__*/ S.String; export type BotsTimeseriesGroupsRequestAsnList = Array; export const BotsTimeseriesGroupsRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsTimeseriesGroupsRequestBotList = Array; export const BotsTimeseriesGroupsRequestBotList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsTimeseriesGroupsRequestBotCategory = | "SEARCH_ENGINE_CRAWLER" | "SEARCH_ENGINE_OPTIMIZATION" | "MONITORING_AND_ANALYTICS" | "ADVERTISING_AND_MARKETING" | "SOCIAL_MEDIA_MARKETING" | "PAGE_PREVIEW" | "ACADEMIC_RESEARCH" | "SECURITY" | "ACCESSIBILITY" | "WEBHOOKS" | "FEED_FETCHER" | "AI_CRAWLER" | "AGGREGATOR" | "AI_ASSISTANT" | "AI_SEARCH" | "ARCHIVER"; export const BotsTimeseriesGroupsRequestBotCategory = /*@__PURE__*/ S.String; export type BotsTimeseriesGroupsRequestBotCategoryList = Array< BotsTimeseriesGroupsRequestBotCategory | (string & {}) >; export const BotsTimeseriesGroupsRequestBotCategoryList = /*@__PURE__*/ S.Array( BotsTimeseriesGroupsRequestBotCategory, ) as any as S.Schema; export type BotsTimeseriesGroupsRequestBotKind = "AGENT" | "BOT"; export const BotsTimeseriesGroupsRequestBotKind = /*@__PURE__*/ S.String; export type BotsTimeseriesGroupsRequestBotKindList = Array< BotsTimeseriesGroupsRequestBotKind | (string & {}) >; export const BotsTimeseriesGroupsRequestBotKindList = /*@__PURE__*/ S.Array( BotsTimeseriesGroupsRequestBotKind, ) as any as S.Schema; export type BotsTimeseriesGroupsRequestBotOperatorList = Array; export const BotsTimeseriesGroupsRequestBotOperatorList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsTimeseriesGroupsRequestBotVerificationStatus = "VERIFIED"; export const BotsTimeseriesGroupsRequestBotVerificationStatus = /*@__PURE__*/ S.String; export type BotsTimeseriesGroupsRequestBotVerificationStatusList = Array< BotsTimeseriesGroupsRequestBotVerificationStatus | (string & {}) >; export const BotsTimeseriesGroupsRequestBotVerificationStatusList = /*@__PURE__*/ S.Array( BotsTimeseriesGroupsRequestBotVerificationStatus, ) as any as S.Schema; export type BotsTimeseriesGroupsRequestContinentList = Array; export const BotsTimeseriesGroupsRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsTimeseriesGroupsRequestDateEndList = Array; export const BotsTimeseriesGroupsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsTimeseriesGroupsRequestDateRangeList = Array; export const BotsTimeseriesGroupsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsTimeseriesGroupsRequestDateStartList = Array; export const BotsTimeseriesGroupsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsTimeseriesGroupsRequestFormat = "JSON" | "CSV"; export const BotsTimeseriesGroupsRequestFormat = /*@__PURE__*/ S.String; export type BotsTimeseriesGroupsRequestLocationList = Array; export const BotsTimeseriesGroupsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsTimeseriesGroupsRequestNameList = Array; export const BotsTimeseriesGroupsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TimeseriesGroupsBotRequest { /** Specifies the attribute by which to group the results. */ dimension: BotsTimeseriesGroupsRequestDimension | (string & {}); /** 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/). */ aggInterval?: BotsTimeseriesGroupsRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: BotsTimeseriesGroupsRequestAsnList; /** Filters results by bot name. */ bot?: BotsTimeseriesGroupsRequestBotList; /** Filters results by bot category. */ botCategory?: BotsTimeseriesGroupsRequestBotCategoryList; /** Filters results by bot kind. Deprecated: the Verified Bot / Signed Agent distinction is being removed. */ botKind?: BotsTimeseriesGroupsRequestBotKindList; /** Filters results by bot operator. */ botOperator?: BotsTimeseriesGroupsRequestBotOperatorList; /** Filters results by bot verification status (Verified vs. Unverified). */ botVerificationStatus?: BotsTimeseriesGroupsRequestBotVerificationStatusList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: BotsTimeseriesGroupsRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: BotsTimeseriesGroupsRequestDateEndList; /** 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). */ dateRange?: BotsTimeseriesGroupsRequestDateRangeList; /** Start of the date range. */ dateStart?: BotsTimeseriesGroupsRequestDateStartList; /** Format in which results will be returned. */ format?: BotsTimeseriesGroupsRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: BotsTimeseriesGroupsRequestLocationList; /** Array of names used to label the series in the response. */ name?: BotsTimeseriesGroupsRequestNameList; } export const TimeseriesGroupsBotRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: BotsTimeseriesGroupsRequestDimension.pipe(T.Label()), aggInterval: S.optional( BotsTimeseriesGroupsRequestAggInterval.pipe(T.Query()), ), asn: S.optional(BotsTimeseriesGroupsRequestAsnList.pipe(T.Query())), bot: S.optional(BotsTimeseriesGroupsRequestBotList.pipe(T.Query())), botCategory: S.optional( BotsTimeseriesGroupsRequestBotCategoryList.pipe(T.Query()), ), botKind: S.optional(BotsTimeseriesGroupsRequestBotKindList.pipe(T.Query())), botOperator: S.optional( BotsTimeseriesGroupsRequestBotOperatorList.pipe(T.Query()), ), botVerificationStatus: S.optional( BotsTimeseriesGroupsRequestBotVerificationStatusList.pipe(T.Query()), ), continent: S.optional( BotsTimeseriesGroupsRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(BotsTimeseriesGroupsRequestDateEndList.pipe(T.Query())), dateRange: S.optional( BotsTimeseriesGroupsRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( BotsTimeseriesGroupsRequestDateStartList.pipe(T.Query()), ), format: S.optional(BotsTimeseriesGroupsRequestFormat.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( BotsTimeseriesGroupsRequestLocationList.pipe(T.Query()), ), name: S.optional(BotsTimeseriesGroupsRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/bots/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsBotRequest", }) as any as S.Schema; export type BotsTimeseriesGroupsResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const BotsTimeseriesGroupsResponseMetaAggInterval = /*@__PURE__*/ S.String; export type BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = Array; export const BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface BotsTimeseriesGroupsResponseMetaConfidenceInfo { annotations: BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const BotsTimeseriesGroupsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: BotsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "BotsTimeseriesGroupsResponseMetaConfidenceInfo", }) as any as S.Schema; export type BotsTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const BotsTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type BotsTimeseriesGroupsResponseMetaDateRangeList = Array; export const BotsTimeseriesGroupsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type BotsTimeseriesGroupsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const BotsTimeseriesGroupsResponseMetaNormalization = /*@__PURE__*/ S.String; export type BotsTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const BotsTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type BotsTimeseriesGroupsResponseMetaUnitsList = Array; export const BotsTimeseriesGroupsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface BotsTimeseriesGroupsResponseMeta { /** 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/). */ aggInterval: BotsTimeseriesGroupsResponseMetaAggInterval; confidenceInfo: BotsTimeseriesGroupsResponseMetaConfidenceInfo; dateRange: BotsTimeseriesGroupsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: BotsTimeseriesGroupsResponseMetaNormalization; /** Measurement units for the results. */ units: BotsTimeseriesGroupsResponseMetaUnitsList; } export const BotsTimeseriesGroupsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: BotsTimeseriesGroupsResponseMetaAggInterval, confidenceInfo: BotsTimeseriesGroupsResponseMetaConfidenceInfo, dateRange: BotsTimeseriesGroupsResponseMetaDateRangeList, lastUpdated: S.String, normalization: BotsTimeseriesGroupsResponseMetaNormalization, units: BotsTimeseriesGroupsResponseMetaUnitsList, }), ).annotate({ identifier: "BotsTimeseriesGroupsResponseMeta", }) as any as S.Schema; export type BotsTimeseriesGroupsResponseSerie0TimestampsList = Array; export const BotsTimeseriesGroupsResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BotsTimeseriesGroupsResponseSerie0 { timestamps: BotsTimeseriesGroupsResponseSerie0TimestampsList; } export const BotsTimeseriesGroupsResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: BotsTimeseriesGroupsResponseSerie0TimestampsList, }), ).annotate({ identifier: "BotsTimeseriesGroupsResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsBotResponse { /** Metadata for the results. */ meta: BotsTimeseriesGroupsResponseMeta; serie_0: BotsTimeseriesGroupsResponseSerie0; } export const TimeseriesGroupsBotResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: BotsTimeseriesGroupsResponseMeta, serie_0: BotsTimeseriesGroupsResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsBotResponse", }) as any as S.Schema; export type BotsWebCrawlersTimeseriesGroupsRequestDimension = | "CLIENT_TYPE" | "USER_AGENT" | "REFERER" | "CRAWL_REFER_RATIO" | "VERTICAL" | "INDUSTRY" | "RESPONSE_STATUS" | "RESPONSE_STATUS_CATEGORY"; export const BotsWebCrawlersTimeseriesGroupsRequestDimension = /*@__PURE__*/ S.String; export type BotsWebCrawlersTimeseriesGroupsRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const BotsWebCrawlersTimeseriesGroupsRequestAggInterval = /*@__PURE__*/ S.String; export type BotsWebCrawlersTimeseriesGroupsRequestBotOperatorList = Array; export const BotsWebCrawlersTimeseriesGroupsRequestBotOperatorList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsWebCrawlersTimeseriesGroupsRequestClientType = | "HUMAN" | "NON_AI_BOT" | "AI_BOT" | "MIXED_PURPOSE"; export const BotsWebCrawlersTimeseriesGroupsRequestClientType = /*@__PURE__*/ S.String; export type BotsWebCrawlersTimeseriesGroupsRequestClientTypeList = Array< BotsWebCrawlersTimeseriesGroupsRequestClientType | (string & {}) >; export const BotsWebCrawlersTimeseriesGroupsRequestClientTypeList = /*@__PURE__*/ S.Array( BotsWebCrawlersTimeseriesGroupsRequestClientType, ) as any as S.Schema; export type BotsWebCrawlersTimeseriesGroupsRequestDateEndList = Array; export const BotsWebCrawlersTimeseriesGroupsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsWebCrawlersTimeseriesGroupsRequestDateRangeList = Array; export const BotsWebCrawlersTimeseriesGroupsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsWebCrawlersTimeseriesGroupsRequestDateStartList = Array; export const BotsWebCrawlersTimeseriesGroupsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsWebCrawlersTimeseriesGroupsRequestFormat = "JSON" | "CSV"; export const BotsWebCrawlersTimeseriesGroupsRequestFormat = /*@__PURE__*/ S.String; export type BotsWebCrawlersTimeseriesGroupsRequestIndustryList = Array; export const BotsWebCrawlersTimeseriesGroupsRequestIndustryList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsWebCrawlersTimeseriesGroupsRequestNameList = Array; export const BotsWebCrawlersTimeseriesGroupsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsWebCrawlersTimeseriesGroupsRequestNormalization = | "PERCENTAGE" | "MIN0_MAX" | "PERCENTAGE_CHANGE"; export const BotsWebCrawlersTimeseriesGroupsRequestNormalization = /*@__PURE__*/ S.String; export type BotsWebCrawlersTimeseriesGroupsRequestResponseStatusList = Array; export const BotsWebCrawlersTimeseriesGroupsRequestResponseStatusList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type BotsWebCrawlersTimeseriesGroupsRequestResponseStatusCategory = | "INFORMATIONAL" | "SUCCESS" | "REDIRECTION" | "CLIENT_ERROR" | "SERVER_ERROR"; export const BotsWebCrawlersTimeseriesGroupsRequestResponseStatusCategory = /*@__PURE__*/ S.String; export type BotsWebCrawlersTimeseriesGroupsRequestResponseStatusCategoryList = Array< BotsWebCrawlersTimeseriesGroupsRequestResponseStatusCategory | (string & {}) >; export const BotsWebCrawlersTimeseriesGroupsRequestResponseStatusCategoryList = /*@__PURE__*/ S.Array( BotsWebCrawlersTimeseriesGroupsRequestResponseStatusCategory, ) as any as S.Schema; export type BotsWebCrawlersTimeseriesGroupsRequestVerticalList = Array; export const BotsWebCrawlersTimeseriesGroupsRequestVerticalList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TimeseriesGroupsBotWebCrawlerRequest { /** Specifies the attribute by which to group the results. */ dimension: BotsWebCrawlersTimeseriesGroupsRequestDimension | (string & {}); /** 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/). */ aggInterval?: | BotsWebCrawlersTimeseriesGroupsRequestAggInterval | (string & {}); /** Filters results by bot operator. */ botOperator?: BotsWebCrawlersTimeseriesGroupsRequestBotOperatorList; /** Filters results by agent type. */ clientType?: BotsWebCrawlersTimeseriesGroupsRequestClientTypeList; /** End of the date range (inclusive). */ dateEnd?: BotsWebCrawlersTimeseriesGroupsRequestDateEndList; /** 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). */ dateRange?: BotsWebCrawlersTimeseriesGroupsRequestDateRangeList; /** Start of the date range. */ dateStart?: BotsWebCrawlersTimeseriesGroupsRequestDateStartList; /** Format in which results will be returned. */ format?: BotsWebCrawlersTimeseriesGroupsRequestFormat | (string & {}); /** Filters results by industry. */ industry?: BotsWebCrawlersTimeseriesGroupsRequestIndustryList; /** 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. */ limitPerGroup?: number; /** Array of names used to label the series in the response. */ name?: BotsWebCrawlersTimeseriesGroupsRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | BotsWebCrawlersTimeseriesGroupsRequestNormalization | (string & {}); /** Filters results by HTTP response status code (e.g. 200, 403, 404). Only [IANA-registered codes](https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml) are accepted. */ responseStatus?: BotsWebCrawlersTimeseriesGroupsRequestResponseStatusList; /** Filters results by HTTP response status code category. */ responseStatusCategory?: BotsWebCrawlersTimeseriesGroupsRequestResponseStatusCategoryList; /** Filters results by vertical. */ vertical?: BotsWebCrawlersTimeseriesGroupsRequestVerticalList; } export const TimeseriesGroupsBotWebCrawlerRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ dimension: BotsWebCrawlersTimeseriesGroupsRequestDimension.pipe( T.Label(), ), aggInterval: S.optional( BotsWebCrawlersTimeseriesGroupsRequestAggInterval.pipe(T.Query()), ), botOperator: S.optional( BotsWebCrawlersTimeseriesGroupsRequestBotOperatorList.pipe(T.Query()), ), clientType: S.optional( BotsWebCrawlersTimeseriesGroupsRequestClientTypeList.pipe(T.Query()), ), dateEnd: S.optional( BotsWebCrawlersTimeseriesGroupsRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( BotsWebCrawlersTimeseriesGroupsRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( BotsWebCrawlersTimeseriesGroupsRequestDateStartList.pipe(T.Query()), ), format: S.optional( BotsWebCrawlersTimeseriesGroupsRequestFormat.pipe(T.Query()), ), industry: S.optional( BotsWebCrawlersTimeseriesGroupsRequestIndustryList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), name: S.optional( BotsWebCrawlersTimeseriesGroupsRequestNameList.pipe(T.Query()), ), normalization: S.optional( BotsWebCrawlersTimeseriesGroupsRequestNormalization.pipe(T.Query()), ), responseStatus: S.optional( BotsWebCrawlersTimeseriesGroupsRequestResponseStatusList.pipe( T.Query(), ), ), responseStatusCategory: S.optional( BotsWebCrawlersTimeseriesGroupsRequestResponseStatusCategoryList.pipe( T.Query(), ), ), vertical: S.optional( BotsWebCrawlersTimeseriesGroupsRequestVerticalList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/bots/crawlers/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsBotWebCrawlerRequest", }) as any as S.Schema; export type BotsWebCrawlersTimeseriesGroupsResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const BotsWebCrawlersTimeseriesGroupsResponseMetaAggInterval = /*@__PURE__*/ S.String; export type BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = Array; export const BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfo { annotations: BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfo", }) as any as S.Schema; export type BotsWebCrawlersTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const BotsWebCrawlersTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type BotsWebCrawlersTimeseriesGroupsResponseMetaDateRangeList = Array; export const BotsWebCrawlersTimeseriesGroupsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type BotsWebCrawlersTimeseriesGroupsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const BotsWebCrawlersTimeseriesGroupsResponseMetaNormalization = /*@__PURE__*/ S.String; export type BotsWebCrawlersTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const BotsWebCrawlersTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type BotsWebCrawlersTimeseriesGroupsResponseMetaUnitsList = Array; export const BotsWebCrawlersTimeseriesGroupsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface BotsWebCrawlersTimeseriesGroupsResponseMeta { /** 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/). */ aggInterval: BotsWebCrawlersTimeseriesGroupsResponseMetaAggInterval; confidenceInfo: BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfo; dateRange: BotsWebCrawlersTimeseriesGroupsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: BotsWebCrawlersTimeseriesGroupsResponseMetaNormalization; /** Measurement units for the results. */ units: BotsWebCrawlersTimeseriesGroupsResponseMetaUnitsList; } export const BotsWebCrawlersTimeseriesGroupsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: BotsWebCrawlersTimeseriesGroupsResponseMetaAggInterval, confidenceInfo: BotsWebCrawlersTimeseriesGroupsResponseMetaConfidenceInfo, dateRange: BotsWebCrawlersTimeseriesGroupsResponseMetaDateRangeList, lastUpdated: S.String, normalization: BotsWebCrawlersTimeseriesGroupsResponseMetaNormalization, units: BotsWebCrawlersTimeseriesGroupsResponseMetaUnitsList, }), ).annotate({ identifier: "BotsWebCrawlersTimeseriesGroupsResponseMeta", }) as any as S.Schema; export type BotsWebCrawlersTimeseriesGroupsResponseSerie0TimestampsList = Array; export const BotsWebCrawlersTimeseriesGroupsResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface BotsWebCrawlersTimeseriesGroupsResponseSerie0 { timestamps: BotsWebCrawlersTimeseriesGroupsResponseSerie0TimestampsList; } export const BotsWebCrawlersTimeseriesGroupsResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: BotsWebCrawlersTimeseriesGroupsResponseSerie0TimestampsList, }), ).annotate({ identifier: "BotsWebCrawlersTimeseriesGroupsResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsBotWebCrawlerResponse { /** Metadata for the results. */ meta: BotsWebCrawlersTimeseriesGroupsResponseMeta; serie_0: BotsWebCrawlersTimeseriesGroupsResponseSerie0; } export const TimeseriesGroupsBotWebCrawlerResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: BotsWebCrawlersTimeseriesGroupsResponseMeta, serie_0: BotsWebCrawlersTimeseriesGroupsResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsBotWebCrawlerResponse", }) as any as S.Schema; export type CtTimeseriesGroupsRequestDimension = | "CA" | "CA_OWNER" | "DURATION" | "ENTRY_TYPE" | "EXPIRATION_STATUS" | "HAS_IPS" | "HAS_WILDCARDS" | "LOG" | "LOG_API" | "LOG_OPERATOR" | "PUBLIC_KEY_ALGORITHM" | "SIGNATURE_ALGORITHM" | "TLD" | "VALIDATION_LEVEL"; export const CtTimeseriesGroupsRequestDimension = /*@__PURE__*/ S.String; export type CtTimeseriesGroupsRequestAggInterval = "15m" | "1h" | "1d" | "1w"; export const CtTimeseriesGroupsRequestAggInterval = /*@__PURE__*/ S.String; export type CtTimeseriesGroupsRequestCaList = Array; export const CtTimeseriesGroupsRequestCaList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsRequestCaOwnerList = Array; export const CtTimeseriesGroupsRequestCaOwnerList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsRequestDateEndList = Array; export const CtTimeseriesGroupsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsRequestDateRangeList = Array; export const CtTimeseriesGroupsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsRequestDateStartList = Array; export const CtTimeseriesGroupsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsRequestDuration = | "LTE_3D" | "GT_3D_LTE_7D" | "GT_7D_LTE_10D" | "GT_10D_LTE_47D" | "GT_47D_LTE_100D" | "GT_100D_LTE_200D" | "GT_200D"; export const CtTimeseriesGroupsRequestDuration = /*@__PURE__*/ S.String; export type CtTimeseriesGroupsRequestDurationList = Array< CtTimeseriesGroupsRequestDuration | (string & {}) >; export const CtTimeseriesGroupsRequestDurationList = /*@__PURE__*/ S.Array( CtTimeseriesGroupsRequestDuration, ) as any as S.Schema; export type CtTimeseriesGroupsRequestEntryType = | "PRECERTIFICATE" | "CERTIFICATE"; export const CtTimeseriesGroupsRequestEntryType = /*@__PURE__*/ S.String; export type CtTimeseriesGroupsRequestEntryTypeList = Array< CtTimeseriesGroupsRequestEntryType | (string & {}) >; export const CtTimeseriesGroupsRequestEntryTypeList = /*@__PURE__*/ S.Array( CtTimeseriesGroupsRequestEntryType, ) as any as S.Schema; export type CtTimeseriesGroupsRequestExpirationStatus = "EXPIRED" | "VALID"; export const CtTimeseriesGroupsRequestExpirationStatus = /*@__PURE__*/ S.String; export type CtTimeseriesGroupsRequestExpirationStatusList = Array< CtTimeseriesGroupsRequestExpirationStatus | (string & {}) >; export const CtTimeseriesGroupsRequestExpirationStatusList = /*@__PURE__*/ S.Array( CtTimeseriesGroupsRequestExpirationStatus, ) as any as S.Schema; export type CtTimeseriesGroupsRequestFormat = "JSON" | "CSV"; export const CtTimeseriesGroupsRequestFormat = /*@__PURE__*/ S.String; export type CtTimeseriesGroupsRequestHasIpsList = Array; export const CtTimeseriesGroupsRequestHasIpsList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type CtTimeseriesGroupsRequestHasWildcardsList = Array; export const CtTimeseriesGroupsRequestHasWildcardsList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type CtTimeseriesGroupsRequestLogList = Array; export const CtTimeseriesGroupsRequestLogList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsRequestLogApi = "RFC6962" | "STATIC"; export const CtTimeseriesGroupsRequestLogApi = /*@__PURE__*/ S.String; export type CtTimeseriesGroupsRequestLogApiList = Array< CtTimeseriesGroupsRequestLogApi | (string & {}) >; export const CtTimeseriesGroupsRequestLogApiList = /*@__PURE__*/ S.Array( CtTimeseriesGroupsRequestLogApi, ) as any as S.Schema; export type CtTimeseriesGroupsRequestLogOperatorList = Array; export const CtTimeseriesGroupsRequestLogOperatorList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsRequestNameList = Array; export const CtTimeseriesGroupsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsRequestNormalization = | "RAW_VALUES" | "PERCENTAGE"; export const CtTimeseriesGroupsRequestNormalization = /*@__PURE__*/ S.String; export type CtTimeseriesGroupsRequestPublicKeyAlgorithm = | "DSA" | "ECDSA" | "RSA"; export const CtTimeseriesGroupsRequestPublicKeyAlgorithm = /*@__PURE__*/ S.String; export type CtTimeseriesGroupsRequestPublicKeyAlgorithmList = Array< CtTimeseriesGroupsRequestPublicKeyAlgorithm | (string & {}) >; export const CtTimeseriesGroupsRequestPublicKeyAlgorithmList = /*@__PURE__*/ S.Array( CtTimeseriesGroupsRequestPublicKeyAlgorithm, ) as any as S.Schema; export type CtTimeseriesGroupsRequestSignatureAlgorithm = | "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"; export const CtTimeseriesGroupsRequestSignatureAlgorithm = /*@__PURE__*/ S.String; export type CtTimeseriesGroupsRequestSignatureAlgorithmList = Array< CtTimeseriesGroupsRequestSignatureAlgorithm | (string & {}) >; export const CtTimeseriesGroupsRequestSignatureAlgorithmList = /*@__PURE__*/ S.Array( CtTimeseriesGroupsRequestSignatureAlgorithm, ) as any as S.Schema; export type CtTimeseriesGroupsRequestTldList = Array; export const CtTimeseriesGroupsRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsRequestUniqueEntries = "true" | "false"; export const CtTimeseriesGroupsRequestUniqueEntries = /*@__PURE__*/ S.String; export type CtTimeseriesGroupsRequestUniqueEntriesList = Array< CtTimeseriesGroupsRequestUniqueEntries | (string & {}) >; export const CtTimeseriesGroupsRequestUniqueEntriesList = /*@__PURE__*/ S.Array( CtTimeseriesGroupsRequestUniqueEntries, ) as any as S.Schema; export type CtTimeseriesGroupsRequestValidationLevel = | "DOMAIN" | "ORGANIZATION" | "EXTENDED"; export const CtTimeseriesGroupsRequestValidationLevel = /*@__PURE__*/ S.String; export type CtTimeseriesGroupsRequestValidationLevelList = Array< CtTimeseriesGroupsRequestValidationLevel | (string & {}) >; export const CtTimeseriesGroupsRequestValidationLevelList = /*@__PURE__*/ S.Array( CtTimeseriesGroupsRequestValidationLevel, ) as any as S.Schema; export interface TimeseriesGroupsCtRequest { /** Specifies the certificate attribute by which to group the results. */ dimension: CtTimeseriesGroupsRequestDimension | (string & {}); /** 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/). */ aggInterval?: CtTimeseriesGroupsRequestAggInterval | (string & {}); /** Filters results by certificate authority. */ ca?: CtTimeseriesGroupsRequestCaList; /** Filters results by certificate authority owner. */ caOwner?: CtTimeseriesGroupsRequestCaOwnerList; /** End of the date range (inclusive). */ dateEnd?: CtTimeseriesGroupsRequestDateEndList; /** 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). */ dateRange?: CtTimeseriesGroupsRequestDateRangeList; /** Start of the date range. */ dateStart?: CtTimeseriesGroupsRequestDateStartList; /** Filters results by certificate duration. */ duration?: CtTimeseriesGroupsRequestDurationList; /** Filters results by entry type (certificate vs. pre-certificate). */ entryType?: CtTimeseriesGroupsRequestEntryTypeList; /** Filters results by expiration status (expired vs. valid). */ expirationStatus?: CtTimeseriesGroupsRequestExpirationStatusList; /** Format in which results will be returned. */ format?: CtTimeseriesGroupsRequestFormat | (string & {}); /** Filters results based on whether the certificates are bound to specific IP addresses. */ hasIps?: CtTimeseriesGroupsRequestHasIpsList; /** Filters results based on whether the certificates contain wildcard domains. */ hasWildcards?: CtTimeseriesGroupsRequestHasWildcardsList; /** 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. */ limitPerGroup?: number; /** Filters results by certificate log. */ log?: CtTimeseriesGroupsRequestLogList; /** Filters results by certificate log API (RFC6962 vs. static). */ logApi?: CtTimeseriesGroupsRequestLogApiList; /** Filters results by certificate log operator. */ logOperator?: CtTimeseriesGroupsRequestLogOperatorList; /** Array of names used to label the series in the response. */ name?: CtTimeseriesGroupsRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: CtTimeseriesGroupsRequestNormalization | (string & {}); /** Filters results by public key algorithm. */ publicKeyAlgorithm?: CtTimeseriesGroupsRequestPublicKeyAlgorithmList; /** Filters results by signature algorithm. */ signatureAlgorithm?: CtTimeseriesGroupsRequestSignatureAlgorithmList; /** Filters results by top-level domain. */ tld?: CtTimeseriesGroupsRequestTldList; /** Specifies whether to filter out duplicate certificates and pre-certificates. Set to true for unique entries only. */ uniqueEntries?: CtTimeseriesGroupsRequestUniqueEntriesList; /** Filters results by validation level. */ validationLevel?: CtTimeseriesGroupsRequestValidationLevelList; } export const TimeseriesGroupsCtRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: CtTimeseriesGroupsRequestDimension.pipe(T.Label()), aggInterval: S.optional( CtTimeseriesGroupsRequestAggInterval.pipe(T.Query()), ), ca: S.optional(CtTimeseriesGroupsRequestCaList.pipe(T.Query())), caOwner: S.optional(CtTimeseriesGroupsRequestCaOwnerList.pipe(T.Query())), dateEnd: S.optional(CtTimeseriesGroupsRequestDateEndList.pipe(T.Query())), dateRange: S.optional( CtTimeseriesGroupsRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( CtTimeseriesGroupsRequestDateStartList.pipe(T.Query()), ), duration: S.optional(CtTimeseriesGroupsRequestDurationList.pipe(T.Query())), entryType: S.optional( CtTimeseriesGroupsRequestEntryTypeList.pipe(T.Query()), ), expirationStatus: S.optional( CtTimeseriesGroupsRequestExpirationStatusList.pipe(T.Query()), ), format: S.optional(CtTimeseriesGroupsRequestFormat.pipe(T.Query())), hasIps: S.optional(CtTimeseriesGroupsRequestHasIpsList.pipe(T.Query())), hasWildcards: S.optional( CtTimeseriesGroupsRequestHasWildcardsList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), log: S.optional(CtTimeseriesGroupsRequestLogList.pipe(T.Query())), logApi: S.optional(CtTimeseriesGroupsRequestLogApiList.pipe(T.Query())), logOperator: S.optional( CtTimeseriesGroupsRequestLogOperatorList.pipe(T.Query()), ), name: S.optional(CtTimeseriesGroupsRequestNameList.pipe(T.Query())), normalization: S.optional( CtTimeseriesGroupsRequestNormalization.pipe(T.Query()), ), publicKeyAlgorithm: S.optional( CtTimeseriesGroupsRequestPublicKeyAlgorithmList.pipe(T.Query()), ), signatureAlgorithm: S.optional( CtTimeseriesGroupsRequestSignatureAlgorithmList.pipe(T.Query()), ), tld: S.optional(CtTimeseriesGroupsRequestTldList.pipe(T.Query())), uniqueEntries: S.optional( CtTimeseriesGroupsRequestUniqueEntriesList.pipe(T.Query()), ), validationLevel: S.optional( CtTimeseriesGroupsRequestValidationLevelList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/ct/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsCtRequest", }) as any as S.Schema; export type CtTimeseriesGroupsResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const CtTimeseriesGroupsResponseMetaAggInterval = /*@__PURE__*/ S.String; export type CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = Array; export const CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface CtTimeseriesGroupsResponseMetaConfidenceInfo { annotations: CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const CtTimeseriesGroupsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: CtTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "CtTimeseriesGroupsResponseMetaConfidenceInfo", }) as any as S.Schema; export type CtTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const CtTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type CtTimeseriesGroupsResponseMetaDateRangeList = Array; export const CtTimeseriesGroupsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type CtTimeseriesGroupsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const CtTimeseriesGroupsResponseMetaNormalization = /*@__PURE__*/ S.String; export type CtTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const CtTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type CtTimeseriesGroupsResponseMetaUnitsList = Array; export const CtTimeseriesGroupsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface CtTimeseriesGroupsResponseMeta { /** 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/). */ aggInterval: CtTimeseriesGroupsResponseMetaAggInterval; confidenceInfo: CtTimeseriesGroupsResponseMetaConfidenceInfo; dateRange: CtTimeseriesGroupsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: CtTimeseriesGroupsResponseMetaNormalization; /** Measurement units for the results. */ units: CtTimeseriesGroupsResponseMetaUnitsList; } export const CtTimeseriesGroupsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: CtTimeseriesGroupsResponseMetaAggInterval, confidenceInfo: CtTimeseriesGroupsResponseMetaConfidenceInfo, dateRange: CtTimeseriesGroupsResponseMetaDateRangeList, lastUpdated: S.String, normalization: CtTimeseriesGroupsResponseMetaNormalization, units: CtTimeseriesGroupsResponseMetaUnitsList, }), ).annotate({ identifier: "CtTimeseriesGroupsResponseMeta", }) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0UnnamedSchemaRef7826220e105d84352ba1108d9ed88e55TimestampsList = Array; export const CtTimeseriesGroupsResponseSerie0UnnamedSchemaRef7826220e105d84352ba1108d9ed88e55TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CtTimeseriesGroupsResponseSerie0UnnamedSchemaRef7826220e105d84352ba1108d9ed88e55 { timestamps: CtTimeseriesGroupsResponseSerie0UnnamedSchemaRef7826220e105d84352ba1108d9ed88e55TimestampsList; } export const CtTimeseriesGroupsResponseSerie0UnnamedSchemaRef7826220e105d84352ba1108d9ed88e55 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: CtTimeseriesGroupsResponseSerie0UnnamedSchemaRef7826220e105d84352ba1108d9ed88e55TimestampsList, }), ).annotate({ identifier: "CtTimeseriesGroupsResponseSerie0UnnamedSchemaRef7826220e105d84352ba1108d9ed88e55", }) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case1Rfc6962List = Array; export const CtTimeseriesGroupsResponseSerie0Case1Rfc6962List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case1StaticList = Array; export const CtTimeseriesGroupsResponseSerie0Case1StaticList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CtTimeseriesGroupsResponseSerie0Case1 { rfc6962: CtTimeseriesGroupsResponseSerie0Case1Rfc6962List; static: CtTimeseriesGroupsResponseSerie0Case1StaticList; } export const CtTimeseriesGroupsResponseSerie0Case1 = /*@__PURE__*/ S.suspend( () => S.Struct({ rfc6962: CtTimeseriesGroupsResponseSerie0Case1Rfc6962List, static: CtTimeseriesGroupsResponseSerie0Case1StaticList, }), ).annotate({ identifier: "CtTimeseriesGroupsResponseSerie0Case1", }) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case2Gt121dList = Array; export const CtTimeseriesGroupsResponseSerie0Case2Gt121dList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case2Gt16dLte31dList = Array; export const CtTimeseriesGroupsResponseSerie0Case2Gt16dLte31dList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case2Gt31dLte91dList = Array; export const CtTimeseriesGroupsResponseSerie0Case2Gt31dLte91dList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case2Gt3dLte16dList = Array; export const CtTimeseriesGroupsResponseSerie0Case2Gt3dLte16dList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case2Gt91dLte121dList = Array; export const CtTimeseriesGroupsResponseSerie0Case2Gt91dLte121dList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case2Lte3dList = Array; export const CtTimeseriesGroupsResponseSerie0Case2Lte3dList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CtTimeseriesGroupsResponseSerie0Case2 { gt_121d: CtTimeseriesGroupsResponseSerie0Case2Gt121dList; gt_16d_lte_31d: CtTimeseriesGroupsResponseSerie0Case2Gt16dLte31dList; gt_31d_lte_91d: CtTimeseriesGroupsResponseSerie0Case2Gt31dLte91dList; gt_3d_lte_16d: CtTimeseriesGroupsResponseSerie0Case2Gt3dLte16dList; gt_91d_lte_121d: CtTimeseriesGroupsResponseSerie0Case2Gt91dLte121dList; lte_3d: CtTimeseriesGroupsResponseSerie0Case2Lte3dList; } export const CtTimeseriesGroupsResponseSerie0Case2 = /*@__PURE__*/ S.suspend( () => S.Struct({ gt_121d: CtTimeseriesGroupsResponseSerie0Case2Gt121dList, gt_16d_lte_31d: CtTimeseriesGroupsResponseSerie0Case2Gt16dLte31dList, gt_31d_lte_91d: CtTimeseriesGroupsResponseSerie0Case2Gt31dLte91dList, gt_3d_lte_16d: CtTimeseriesGroupsResponseSerie0Case2Gt3dLte16dList, gt_91d_lte_121d: CtTimeseriesGroupsResponseSerie0Case2Gt91dLte121dList, lte_3d: CtTimeseriesGroupsResponseSerie0Case2Lte3dList, }), ).annotate({ identifier: "CtTimeseriesGroupsResponseSerie0Case2", }) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case3CERTIFICATEList = Array; export const CtTimeseriesGroupsResponseSerie0Case3CERTIFICATEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case3PRECERTIFICATEList = Array; export const CtTimeseriesGroupsResponseSerie0Case3PRECERTIFICATEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CtTimeseriesGroupsResponseSerie0Case3 { cERTIFICATE: CtTimeseriesGroupsResponseSerie0Case3CERTIFICATEList; pRECERTIFICATE: CtTimeseriesGroupsResponseSerie0Case3PRECERTIFICATEList; } export const CtTimeseriesGroupsResponseSerie0Case3 = /*@__PURE__*/ S.suspend( () => S.Struct({ cERTIFICATE: CtTimeseriesGroupsResponseSerie0Case3CERTIFICATEList.pipe( T.Body("CERTIFICATE"), ), pRECERTIFICATE: CtTimeseriesGroupsResponseSerie0Case3PRECERTIFICATEList.pipe( T.Body("PRECERTIFICATE"), ), }), ).annotate({ identifier: "CtTimeseriesGroupsResponseSerie0Case3", }) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case4EXPIREDList = Array; export const CtTimeseriesGroupsResponseSerie0Case4EXPIREDList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case4VALIDList = Array; export const CtTimeseriesGroupsResponseSerie0Case4VALIDList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CtTimeseriesGroupsResponseSerie0Case4 { eXPIRED: CtTimeseriesGroupsResponseSerie0Case4EXPIREDList; vALID: CtTimeseriesGroupsResponseSerie0Case4VALIDList; } export const CtTimeseriesGroupsResponseSerie0Case4 = /*@__PURE__*/ S.suspend( () => S.Struct({ eXPIRED: CtTimeseriesGroupsResponseSerie0Case4EXPIREDList.pipe( T.Body("EXPIRED"), ), vALID: CtTimeseriesGroupsResponseSerie0Case4VALIDList.pipe( T.Body("VALID"), ), }), ).annotate({ identifier: "CtTimeseriesGroupsResponseSerie0Case4", }) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case5NEGATIVEList = Array; export const CtTimeseriesGroupsResponseSerie0Case5NEGATIVEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case5POSITIVEList = Array; export const CtTimeseriesGroupsResponseSerie0Case5POSITIVEList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CtTimeseriesGroupsResponseSerie0Case5 { nEGATIVE: CtTimeseriesGroupsResponseSerie0Case5NEGATIVEList; pOSITIVE: CtTimeseriesGroupsResponseSerie0Case5POSITIVEList; } export const CtTimeseriesGroupsResponseSerie0Case5 = /*@__PURE__*/ S.suspend( () => S.Struct({ nEGATIVE: CtTimeseriesGroupsResponseSerie0Case5NEGATIVEList.pipe( T.Body("NEGATIVE"), ), pOSITIVE: CtTimeseriesGroupsResponseSerie0Case5POSITIVEList.pipe( T.Body("POSITIVE"), ), }), ).annotate({ identifier: "CtTimeseriesGroupsResponseSerie0Case5", }) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case6DSAList = Array; export const CtTimeseriesGroupsResponseSerie0Case6DSAList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case6ECDSAList = Array; export const CtTimeseriesGroupsResponseSerie0Case6ECDSAList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case6RSAList = Array; export const CtTimeseriesGroupsResponseSerie0Case6RSAList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CtTimeseriesGroupsResponseSerie0Case6 { dSA: CtTimeseriesGroupsResponseSerie0Case6DSAList; eCDSA: CtTimeseriesGroupsResponseSerie0Case6ECDSAList; rSA: CtTimeseriesGroupsResponseSerie0Case6RSAList; } export const CtTimeseriesGroupsResponseSerie0Case6 = /*@__PURE__*/ S.suspend( () => S.Struct({ dSA: CtTimeseriesGroupsResponseSerie0Case6DSAList.pipe(T.Body("DSA")), eCDSA: CtTimeseriesGroupsResponseSerie0Case6ECDSAList.pipe( T.Body("ECDSA"), ), rSA: CtTimeseriesGroupsResponseSerie0Case6RSAList.pipe(T.Body("RSA")), }), ).annotate({ identifier: "CtTimeseriesGroupsResponseSerie0Case6", }) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case7DomainList = Array; export const CtTimeseriesGroupsResponseSerie0Case7DomainList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case7ExtendedList = Array; export const CtTimeseriesGroupsResponseSerie0Case7ExtendedList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case7OrganizationList = Array; export const CtTimeseriesGroupsResponseSerie0Case7OrganizationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0Case7UnknownList = Array; export const CtTimeseriesGroupsResponseSerie0Case7UnknownList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface CtTimeseriesGroupsResponseSerie0Case7 { domain: CtTimeseriesGroupsResponseSerie0Case7DomainList; extended: CtTimeseriesGroupsResponseSerie0Case7ExtendedList; organization: CtTimeseriesGroupsResponseSerie0Case7OrganizationList; unknown: CtTimeseriesGroupsResponseSerie0Case7UnknownList; } export const CtTimeseriesGroupsResponseSerie0Case7 = /*@__PURE__*/ S.suspend( () => S.Struct({ domain: CtTimeseriesGroupsResponseSerie0Case7DomainList, extended: CtTimeseriesGroupsResponseSerie0Case7ExtendedList, organization: CtTimeseriesGroupsResponseSerie0Case7OrganizationList, unknown: CtTimeseriesGroupsResponseSerie0Case7UnknownList, }), ).annotate({ identifier: "CtTimeseriesGroupsResponseSerie0Case7", }) as any as S.Schema; export type CtTimeseriesGroupsResponseSerie0 = | CtTimeseriesGroupsResponseSerie0UnnamedSchemaRef7826220e105d84352ba1108d9ed88e55 | CtTimeseriesGroupsResponseSerie0Case1 | CtTimeseriesGroupsResponseSerie0Case2 | CtTimeseriesGroupsResponseSerie0Case3 | CtTimeseriesGroupsResponseSerie0Case4 | CtTimeseriesGroupsResponseSerie0Case5 | CtTimeseriesGroupsResponseSerie0Case6 | CtTimeseriesGroupsResponseSerie0Case7; export const CtTimeseriesGroupsResponseSerie0 = /*@__PURE__*/ S.Unknown.pipe( T.UnionCases([ ["timestamps"], ["rfc6962", "static"], [ "gt_121d", "gt_16d_lte_31d", "gt_31d_lte_91d", "gt_3d_lte_16d", "gt_91d_lte_121d", "lte_3d", ], ["cERTIFICATE", "pRECERTIFICATE"], ["eXPIRED", "vALID"], ["nEGATIVE", "pOSITIVE"], ["dSA", "eCDSA", "rSA"], ["domain", "extended", "organization", "unknown"], ]), ); /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsCtResponse { /** Metadata for the results. */ meta: CtTimeseriesGroupsResponseMeta; serie_0: CtTimeseriesGroupsResponseSerie0; } export const TimeseriesGroupsCtResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: CtTimeseriesGroupsResponseMeta, serie_0: CtTimeseriesGroupsResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsCtResponse", }) as any as S.Schema; export type NetflowsTimeseriesGroupsRequestDimension = | "ADM1" | "AS" | "LOCATION" | "PRODUCT"; export const NetflowsTimeseriesGroupsRequestDimension = /*@__PURE__*/ S.String; export type NetflowsTimeseriesGroupsRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const NetflowsTimeseriesGroupsRequestAggInterval = /*@__PURE__*/ S.String; export type NetflowsTimeseriesGroupsRequestAsnList = Array; export const NetflowsTimeseriesGroupsRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTimeseriesGroupsRequestContinentList = Array; export const NetflowsTimeseriesGroupsRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTimeseriesGroupsRequestDateEndList = Array; export const NetflowsTimeseriesGroupsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTimeseriesGroupsRequestDateRangeList = Array; export const NetflowsTimeseriesGroupsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTimeseriesGroupsRequestDateStartList = Array; export const NetflowsTimeseriesGroupsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTimeseriesGroupsRequestFormat = "JSON" | "CSV"; export const NetflowsTimeseriesGroupsRequestFormat = /*@__PURE__*/ S.String; export type NetflowsTimeseriesGroupsRequestGeoIdList = Array; export const NetflowsTimeseriesGroupsRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTimeseriesGroupsRequestLocationList = Array; export const NetflowsTimeseriesGroupsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTimeseriesGroupsRequestNameList = Array; export const NetflowsTimeseriesGroupsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTimeseriesGroupsRequestNormalization = | "PERCENTAGE" | "MIN0_MAX" | "PERCENTAGE_CHANGE"; export const NetflowsTimeseriesGroupsRequestNormalization = /*@__PURE__*/ S.String; export type NetflowsTimeseriesGroupsRequestProduct = "HTTP" | "ALL"; export const NetflowsTimeseriesGroupsRequestProduct = /*@__PURE__*/ S.String; export type NetflowsTimeseriesGroupsRequestProductList = Array< NetflowsTimeseriesGroupsRequestProduct | (string & {}) >; export const NetflowsTimeseriesGroupsRequestProductList = /*@__PURE__*/ S.Array( NetflowsTimeseriesGroupsRequestProduct, ) as any as S.Schema; export interface TimeseriesGroupsNetflowRequest { /** Specifies the NetFlows attribute by which to group the results. */ dimension: NetflowsTimeseriesGroupsRequestDimension | (string & {}); /** 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/). */ aggInterval?: NetflowsTimeseriesGroupsRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: NetflowsTimeseriesGroupsRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: NetflowsTimeseriesGroupsRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: NetflowsTimeseriesGroupsRequestDateEndList; /** 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). */ dateRange?: NetflowsTimeseriesGroupsRequestDateRangeList; /** Start of the date range. */ dateStart?: NetflowsTimeseriesGroupsRequestDateStartList; /** Format in which results will be returned. */ format?: NetflowsTimeseriesGroupsRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: NetflowsTimeseriesGroupsRequestGeoIdList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: NetflowsTimeseriesGroupsRequestLocationList; /** Array of names used to label the series in the response. */ name?: NetflowsTimeseriesGroupsRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: NetflowsTimeseriesGroupsRequestNormalization | (string & {}); /** Filters the results by network traffic product types. */ product?: NetflowsTimeseriesGroupsRequestProductList; } export const TimeseriesGroupsNetflowRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: NetflowsTimeseriesGroupsRequestDimension.pipe(T.Label()), aggInterval: S.optional( NetflowsTimeseriesGroupsRequestAggInterval.pipe(T.Query()), ), asn: S.optional(NetflowsTimeseriesGroupsRequestAsnList.pipe(T.Query())), continent: S.optional( NetflowsTimeseriesGroupsRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( NetflowsTimeseriesGroupsRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( NetflowsTimeseriesGroupsRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( NetflowsTimeseriesGroupsRequestDateStartList.pipe(T.Query()), ), format: S.optional(NetflowsTimeseriesGroupsRequestFormat.pipe(T.Query())), geoId: S.optional(NetflowsTimeseriesGroupsRequestGeoIdList.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( NetflowsTimeseriesGroupsRequestLocationList.pipe(T.Query()), ), name: S.optional(NetflowsTimeseriesGroupsRequestNameList.pipe(T.Query())), normalization: S.optional( NetflowsTimeseriesGroupsRequestNormalization.pipe(T.Query()), ), product: S.optional( NetflowsTimeseriesGroupsRequestProductList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/netflows/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsNetflowRequest", }) as any as S.Schema; export type NetflowsTimeseriesGroupsResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const NetflowsTimeseriesGroupsResponseMetaAggInterval = /*@__PURE__*/ S.String; export type NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = Array; export const NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface NetflowsTimeseriesGroupsResponseMetaConfidenceInfo { annotations: NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const NetflowsTimeseriesGroupsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: NetflowsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "NetflowsTimeseriesGroupsResponseMetaConfidenceInfo", }) as any as S.Schema; export type NetflowsTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const NetflowsTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type NetflowsTimeseriesGroupsResponseMetaDateRangeList = Array; export const NetflowsTimeseriesGroupsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type NetflowsTimeseriesGroupsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const NetflowsTimeseriesGroupsResponseMetaNormalization = /*@__PURE__*/ S.String; export type NetflowsTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const NetflowsTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type NetflowsTimeseriesGroupsResponseMetaUnitsList = Array; export const NetflowsTimeseriesGroupsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface NetflowsTimeseriesGroupsResponseMeta { /** 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/). */ aggInterval: NetflowsTimeseriesGroupsResponseMetaAggInterval; confidenceInfo: NetflowsTimeseriesGroupsResponseMetaConfidenceInfo; dateRange: NetflowsTimeseriesGroupsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: NetflowsTimeseriesGroupsResponseMetaNormalization; /** Measurement units for the results. */ units: NetflowsTimeseriesGroupsResponseMetaUnitsList; } export const NetflowsTimeseriesGroupsResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: NetflowsTimeseriesGroupsResponseMetaAggInterval, confidenceInfo: NetflowsTimeseriesGroupsResponseMetaConfidenceInfo, dateRange: NetflowsTimeseriesGroupsResponseMetaDateRangeList, lastUpdated: S.String, normalization: NetflowsTimeseriesGroupsResponseMetaNormalization, units: NetflowsTimeseriesGroupsResponseMetaUnitsList, }), ).annotate({ identifier: "NetflowsTimeseriesGroupsResponseMeta", }) as any as S.Schema; export type NetflowsTimeseriesGroupsResponseSerie0TimestampsList = Array; export const NetflowsTimeseriesGroupsResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface NetflowsTimeseriesGroupsResponseSerie0 { timestamps: NetflowsTimeseriesGroupsResponseSerie0TimestampsList; } export const NetflowsTimeseriesGroupsResponseSerie0 = /*@__PURE__*/ S.suspend( () => S.Struct({ timestamps: NetflowsTimeseriesGroupsResponseSerie0TimestampsList, }), ).annotate({ identifier: "NetflowsTimeseriesGroupsResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsNetflowResponse { /** Metadata for the results. */ meta: NetflowsTimeseriesGroupsResponseMeta; serie_0: NetflowsTimeseriesGroupsResponseSerie0; } export const TimeseriesGroupsNetflowResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: NetflowsTimeseriesGroupsResponseMeta, serie_0: NetflowsTimeseriesGroupsResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsNetflowResponse", }) as any as S.Schema; export type PostQuantumOriginTimeseriesGroupsRequestDimension = "KEY_AGREEMENT"; export const PostQuantumOriginTimeseriesGroupsRequestDimension = /*@__PURE__*/ S.String; export type PostQuantumOriginTimeseriesGroupsRequestDateEndList = Array; export const PostQuantumOriginTimeseriesGroupsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type PostQuantumOriginTimeseriesGroupsRequestDateRangeList = Array; export const PostQuantumOriginTimeseriesGroupsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type PostQuantumOriginTimeseriesGroupsRequestDateStartList = Array; export const PostQuantumOriginTimeseriesGroupsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type PostQuantumOriginTimeseriesGroupsRequestFormat = "JSON" | "CSV"; export const PostQuantumOriginTimeseriesGroupsRequestFormat = /*@__PURE__*/ S.String; export type PostQuantumOriginTimeseriesGroupsRequestNameList = Array; export const PostQuantumOriginTimeseriesGroupsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TimeseriesGroupsPostQuantumOriginRequest { /** Specifies the origin post-quantum data dimension by which to group the results. */ dimension: PostQuantumOriginTimeseriesGroupsRequestDimension | (string & {}); /** End of the date range (inclusive). */ dateEnd?: PostQuantumOriginTimeseriesGroupsRequestDateEndList; /** 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). */ dateRange?: PostQuantumOriginTimeseriesGroupsRequestDateRangeList; /** Start of the date range. */ dateStart?: PostQuantumOriginTimeseriesGroupsRequestDateStartList; /** Format in which results will be returned. */ format?: PostQuantumOriginTimeseriesGroupsRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: PostQuantumOriginTimeseriesGroupsRequestNameList; } export const TimeseriesGroupsPostQuantumOriginRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ dimension: PostQuantumOriginTimeseriesGroupsRequestDimension.pipe( T.Label(), ), dateEnd: S.optional( PostQuantumOriginTimeseriesGroupsRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( PostQuantumOriginTimeseriesGroupsRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( PostQuantumOriginTimeseriesGroupsRequestDateStartList.pipe(T.Query()), ), format: S.optional( PostQuantumOriginTimeseriesGroupsRequestFormat.pipe(T.Query()), ), name: S.optional( PostQuantumOriginTimeseriesGroupsRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/post_quantum/origin/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsPostQuantumOriginRequest", }) as any as S.Schema; export type PostQuantumOriginTimeseriesGroupsResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const PostQuantumOriginTimeseriesGroupsResponseMetaAggInterval = /*@__PURE__*/ S.String; export type PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = Array; export const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfo { annotations: PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfo", }) as any as S.Schema; export type PostQuantumOriginTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const PostQuantumOriginTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type PostQuantumOriginTimeseriesGroupsResponseMetaDateRangeList = Array; export const PostQuantumOriginTimeseriesGroupsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const PostQuantumOriginTimeseriesGroupsResponseMetaNormalization = /*@__PURE__*/ S.String; export type PostQuantumOriginTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const PostQuantumOriginTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type PostQuantumOriginTimeseriesGroupsResponseMetaUnitsList = Array; export const PostQuantumOriginTimeseriesGroupsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface PostQuantumOriginTimeseriesGroupsResponseMeta { /** 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/). */ aggInterval: PostQuantumOriginTimeseriesGroupsResponseMetaAggInterval; confidenceInfo: PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfo; dateRange: PostQuantumOriginTimeseriesGroupsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: PostQuantumOriginTimeseriesGroupsResponseMetaNormalization; /** Measurement units for the results. */ units: PostQuantumOriginTimeseriesGroupsResponseMetaUnitsList; } export const PostQuantumOriginTimeseriesGroupsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: PostQuantumOriginTimeseriesGroupsResponseMetaAggInterval, confidenceInfo: PostQuantumOriginTimeseriesGroupsResponseMetaConfidenceInfo, dateRange: PostQuantumOriginTimeseriesGroupsResponseMetaDateRangeList, lastUpdated: S.String, normalization: PostQuantumOriginTimeseriesGroupsResponseMetaNormalization, units: PostQuantumOriginTimeseriesGroupsResponseMetaUnitsList, }), ).annotate({ identifier: "PostQuantumOriginTimeseriesGroupsResponseMeta", }) as any as S.Schema; export type PostQuantumOriginTimeseriesGroupsResponseSerie0TimestampsList = Array; export const PostQuantumOriginTimeseriesGroupsResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface PostQuantumOriginTimeseriesGroupsResponseSerie0 { timestamps: PostQuantumOriginTimeseriesGroupsResponseSerie0TimestampsList; } export const PostQuantumOriginTimeseriesGroupsResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: PostQuantumOriginTimeseriesGroupsResponseSerie0TimestampsList, }), ).annotate({ identifier: "PostQuantumOriginTimeseriesGroupsResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsPostQuantumOriginResponse { /** Metadata for the results. */ meta: PostQuantumOriginTimeseriesGroupsResponseMeta; serie_0: PostQuantumOriginTimeseriesGroupsResponseSerie0; } export const TimeseriesGroupsPostQuantumOriginResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: PostQuantumOriginTimeseriesGroupsResponseMeta, serie_0: PostQuantumOriginTimeseriesGroupsResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsPostQuantumOriginResponse", }) as any as S.Schema; export type QualityIqiTimeseriesGroupsRequestMetric = | "BANDWIDTH" | "DNS" | "LATENCY"; export const QualityIqiTimeseriesGroupsRequestMetric = /*@__PURE__*/ S.String; export type QualityIqiTimeseriesGroupsRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const QualityIqiTimeseriesGroupsRequestAggInterval = /*@__PURE__*/ S.String; export type QualityIqiTimeseriesGroupsRequestAsnList = Array; export const QualityIqiTimeseriesGroupsRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualityIqiTimeseriesGroupsRequestContinentList = Array; export const QualityIqiTimeseriesGroupsRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualityIqiTimeseriesGroupsRequestDateEndList = Array; export const QualityIqiTimeseriesGroupsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualityIqiTimeseriesGroupsRequestDateRangeList = Array; export const QualityIqiTimeseriesGroupsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualityIqiTimeseriesGroupsRequestDateStartList = Array; export const QualityIqiTimeseriesGroupsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualityIqiTimeseriesGroupsRequestFormat = "JSON" | "CSV"; export const QualityIqiTimeseriesGroupsRequestFormat = /*@__PURE__*/ S.String; export type QualityIqiTimeseriesGroupsRequestLocationList = Array; export const QualityIqiTimeseriesGroupsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type QualityIqiTimeseriesGroupsRequestNameList = Array; export const QualityIqiTimeseriesGroupsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TimeseriesGroupsQualityIqiRequest { /** Defines which metric to return (bandwidth, latency, or DNS response time). */ metric: QualityIqiTimeseriesGroupsRequestMetric | (string & {}); /** 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/). */ aggInterval?: QualityIqiTimeseriesGroupsRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: QualityIqiTimeseriesGroupsRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: QualityIqiTimeseriesGroupsRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: QualityIqiTimeseriesGroupsRequestDateEndList; /** 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). */ dateRange?: QualityIqiTimeseriesGroupsRequestDateRangeList; /** Start of the date range. */ dateStart?: QualityIqiTimeseriesGroupsRequestDateStartList; /** Format in which results will be returned. */ format?: QualityIqiTimeseriesGroupsRequestFormat | (string & {}); /** Enables interpolation for all series (using the average). */ interpolation?: boolean; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: QualityIqiTimeseriesGroupsRequestLocationList; /** Array of names used to label the series in the response. */ name?: QualityIqiTimeseriesGroupsRequestNameList; } export const TimeseriesGroupsQualityIqiRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ metric: QualityIqiTimeseriesGroupsRequestMetric.pipe(T.Query()), aggInterval: S.optional( QualityIqiTimeseriesGroupsRequestAggInterval.pipe(T.Query()), ), asn: S.optional(QualityIqiTimeseriesGroupsRequestAsnList.pipe(T.Query())), continent: S.optional( QualityIqiTimeseriesGroupsRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( QualityIqiTimeseriesGroupsRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( QualityIqiTimeseriesGroupsRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( QualityIqiTimeseriesGroupsRequestDateStartList.pipe(T.Query()), ), format: S.optional(QualityIqiTimeseriesGroupsRequestFormat.pipe(T.Query())), interpolation: S.optional(S.Boolean.pipe(T.Query())), location: S.optional( QualityIqiTimeseriesGroupsRequestLocationList.pipe(T.Query()), ), name: S.optional(QualityIqiTimeseriesGroupsRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/quality/iqi/timeseries_groups", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsQualityIqiRequest", }) as any as S.Schema; export type QualityIqiTimeseriesGroupsResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const QualityIqiTimeseriesGroupsResponseMetaAggInterval = /*@__PURE__*/ S.String; export type QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = Array; export const QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface QualityIqiTimeseriesGroupsResponseMetaConfidenceInfo { annotations: QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const QualityIqiTimeseriesGroupsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: QualityIqiTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "QualityIqiTimeseriesGroupsResponseMetaConfidenceInfo", }) as any as S.Schema; export type QualityIqiTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const QualityIqiTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type QualityIqiTimeseriesGroupsResponseMetaDateRangeList = Array; export const QualityIqiTimeseriesGroupsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type QualityIqiTimeseriesGroupsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const QualityIqiTimeseriesGroupsResponseMetaNormalization = /*@__PURE__*/ S.String; export type QualityIqiTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const QualityIqiTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type QualityIqiTimeseriesGroupsResponseMetaUnitsList = Array; export const QualityIqiTimeseriesGroupsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface QualityIqiTimeseriesGroupsResponseMeta { /** 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/). */ aggInterval: QualityIqiTimeseriesGroupsResponseMetaAggInterval; confidenceInfo: QualityIqiTimeseriesGroupsResponseMetaConfidenceInfo; dateRange: QualityIqiTimeseriesGroupsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: QualityIqiTimeseriesGroupsResponseMetaNormalization; /** Measurement units for the results. */ units: QualityIqiTimeseriesGroupsResponseMetaUnitsList; } export const QualityIqiTimeseriesGroupsResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: QualityIqiTimeseriesGroupsResponseMetaAggInterval, confidenceInfo: QualityIqiTimeseriesGroupsResponseMetaConfidenceInfo, dateRange: QualityIqiTimeseriesGroupsResponseMetaDateRangeList, lastUpdated: S.String, normalization: QualityIqiTimeseriesGroupsResponseMetaNormalization, units: QualityIqiTimeseriesGroupsResponseMetaUnitsList, }), ).annotate({ identifier: "QualityIqiTimeseriesGroupsResponseMeta", }) as any as S.Schema; export type QualityIqiTimeseriesGroupsResponseSerie0TimestampsList = Array; export const QualityIqiTimeseriesGroupsResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface QualityIqiTimeseriesGroupsResponseSerie0 { timestamps: QualityIqiTimeseriesGroupsResponseSerie0TimestampsList; } export const QualityIqiTimeseriesGroupsResponseSerie0 = /*@__PURE__*/ S.suspend( () => S.Struct({ timestamps: QualityIqiTimeseriesGroupsResponseSerie0TimestampsList, }), ).annotate({ identifier: "QualityIqiTimeseriesGroupsResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsQualityIqiResponse { /** Metadata for the results. */ meta: QualityIqiTimeseriesGroupsResponseMeta; serie_0: QualityIqiTimeseriesGroupsResponseSerie0; } export const TimeseriesGroupsQualityIqiResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: QualityIqiTimeseriesGroupsResponseMeta, serie_0: QualityIqiTimeseriesGroupsResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsQualityIqiResponse", }) as any as S.Schema; export type RankingTimeseriesGroupsRequestDateEndList = Array; export const RankingTimeseriesGroupsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingTimeseriesGroupsRequestDateRangeList = Array; export const RankingTimeseriesGroupsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingTimeseriesGroupsRequestDateStartList = Array; export const RankingTimeseriesGroupsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingTimeseriesGroupsRequestDomainCategoryList = Array; export const RankingTimeseriesGroupsRequestDomainCategoryList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingTimeseriesGroupsRequestDomainsList = Array; export const RankingTimeseriesGroupsRequestDomainsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingTimeseriesGroupsRequestFormat = "JSON" | "CSV"; export const RankingTimeseriesGroupsRequestFormat = /*@__PURE__*/ S.String; export type RankingTimeseriesGroupsRequestLocationList = Array; export const RankingTimeseriesGroupsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingTimeseriesGroupsRequestNameList = Array; export const RankingTimeseriesGroupsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingTimeseriesGroupsRequestRankingType = | "POPULAR" | "TRENDING_RISE" | "TRENDING_STEADY"; export const RankingTimeseriesGroupsRequestRankingType = /*@__PURE__*/ S.String; export interface TimeseriesGroupsRankingRequest { /** End of the date range (inclusive). */ dateEnd?: RankingTimeseriesGroupsRequestDateEndList; /** 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). */ dateRange?: RankingTimeseriesGroupsRequestDateRangeList; /** Start of the date range. */ dateStart?: RankingTimeseriesGroupsRequestDateStartList; /** Filters results by domain category. */ domainCategory?: RankingTimeseriesGroupsRequestDomainCategoryList; /** Filters results by domain name. Specify a comma-separated list of domain names. */ domains?: RankingTimeseriesGroupsRequestDomainsList; /** Format in which results will be returned. */ format?: RankingTimeseriesGroupsRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 location codes. */ location?: RankingTimeseriesGroupsRequestLocationList; /** Array of names used to label the series in the response. */ name?: RankingTimeseriesGroupsRequestNameList; /** The ranking type. */ rankingType?: RankingTimeseriesGroupsRequestRankingType | (string & {}); } export const TimeseriesGroupsRankingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dateEnd: S.optional( RankingTimeseriesGroupsRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( RankingTimeseriesGroupsRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( RankingTimeseriesGroupsRequestDateStartList.pipe(T.Query()), ), domainCategory: S.optional( RankingTimeseriesGroupsRequestDomainCategoryList.pipe(T.Query()), ), domains: S.optional( RankingTimeseriesGroupsRequestDomainsList.pipe(T.Query()), ), format: S.optional(RankingTimeseriesGroupsRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( RankingTimeseriesGroupsRequestLocationList.pipe(T.Query()), ), name: S.optional(RankingTimeseriesGroupsRequestNameList.pipe(T.Query())), rankingType: S.optional( RankingTimeseriesGroupsRequestRankingType.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/ranking/timeseries_groups", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsRankingRequest", }) as any as S.Schema; export type RankingTimeseriesGroupsResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const RankingTimeseriesGroupsResponseMetaAggInterval = /*@__PURE__*/ S.String; export type RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = Array; export const RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface RankingTimeseriesGroupsResponseMetaConfidenceInfo { annotations: RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const RankingTimeseriesGroupsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: RankingTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "RankingTimeseriesGroupsResponseMetaConfidenceInfo", }) as any as S.Schema; export type RankingTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const RankingTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type RankingTimeseriesGroupsResponseMetaDateRangeList = Array; export const RankingTimeseriesGroupsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type RankingTimeseriesGroupsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const RankingTimeseriesGroupsResponseMetaNormalization = /*@__PURE__*/ S.String; export type RankingTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const RankingTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type RankingTimeseriesGroupsResponseMetaUnitsList = Array; export const RankingTimeseriesGroupsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface RankingTimeseriesGroupsResponseMeta { /** 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/). */ aggInterval: RankingTimeseriesGroupsResponseMetaAggInterval; confidenceInfo: RankingTimeseriesGroupsResponseMetaConfidenceInfo; dateRange: RankingTimeseriesGroupsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: RankingTimeseriesGroupsResponseMetaNormalization; /** Measurement units for the results. */ units: RankingTimeseriesGroupsResponseMetaUnitsList; } export const RankingTimeseriesGroupsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: RankingTimeseriesGroupsResponseMetaAggInterval, confidenceInfo: RankingTimeseriesGroupsResponseMetaConfidenceInfo, dateRange: RankingTimeseriesGroupsResponseMetaDateRangeList, lastUpdated: S.String, normalization: RankingTimeseriesGroupsResponseMetaNormalization, units: RankingTimeseriesGroupsResponseMetaUnitsList, }), ).annotate({ identifier: "RankingTimeseriesGroupsResponseMeta", }) as any as S.Schema; export type RankingTimeseriesGroupsResponseSerie0TimestampsList = Array; export const RankingTimeseriesGroupsResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RankingTimeseriesGroupsResponseSerie0 { timestamps: RankingTimeseriesGroupsResponseSerie0TimestampsList; } export const RankingTimeseriesGroupsResponseSerie0 = /*@__PURE__*/ S.suspend( () => S.Struct({ timestamps: RankingTimeseriesGroupsResponseSerie0TimestampsList, }), ).annotate({ identifier: "RankingTimeseriesGroupsResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsRankingResponse { /** Metadata for the results. */ meta: RankingTimeseriesGroupsResponseMeta; serie_0: RankingTimeseriesGroupsResponseSerie0; } export const TimeseriesGroupsRankingResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: RankingTimeseriesGroupsResponseMeta, serie_0: RankingTimeseriesGroupsResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsRankingResponse", }) as any as S.Schema; export type RankingInternetServicesTimeseriesGroupsRequestDateEndList = Array; export const RankingInternetServicesTimeseriesGroupsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingInternetServicesTimeseriesGroupsRequestDateRangeList = Array; export const RankingInternetServicesTimeseriesGroupsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingInternetServicesTimeseriesGroupsRequestDateStartList = Array; export const RankingInternetServicesTimeseriesGroupsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingInternetServicesTimeseriesGroupsRequestFormat = | "JSON" | "CSV"; export const RankingInternetServicesTimeseriesGroupsRequestFormat = /*@__PURE__*/ S.String; export type RankingInternetServicesTimeseriesGroupsRequestNameList = Array; export const RankingInternetServicesTimeseriesGroupsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingInternetServicesTimeseriesGroupsRequestServiceCategoryList = Array; export const RankingInternetServicesTimeseriesGroupsRequestServiceCategoryList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TimeseriesGroupsRankingInternetServiceRequest { /** End of the date range (inclusive). */ dateEnd?: RankingInternetServicesTimeseriesGroupsRequestDateEndList; /** 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). */ dateRange?: RankingInternetServicesTimeseriesGroupsRequestDateRangeList; /** Start of the date range. */ dateStart?: RankingInternetServicesTimeseriesGroupsRequestDateStartList; /** Format in which results will be returned. */ format?: RankingInternetServicesTimeseriesGroupsRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Array of names used to label the series in the response. */ name?: RankingInternetServicesTimeseriesGroupsRequestNameList; /** Filters results by Internet service category. */ serviceCategory?: RankingInternetServicesTimeseriesGroupsRequestServiceCategoryList; } export const TimeseriesGroupsRankingInternetServiceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dateEnd: S.optional( RankingInternetServicesTimeseriesGroupsRequestDateEndList.pipe( T.Query(), ), ), dateRange: S.optional( RankingInternetServicesTimeseriesGroupsRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( RankingInternetServicesTimeseriesGroupsRequestDateStartList.pipe( T.Query(), ), ), format: S.optional( RankingInternetServicesTimeseriesGroupsRequestFormat.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), name: S.optional( RankingInternetServicesTimeseriesGroupsRequestNameList.pipe(T.Query()), ), serviceCategory: S.optional( RankingInternetServicesTimeseriesGroupsRequestServiceCategoryList.pipe( T.Query(), ), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/ranking/internet_services/timeseries_groups", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsRankingInternetServiceRequest", }) as any as S.Schema; export type RankingInternetServicesTimeseriesGroupsResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const RankingInternetServicesTimeseriesGroupsResponseMetaAggInterval = /*@__PURE__*/ S.String; export type RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = Array; export const RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfo { annotations: RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfo", }) as any as S.Schema; export type RankingInternetServicesTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const RankingInternetServicesTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type RankingInternetServicesTimeseriesGroupsResponseMetaDateRangeList = Array; export const RankingInternetServicesTimeseriesGroupsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type RankingInternetServicesTimeseriesGroupsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const RankingInternetServicesTimeseriesGroupsResponseMetaNormalization = /*@__PURE__*/ S.String; export type RankingInternetServicesTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const RankingInternetServicesTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type RankingInternetServicesTimeseriesGroupsResponseMetaUnitsList = Array; export const RankingInternetServicesTimeseriesGroupsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface RankingInternetServicesTimeseriesGroupsResponseMeta { /** 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/). */ aggInterval: RankingInternetServicesTimeseriesGroupsResponseMetaAggInterval; confidenceInfo: RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfo; dateRange: RankingInternetServicesTimeseriesGroupsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: RankingInternetServicesTimeseriesGroupsResponseMetaNormalization; /** Measurement units for the results. */ units: RankingInternetServicesTimeseriesGroupsResponseMetaUnitsList; } export const RankingInternetServicesTimeseriesGroupsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: RankingInternetServicesTimeseriesGroupsResponseMetaAggInterval, confidenceInfo: RankingInternetServicesTimeseriesGroupsResponseMetaConfidenceInfo, dateRange: RankingInternetServicesTimeseriesGroupsResponseMetaDateRangeList, lastUpdated: S.String, normalization: RankingInternetServicesTimeseriesGroupsResponseMetaNormalization, units: RankingInternetServicesTimeseriesGroupsResponseMetaUnitsList, }), ).annotate({ identifier: "RankingInternetServicesTimeseriesGroupsResponseMeta", }) as any as S.Schema; export type RankingInternetServicesTimeseriesGroupsResponseSerie0TimestampsList = Array; export const RankingInternetServicesTimeseriesGroupsResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RankingInternetServicesTimeseriesGroupsResponseSerie0 { timestamps: RankingInternetServicesTimeseriesGroupsResponseSerie0TimestampsList; } export const RankingInternetServicesTimeseriesGroupsResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: RankingInternetServicesTimeseriesGroupsResponseSerie0TimestampsList, }), ).annotate({ identifier: "RankingInternetServicesTimeseriesGroupsResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsRankingInternetServiceResponse { /** Metadata for the results. */ meta: RankingInternetServicesTimeseriesGroupsResponseMeta; serie_0: RankingInternetServicesTimeseriesGroupsResponseSerie0; } export const TimeseriesGroupsRankingInternetServiceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: RankingInternetServicesTimeseriesGroupsResponseMeta, serie_0: RankingInternetServicesTimeseriesGroupsResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsRankingInternetServiceResponse", }) as any as S.Schema; export type TcpResetsTimeoutsTimeseriesGroupsRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const TcpResetsTimeoutsTimeseriesGroupsRequestAggInterval = /*@__PURE__*/ S.String; export type TcpResetsTimeoutsTimeseriesGroupsRequestAsnList = Array; export const TcpResetsTimeoutsTimeseriesGroupsRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TcpResetsTimeoutsTimeseriesGroupsRequestContinentList = Array; export const TcpResetsTimeoutsTimeseriesGroupsRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TcpResetsTimeoutsTimeseriesGroupsRequestDateEndList = Array; export const TcpResetsTimeoutsTimeseriesGroupsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TcpResetsTimeoutsTimeseriesGroupsRequestDateRangeList = Array; export const TcpResetsTimeoutsTimeseriesGroupsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TcpResetsTimeoutsTimeseriesGroupsRequestDateStartList = Array; export const TcpResetsTimeoutsTimeseriesGroupsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TcpResetsTimeoutsTimeseriesGroupsRequestFormat = "JSON" | "CSV"; export const TcpResetsTimeoutsTimeseriesGroupsRequestFormat = /*@__PURE__*/ S.String; export type TcpResetsTimeoutsTimeseriesGroupsRequestLocationList = Array; export const TcpResetsTimeoutsTimeseriesGroupsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TcpResetsTimeoutsTimeseriesGroupsRequestNameList = Array; export const TcpResetsTimeoutsTimeseriesGroupsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TimeseriesGroupsTcpResetsTimeoutRequest { /** 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/). */ aggInterval?: | TcpResetsTimeoutsTimeseriesGroupsRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: TcpResetsTimeoutsTimeseriesGroupsRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: TcpResetsTimeoutsTimeseriesGroupsRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: TcpResetsTimeoutsTimeseriesGroupsRequestDateEndList; /** 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). */ dateRange?: TcpResetsTimeoutsTimeseriesGroupsRequestDateRangeList; /** Start of the date range. */ dateStart?: TcpResetsTimeoutsTimeseriesGroupsRequestDateStartList; /** Format in which results will be returned. */ format?: TcpResetsTimeoutsTimeseriesGroupsRequestFormat | (string & {}); /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: TcpResetsTimeoutsTimeseriesGroupsRequestLocationList; /** Array of names used to label the series in the response. */ name?: TcpResetsTimeoutsTimeseriesGroupsRequestNameList; } export const TimeseriesGroupsTcpResetsTimeoutRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( TcpResetsTimeoutsTimeseriesGroupsRequestAggInterval.pipe(T.Query()), ), asn: S.optional( TcpResetsTimeoutsTimeseriesGroupsRequestAsnList.pipe(T.Query()), ), continent: S.optional( TcpResetsTimeoutsTimeseriesGroupsRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( TcpResetsTimeoutsTimeseriesGroupsRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( TcpResetsTimeoutsTimeseriesGroupsRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( TcpResetsTimeoutsTimeseriesGroupsRequestDateStartList.pipe(T.Query()), ), format: S.optional( TcpResetsTimeoutsTimeseriesGroupsRequestFormat.pipe(T.Query()), ), location: S.optional( TcpResetsTimeoutsTimeseriesGroupsRequestLocationList.pipe(T.Query()), ), name: S.optional( TcpResetsTimeoutsTimeseriesGroupsRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/tcp_resets_timeouts/timeseries_groups", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsTcpResetsTimeoutRequest", }) as any as S.Schema; export type TcpResetsTimeoutsTimeseriesGroupsResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const TcpResetsTimeoutsTimeseriesGroupsResponseMetaAggInterval = /*@__PURE__*/ S.String; export type TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = Array; export const TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfo { annotations: TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfo", }) as any as S.Schema; export type TcpResetsTimeoutsTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const TcpResetsTimeoutsTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type TcpResetsTimeoutsTimeseriesGroupsResponseMetaDateRangeList = Array; export const TcpResetsTimeoutsTimeseriesGroupsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type TcpResetsTimeoutsTimeseriesGroupsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const TcpResetsTimeoutsTimeseriesGroupsResponseMetaNormalization = /*@__PURE__*/ S.String; export type TcpResetsTimeoutsTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const TcpResetsTimeoutsTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type TcpResetsTimeoutsTimeseriesGroupsResponseMetaUnitsList = Array; export const TcpResetsTimeoutsTimeseriesGroupsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface TcpResetsTimeoutsTimeseriesGroupsResponseMeta { /** 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/). */ aggInterval: TcpResetsTimeoutsTimeseriesGroupsResponseMetaAggInterval; confidenceInfo: TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfo; dateRange: TcpResetsTimeoutsTimeseriesGroupsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: TcpResetsTimeoutsTimeseriesGroupsResponseMetaNormalization; /** Measurement units for the results. */ units: TcpResetsTimeoutsTimeseriesGroupsResponseMetaUnitsList; } export const TcpResetsTimeoutsTimeseriesGroupsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: TcpResetsTimeoutsTimeseriesGroupsResponseMetaAggInterval, confidenceInfo: TcpResetsTimeoutsTimeseriesGroupsResponseMetaConfidenceInfo, dateRange: TcpResetsTimeoutsTimeseriesGroupsResponseMetaDateRangeList, lastUpdated: S.String, normalization: TcpResetsTimeoutsTimeseriesGroupsResponseMetaNormalization, units: TcpResetsTimeoutsTimeseriesGroupsResponseMetaUnitsList, }), ).annotate({ identifier: "TcpResetsTimeoutsTimeseriesGroupsResponseMeta", }) as any as S.Schema; export type TcpResetsTimeoutsTimeseriesGroupsResponseSerie0LaterInFlowList = Array; export const TcpResetsTimeoutsTimeseriesGroupsResponseSerie0LaterInFlowList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TcpResetsTimeoutsTimeseriesGroupsResponseSerie0NoMatchList = Array; export const TcpResetsTimeoutsTimeseriesGroupsResponseSerie0NoMatchList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TcpResetsTimeoutsTimeseriesGroupsResponseSerie0PostAckList = Array; export const TcpResetsTimeoutsTimeseriesGroupsResponseSerie0PostAckList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TcpResetsTimeoutsTimeseriesGroupsResponseSerie0PostPshList = Array; export const TcpResetsTimeoutsTimeseriesGroupsResponseSerie0PostPshList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TcpResetsTimeoutsTimeseriesGroupsResponseSerie0PostSynList = Array; export const TcpResetsTimeoutsTimeseriesGroupsResponseSerie0PostSynList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TcpResetsTimeoutsTimeseriesGroupsResponseSerie0TimestampsList = Array; export const TcpResetsTimeoutsTimeseriesGroupsResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TcpResetsTimeoutsTimeseriesGroupsResponseSerie0 { laterInFlow: TcpResetsTimeoutsTimeseriesGroupsResponseSerie0LaterInFlowList; noMatch: TcpResetsTimeoutsTimeseriesGroupsResponseSerie0NoMatchList; postAck: TcpResetsTimeoutsTimeseriesGroupsResponseSerie0PostAckList; postPsh: TcpResetsTimeoutsTimeseriesGroupsResponseSerie0PostPshList; postSyn: TcpResetsTimeoutsTimeseriesGroupsResponseSerie0PostSynList; timestamps: TcpResetsTimeoutsTimeseriesGroupsResponseSerie0TimestampsList; } export const TcpResetsTimeoutsTimeseriesGroupsResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ laterInFlow: TcpResetsTimeoutsTimeseriesGroupsResponseSerie0LaterInFlowList.pipe( T.Body("later_in_flow"), ), noMatch: TcpResetsTimeoutsTimeseriesGroupsResponseSerie0NoMatchList.pipe( T.Body("no_match"), ), postAck: TcpResetsTimeoutsTimeseriesGroupsResponseSerie0PostAckList.pipe( T.Body("post_ack"), ), postPsh: TcpResetsTimeoutsTimeseriesGroupsResponseSerie0PostPshList.pipe( T.Body("post_psh"), ), postSyn: TcpResetsTimeoutsTimeseriesGroupsResponseSerie0PostSynList.pipe( T.Body("post_syn"), ), timestamps: TcpResetsTimeoutsTimeseriesGroupsResponseSerie0TimestampsList, }), ).annotate({ identifier: "TcpResetsTimeoutsTimeseriesGroupsResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsTcpResetsTimeoutResponse { /** Metadata for the results. */ meta: TcpResetsTimeoutsTimeseriesGroupsResponseMeta; serie_0: TcpResetsTimeoutsTimeseriesGroupsResponseSerie0; } export const TimeseriesGroupsTcpResetsTimeoutResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: TcpResetsTimeoutsTimeseriesGroupsResponseMeta, serie_0: TcpResetsTimeoutsTimeseriesGroupsResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsTcpResetsTimeoutResponse", }) as any as S.Schema; export type AiInferenceTimeseriesGroupsV2RequestDimension = "MODEL" | "TASK"; export const AiInferenceTimeseriesGroupsV2RequestDimension = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsV2RequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AiInferenceTimeseriesGroupsV2RequestAggInterval = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsV2RequestAsnList = Array; export const AiInferenceTimeseriesGroupsV2RequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceTimeseriesGroupsV2RequestContinentList = Array; export const AiInferenceTimeseriesGroupsV2RequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceTimeseriesGroupsV2RequestDateEndList = Array; export const AiInferenceTimeseriesGroupsV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceTimeseriesGroupsV2RequestDateRangeList = Array; export const AiInferenceTimeseriesGroupsV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceTimeseriesGroupsV2RequestDateStartList = Array; export const AiInferenceTimeseriesGroupsV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceTimeseriesGroupsV2RequestFormat = "JSON" | "CSV"; export const AiInferenceTimeseriesGroupsV2RequestFormat = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsV2RequestLocationList = Array; export const AiInferenceTimeseriesGroupsV2RequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceTimeseriesGroupsV2RequestNameList = Array; export const AiInferenceTimeseriesGroupsV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiInferenceTimeseriesGroupsV2RequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const AiInferenceTimeseriesGroupsV2RequestNormalization = /*@__PURE__*/ S.String; export interface TimeseriesGroupsV2AiInferenceRequest { /** Specifies the attribute by which to group the results. */ dimension: AiInferenceTimeseriesGroupsV2RequestDimension | (string & {}); /** 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/). */ aggInterval?: AiInferenceTimeseriesGroupsV2RequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AiInferenceTimeseriesGroupsV2RequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AiInferenceTimeseriesGroupsV2RequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AiInferenceTimeseriesGroupsV2RequestDateEndList; /** 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). */ dateRange?: AiInferenceTimeseriesGroupsV2RequestDateRangeList; /** Start of the date range. */ dateStart?: AiInferenceTimeseriesGroupsV2RequestDateStartList; /** Format in which results will be returned. */ format?: AiInferenceTimeseriesGroupsV2RequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AiInferenceTimeseriesGroupsV2RequestLocationList; /** Array of names used to label the series in the response. */ name?: AiInferenceTimeseriesGroupsV2RequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AiInferenceTimeseriesGroupsV2RequestNormalization | (string & {}); } export const TimeseriesGroupsV2AiInferenceRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ dimension: AiInferenceTimeseriesGroupsV2RequestDimension.pipe(T.Label()), aggInterval: S.optional( AiInferenceTimeseriesGroupsV2RequestAggInterval.pipe(T.Query()), ), asn: S.optional( AiInferenceTimeseriesGroupsV2RequestAsnList.pipe(T.Query()), ), continent: S.optional( AiInferenceTimeseriesGroupsV2RequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AiInferenceTimeseriesGroupsV2RequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AiInferenceTimeseriesGroupsV2RequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AiInferenceTimeseriesGroupsV2RequestDateStartList.pipe(T.Query()), ), format: S.optional( AiInferenceTimeseriesGroupsV2RequestFormat.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AiInferenceTimeseriesGroupsV2RequestLocationList.pipe(T.Query()), ), name: S.optional( AiInferenceTimeseriesGroupsV2RequestNameList.pipe(T.Query()), ), normalization: S.optional( AiInferenceTimeseriesGroupsV2RequestNormalization.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/ai/inference/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2AiInferenceRequest", }) as any as S.Schema; export type AiInferenceTimeseriesGroupsV2ResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AiInferenceTimeseriesGroupsV2ResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfo { annotations: AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type AiInferenceTimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AiInferenceTimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AiInferenceTimeseriesGroupsV2ResponseMetaDateRangeList = Array; export const AiInferenceTimeseriesGroupsV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AiInferenceTimeseriesGroupsV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AiInferenceTimeseriesGroupsV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type AiInferenceTimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AiInferenceTimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AiInferenceTimeseriesGroupsV2ResponseMetaUnitsList = Array; export const AiInferenceTimeseriesGroupsV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AiInferenceTimeseriesGroupsV2ResponseMeta { /** 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/). */ aggInterval: AiInferenceTimeseriesGroupsV2ResponseMetaAggInterval; confidenceInfo: AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfo; dateRange: AiInferenceTimeseriesGroupsV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AiInferenceTimeseriesGroupsV2ResponseMetaNormalization; /** Measurement units for the results. */ units: AiInferenceTimeseriesGroupsV2ResponseMetaUnitsList; } export const AiInferenceTimeseriesGroupsV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AiInferenceTimeseriesGroupsV2ResponseMetaAggInterval, confidenceInfo: AiInferenceTimeseriesGroupsV2ResponseMetaConfidenceInfo, dateRange: AiInferenceTimeseriesGroupsV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: AiInferenceTimeseriesGroupsV2ResponseMetaNormalization, units: AiInferenceTimeseriesGroupsV2ResponseMetaUnitsList, }), ).annotate({ identifier: "AiInferenceTimeseriesGroupsV2ResponseMeta", }) as any as S.Schema; export type AiInferenceTimeseriesGroupsV2ResponseSerie0TimestampsList = Array; export const AiInferenceTimeseriesGroupsV2ResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiInferenceTimeseriesGroupsV2ResponseSerie0 { timestamps: AiInferenceTimeseriesGroupsV2ResponseSerie0TimestampsList; } export const AiInferenceTimeseriesGroupsV2ResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: AiInferenceTimeseriesGroupsV2ResponseSerie0TimestampsList, }), ).annotate({ identifier: "AiInferenceTimeseriesGroupsV2ResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsV2AiInferenceResponse { /** Metadata for the results. */ meta: AiInferenceTimeseriesGroupsV2ResponseMeta; serie_0: AiInferenceTimeseriesGroupsV2ResponseSerie0; } export const TimeseriesGroupsV2AiInferenceResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: AiInferenceTimeseriesGroupsV2ResponseMeta, serie_0: AiInferenceTimeseriesGroupsV2ResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2AiInferenceResponse", }) as any as S.Schema; export type As112TimeseriesGroupsV2RequestDimension = | "DNSSEC" | "EDNS" | "IP_VERSION" | "PROTOCOL" | "QUERY_TYPE" | "RESPONSE_CODE"; export const As112TimeseriesGroupsV2RequestDimension = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsV2RequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const As112TimeseriesGroupsV2RequestAggInterval = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsV2RequestContinentList = Array; export const As112TimeseriesGroupsV2RequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsV2RequestDateEndList = Array; export const As112TimeseriesGroupsV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsV2RequestDateRangeList = Array; export const As112TimeseriesGroupsV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsV2RequestDateStartList = Array; export const As112TimeseriesGroupsV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsV2RequestFormat = "JSON" | "CSV"; export const As112TimeseriesGroupsV2RequestFormat = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsV2RequestLocationList = Array; export const As112TimeseriesGroupsV2RequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsV2RequestNameList = Array; export const As112TimeseriesGroupsV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type As112TimeseriesGroupsV2RequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const As112TimeseriesGroupsV2RequestProtocol = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsV2RequestProtocolList = Array< As112TimeseriesGroupsV2RequestProtocol | (string & {}) >; export const As112TimeseriesGroupsV2RequestProtocolList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsV2RequestProtocol, ) as any as S.Schema; export type As112TimeseriesGroupsV2RequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const As112TimeseriesGroupsV2RequestQueryType = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsV2RequestQueryTypeList = Array< As112TimeseriesGroupsV2RequestQueryType | (string & {}) >; export const As112TimeseriesGroupsV2RequestQueryTypeList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsV2RequestQueryType, ) as any as S.Schema; export type As112TimeseriesGroupsV2RequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const As112TimeseriesGroupsV2RequestResponseCode = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsV2RequestResponseCodeList = Array< As112TimeseriesGroupsV2RequestResponseCode | (string & {}) >; export const As112TimeseriesGroupsV2RequestResponseCodeList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsV2RequestResponseCode, ) as any as S.Schema; export interface TimeseriesGroupsV2As112Request { /** Specifies the attribute by which to group the results. */ dimension: As112TimeseriesGroupsV2RequestDimension | (string & {}); /** 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/). */ aggInterval?: As112TimeseriesGroupsV2RequestAggInterval | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: As112TimeseriesGroupsV2RequestContinentList; /** End of the date range (inclusive). */ dateEnd?: As112TimeseriesGroupsV2RequestDateEndList; /** 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). */ dateRange?: As112TimeseriesGroupsV2RequestDateRangeList; /** Start of the date range. */ dateStart?: As112TimeseriesGroupsV2RequestDateStartList; /** Format in which results will be returned. */ format?: As112TimeseriesGroupsV2RequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: As112TimeseriesGroupsV2RequestLocationList; /** Array of names used to label the series in the response. */ name?: As112TimeseriesGroupsV2RequestNameList; /** Filters results by DNS transport protocol. */ protocol?: As112TimeseriesGroupsV2RequestProtocolList; /** Filters results by DNS query type. */ queryType?: As112TimeseriesGroupsV2RequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: As112TimeseriesGroupsV2RequestResponseCodeList; } export const TimeseriesGroupsV2As112Request = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: As112TimeseriesGroupsV2RequestDimension.pipe(T.Label()), aggInterval: S.optional( As112TimeseriesGroupsV2RequestAggInterval.pipe(T.Query()), ), continent: S.optional( As112TimeseriesGroupsV2RequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( As112TimeseriesGroupsV2RequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( As112TimeseriesGroupsV2RequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( As112TimeseriesGroupsV2RequestDateStartList.pipe(T.Query()), ), format: S.optional(As112TimeseriesGroupsV2RequestFormat.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( As112TimeseriesGroupsV2RequestLocationList.pipe(T.Query()), ), name: S.optional(As112TimeseriesGroupsV2RequestNameList.pipe(T.Query())), protocol: S.optional( As112TimeseriesGroupsV2RequestProtocolList.pipe(T.Query()), ), queryType: S.optional( As112TimeseriesGroupsV2RequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( As112TimeseriesGroupsV2RequestResponseCodeList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/as112/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2As112Request", }) as any as S.Schema; export type As112TimeseriesGroupsV2ResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const As112TimeseriesGroupsV2ResponseMetaAggInterval = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface As112TimeseriesGroupsV2ResponseMetaConfidenceInfo { annotations: As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const As112TimeseriesGroupsV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: As112TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "As112TimeseriesGroupsV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type As112TimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const As112TimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type As112TimeseriesGroupsV2ResponseMetaDateRangeList = Array; export const As112TimeseriesGroupsV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type As112TimeseriesGroupsV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const As112TimeseriesGroupsV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type As112TimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const As112TimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type As112TimeseriesGroupsV2ResponseMetaUnitsList = Array; export const As112TimeseriesGroupsV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface As112TimeseriesGroupsV2ResponseMeta { /** 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/). */ aggInterval: As112TimeseriesGroupsV2ResponseMetaAggInterval; confidenceInfo: As112TimeseriesGroupsV2ResponseMetaConfidenceInfo; dateRange: As112TimeseriesGroupsV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: As112TimeseriesGroupsV2ResponseMetaNormalization; /** Measurement units for the results. */ units: As112TimeseriesGroupsV2ResponseMetaUnitsList; } export const As112TimeseriesGroupsV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: As112TimeseriesGroupsV2ResponseMetaAggInterval, confidenceInfo: As112TimeseriesGroupsV2ResponseMetaConfidenceInfo, dateRange: As112TimeseriesGroupsV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: As112TimeseriesGroupsV2ResponseMetaNormalization, units: As112TimeseriesGroupsV2ResponseMetaUnitsList, }), ).annotate({ identifier: "As112TimeseriesGroupsV2ResponseMeta", }) as any as S.Schema; export type As112TimeseriesGroupsV2ResponseSerie0TimestampsList = Array; export const As112TimeseriesGroupsV2ResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface As112TimeseriesGroupsV2ResponseSerie0 { timestamps: As112TimeseriesGroupsV2ResponseSerie0TimestampsList; } export const As112TimeseriesGroupsV2ResponseSerie0 = /*@__PURE__*/ S.suspend( () => S.Struct({ timestamps: As112TimeseriesGroupsV2ResponseSerie0TimestampsList, }), ).annotate({ identifier: "As112TimeseriesGroupsV2ResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsV2As112Response { /** Metadata for the results. */ meta: As112TimeseriesGroupsV2ResponseMeta; serie_0: As112TimeseriesGroupsV2ResponseSerie0; } export const TimeseriesGroupsV2As112Response = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: As112TimeseriesGroupsV2ResponseMeta, serie_0: As112TimeseriesGroupsV2ResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2As112Response", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsV2RequestDimension = | "PROTOCOL" | "IP_VERSION" | "VECTOR" | "DURATION" | "BITRATE" | "VERTICAL" | "INDUSTRY"; export const AttacksLayer3TimeseriesGroupsV2RequestDimension = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsV2RequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer3TimeseriesGroupsV2RequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsV2RequestContinentList = Array; export const AttacksLayer3TimeseriesGroupsV2RequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsV2RequestDateEndList = Array; export const AttacksLayer3TimeseriesGroupsV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsV2RequestDateRangeList = Array; export const AttacksLayer3TimeseriesGroupsV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsV2RequestDateStartList = Array; export const AttacksLayer3TimeseriesGroupsV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsV2RequestDirection = | "ORIGIN" | "TARGET"; export const AttacksLayer3TimeseriesGroupsV2RequestDirection = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsV2RequestFormat = "JSON" | "CSV"; export const AttacksLayer3TimeseriesGroupsV2RequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsV2RequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer3TimeseriesGroupsV2RequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsV2RequestIpVersionList = Array< AttacksLayer3TimeseriesGroupsV2RequestIpVersion | (string & {}) >; export const AttacksLayer3TimeseriesGroupsV2RequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsV2RequestIpVersion, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsV2RequestLocationList = Array; export const AttacksLayer3TimeseriesGroupsV2RequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsV2RequestNameList = Array; export const AttacksLayer3TimeseriesGroupsV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsV2RequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const AttacksLayer3TimeseriesGroupsV2RequestNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsV2RequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3TimeseriesGroupsV2RequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsV2RequestProtocolList = Array< AttacksLayer3TimeseriesGroupsV2RequestProtocol | (string & {}) >; export const AttacksLayer3TimeseriesGroupsV2RequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsV2RequestProtocol, ) as any as S.Schema; export interface TimeseriesGroupsV2AttackLayer3Request { /** Specifies the attribute by which to group the results. */ dimension: AttacksLayer3TimeseriesGroupsV2RequestDimension | (string & {}); /** 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/). */ aggInterval?: | AttacksLayer3TimeseriesGroupsV2RequestAggInterval | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3TimeseriesGroupsV2RequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3TimeseriesGroupsV2RequestDateEndList; /** 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). */ dateRange?: AttacksLayer3TimeseriesGroupsV2RequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3TimeseriesGroupsV2RequestDateStartList; /** Specifies whether the `location` filter applies to the source or target location. */ direction?: AttacksLayer3TimeseriesGroupsV2RequestDirection | (string & {}); /** Format in which results will be returned. */ format?: AttacksLayer3TimeseriesGroupsV2RequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3TimeseriesGroupsV2RequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3TimeseriesGroupsV2RequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3TimeseriesGroupsV2RequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AttacksLayer3TimeseriesGroupsV2RequestNormalization | (string & {}); /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3TimeseriesGroupsV2RequestProtocolList; } export const TimeseriesGroupsV2AttackLayer3Request = /*@__PURE__*/ S.suspend( () => S.Struct({ dimension: AttacksLayer3TimeseriesGroupsV2RequestDimension.pipe( T.Label(), ), aggInterval: S.optional( AttacksLayer3TimeseriesGroupsV2RequestAggInterval.pipe(T.Query()), ), continent: S.optional( AttacksLayer3TimeseriesGroupsV2RequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer3TimeseriesGroupsV2RequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3TimeseriesGroupsV2RequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer3TimeseriesGroupsV2RequestDateStartList.pipe(T.Query()), ), direction: S.optional( AttacksLayer3TimeseriesGroupsV2RequestDirection.pipe(T.Query()), ), format: S.optional( AttacksLayer3TimeseriesGroupsV2RequestFormat.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer3TimeseriesGroupsV2RequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer3TimeseriesGroupsV2RequestLocationList.pipe(T.Query()), ), name: S.optional( AttacksLayer3TimeseriesGroupsV2RequestNameList.pipe(T.Query()), ), normalization: S.optional( AttacksLayer3TimeseriesGroupsV2RequestNormalization.pipe(T.Query()), ), protocol: S.optional( AttacksLayer3TimeseriesGroupsV2RequestProtocolList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2AttackLayer3Request", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsV2ResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer3TimeseriesGroupsV2ResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfo { annotations: AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3TimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3TimeseriesGroupsV2ResponseMetaDateRangeList = Array; export const AttacksLayer3TimeseriesGroupsV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3TimeseriesGroupsV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3TimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3TimeseriesGroupsV2ResponseMetaUnitsList = Array; export const AttacksLayer3TimeseriesGroupsV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsV2ResponseMeta { /** 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/). */ aggInterval: AttacksLayer3TimeseriesGroupsV2ResponseMetaAggInterval; confidenceInfo: AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfo; dateRange: AttacksLayer3TimeseriesGroupsV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3TimeseriesGroupsV2ResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3TimeseriesGroupsV2ResponseMetaUnitsList; } export const AttacksLayer3TimeseriesGroupsV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer3TimeseriesGroupsV2ResponseMetaAggInterval, confidenceInfo: AttacksLayer3TimeseriesGroupsV2ResponseMetaConfidenceInfo, dateRange: AttacksLayer3TimeseriesGroupsV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3TimeseriesGroupsV2ResponseMetaNormalization, units: AttacksLayer3TimeseriesGroupsV2ResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsV2ResponseMeta", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsV2ResponseSerie0TimestampsList = Array; export const AttacksLayer3TimeseriesGroupsV2ResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsV2ResponseSerie0 { timestamps: AttacksLayer3TimeseriesGroupsV2ResponseSerie0TimestampsList; } export const AttacksLayer3TimeseriesGroupsV2ResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: AttacksLayer3TimeseriesGroupsV2ResponseSerie0TimestampsList, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsV2ResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsV2AttackLayer3Response { /** Metadata for the results. */ meta: AttacksLayer3TimeseriesGroupsV2ResponseMeta; serie_0: AttacksLayer3TimeseriesGroupsV2ResponseSerie0; } export const TimeseriesGroupsV2AttackLayer3Response = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: AttacksLayer3TimeseriesGroupsV2ResponseMeta, serie_0: AttacksLayer3TimeseriesGroupsV2ResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2AttackLayer3Response", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsV2RequestDimension = | "HTTP_METHOD" | "HTTP_VERSION" | "IP_VERSION" | "MANAGED_RULES" | "MITIGATION_PRODUCT" | "VERTICAL" | "INDUSTRY"; export const AttacksLayer7TimeseriesGroupsV2RequestDimension = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsV2RequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer7TimeseriesGroupsV2RequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsV2RequestAsnList = Array; export const AttacksLayer7TimeseriesGroupsV2RequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsV2RequestContinentList = Array; export const AttacksLayer7TimeseriesGroupsV2RequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsV2RequestDateEndList = Array; export const AttacksLayer7TimeseriesGroupsV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsV2RequestDateRangeList = Array; export const AttacksLayer7TimeseriesGroupsV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsV2RequestDateStartList = Array; export const AttacksLayer7TimeseriesGroupsV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsV2RequestFormat = "JSON" | "CSV"; export const AttacksLayer7TimeseriesGroupsV2RequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsV2RequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7TimeseriesGroupsV2RequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsV2RequestHttpMethodList = Array< AttacksLayer7TimeseriesGroupsV2RequestHttpMethod | (string & {}) >; export const AttacksLayer7TimeseriesGroupsV2RequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsV2RequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsV2RequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7TimeseriesGroupsV2RequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsV2RequestHttpVersionList = Array< AttacksLayer7TimeseriesGroupsV2RequestHttpVersion | (string & {}) >; export const AttacksLayer7TimeseriesGroupsV2RequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsV2RequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsV2RequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer7TimeseriesGroupsV2RequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsV2RequestIpVersionList = Array< AttacksLayer7TimeseriesGroupsV2RequestIpVersion | (string & {}) >; export const AttacksLayer7TimeseriesGroupsV2RequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsV2RequestIpVersion, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsV2RequestLocationList = Array; export const AttacksLayer7TimeseriesGroupsV2RequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsV2RequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7TimeseriesGroupsV2RequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsV2RequestMitigationProductList = Array< AttacksLayer7TimeseriesGroupsV2RequestMitigationProduct | (string & {}) >; export const AttacksLayer7TimeseriesGroupsV2RequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsV2RequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsV2RequestNameList = Array; export const AttacksLayer7TimeseriesGroupsV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsV2RequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const AttacksLayer7TimeseriesGroupsV2RequestNormalization = /*@__PURE__*/ S.String; export interface TimeseriesGroupsV2AttackLayer7Request { /** Specifies the attribute by which to group the results. */ dimension: AttacksLayer7TimeseriesGroupsV2RequestDimension | (string & {}); /** 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/). */ aggInterval?: | AttacksLayer7TimeseriesGroupsV2RequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7TimeseriesGroupsV2RequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7TimeseriesGroupsV2RequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7TimeseriesGroupsV2RequestDateEndList; /** 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). */ dateRange?: AttacksLayer7TimeseriesGroupsV2RequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7TimeseriesGroupsV2RequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7TimeseriesGroupsV2RequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7TimeseriesGroupsV2RequestHttpMethodList; /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7TimeseriesGroupsV2RequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7TimeseriesGroupsV2RequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7TimeseriesGroupsV2RequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7TimeseriesGroupsV2RequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7TimeseriesGroupsV2RequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AttacksLayer7TimeseriesGroupsV2RequestNormalization | (string & {}); } export const TimeseriesGroupsV2AttackLayer7Request = /*@__PURE__*/ S.suspend( () => S.Struct({ dimension: AttacksLayer7TimeseriesGroupsV2RequestDimension.pipe( T.Label(), ), aggInterval: S.optional( AttacksLayer7TimeseriesGroupsV2RequestAggInterval.pipe(T.Query()), ), asn: S.optional( AttacksLayer7TimeseriesGroupsV2RequestAsnList.pipe(T.Query()), ), continent: S.optional( AttacksLayer7TimeseriesGroupsV2RequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer7TimeseriesGroupsV2RequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7TimeseriesGroupsV2RequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer7TimeseriesGroupsV2RequestDateStartList.pipe(T.Query()), ), format: S.optional( AttacksLayer7TimeseriesGroupsV2RequestFormat.pipe(T.Query()), ), httpMethod: S.optional( AttacksLayer7TimeseriesGroupsV2RequestHttpMethodList.pipe(T.Query()), ), httpVersion: S.optional( AttacksLayer7TimeseriesGroupsV2RequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer7TimeseriesGroupsV2RequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer7TimeseriesGroupsV2RequestLocationList.pipe(T.Query()), ), mitigationProduct: S.optional( AttacksLayer7TimeseriesGroupsV2RequestMitigationProductList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer7TimeseriesGroupsV2RequestNameList.pipe(T.Query()), ), normalization: S.optional( AttacksLayer7TimeseriesGroupsV2RequestNormalization.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2AttackLayer7Request", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsV2ResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer7TimeseriesGroupsV2ResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfo { annotations: AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7TimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7TimeseriesGroupsV2ResponseMetaDateRangeList = Array; export const AttacksLayer7TimeseriesGroupsV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7TimeseriesGroupsV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7TimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7TimeseriesGroupsV2ResponseMetaUnitsList = Array; export const AttacksLayer7TimeseriesGroupsV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsV2ResponseMeta { /** 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/). */ aggInterval: AttacksLayer7TimeseriesGroupsV2ResponseMetaAggInterval; confidenceInfo: AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfo; dateRange: AttacksLayer7TimeseriesGroupsV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7TimeseriesGroupsV2ResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7TimeseriesGroupsV2ResponseMetaUnitsList; } export const AttacksLayer7TimeseriesGroupsV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer7TimeseriesGroupsV2ResponseMetaAggInterval, confidenceInfo: AttacksLayer7TimeseriesGroupsV2ResponseMetaConfidenceInfo, dateRange: AttacksLayer7TimeseriesGroupsV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7TimeseriesGroupsV2ResponseMetaNormalization, units: AttacksLayer7TimeseriesGroupsV2ResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsV2ResponseMeta", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsV2ResponseSerie0TimestampsList = Array; export const AttacksLayer7TimeseriesGroupsV2ResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsV2ResponseSerie0 { timestamps: AttacksLayer7TimeseriesGroupsV2ResponseSerie0TimestampsList; } export const AttacksLayer7TimeseriesGroupsV2ResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: AttacksLayer7TimeseriesGroupsV2ResponseSerie0TimestampsList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsV2ResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsV2AttackLayer7Response { /** Metadata for the results. */ meta: AttacksLayer7TimeseriesGroupsV2ResponseMeta; serie_0: AttacksLayer7TimeseriesGroupsV2ResponseSerie0; } export const TimeseriesGroupsV2AttackLayer7Response = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: AttacksLayer7TimeseriesGroupsV2ResponseMeta, serie_0: AttacksLayer7TimeseriesGroupsV2ResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2AttackLayer7Response", }) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestDimension = | "AS" | "CACHE_HIT" | "DNSSEC" | "DNSSEC_AWARE" | "DNSSEC_E2E" | "IP_VERSION" | "LOCATION" | "MATCHING_ANSWER" | "PROTOCOL" | "QUERY_TYPE" | "RESPONSE_CODE" | "RESPONSE_TTL" | "TLD" | "TLD_DNS_MAGNITUDE"; export const DnsTimeseriesGroupsV2RequestDimension = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsV2RequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const DnsTimeseriesGroupsV2RequestAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsV2RequestAsnList = Array; export const DnsTimeseriesGroupsV2RequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestCacheHitList = Array; export const DnsTimeseriesGroupsV2RequestCacheHitList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestContinentList = Array; export const DnsTimeseriesGroupsV2RequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestDateEndList = Array; export const DnsTimeseriesGroupsV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestDateRangeList = Array; export const DnsTimeseriesGroupsV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestDateStartList = Array; export const DnsTimeseriesGroupsV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestDnssec = | "INVALID" | "INSECURE" | "SECURE" | "OTHER"; export const DnsTimeseriesGroupsV2RequestDnssec = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsV2RequestDnssecList = Array< DnsTimeseriesGroupsV2RequestDnssec | (string & {}) >; export const DnsTimeseriesGroupsV2RequestDnssecList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsV2RequestDnssec, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestDnssecAware = | "SUPPORTED" | "NOT_SUPPORTED"; export const DnsTimeseriesGroupsV2RequestDnssecAware = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsV2RequestDnssecAwareList = Array< DnsTimeseriesGroupsV2RequestDnssecAware | (string & {}) >; export const DnsTimeseriesGroupsV2RequestDnssecAwareList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsV2RequestDnssecAware, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestDnssecE2eList = Array; export const DnsTimeseriesGroupsV2RequestDnssecE2eList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestFormat = "JSON" | "CSV"; export const DnsTimeseriesGroupsV2RequestFormat = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsV2RequestIpVersion = "IPv4" | "IPv6"; export const DnsTimeseriesGroupsV2RequestIpVersion = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsV2RequestIpVersionList = Array< DnsTimeseriesGroupsV2RequestIpVersion | (string & {}) >; export const DnsTimeseriesGroupsV2RequestIpVersionList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsV2RequestIpVersion, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestLocationList = Array; export const DnsTimeseriesGroupsV2RequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestMatchingAnswerList = Array; export const DnsTimeseriesGroupsV2RequestMatchingAnswerList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestNameList = Array; export const DnsTimeseriesGroupsV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestNodataList = Array; export const DnsTimeseriesGroupsV2RequestNodataList = /*@__PURE__*/ S.Array( S.Boolean, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestNormalization = | "PERCENTAGE" | "MIN0_MAX" | "RANK"; export const DnsTimeseriesGroupsV2RequestNormalization = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsV2RequestProtocol = | "UDP" | "TCP" | "HTTPS" | "TLS"; export const DnsTimeseriesGroupsV2RequestProtocol = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsV2RequestProtocolList = Array< DnsTimeseriesGroupsV2RequestProtocol | (string & {}) >; export const DnsTimeseriesGroupsV2RequestProtocolList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsV2RequestProtocol, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestQueryType = | "A" | "AAAA" | "A6" | "AFSDB" | "ANY" | "APL" | "ATMA" | "AXFR" | "CAA" | "CDNSKEY" | "CDS" | "CERT" | "CNAME" | "CSYNC" | "DHCID" | "DLV" | "DNAME" | "DNSKEY" | "DOA" | "DS" | "EID" | "EUI48" | "EUI64" | "GPOS" | "GID" | "HINFO" | "HIP" | "HTTPS" | "IPSECKEY" | "ISDN" | "IXFR" | "KEY" | "KX" | "L32" | "L64" | "LOC" | "LP" | "MAILA" | "MAILB" | "MB" | "MD" | "MF" | "MG" | "MINFO" | "MR" | "MX" | "NAPTR" | "NB" | "NBSTAT" | "NID" | "NIMLOC" | "NINFO" | "NS" | "NSAP" | "NSEC" | "NSEC3" | "NSEC3PARAM" | "NULL" | "NXT" | "OPENPGPKEY" | "OPT" | "PTR" | "PX" | "RKEY" | "RP" | "RRSIG" | "RT" | "SIG" | "SINK" | "SMIMEA" | "SOA" | "SPF" | "SRV" | "SSHFP" | "SVCB" | "TA" | "TALINK" | "TKEY" | "TLSA" | "TSIG" | "TXT" | "UINFO" | "UID" | "UNSPEC" | "URI" | "WKS" | "X25" | "ZONEMD"; export const DnsTimeseriesGroupsV2RequestQueryType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsV2RequestQueryTypeList = Array< DnsTimeseriesGroupsV2RequestQueryType | (string & {}) >; export const DnsTimeseriesGroupsV2RequestQueryTypeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsV2RequestQueryType, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestResponseCode = | "NOERROR" | "FORMERR" | "SERVFAIL" | "NXDOMAIN" | "NOTIMP" | "REFUSED" | "YXDOMAIN" | "YXRRSET" | "NXRRSET" | "NOTAUTH" | "NOTZONE" | "BADSIG" | "BADKEY" | "BADTIME" | "BADMODE" | "BADNAME" | "BADALG" | "BADTRUNC" | "BADCOOKIE"; export const DnsTimeseriesGroupsV2RequestResponseCode = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsV2RequestResponseCodeList = Array< DnsTimeseriesGroupsV2RequestResponseCode | (string & {}) >; export const DnsTimeseriesGroupsV2RequestResponseCodeList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsV2RequestResponseCode, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestResponseTtl = | "LTE_1M" | "GT_1M_LTE_5M" | "GT_5M_LTE_15M" | "GT_15M_LTE_1H" | "GT_1H_LTE_1D" | "GT_1D_LTE_1W" | "GT_1W"; export const DnsTimeseriesGroupsV2RequestResponseTtl = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsV2RequestResponseTtlList = Array< DnsTimeseriesGroupsV2RequestResponseTtl | (string & {}) >; export const DnsTimeseriesGroupsV2RequestResponseTtlList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsV2RequestResponseTtl, ) as any as S.Schema; export type DnsTimeseriesGroupsV2RequestTldList = Array; export const DnsTimeseriesGroupsV2RequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TimeseriesGroupsV2DnsRequest { /** Specifies the attribute by which to group the results. */ dimension: DnsTimeseriesGroupsV2RequestDimension | (string & {}); /** 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/). */ aggInterval?: DnsTimeseriesGroupsV2RequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: DnsTimeseriesGroupsV2RequestAsnList; /** Filters results based on cache status. */ cacheHit?: DnsTimeseriesGroupsV2RequestCacheHitList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: DnsTimeseriesGroupsV2RequestContinentList; /** End of the date range (inclusive). */ dateEnd?: DnsTimeseriesGroupsV2RequestDateEndList; /** 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). */ dateRange?: DnsTimeseriesGroupsV2RequestDateRangeList; /** Start of the date range. */ dateStart?: DnsTimeseriesGroupsV2RequestDateStartList; /** Filters results based on DNSSEC (DNS Security Extensions) support. */ dnssec?: DnsTimeseriesGroupsV2RequestDnssecList; /** Filters results based on DNSSEC (DNS Security Extensions) client awareness. */ dnssecAware?: DnsTimeseriesGroupsV2RequestDnssecAwareList; /** Filters results based on DNSSEC-validated answers by end-to-end security status. */ dnssecE2e?: DnsTimeseriesGroupsV2RequestDnssecE2eList; /** Format in which results will be returned. */ format?: DnsTimeseriesGroupsV2RequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: DnsTimeseriesGroupsV2RequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: DnsTimeseriesGroupsV2RequestLocationList; /** Filters results based on whether the queries have a matching answer. */ matchingAnswer?: DnsTimeseriesGroupsV2RequestMatchingAnswerList; /** Array of names used to label the series in the response. */ name?: DnsTimeseriesGroupsV2RequestNameList; /** Specifies whether the response includes empty DNS responses (NODATA). */ nodata?: DnsTimeseriesGroupsV2RequestNodataList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: DnsTimeseriesGroupsV2RequestNormalization | (string & {}); /** Filters results by DNS transport protocol. */ protocol?: DnsTimeseriesGroupsV2RequestProtocolList; /** Filters results by DNS query type. */ queryType?: DnsTimeseriesGroupsV2RequestQueryTypeList; /** Filters results by DNS response code. */ responseCode?: DnsTimeseriesGroupsV2RequestResponseCodeList; /** Filters results by DNS response TTL. */ responseTtl?: DnsTimeseriesGroupsV2RequestResponseTtlList; /** Filters results by top-level domain. */ tld?: DnsTimeseriesGroupsV2RequestTldList; } export const TimeseriesGroupsV2DnsRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: DnsTimeseriesGroupsV2RequestDimension.pipe(T.Label()), aggInterval: S.optional( DnsTimeseriesGroupsV2RequestAggInterval.pipe(T.Query()), ), asn: S.optional(DnsTimeseriesGroupsV2RequestAsnList.pipe(T.Query())), cacheHit: S.optional( DnsTimeseriesGroupsV2RequestCacheHitList.pipe(T.Query()), ), continent: S.optional( DnsTimeseriesGroupsV2RequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( DnsTimeseriesGroupsV2RequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( DnsTimeseriesGroupsV2RequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( DnsTimeseriesGroupsV2RequestDateStartList.pipe(T.Query()), ), dnssec: S.optional(DnsTimeseriesGroupsV2RequestDnssecList.pipe(T.Query())), dnssecAware: S.optional( DnsTimeseriesGroupsV2RequestDnssecAwareList.pipe(T.Query()), ), dnssecE2e: S.optional( DnsTimeseriesGroupsV2RequestDnssecE2eList.pipe(T.Query()), ), format: S.optional(DnsTimeseriesGroupsV2RequestFormat.pipe(T.Query())), ipVersion: S.optional( DnsTimeseriesGroupsV2RequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( DnsTimeseriesGroupsV2RequestLocationList.pipe(T.Query()), ), matchingAnswer: S.optional( DnsTimeseriesGroupsV2RequestMatchingAnswerList.pipe(T.Query()), ), name: S.optional(DnsTimeseriesGroupsV2RequestNameList.pipe(T.Query())), nodata: S.optional(DnsTimeseriesGroupsV2RequestNodataList.pipe(T.Query())), normalization: S.optional( DnsTimeseriesGroupsV2RequestNormalization.pipe(T.Query()), ), protocol: S.optional( DnsTimeseriesGroupsV2RequestProtocolList.pipe(T.Query()), ), queryType: S.optional( DnsTimeseriesGroupsV2RequestQueryTypeList.pipe(T.Query()), ), responseCode: S.optional( DnsTimeseriesGroupsV2RequestResponseCodeList.pipe(T.Query()), ), responseTtl: S.optional( DnsTimeseriesGroupsV2RequestResponseTtlList.pipe(T.Query()), ), tld: S.optional(DnsTimeseriesGroupsV2RequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/dns/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2DnsRequest", }) as any as S.Schema; export type DnsTimeseriesGroupsV2ResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const DnsTimeseriesGroupsV2ResponseMetaAggInterval = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsV2ResponseMetaConfidenceInfo { annotations: DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const DnsTimeseriesGroupsV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: DnsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "DnsTimeseriesGroupsV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type DnsTimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const DnsTimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type DnsTimeseriesGroupsV2ResponseMetaDateRangeList = Array; export const DnsTimeseriesGroupsV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type DnsTimeseriesGroupsV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const DnsTimeseriesGroupsV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type DnsTimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const DnsTimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type DnsTimeseriesGroupsV2ResponseMetaUnitsList = Array; export const DnsTimeseriesGroupsV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface DnsTimeseriesGroupsV2ResponseMeta { /** 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/). */ aggInterval: DnsTimeseriesGroupsV2ResponseMetaAggInterval; confidenceInfo: DnsTimeseriesGroupsV2ResponseMetaConfidenceInfo; dateRange: DnsTimeseriesGroupsV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: DnsTimeseriesGroupsV2ResponseMetaNormalization; /** Measurement units for the results. */ units: DnsTimeseriesGroupsV2ResponseMetaUnitsList; } export const DnsTimeseriesGroupsV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: DnsTimeseriesGroupsV2ResponseMetaAggInterval, confidenceInfo: DnsTimeseriesGroupsV2ResponseMetaConfidenceInfo, dateRange: DnsTimeseriesGroupsV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: DnsTimeseriesGroupsV2ResponseMetaNormalization, units: DnsTimeseriesGroupsV2ResponseMetaUnitsList, }), ).annotate({ identifier: "DnsTimeseriesGroupsV2ResponseMeta", }) as any as S.Schema; export type DnsTimeseriesGroupsV2ResponseSerie0TimestampsList = Array; export const DnsTimeseriesGroupsV2ResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface DnsTimeseriesGroupsV2ResponseSerie0 { timestamps: DnsTimeseriesGroupsV2ResponseSerie0TimestampsList; } export const DnsTimeseriesGroupsV2ResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: DnsTimeseriesGroupsV2ResponseSerie0TimestampsList, }), ).annotate({ identifier: "DnsTimeseriesGroupsV2ResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsV2DnsResponse { /** Metadata for the results. */ meta: DnsTimeseriesGroupsV2ResponseMeta; serie_0: DnsTimeseriesGroupsV2ResponseSerie0; } export const TimeseriesGroupsV2DnsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: DnsTimeseriesGroupsV2ResponseMeta, serie_0: DnsTimeseriesGroupsV2ResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2DnsResponse", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsV2RequestDimension = | "IP_VERSION" | "ENCRYPTED" | "ARC" | "DKIM" | "DMARC" | "SPF"; export const EmailRoutingTimeseriesGroupsV2RequestDimension = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsV2RequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const EmailRoutingTimeseriesGroupsV2RequestAggInterval = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsV2RequestArc = "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsV2RequestArc = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsV2RequestArcList = Array< EmailRoutingTimeseriesGroupsV2RequestArc | (string & {}) >; export const EmailRoutingTimeseriesGroupsV2RequestArcList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsV2RequestArc, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsV2RequestDateEndList = Array; export const EmailRoutingTimeseriesGroupsV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsV2RequestDateRangeList = Array; export const EmailRoutingTimeseriesGroupsV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsV2RequestDateStartList = Array; export const EmailRoutingTimeseriesGroupsV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsV2RequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsV2RequestDkim = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsV2RequestDkimList = Array< EmailRoutingTimeseriesGroupsV2RequestDkim | (string & {}) >; export const EmailRoutingTimeseriesGroupsV2RequestDkimList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsV2RequestDkim, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsV2RequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsV2RequestDmarc = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsV2RequestDmarcList = Array< EmailRoutingTimeseriesGroupsV2RequestDmarc | (string & {}) >; export const EmailRoutingTimeseriesGroupsV2RequestDmarcList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsV2RequestDmarc, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsV2RequestEncrypted = | "ENCRYPTED" | "NOT_ENCRYPTED"; export const EmailRoutingTimeseriesGroupsV2RequestEncrypted = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsV2RequestEncryptedList = Array< EmailRoutingTimeseriesGroupsV2RequestEncrypted | (string & {}) >; export const EmailRoutingTimeseriesGroupsV2RequestEncryptedList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsV2RequestEncrypted, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsV2RequestFormat = "JSON" | "CSV"; export const EmailRoutingTimeseriesGroupsV2RequestFormat = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsV2RequestIpVersion = "IPv4" | "IPv6"; export const EmailRoutingTimeseriesGroupsV2RequestIpVersion = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsV2RequestIpVersionList = Array< EmailRoutingTimeseriesGroupsV2RequestIpVersion | (string & {}) >; export const EmailRoutingTimeseriesGroupsV2RequestIpVersionList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsV2RequestIpVersion, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsV2RequestNameList = Array; export const EmailRoutingTimeseriesGroupsV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsV2RequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailRoutingTimeseriesGroupsV2RequestSpf = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsV2RequestSpfList = Array< EmailRoutingTimeseriesGroupsV2RequestSpf | (string & {}) >; export const EmailRoutingTimeseriesGroupsV2RequestSpfList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsV2RequestSpf, ) as any as S.Schema; export interface TimeseriesGroupsV2EmailRoutingRequest { /** Specifies the attribute by which to group the results. */ dimension: EmailRoutingTimeseriesGroupsV2RequestDimension | (string & {}); /** 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/). */ aggInterval?: | EmailRoutingTimeseriesGroupsV2RequestAggInterval | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailRoutingTimeseriesGroupsV2RequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailRoutingTimeseriesGroupsV2RequestDateEndList; /** 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). */ dateRange?: EmailRoutingTimeseriesGroupsV2RequestDateRangeList; /** Start of the date range. */ dateStart?: EmailRoutingTimeseriesGroupsV2RequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailRoutingTimeseriesGroupsV2RequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailRoutingTimeseriesGroupsV2RequestDmarcList; /** Filters results by encryption status (encrypted vs. not-encrypted). */ encrypted?: EmailRoutingTimeseriesGroupsV2RequestEncryptedList; /** Format in which results will be returned. */ format?: EmailRoutingTimeseriesGroupsV2RequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: EmailRoutingTimeseriesGroupsV2RequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Array of names used to label the series in the response. */ name?: EmailRoutingTimeseriesGroupsV2RequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailRoutingTimeseriesGroupsV2RequestSpfList; } export const TimeseriesGroupsV2EmailRoutingRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ dimension: EmailRoutingTimeseriesGroupsV2RequestDimension.pipe(T.Label()), aggInterval: S.optional( EmailRoutingTimeseriesGroupsV2RequestAggInterval.pipe(T.Query()), ), arc: S.optional( EmailRoutingTimeseriesGroupsV2RequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailRoutingTimeseriesGroupsV2RequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailRoutingTimeseriesGroupsV2RequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailRoutingTimeseriesGroupsV2RequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailRoutingTimeseriesGroupsV2RequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailRoutingTimeseriesGroupsV2RequestDmarcList.pipe(T.Query()), ), encrypted: S.optional( EmailRoutingTimeseriesGroupsV2RequestEncryptedList.pipe(T.Query()), ), format: S.optional( EmailRoutingTimeseriesGroupsV2RequestFormat.pipe(T.Query()), ), ipVersion: S.optional( EmailRoutingTimeseriesGroupsV2RequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), name: S.optional( EmailRoutingTimeseriesGroupsV2RequestNameList.pipe(T.Query()), ), spf: S.optional( EmailRoutingTimeseriesGroupsV2RequestSpfList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/routing/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2EmailRoutingRequest", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsV2ResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const EmailRoutingTimeseriesGroupsV2ResponseMetaAggInterval = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfo { annotations: EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailRoutingTimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailRoutingTimeseriesGroupsV2ResponseMetaDateRangeList = Array; export const EmailRoutingTimeseriesGroupsV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailRoutingTimeseriesGroupsV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailRoutingTimeseriesGroupsV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailRoutingTimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailRoutingTimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailRoutingTimeseriesGroupsV2ResponseMetaUnitsList = Array; export const EmailRoutingTimeseriesGroupsV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsV2ResponseMeta { /** 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/). */ aggInterval: EmailRoutingTimeseriesGroupsV2ResponseMetaAggInterval; confidenceInfo: EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfo; dateRange: EmailRoutingTimeseriesGroupsV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailRoutingTimeseriesGroupsV2ResponseMetaNormalization; /** Measurement units for the results. */ units: EmailRoutingTimeseriesGroupsV2ResponseMetaUnitsList; } export const EmailRoutingTimeseriesGroupsV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: EmailRoutingTimeseriesGroupsV2ResponseMetaAggInterval, confidenceInfo: EmailRoutingTimeseriesGroupsV2ResponseMetaConfidenceInfo, dateRange: EmailRoutingTimeseriesGroupsV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailRoutingTimeseriesGroupsV2ResponseMetaNormalization, units: EmailRoutingTimeseriesGroupsV2ResponseMetaUnitsList, }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsV2ResponseMeta", }) as any as S.Schema; export type EmailRoutingTimeseriesGroupsV2ResponseSerie0TimestampsList = Array; export const EmailRoutingTimeseriesGroupsV2ResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailRoutingTimeseriesGroupsV2ResponseSerie0 { timestamps: EmailRoutingTimeseriesGroupsV2ResponseSerie0TimestampsList; } export const EmailRoutingTimeseriesGroupsV2ResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: EmailRoutingTimeseriesGroupsV2ResponseSerie0TimestampsList, }), ).annotate({ identifier: "EmailRoutingTimeseriesGroupsV2ResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsV2EmailRoutingResponse { /** Metadata for the results. */ meta: EmailRoutingTimeseriesGroupsV2ResponseMeta; serie_0: EmailRoutingTimeseriesGroupsV2ResponseSerie0; } export const TimeseriesGroupsV2EmailRoutingResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: EmailRoutingTimeseriesGroupsV2ResponseMeta, serie_0: EmailRoutingTimeseriesGroupsV2ResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2EmailRoutingResponse", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsV2RequestDimension = | "SPAM" | "MALICIOUS" | "SPOOF" | "THREAT_CATEGORY" | "ARC" | "DKIM" | "DMARC" | "SPF" | "TLS_VERSION"; export const EmailSecurityTimeseriesGroupsV2RequestDimension = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsV2RequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const EmailSecurityTimeseriesGroupsV2RequestAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsV2RequestArc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsV2RequestArc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsV2RequestArcList = Array< EmailSecurityTimeseriesGroupsV2RequestArc | (string & {}) >; export const EmailSecurityTimeseriesGroupsV2RequestArcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsV2RequestArc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsV2RequestDateEndList = Array; export const EmailSecurityTimeseriesGroupsV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsV2RequestDateRangeList = Array; export const EmailSecurityTimeseriesGroupsV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsV2RequestDateStartList = Array; export const EmailSecurityTimeseriesGroupsV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsV2RequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsV2RequestDkim = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsV2RequestDkimList = Array< EmailSecurityTimeseriesGroupsV2RequestDkim | (string & {}) >; export const EmailSecurityTimeseriesGroupsV2RequestDkimList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsV2RequestDkim, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsV2RequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsV2RequestDmarc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsV2RequestDmarcList = Array< EmailSecurityTimeseriesGroupsV2RequestDmarc | (string & {}) >; export const EmailSecurityTimeseriesGroupsV2RequestDmarcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsV2RequestDmarc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsV2RequestFormat = "JSON" | "CSV"; export const EmailSecurityTimeseriesGroupsV2RequestFormat = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsV2RequestNameList = Array; export const EmailSecurityTimeseriesGroupsV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsV2RequestSpf = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsV2RequestSpf = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsV2RequestSpfList = Array< EmailSecurityTimeseriesGroupsV2RequestSpf | (string & {}) >; export const EmailSecurityTimeseriesGroupsV2RequestSpfList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsV2RequestSpf, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsV2RequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3"; export const EmailSecurityTimeseriesGroupsV2RequestTlsVersion = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsV2RequestTlsVersionList = Array< EmailSecurityTimeseriesGroupsV2RequestTlsVersion | (string & {}) >; export const EmailSecurityTimeseriesGroupsV2RequestTlsVersionList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsV2RequestTlsVersion, ) as any as S.Schema; export interface TimeseriesGroupsV2EmailSecurityRequest { /** Specifies the attribute by which to group the results. */ dimension: EmailSecurityTimeseriesGroupsV2RequestDimension | (string & {}); /** 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/). */ aggInterval?: | EmailSecurityTimeseriesGroupsV2RequestAggInterval | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecurityTimeseriesGroupsV2RequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecurityTimeseriesGroupsV2RequestDateEndList; /** 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). */ dateRange?: EmailSecurityTimeseriesGroupsV2RequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecurityTimeseriesGroupsV2RequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecurityTimeseriesGroupsV2RequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecurityTimeseriesGroupsV2RequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecurityTimeseriesGroupsV2RequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Array of names used to label the series in the response. */ name?: EmailSecurityTimeseriesGroupsV2RequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecurityTimeseriesGroupsV2RequestSpfList; /** Filters results by TLS version. */ tlsVersion?: EmailSecurityTimeseriesGroupsV2RequestTlsVersionList; } export const TimeseriesGroupsV2EmailSecurityRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ dimension: EmailSecurityTimeseriesGroupsV2RequestDimension.pipe( T.Label(), ), aggInterval: S.optional( EmailSecurityTimeseriesGroupsV2RequestAggInterval.pipe(T.Query()), ), arc: S.optional( EmailSecurityTimeseriesGroupsV2RequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailSecurityTimeseriesGroupsV2RequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecurityTimeseriesGroupsV2RequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecurityTimeseriesGroupsV2RequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailSecurityTimeseriesGroupsV2RequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailSecurityTimeseriesGroupsV2RequestDmarcList.pipe(T.Query()), ), format: S.optional( EmailSecurityTimeseriesGroupsV2RequestFormat.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), name: S.optional( EmailSecurityTimeseriesGroupsV2RequestNameList.pipe(T.Query()), ), spf: S.optional( EmailSecurityTimeseriesGroupsV2RequestSpfList.pipe(T.Query()), ), tlsVersion: S.optional( EmailSecurityTimeseriesGroupsV2RequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2EmailSecurityRequest", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsV2ResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const EmailSecurityTimeseriesGroupsV2ResponseMetaAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfo { annotations: EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecurityTimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecurityTimeseriesGroupsV2ResponseMetaDateRangeList = Array; export const EmailSecurityTimeseriesGroupsV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecurityTimeseriesGroupsV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecurityTimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecurityTimeseriesGroupsV2ResponseMetaUnitsList = Array; export const EmailSecurityTimeseriesGroupsV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsV2ResponseMeta { /** 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/). */ aggInterval: EmailSecurityTimeseriesGroupsV2ResponseMetaAggInterval; confidenceInfo: EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfo; dateRange: EmailSecurityTimeseriesGroupsV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecurityTimeseriesGroupsV2ResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecurityTimeseriesGroupsV2ResponseMetaUnitsList; } export const EmailSecurityTimeseriesGroupsV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: EmailSecurityTimeseriesGroupsV2ResponseMetaAggInterval, confidenceInfo: EmailSecurityTimeseriesGroupsV2ResponseMetaConfidenceInfo, dateRange: EmailSecurityTimeseriesGroupsV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecurityTimeseriesGroupsV2ResponseMetaNormalization, units: EmailSecurityTimeseriesGroupsV2ResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsV2ResponseMeta", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsV2ResponseSerie0TimestampsList = Array; export const EmailSecurityTimeseriesGroupsV2ResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsV2ResponseSerie0 { timestamps: EmailSecurityTimeseriesGroupsV2ResponseSerie0TimestampsList; } export const EmailSecurityTimeseriesGroupsV2ResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: EmailSecurityTimeseriesGroupsV2ResponseSerie0TimestampsList, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsV2ResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsV2EmailSecurityResponse { /** Metadata for the results. */ meta: EmailSecurityTimeseriesGroupsV2ResponseMeta; serie_0: EmailSecurityTimeseriesGroupsV2ResponseSerie0; } export const TimeseriesGroupsV2EmailSecurityResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: EmailSecurityTimeseriesGroupsV2ResponseMeta, serie_0: EmailSecurityTimeseriesGroupsV2ResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2EmailSecurityResponse", }) as any as S.Schema; export type HttpTimeseriesGroupsV2RequestDimension = | "ADM1" | "API_TRAFFIC" | "AS" | "BOT_CLASS" | "BROWSER" | "BROWSER_FAMILY" | "CONTENT_TYPE" | "DEVICE_TYPE" | "HTTP_PROTOCOL" | "HTTP_VERSION" | "IP_VERSION" | "LOCATION" | "OS" | "POST_QUANTUM" | "TLS_VERSION"; export const HttpTimeseriesGroupsV2RequestDimension = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsV2RequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const HttpTimeseriesGroupsV2RequestAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsV2RequestApiTraffic = "API" | "NON_API"; export const HttpTimeseriesGroupsV2RequestApiTraffic = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsV2RequestApiTrafficList = Array< HttpTimeseriesGroupsV2RequestApiTraffic | (string & {}) >; export const HttpTimeseriesGroupsV2RequestApiTrafficList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsV2RequestApiTraffic, ) as any as S.Schema; export type HttpTimeseriesGroupsV2RequestAsnList = Array; export const HttpTimeseriesGroupsV2RequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsV2RequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpTimeseriesGroupsV2RequestBotClass = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsV2RequestBotClassList = Array< HttpTimeseriesGroupsV2RequestBotClass | (string & {}) >; export const HttpTimeseriesGroupsV2RequestBotClassList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsV2RequestBotClass, ) as any as S.Schema; export type HttpTimeseriesGroupsV2RequestContentType = | "HTML" | "IMAGES" | "JSON" | "JAVASCRIPT" | "CSS" | "PLAIN_TEXT" | "FONTS" | "XML" | "YAML" | "VIDEO" | "AUDIO" | "MARKDOWN" | "DOCUMENTS" | "BINARY" | "SERIALIZATION" | "OTHER"; export const HttpTimeseriesGroupsV2RequestContentType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsV2RequestContentTypeList = Array< HttpTimeseriesGroupsV2RequestContentType | (string & {}) >; export const HttpTimeseriesGroupsV2RequestContentTypeList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsV2RequestContentType, ) as any as S.Schema; export type HttpTimeseriesGroupsV2RequestContinentList = Array; export const HttpTimeseriesGroupsV2RequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsV2RequestDateEndList = Array; export const HttpTimeseriesGroupsV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsV2RequestDateRangeList = Array; export const HttpTimeseriesGroupsV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsV2RequestDateStartList = Array; export const HttpTimeseriesGroupsV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsV2RequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpTimeseriesGroupsV2RequestDeviceType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsV2RequestDeviceTypeList = Array< HttpTimeseriesGroupsV2RequestDeviceType | (string & {}) >; export const HttpTimeseriesGroupsV2RequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsV2RequestDeviceType, ) as any as S.Schema; export type HttpTimeseriesGroupsV2RequestFormat = "JSON" | "CSV"; export const HttpTimeseriesGroupsV2RequestFormat = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsV2RequestGeoIdList = Array; export const HttpTimeseriesGroupsV2RequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsV2RequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpTimeseriesGroupsV2RequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsV2RequestHttpProtocolList = Array< HttpTimeseriesGroupsV2RequestHttpProtocol | (string & {}) >; export const HttpTimeseriesGroupsV2RequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsV2RequestHttpProtocol, ) as any as S.Schema; export type HttpTimeseriesGroupsV2RequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpTimeseriesGroupsV2RequestHttpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsV2RequestHttpVersionList = Array< HttpTimeseriesGroupsV2RequestHttpVersion | (string & {}) >; export const HttpTimeseriesGroupsV2RequestHttpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsV2RequestHttpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsV2RequestIpVersion = "IPv4" | "IPv6"; export const HttpTimeseriesGroupsV2RequestIpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsV2RequestIpVersionList = Array< HttpTimeseriesGroupsV2RequestIpVersion | (string & {}) >; export const HttpTimeseriesGroupsV2RequestIpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsV2RequestIpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsV2RequestLocationList = Array; export const HttpTimeseriesGroupsV2RequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsV2RequestNameList = Array; export const HttpTimeseriesGroupsV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsV2RequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const HttpTimeseriesGroupsV2RequestNormalization = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsV2RequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpTimeseriesGroupsV2RequestOs = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsV2RequestOsList = Array< HttpTimeseriesGroupsV2RequestOs | (string & {}) >; export const HttpTimeseriesGroupsV2RequestOsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsV2RequestOs, ) as any as S.Schema; export type HttpTimeseriesGroupsV2RequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpTimeseriesGroupsV2RequestTlsVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsV2RequestTlsVersionList = Array< HttpTimeseriesGroupsV2RequestTlsVersion | (string & {}) >; export const HttpTimeseriesGroupsV2RequestTlsVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsV2RequestTlsVersion, ) as any as S.Schema; export interface TimeseriesGroupsV2HttpRequest { /** Specifies the HTTP attribute by which to group the results. */ dimension: HttpTimeseriesGroupsV2RequestDimension | (string & {}); /** 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/). */ aggInterval?: HttpTimeseriesGroupsV2RequestAggInterval | (string & {}); /** Filters results by API traffic classification. API traffic is identified by JSON or XML response content types on dynamic (non-cacheable) HTTP requests. */ apiTraffic?: HttpTimeseriesGroupsV2RequestApiTrafficList; /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpTimeseriesGroupsV2RequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpTimeseriesGroupsV2RequestBotClassList; /** Filters results by content type category. */ contentType?: HttpTimeseriesGroupsV2RequestContentTypeList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpTimeseriesGroupsV2RequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpTimeseriesGroupsV2RequestDateEndList; /** 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). */ dateRange?: HttpTimeseriesGroupsV2RequestDateRangeList; /** Start of the date range. */ dateStart?: HttpTimeseriesGroupsV2RequestDateStartList; /** Filters results by device type. */ deviceType?: HttpTimeseriesGroupsV2RequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpTimeseriesGroupsV2RequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpTimeseriesGroupsV2RequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpTimeseriesGroupsV2RequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpTimeseriesGroupsV2RequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpTimeseriesGroupsV2RequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpTimeseriesGroupsV2RequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpTimeseriesGroupsV2RequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: HttpTimeseriesGroupsV2RequestNormalization | (string & {}); /** Filters results by operating system. */ os?: HttpTimeseriesGroupsV2RequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpTimeseriesGroupsV2RequestTlsVersionList; } export const TimeseriesGroupsV2HttpRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: HttpTimeseriesGroupsV2RequestDimension.pipe(T.Label()), aggInterval: S.optional( HttpTimeseriesGroupsV2RequestAggInterval.pipe(T.Query()), ), apiTraffic: S.optional( HttpTimeseriesGroupsV2RequestApiTrafficList.pipe(T.Query()), ), asn: S.optional(HttpTimeseriesGroupsV2RequestAsnList.pipe(T.Query())), botClass: S.optional( HttpTimeseriesGroupsV2RequestBotClassList.pipe(T.Query()), ), contentType: S.optional( HttpTimeseriesGroupsV2RequestContentTypeList.pipe(T.Query()), ), continent: S.optional( HttpTimeseriesGroupsV2RequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpTimeseriesGroupsV2RequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpTimeseriesGroupsV2RequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpTimeseriesGroupsV2RequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpTimeseriesGroupsV2RequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpTimeseriesGroupsV2RequestFormat.pipe(T.Query())), geoId: S.optional(HttpTimeseriesGroupsV2RequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpTimeseriesGroupsV2RequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpTimeseriesGroupsV2RequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpTimeseriesGroupsV2RequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( HttpTimeseriesGroupsV2RequestLocationList.pipe(T.Query()), ), name: S.optional(HttpTimeseriesGroupsV2RequestNameList.pipe(T.Query())), normalization: S.optional( HttpTimeseriesGroupsV2RequestNormalization.pipe(T.Query()), ), os: S.optional(HttpTimeseriesGroupsV2RequestOsList.pipe(T.Query())), tlsVersion: S.optional( HttpTimeseriesGroupsV2RequestTlsVersionList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2HttpRequest", }) as any as S.Schema; export type HttpTimeseriesGroupsV2ResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const HttpTimeseriesGroupsV2ResponseMetaAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsV2ResponseMetaConfidenceInfo { annotations: HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpTimeseriesGroupsV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpTimeseriesGroupsV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpTimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpTimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpTimeseriesGroupsV2ResponseMetaDateRangeList = Array; export const HttpTimeseriesGroupsV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpTimeseriesGroupsV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpTimeseriesGroupsV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpTimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpTimeseriesGroupsV2ResponseMetaUnitsList = Array; export const HttpTimeseriesGroupsV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsV2ResponseMeta { /** 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/). */ aggInterval: HttpTimeseriesGroupsV2ResponseMetaAggInterval; confidenceInfo: HttpTimeseriesGroupsV2ResponseMetaConfidenceInfo; dateRange: HttpTimeseriesGroupsV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpTimeseriesGroupsV2ResponseMetaNormalization; /** Measurement units for the results. */ units: HttpTimeseriesGroupsV2ResponseMetaUnitsList; } export const HttpTimeseriesGroupsV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: HttpTimeseriesGroupsV2ResponseMetaAggInterval, confidenceInfo: HttpTimeseriesGroupsV2ResponseMetaConfidenceInfo, dateRange: HttpTimeseriesGroupsV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpTimeseriesGroupsV2ResponseMetaNormalization, units: HttpTimeseriesGroupsV2ResponseMetaUnitsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsV2ResponseMeta", }) as any as S.Schema; export type HttpTimeseriesGroupsV2ResponseSerie0TimestampsList = Array; export const HttpTimeseriesGroupsV2ResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsV2ResponseSerie0 { timestamps: HttpTimeseriesGroupsV2ResponseSerie0TimestampsList; } export const HttpTimeseriesGroupsV2ResponseSerie0 = /*@__PURE__*/ S.suspend( () => S.Struct({ timestamps: HttpTimeseriesGroupsV2ResponseSerie0TimestampsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsV2ResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsV2HttpResponse { /** Metadata for the results. */ meta: HttpTimeseriesGroupsV2ResponseMeta; serie_0: HttpTimeseriesGroupsV2ResponseSerie0; } export const TimeseriesGroupsV2HttpResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpTimeseriesGroupsV2ResponseMeta, serie_0: HttpTimeseriesGroupsV2ResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2HttpResponse", }) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsV2RequestDimension = | "COMPROMISED" | "BOT_CLASS"; export const LeakedCredentialsTimeseriesGroupsV2RequestDimension = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsV2RequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const LeakedCredentialsTimeseriesGroupsV2RequestAggInterval = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsV2RequestAsnList = Array; export const LeakedCredentialsTimeseriesGroupsV2RequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsV2RequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const LeakedCredentialsTimeseriesGroupsV2RequestBotClass = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsV2RequestBotClassList = Array< LeakedCredentialsTimeseriesGroupsV2RequestBotClass | (string & {}) >; export const LeakedCredentialsTimeseriesGroupsV2RequestBotClassList = /*@__PURE__*/ S.Array( LeakedCredentialsTimeseriesGroupsV2RequestBotClass, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsV2RequestCheckResult = | "CLEAN" | "USERNAME_LEAKED" | "USERNAME_PASSWORD_SIMILAR" | "USERNAME_AND_PASSWORD_LEAKED" | "PASSWORD_LEAKED"; export const LeakedCredentialsTimeseriesGroupsV2RequestCheckResult = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsV2RequestCheckResultList = Array< LeakedCredentialsTimeseriesGroupsV2RequestCheckResult | (string & {}) >; export const LeakedCredentialsTimeseriesGroupsV2RequestCheckResultList = /*@__PURE__*/ S.Array( LeakedCredentialsTimeseriesGroupsV2RequestCheckResult, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsV2RequestCompromised = | "CLEAN" | "COMPROMISED"; export const LeakedCredentialsTimeseriesGroupsV2RequestCompromised = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsV2RequestCompromisedList = Array< LeakedCredentialsTimeseriesGroupsV2RequestCompromised | (string & {}) >; export const LeakedCredentialsTimeseriesGroupsV2RequestCompromisedList = /*@__PURE__*/ S.Array( LeakedCredentialsTimeseriesGroupsV2RequestCompromised, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsV2RequestContinentList = Array; export const LeakedCredentialsTimeseriesGroupsV2RequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsV2RequestDateEndList = Array; export const LeakedCredentialsTimeseriesGroupsV2RequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsV2RequestDateRangeList = Array; export const LeakedCredentialsTimeseriesGroupsV2RequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsV2RequestDateStartList = Array; export const LeakedCredentialsTimeseriesGroupsV2RequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsV2RequestFormat = "JSON" | "CSV"; export const LeakedCredentialsTimeseriesGroupsV2RequestFormat = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsV2RequestLocationList = Array; export const LeakedCredentialsTimeseriesGroupsV2RequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsV2RequestNameList = Array; export const LeakedCredentialsTimeseriesGroupsV2RequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsV2RequestNormalization = | "PERCENTAGE_CHANGE" | "MIN0_MAX"; export const LeakedCredentialsTimeseriesGroupsV2RequestNormalization = /*@__PURE__*/ S.String; export interface TimeseriesGroupsV2LeakedCredentialRequest { /** Specifies the attribute by which to group the results. */ dimension: | LeakedCredentialsTimeseriesGroupsV2RequestDimension | (string & {}); /** 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/). */ aggInterval?: | LeakedCredentialsTimeseriesGroupsV2RequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: LeakedCredentialsTimeseriesGroupsV2RequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: LeakedCredentialsTimeseriesGroupsV2RequestBotClassList; /** Filters results by leaked credential check result. */ checkResult?: LeakedCredentialsTimeseriesGroupsV2RequestCheckResultList; /** Filters results by compromised credential status (clean vs. compromised). */ compromised?: LeakedCredentialsTimeseriesGroupsV2RequestCompromisedList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: LeakedCredentialsTimeseriesGroupsV2RequestContinentList; /** End of the date range (inclusive). */ dateEnd?: LeakedCredentialsTimeseriesGroupsV2RequestDateEndList; /** 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). */ dateRange?: LeakedCredentialsTimeseriesGroupsV2RequestDateRangeList; /** Start of the date range. */ dateStart?: LeakedCredentialsTimeseriesGroupsV2RequestDateStartList; /** Format in which results will be returned. */ format?: LeakedCredentialsTimeseriesGroupsV2RequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: LeakedCredentialsTimeseriesGroupsV2RequestLocationList; /** Array of names used to label the series in the response. */ name?: LeakedCredentialsTimeseriesGroupsV2RequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | LeakedCredentialsTimeseriesGroupsV2RequestNormalization | (string & {}); } export const TimeseriesGroupsV2LeakedCredentialRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: LeakedCredentialsTimeseriesGroupsV2RequestDimension.pipe( T.Label(), ), aggInterval: S.optional( LeakedCredentialsTimeseriesGroupsV2RequestAggInterval.pipe(T.Query()), ), asn: S.optional( LeakedCredentialsTimeseriesGroupsV2RequestAsnList.pipe(T.Query()), ), botClass: S.optional( LeakedCredentialsTimeseriesGroupsV2RequestBotClassList.pipe(T.Query()), ), checkResult: S.optional( LeakedCredentialsTimeseriesGroupsV2RequestCheckResultList.pipe( T.Query(), ), ), compromised: S.optional( LeakedCredentialsTimeseriesGroupsV2RequestCompromisedList.pipe( T.Query(), ), ), continent: S.optional( LeakedCredentialsTimeseriesGroupsV2RequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( LeakedCredentialsTimeseriesGroupsV2RequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( LeakedCredentialsTimeseriesGroupsV2RequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( LeakedCredentialsTimeseriesGroupsV2RequestDateStartList.pipe(T.Query()), ), format: S.optional( LeakedCredentialsTimeseriesGroupsV2RequestFormat.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( LeakedCredentialsTimeseriesGroupsV2RequestLocationList.pipe(T.Query()), ), name: S.optional( LeakedCredentialsTimeseriesGroupsV2RequestNameList.pipe(T.Query()), ), normalization: S.optional( LeakedCredentialsTimeseriesGroupsV2RequestNormalization.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/leaked_credential_checks/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2LeakedCredentialRequest", }) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsV2ResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const LeakedCredentialsTimeseriesGroupsV2ResponseMetaAggInterval = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = Array; export const LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfo { annotations: LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfo", }) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const LeakedCredentialsTimeseriesGroupsV2ResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type LeakedCredentialsTimeseriesGroupsV2ResponseMetaDateRangeList = Array; export const LeakedCredentialsTimeseriesGroupsV2ResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsV2ResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const LeakedCredentialsTimeseriesGroupsV2ResponseMetaNormalization = /*@__PURE__*/ S.String; export type LeakedCredentialsTimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const LeakedCredentialsTimeseriesGroupsV2ResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type LeakedCredentialsTimeseriesGroupsV2ResponseMetaUnitsList = Array; export const LeakedCredentialsTimeseriesGroupsV2ResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface LeakedCredentialsTimeseriesGroupsV2ResponseMeta { /** 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/). */ aggInterval: LeakedCredentialsTimeseriesGroupsV2ResponseMetaAggInterval; confidenceInfo: LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfo; dateRange: LeakedCredentialsTimeseriesGroupsV2ResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: LeakedCredentialsTimeseriesGroupsV2ResponseMetaNormalization; /** Measurement units for the results. */ units: LeakedCredentialsTimeseriesGroupsV2ResponseMetaUnitsList; } export const LeakedCredentialsTimeseriesGroupsV2ResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: LeakedCredentialsTimeseriesGroupsV2ResponseMetaAggInterval, confidenceInfo: LeakedCredentialsTimeseriesGroupsV2ResponseMetaConfidenceInfo, dateRange: LeakedCredentialsTimeseriesGroupsV2ResponseMetaDateRangeList, lastUpdated: S.String, normalization: LeakedCredentialsTimeseriesGroupsV2ResponseMetaNormalization, units: LeakedCredentialsTimeseriesGroupsV2ResponseMetaUnitsList, }), ).annotate({ identifier: "LeakedCredentialsTimeseriesGroupsV2ResponseMeta", }) as any as S.Schema; export type LeakedCredentialsTimeseriesGroupsV2ResponseSerie0TimestampsList = Array; export const LeakedCredentialsTimeseriesGroupsV2ResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface LeakedCredentialsTimeseriesGroupsV2ResponseSerie0 { timestamps: LeakedCredentialsTimeseriesGroupsV2ResponseSerie0TimestampsList; } export const LeakedCredentialsTimeseriesGroupsV2ResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: LeakedCredentialsTimeseriesGroupsV2ResponseSerie0TimestampsList, }), ).annotate({ identifier: "LeakedCredentialsTimeseriesGroupsV2ResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesGroupsV2LeakedCredentialResponse { /** Metadata for the results. */ meta: LeakedCredentialsTimeseriesGroupsV2ResponseMeta; serie_0: LeakedCredentialsTimeseriesGroupsV2ResponseSerie0; } export const TimeseriesGroupsV2LeakedCredentialResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: LeakedCredentialsTimeseriesGroupsV2ResponseMeta, serie_0: LeakedCredentialsTimeseriesGroupsV2ResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesGroupsV2LeakedCredentialResponse", }) as any as S.Schema; export type HttpTimeseriesRequestAggInterval = "15m" | "1h" | "1d" | "1w"; export const HttpTimeseriesRequestAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesRequestApiTraffic = "API" | "NON_API"; export const HttpTimeseriesRequestApiTraffic = /*@__PURE__*/ S.String; export type HttpTimeseriesRequestApiTrafficList = Array< HttpTimeseriesRequestApiTraffic | (string & {}) >; export const HttpTimeseriesRequestApiTrafficList = /*@__PURE__*/ S.Array( HttpTimeseriesRequestApiTraffic, ) as any as S.Schema; export type HttpTimeseriesRequestAsnList = Array; export const HttpTimeseriesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesRequestBotClass = "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpTimeseriesRequestBotClass = /*@__PURE__*/ S.String; export type HttpTimeseriesRequestBotClassList = Array< HttpTimeseriesRequestBotClass | (string & {}) >; export const HttpTimeseriesRequestBotClassList = /*@__PURE__*/ S.Array( HttpTimeseriesRequestBotClass, ) as any as S.Schema; export type HttpTimeseriesRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpTimeseriesRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpTimeseriesRequestBrowserFamilyList = Array< HttpTimeseriesRequestBrowserFamily | (string & {}) >; export const HttpTimeseriesRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpTimeseriesRequestBrowserFamily, ) as any as S.Schema; export type HttpTimeseriesRequestContentType = | "HTML" | "IMAGES" | "JSON" | "JAVASCRIPT" | "CSS" | "PLAIN_TEXT" | "FONTS" | "XML" | "YAML" | "VIDEO" | "AUDIO" | "MARKDOWN" | "DOCUMENTS" | "BINARY" | "SERIALIZATION" | "OTHER"; export const HttpTimeseriesRequestContentType = /*@__PURE__*/ S.String; export type HttpTimeseriesRequestContentTypeList = Array< HttpTimeseriesRequestContentType | (string & {}) >; export const HttpTimeseriesRequestContentTypeList = /*@__PURE__*/ S.Array( HttpTimeseriesRequestContentType, ) as any as S.Schema; export type HttpTimeseriesRequestContinentList = Array; export const HttpTimeseriesRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesRequestDateEndList = Array; export const HttpTimeseriesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesRequestDateRangeList = Array; export const HttpTimeseriesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesRequestDateStartList = Array; export const HttpTimeseriesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesRequestDeviceType = "DESKTOP" | "MOBILE" | "OTHER"; export const HttpTimeseriesRequestDeviceType = /*@__PURE__*/ S.String; export type HttpTimeseriesRequestDeviceTypeList = Array< HttpTimeseriesRequestDeviceType | (string & {}) >; export const HttpTimeseriesRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpTimeseriesRequestDeviceType, ) as any as S.Schema; export type HttpTimeseriesRequestFormat = "JSON" | "CSV"; export const HttpTimeseriesRequestFormat = /*@__PURE__*/ S.String; export type HttpTimeseriesRequestGeoIdList = Array; export const HttpTimeseriesRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpTimeseriesRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpTimeseriesRequestHttpProtocolList = Array< HttpTimeseriesRequestHttpProtocol | (string & {}) >; export const HttpTimeseriesRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpTimeseriesRequestHttpProtocol, ) as any as S.Schema; export type HttpTimeseriesRequestHttpVersion = "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpTimeseriesRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesRequestHttpVersionList = Array< HttpTimeseriesRequestHttpVersion | (string & {}) >; export const HttpTimeseriesRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesRequestHttpVersion, ) as any as S.Schema; export type HttpTimeseriesRequestIpVersion = "IPv4" | "IPv6"; export const HttpTimeseriesRequestIpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesRequestIpVersionList = Array< HttpTimeseriesRequestIpVersion | (string & {}) >; export const HttpTimeseriesRequestIpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesRequestIpVersion, ) as any as S.Schema; export type HttpTimeseriesRequestLocationList = Array; export const HttpTimeseriesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesRequestNameList = Array; export const HttpTimeseriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesRequestNormalization = | "PERCENTAGE_CHANGE" | "MIN0_MAX"; export const HttpTimeseriesRequestNormalization = /*@__PURE__*/ S.String; export type HttpTimeseriesRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpTimeseriesRequestOs = /*@__PURE__*/ S.String; export type HttpTimeseriesRequestOsList = Array< HttpTimeseriesRequestOs | (string & {}) >; export const HttpTimeseriesRequestOsList = /*@__PURE__*/ S.Array( HttpTimeseriesRequestOs, ) as any as S.Schema; export type HttpTimeseriesRequestTlsVersion = | "TLSv1_0" | "TLSv1_1" | "TLSv1_2" | "TLSv1_3" | "TLSvQUIC"; export const HttpTimeseriesRequestTlsVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesRequestTlsVersionList = Array< HttpTimeseriesRequestTlsVersion | (string & {}) >; export const HttpTimeseriesRequestTlsVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesRequestTlsVersion, ) as any as S.Schema; export interface TimeseriesHttpRequest { /** 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/). */ aggInterval?: HttpTimeseriesRequestAggInterval | (string & {}); /** Filters results by API traffic classification. API traffic is identified by JSON or XML response content types on dynamic (non-cacheable) HTTP requests. */ apiTraffic?: HttpTimeseriesRequestApiTrafficList; /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpTimeseriesRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpTimeseriesRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpTimeseriesRequestBrowserFamilyList; /** Filters results by content type category. */ contentType?: HttpTimeseriesRequestContentTypeList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpTimeseriesRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpTimeseriesRequestDateEndList; /** 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). */ dateRange?: HttpTimeseriesRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpTimeseriesRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpTimeseriesRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpTimeseriesRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpTimeseriesRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpTimeseriesRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpTimeseriesRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpTimeseriesRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpTimeseriesRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpTimeseriesRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: HttpTimeseriesRequestNormalization | (string & {}); /** Filters results by operating system. */ os?: HttpTimeseriesRequestOsList; /** Filters results by TLS version. */ tlsVersion?: HttpTimeseriesRequestTlsVersionList; } export const TimeseriesHttpRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional(HttpTimeseriesRequestAggInterval.pipe(T.Query())), apiTraffic: S.optional(HttpTimeseriesRequestApiTrafficList.pipe(T.Query())), asn: S.optional(HttpTimeseriesRequestAsnList.pipe(T.Query())), botClass: S.optional(HttpTimeseriesRequestBotClassList.pipe(T.Query())), browserFamily: S.optional( HttpTimeseriesRequestBrowserFamilyList.pipe(T.Query()), ), contentType: S.optional( HttpTimeseriesRequestContentTypeList.pipe(T.Query()), ), continent: S.optional(HttpTimeseriesRequestContinentList.pipe(T.Query())), dateEnd: S.optional(HttpTimeseriesRequestDateEndList.pipe(T.Query())), dateRange: S.optional(HttpTimeseriesRequestDateRangeList.pipe(T.Query())), dateStart: S.optional(HttpTimeseriesRequestDateStartList.pipe(T.Query())), deviceType: S.optional(HttpTimeseriesRequestDeviceTypeList.pipe(T.Query())), format: S.optional(HttpTimeseriesRequestFormat.pipe(T.Query())), geoId: S.optional(HttpTimeseriesRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpTimeseriesRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpTimeseriesRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional(HttpTimeseriesRequestIpVersionList.pipe(T.Query())), location: S.optional(HttpTimeseriesRequestLocationList.pipe(T.Query())), name: S.optional(HttpTimeseriesRequestNameList.pipe(T.Query())), normalization: S.optional( HttpTimeseriesRequestNormalization.pipe(T.Query()), ), os: S.optional(HttpTimeseriesRequestOsList.pipe(T.Query())), tlsVersion: S.optional(HttpTimeseriesRequestTlsVersionList.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/http/timeseries", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesHttpRequest", }) as any as S.Schema; export type HttpTimeseriesResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const HttpTimeseriesResponseMetaAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpTimeseriesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpTimeseriesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpTimeseriesResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpTimeseriesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpTimeseriesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpTimeseriesResponseMetaConfidenceInfo { annotations: HttpTimeseriesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpTimeseriesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: HttpTimeseriesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpTimeseriesResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpTimeseriesResponseMetaDateRangeList = Array; export const HttpTimeseriesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpTimeseriesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpTimeseriesResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpTimeseriesResponseMetaUnitsList = Array; export const HttpTimeseriesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpTimeseriesResponseMeta { /** 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/). */ aggInterval: HttpTimeseriesResponseMetaAggInterval; confidenceInfo: HttpTimeseriesResponseMetaConfidenceInfo; dateRange: HttpTimeseriesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpTimeseriesResponseMetaNormalization; /** Measurement units for the results. */ units: HttpTimeseriesResponseMetaUnitsList; } export const HttpTimeseriesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: HttpTimeseriesResponseMetaAggInterval, confidenceInfo: HttpTimeseriesResponseMetaConfidenceInfo, dateRange: HttpTimeseriesResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpTimeseriesResponseMetaNormalization, units: HttpTimeseriesResponseMetaUnitsList, }), ).annotate({ identifier: "HttpTimeseriesResponseMeta", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesHttpResponse { /** Metadata for the results. */ meta: HttpTimeseriesResponseMeta; } export const TimeseriesHttpResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpTimeseriesResponseMeta, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesHttpResponse", }) as any as S.Schema; export type NetflowsTimeseriesRequestAggInterval = "15m" | "1h" | "1d" | "1w"; export const NetflowsTimeseriesRequestAggInterval = /*@__PURE__*/ S.String; export type NetflowsTimeseriesRequestAsnList = Array; export const NetflowsTimeseriesRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTimeseriesRequestContinentList = Array; export const NetflowsTimeseriesRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTimeseriesRequestDateEndList = Array; export const NetflowsTimeseriesRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTimeseriesRequestDateRangeList = Array; export const NetflowsTimeseriesRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTimeseriesRequestDateStartList = Array; export const NetflowsTimeseriesRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTimeseriesRequestFormat = "JSON" | "CSV"; export const NetflowsTimeseriesRequestFormat = /*@__PURE__*/ S.String; export type NetflowsTimeseriesRequestGeoIdList = Array; export const NetflowsTimeseriesRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTimeseriesRequestLocationList = Array; export const NetflowsTimeseriesRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTimeseriesRequestNameList = Array; export const NetflowsTimeseriesRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTimeseriesRequestNormalization = | "PERCENTAGE_CHANGE" | "MIN0_MAX"; export const NetflowsTimeseriesRequestNormalization = /*@__PURE__*/ S.String; export type NetflowsTimeseriesRequestProduct = "HTTP" | "ALL"; export const NetflowsTimeseriesRequestProduct = /*@__PURE__*/ S.String; export type NetflowsTimeseriesRequestProductList = Array< NetflowsTimeseriesRequestProduct | (string & {}) >; export const NetflowsTimeseriesRequestProductList = /*@__PURE__*/ S.Array( NetflowsTimeseriesRequestProduct, ) as any as S.Schema; export interface TimeseriesNetflowRequest { /** 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/). */ aggInterval?: NetflowsTimeseriesRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: NetflowsTimeseriesRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: NetflowsTimeseriesRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: NetflowsTimeseriesRequestDateEndList; /** 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). */ dateRange?: NetflowsTimeseriesRequestDateRangeList; /** Start of the date range. */ dateStart?: NetflowsTimeseriesRequestDateStartList; /** Format in which results will be returned. */ format?: NetflowsTimeseriesRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: NetflowsTimeseriesRequestGeoIdList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: NetflowsTimeseriesRequestLocationList; /** Array of names used to label the series in the response. */ name?: NetflowsTimeseriesRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: NetflowsTimeseriesRequestNormalization | (string & {}); /** Filters the results by network traffic product types. */ product?: NetflowsTimeseriesRequestProductList; } export const TimeseriesNetflowRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( NetflowsTimeseriesRequestAggInterval.pipe(T.Query()), ), asn: S.optional(NetflowsTimeseriesRequestAsnList.pipe(T.Query())), continent: S.optional( NetflowsTimeseriesRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional(NetflowsTimeseriesRequestDateEndList.pipe(T.Query())), dateRange: S.optional( NetflowsTimeseriesRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( NetflowsTimeseriesRequestDateStartList.pipe(T.Query()), ), format: S.optional(NetflowsTimeseriesRequestFormat.pipe(T.Query())), geoId: S.optional(NetflowsTimeseriesRequestGeoIdList.pipe(T.Query())), location: S.optional(NetflowsTimeseriesRequestLocationList.pipe(T.Query())), name: S.optional(NetflowsTimeseriesRequestNameList.pipe(T.Query())), normalization: S.optional( NetflowsTimeseriesRequestNormalization.pipe(T.Query()), ), product: S.optional(NetflowsTimeseriesRequestProductList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/netflows/timeseries", code: 200 }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesNetflowRequest", }) as any as S.Schema; export type NetflowsTimeseriesResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const NetflowsTimeseriesResponseMetaAggInterval = /*@__PURE__*/ S.String; export type NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsList = Array; export const NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface NetflowsTimeseriesResponseMetaConfidenceInfo { annotations: NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const NetflowsTimeseriesResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: NetflowsTimeseriesResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "NetflowsTimeseriesResponseMetaConfidenceInfo", }) as any as S.Schema; export type NetflowsTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const NetflowsTimeseriesResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type NetflowsTimeseriesResponseMetaDateRangeList = Array; export const NetflowsTimeseriesResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type NetflowsTimeseriesResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const NetflowsTimeseriesResponseMetaNormalization = /*@__PURE__*/ S.String; export type NetflowsTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const NetflowsTimeseriesResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type NetflowsTimeseriesResponseMetaUnitsList = Array; export const NetflowsTimeseriesResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface NetflowsTimeseriesResponseMeta { /** 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/). */ aggInterval: NetflowsTimeseriesResponseMetaAggInterval; confidenceInfo: NetflowsTimeseriesResponseMetaConfidenceInfo; dateRange: NetflowsTimeseriesResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: NetflowsTimeseriesResponseMetaNormalization; /** Measurement units for the results. */ units: NetflowsTimeseriesResponseMetaUnitsList; } export const NetflowsTimeseriesResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: NetflowsTimeseriesResponseMetaAggInterval, confidenceInfo: NetflowsTimeseriesResponseMetaConfidenceInfo, dateRange: NetflowsTimeseriesResponseMetaDateRangeList, lastUpdated: S.String, normalization: NetflowsTimeseriesResponseMetaNormalization, units: NetflowsTimeseriesResponseMetaUnitsList, }), ).annotate({ identifier: "NetflowsTimeseriesResponseMeta", }) as any as S.Schema; export type NetflowsTimeseriesResponseSerie0TimestampsList = Array; export const NetflowsTimeseriesResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type NetflowsTimeseriesResponseSerie0ValuesList = Array; export const NetflowsTimeseriesResponseSerie0ValuesList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface NetflowsTimeseriesResponseSerie0 { timestamps: NetflowsTimeseriesResponseSerie0TimestampsList; values: NetflowsTimeseriesResponseSerie0ValuesList; } export const NetflowsTimeseriesResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: NetflowsTimeseriesResponseSerie0TimestampsList, values: NetflowsTimeseriesResponseSerie0ValuesList, }), ).annotate({ identifier: "NetflowsTimeseriesResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TimeseriesNetflowResponse { /** Metadata for the results. */ meta: NetflowsTimeseriesResponseMeta; serie_0: NetflowsTimeseriesResponseSerie0; } export const TimeseriesNetflowResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: NetflowsTimeseriesResponseMeta, serie_0: NetflowsTimeseriesResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TimeseriesNetflowResponse", }) as any as S.Schema; export type TldsPerformanceSummaryRequestDimension = | "LATENCY" | "NAMESERVER_LATENCY" | "LOCATION_LATENCY"; export const TldsPerformanceSummaryRequestDimension = /*@__PURE__*/ S.String; export type TldsPerformanceSummaryRequestContinentList = Array; export const TldsPerformanceSummaryRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TldsPerformanceSummaryRequestDateEndList = Array; export const TldsPerformanceSummaryRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TldsPerformanceSummaryRequestDateRangeList = Array; export const TldsPerformanceSummaryRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TldsPerformanceSummaryRequestDateStartList = Array; export const TldsPerformanceSummaryRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TldsPerformanceSummaryRequestFormat = "JSON" | "CSV"; export const TldsPerformanceSummaryRequestFormat = /*@__PURE__*/ S.String; export type TldsPerformanceSummaryRequestLocationList = Array; export const TldsPerformanceSummaryRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TldsPerformanceSummaryRequestNameList = Array; export const TldsPerformanceSummaryRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TldsPerformanceSummaryRequestTldList = Array; export const TldsPerformanceSummaryRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TldsPerformanceSummaryRequest { /** Dimension to summarize TLD nameserver latency by. */ dimension: TldsPerformanceSummaryRequestDimension | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: TldsPerformanceSummaryRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: TldsPerformanceSummaryRequestDateEndList; /** 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). */ dateRange?: TldsPerformanceSummaryRequestDateRangeList; /** Start of the date range. */ dateStart?: TldsPerformanceSummaryRequestDateStartList; /** Format in which results will be returned. */ format?: TldsPerformanceSummaryRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: TldsPerformanceSummaryRequestLocationList; /** Array of names used to label the series in the response. */ name?: TldsPerformanceSummaryRequestNameList; /** Filters results by nameserver hostname. */ nameserver?: string; /** Filters results by top-level domain. */ tld?: TldsPerformanceSummaryRequestTldList; } export const TldsPerformanceSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ dimension: TldsPerformanceSummaryRequestDimension.pipe(T.Label()), continent: S.optional( TldsPerformanceSummaryRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( TldsPerformanceSummaryRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( TldsPerformanceSummaryRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( TldsPerformanceSummaryRequestDateStartList.pipe(T.Query()), ), format: S.optional(TldsPerformanceSummaryRequestFormat.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( TldsPerformanceSummaryRequestLocationList.pipe(T.Query()), ), name: S.optional(TldsPerformanceSummaryRequestNameList.pipe(T.Query())), nameserver: S.optional(S.String.pipe(T.Query())), tld: S.optional(TldsPerformanceSummaryRequestTldList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/tlds/performance/summary/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TldsPerformanceSummaryRequest", }) as any as S.Schema; export type TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsList = Array; export const TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface TldsPerformanceSummaryResponseMetaConfidenceInfo { annotations: TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const TldsPerformanceSummaryResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: TldsPerformanceSummaryResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "TldsPerformanceSummaryResponseMetaConfidenceInfo", }) as any as S.Schema; export type TldsPerformanceSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const TldsPerformanceSummaryResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type TldsPerformanceSummaryResponseMetaDateRangeList = Array; export const TldsPerformanceSummaryResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type TldsPerformanceSummaryResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const TldsPerformanceSummaryResponseMetaNormalization = /*@__PURE__*/ S.String; export type TldsPerformanceSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const TldsPerformanceSummaryResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type TldsPerformanceSummaryResponseMetaUnitsList = Array; export const TldsPerformanceSummaryResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface TldsPerformanceSummaryResponseMeta { confidenceInfo: TldsPerformanceSummaryResponseMetaConfidenceInfo; dateRange: TldsPerformanceSummaryResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: TldsPerformanceSummaryResponseMetaNormalization; /** Measurement units for the results. */ units: TldsPerformanceSummaryResponseMetaUnitsList; } export const TldsPerformanceSummaryResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: TldsPerformanceSummaryResponseMetaConfidenceInfo, dateRange: TldsPerformanceSummaryResponseMetaDateRangeList, lastUpdated: S.String, normalization: TldsPerformanceSummaryResponseMetaNormalization, units: TldsPerformanceSummaryResponseMetaUnitsList, }), ).annotate({ identifier: "TldsPerformanceSummaryResponseMeta", }) as any as S.Schema; export type TldsPerformanceSummaryResponseSummary0Map = { [key: string]: string | undefined; }; export const TldsPerformanceSummaryResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TldsPerformanceSummaryResponse { /** Metadata for the results. */ meta: TldsPerformanceSummaryResponseMeta; summary_0: TldsPerformanceSummaryResponseSummary0Map; } export const TldsPerformanceSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: TldsPerformanceSummaryResponseMeta, summary_0: TldsPerformanceSummaryResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TldsPerformanceSummaryResponse", }) as any as S.Schema; export type TldsPerformanceTimeseriesGroupsRequestDimension = | "LATENCY" | "NAMESERVER_LATENCY" | "LOCATION_LATENCY"; export const TldsPerformanceTimeseriesGroupsRequestDimension = /*@__PURE__*/ S.String; export type TldsPerformanceTimeseriesGroupsRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const TldsPerformanceTimeseriesGroupsRequestAggInterval = /*@__PURE__*/ S.String; export type TldsPerformanceTimeseriesGroupsRequestContinentList = Array; export const TldsPerformanceTimeseriesGroupsRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TldsPerformanceTimeseriesGroupsRequestDateEndList = Array; export const TldsPerformanceTimeseriesGroupsRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TldsPerformanceTimeseriesGroupsRequestDateRangeList = Array; export const TldsPerformanceTimeseriesGroupsRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TldsPerformanceTimeseriesGroupsRequestDateStartList = Array; export const TldsPerformanceTimeseriesGroupsRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TldsPerformanceTimeseriesGroupsRequestFormat = "JSON" | "CSV"; export const TldsPerformanceTimeseriesGroupsRequestFormat = /*@__PURE__*/ S.String; export type TldsPerformanceTimeseriesGroupsRequestLocationList = Array; export const TldsPerformanceTimeseriesGroupsRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TldsPerformanceTimeseriesGroupsRequestNameList = Array; export const TldsPerformanceTimeseriesGroupsRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type TldsPerformanceTimeseriesGroupsRequestTldList = Array; export const TldsPerformanceTimeseriesGroupsRequestTldList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TldsPerformanceTimeseriesGroupsRequest { /** Dimension for the TLD nameserver latency timeseries. */ dimension: TldsPerformanceTimeseriesGroupsRequestDimension | (string & {}); /** 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/). */ aggInterval?: | TldsPerformanceTimeseriesGroupsRequestAggInterval | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: TldsPerformanceTimeseriesGroupsRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: TldsPerformanceTimeseriesGroupsRequestDateEndList; /** 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). */ dateRange?: TldsPerformanceTimeseriesGroupsRequestDateRangeList; /** Start of the date range. */ dateStart?: TldsPerformanceTimeseriesGroupsRequestDateStartList; /** Format in which results will be returned. */ format?: TldsPerformanceTimeseriesGroupsRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: TldsPerformanceTimeseriesGroupsRequestLocationList; /** Array of names used to label the series in the response. */ name?: TldsPerformanceTimeseriesGroupsRequestNameList; /** Filters results by nameserver hostname. */ nameserver?: string; /** Filters results by top-level domain. */ tld?: TldsPerformanceTimeseriesGroupsRequestTldList; } export const TldsPerformanceTimeseriesGroupsRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ dimension: TldsPerformanceTimeseriesGroupsRequestDimension.pipe( T.Label(), ), aggInterval: S.optional( TldsPerformanceTimeseriesGroupsRequestAggInterval.pipe(T.Query()), ), continent: S.optional( TldsPerformanceTimeseriesGroupsRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( TldsPerformanceTimeseriesGroupsRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( TldsPerformanceTimeseriesGroupsRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( TldsPerformanceTimeseriesGroupsRequestDateStartList.pipe(T.Query()), ), format: S.optional( TldsPerformanceTimeseriesGroupsRequestFormat.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( TldsPerformanceTimeseriesGroupsRequestLocationList.pipe(T.Query()), ), name: S.optional( TldsPerformanceTimeseriesGroupsRequestNameList.pipe(T.Query()), ), nameserver: S.optional(S.String.pipe(T.Query())), tld: S.optional( TldsPerformanceTimeseriesGroupsRequestTldList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/tlds/performance/timeseries_groups/{dimension}", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TldsPerformanceTimeseriesGroupsRequest", }) as any as S.Schema; export type TldsPerformanceTimeseriesGroupsResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const TldsPerformanceTimeseriesGroupsResponseMetaAggInterval = /*@__PURE__*/ S.String; export type TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = Array; export const TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfo { annotations: TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfo", }) as any as S.Schema; export type TldsPerformanceTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const TldsPerformanceTimeseriesGroupsResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type TldsPerformanceTimeseriesGroupsResponseMetaDateRangeList = Array; export const TldsPerformanceTimeseriesGroupsResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type TldsPerformanceTimeseriesGroupsResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const TldsPerformanceTimeseriesGroupsResponseMetaNormalization = /*@__PURE__*/ S.String; export type TldsPerformanceTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const TldsPerformanceTimeseriesGroupsResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type TldsPerformanceTimeseriesGroupsResponseMetaUnitsList = Array; export const TldsPerformanceTimeseriesGroupsResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface TldsPerformanceTimeseriesGroupsResponseMeta { /** 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/). */ aggInterval: TldsPerformanceTimeseriesGroupsResponseMetaAggInterval; confidenceInfo: TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfo; dateRange: TldsPerformanceTimeseriesGroupsResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: TldsPerformanceTimeseriesGroupsResponseMetaNormalization; /** Measurement units for the results. */ units: TldsPerformanceTimeseriesGroupsResponseMetaUnitsList; } export const TldsPerformanceTimeseriesGroupsResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: TldsPerformanceTimeseriesGroupsResponseMetaAggInterval, confidenceInfo: TldsPerformanceTimeseriesGroupsResponseMetaConfidenceInfo, dateRange: TldsPerformanceTimeseriesGroupsResponseMetaDateRangeList, lastUpdated: S.String, normalization: TldsPerformanceTimeseriesGroupsResponseMetaNormalization, units: TldsPerformanceTimeseriesGroupsResponseMetaUnitsList, }), ).annotate({ identifier: "TldsPerformanceTimeseriesGroupsResponseMeta", }) as any as S.Schema; export type TldsPerformanceTimeseriesGroupsResponseSerie0TimestampsList = Array; export const TldsPerformanceTimeseriesGroupsResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TldsPerformanceTimeseriesGroupsResponseSerie0 { timestamps: TldsPerformanceTimeseriesGroupsResponseSerie0TimestampsList; } export const TldsPerformanceTimeseriesGroupsResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: TldsPerformanceTimeseriesGroupsResponseSerie0TimestampsList, }), ).annotate({ identifier: "TldsPerformanceTimeseriesGroupsResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TldsPerformanceTimeseriesGroupsResponse { /** Metadata for the results. */ meta: TldsPerformanceTimeseriesGroupsResponseMeta; serie_0: TldsPerformanceTimeseriesGroupsResponseSerie0; } export const TldsPerformanceTimeseriesGroupsResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: TldsPerformanceTimeseriesGroupsResponseMeta, serie_0: TldsPerformanceTimeseriesGroupsResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TldsPerformanceTimeseriesGroupsResponse", }) as any as S.Schema; export type EmailSecuritySummaryTlsVersionRequestArc = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryTlsVersionRequestArc = /*@__PURE__*/ S.String; export type EmailSecuritySummaryTlsVersionRequestArcList = Array< EmailSecuritySummaryTlsVersionRequestArc | (string & {}) >; export const EmailSecuritySummaryTlsVersionRequestArcList = /*@__PURE__*/ S.Array( EmailSecuritySummaryTlsVersionRequestArc, ) as any as S.Schema; export type EmailSecuritySummaryTlsVersionRequestDateEndList = Array; export const EmailSecuritySummaryTlsVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryTlsVersionRequestDateRangeList = Array; export const EmailSecuritySummaryTlsVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryTlsVersionRequestDateStartList = Array; export const EmailSecuritySummaryTlsVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryTlsVersionRequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryTlsVersionRequestDkim = /*@__PURE__*/ S.String; export type EmailSecuritySummaryTlsVersionRequestDkimList = Array< EmailSecuritySummaryTlsVersionRequestDkim | (string & {}) >; export const EmailSecuritySummaryTlsVersionRequestDkimList = /*@__PURE__*/ S.Array( EmailSecuritySummaryTlsVersionRequestDkim, ) as any as S.Schema; export type EmailSecuritySummaryTlsVersionRequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryTlsVersionRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecuritySummaryTlsVersionRequestDmarcList = Array< EmailSecuritySummaryTlsVersionRequestDmarc | (string & {}) >; export const EmailSecuritySummaryTlsVersionRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecuritySummaryTlsVersionRequestDmarc, ) as any as S.Schema; export type EmailSecuritySummaryTlsVersionRequestFormat = "JSON" | "CSV"; export const EmailSecuritySummaryTlsVersionRequestFormat = /*@__PURE__*/ S.String; export type EmailSecuritySummaryTlsVersionRequestNameList = Array; export const EmailSecuritySummaryTlsVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecuritySummaryTlsVersionRequestSpf = "PASS" | "NONE" | "FAIL"; export const EmailSecuritySummaryTlsVersionRequestSpf = /*@__PURE__*/ S.String; export type EmailSecuritySummaryTlsVersionRequestSpfList = Array< EmailSecuritySummaryTlsVersionRequestSpf | (string & {}) >; export const EmailSecuritySummaryTlsVersionRequestSpfList = /*@__PURE__*/ S.Array( EmailSecuritySummaryTlsVersionRequestSpf, ) as any as S.Schema; export interface TlsVersionEmailSecuritySummaryRequest { /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecuritySummaryTlsVersionRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecuritySummaryTlsVersionRequestDateEndList; /** 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). */ dateRange?: EmailSecuritySummaryTlsVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecuritySummaryTlsVersionRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecuritySummaryTlsVersionRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecuritySummaryTlsVersionRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecuritySummaryTlsVersionRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecuritySummaryTlsVersionRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecuritySummaryTlsVersionRequestSpfList; } export const TlsVersionEmailSecuritySummaryRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ arc: S.optional( EmailSecuritySummaryTlsVersionRequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailSecuritySummaryTlsVersionRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( EmailSecuritySummaryTlsVersionRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( EmailSecuritySummaryTlsVersionRequestDateStartList.pipe(T.Query()), ), dkim: S.optional( EmailSecuritySummaryTlsVersionRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailSecuritySummaryTlsVersionRequestDmarcList.pipe(T.Query()), ), format: S.optional( EmailSecuritySummaryTlsVersionRequestFormat.pipe(T.Query()), ), name: S.optional( EmailSecuritySummaryTlsVersionRequestNameList.pipe(T.Query()), ), spf: S.optional( EmailSecuritySummaryTlsVersionRequestSpfList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/summary/tls_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TlsVersionEmailSecuritySummaryRequest", }) as any as S.Schema; export type EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfo { annotations: EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecuritySummaryTlsVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecuritySummaryTlsVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecuritySummaryTlsVersionResponseMetaDateRangeList = Array; export const EmailSecuritySummaryTlsVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecuritySummaryTlsVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecuritySummaryTlsVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecuritySummaryTlsVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecuritySummaryTlsVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecuritySummaryTlsVersionResponseMetaUnitsList = Array; export const EmailSecuritySummaryTlsVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecuritySummaryTlsVersionResponseMeta { confidenceInfo: EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfo; dateRange: EmailSecuritySummaryTlsVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecuritySummaryTlsVersionResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecuritySummaryTlsVersionResponseMetaUnitsList; } export const EmailSecuritySummaryTlsVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: EmailSecuritySummaryTlsVersionResponseMetaConfidenceInfo, dateRange: EmailSecuritySummaryTlsVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecuritySummaryTlsVersionResponseMetaNormalization, units: EmailSecuritySummaryTlsVersionResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecuritySummaryTlsVersionResponseMeta", }) as any as S.Schema; export interface EmailSecuritySummaryTlsVersionResponseSummary0 { /** A numeric string. */ TLS_1_0: string; /** A numeric string. */ TLS_1_1: string; /** A numeric string. */ TLS_1_2: string; /** A numeric string. */ TLS_1_3: string; } export const EmailSecuritySummaryTlsVersionResponseSummary0 = /*@__PURE__*/ S.suspend(() => S.Struct({ TLS_1_0: S.String.pipe(T.Body("TLS 1.0")), TLS_1_1: S.String.pipe(T.Body("TLS 1.1")), TLS_1_2: S.String.pipe(T.Body("TLS 1.2")), TLS_1_3: S.String.pipe(T.Body("TLS 1.3")), }), ).annotate({ identifier: "EmailSecuritySummaryTlsVersionResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TlsVersionEmailSecuritySummaryResponse { /** Metadata for the results. */ meta: EmailSecuritySummaryTlsVersionResponseMeta; summary_0: EmailSecuritySummaryTlsVersionResponseSummary0; } export const TlsVersionEmailSecuritySummaryResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: EmailSecuritySummaryTlsVersionResponseMeta, summary_0: EmailSecuritySummaryTlsVersionResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TlsVersionEmailSecuritySummaryResponse", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsTlsVersionRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const EmailSecurityTimeseriesGroupsTlsVersionRequestAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsTlsVersionRequestArc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsTlsVersionRequestArc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsTlsVersionRequestArcList = Array< EmailSecurityTimeseriesGroupsTlsVersionRequestArc | (string & {}) >; export const EmailSecurityTimeseriesGroupsTlsVersionRequestArcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsTlsVersionRequestArc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsTlsVersionRequestDateEndList = Array; export const EmailSecurityTimeseriesGroupsTlsVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsTlsVersionRequestDateRangeList = Array; export const EmailSecurityTimeseriesGroupsTlsVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsTlsVersionRequestDateStartList = Array; export const EmailSecurityTimeseriesGroupsTlsVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsTlsVersionRequestDkim = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsTlsVersionRequestDkim = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsTlsVersionRequestDkimList = Array< EmailSecurityTimeseriesGroupsTlsVersionRequestDkim | (string & {}) >; export const EmailSecurityTimeseriesGroupsTlsVersionRequestDkimList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsTlsVersionRequestDkim, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsTlsVersionRequestDmarc = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsTlsVersionRequestDmarc = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsTlsVersionRequestDmarcList = Array< EmailSecurityTimeseriesGroupsTlsVersionRequestDmarc | (string & {}) >; export const EmailSecurityTimeseriesGroupsTlsVersionRequestDmarcList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsTlsVersionRequestDmarc, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsTlsVersionRequestFormat = | "JSON" | "CSV"; export const EmailSecurityTimeseriesGroupsTlsVersionRequestFormat = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsTlsVersionRequestNameList = Array; export const EmailSecurityTimeseriesGroupsTlsVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsTlsVersionRequestSpf = | "PASS" | "NONE" | "FAIL"; export const EmailSecurityTimeseriesGroupsTlsVersionRequestSpf = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsTlsVersionRequestSpfList = Array< EmailSecurityTimeseriesGroupsTlsVersionRequestSpf | (string & {}) >; export const EmailSecurityTimeseriesGroupsTlsVersionRequestSpfList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsTlsVersionRequestSpf, ) as any as S.Schema; export interface TlsVersionEmailSecurityTimeseriesGroupRequest { /** 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/). */ aggInterval?: | EmailSecurityTimeseriesGroupsTlsVersionRequestAggInterval | (string & {}); /** Filters results by ARC (Authenticated Received Chain) validation. */ arc?: EmailSecurityTimeseriesGroupsTlsVersionRequestArcList; /** End of the date range (inclusive). */ dateEnd?: EmailSecurityTimeseriesGroupsTlsVersionRequestDateEndList; /** 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). */ dateRange?: EmailSecurityTimeseriesGroupsTlsVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: EmailSecurityTimeseriesGroupsTlsVersionRequestDateStartList; /** Filters results by DKIM (DomainKeys Identified Mail) validation status. */ dkim?: EmailSecurityTimeseriesGroupsTlsVersionRequestDkimList; /** Filters results by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation status. */ dmarc?: EmailSecurityTimeseriesGroupsTlsVersionRequestDmarcList; /** Format in which results will be returned. */ format?: EmailSecurityTimeseriesGroupsTlsVersionRequestFormat | (string & {}); /** Array of names used to label the series in the response. */ name?: EmailSecurityTimeseriesGroupsTlsVersionRequestNameList; /** Filters results by SPF (Sender Policy Framework) validation status. */ spf?: EmailSecurityTimeseriesGroupsTlsVersionRequestSpfList; } export const TlsVersionEmailSecurityTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( EmailSecurityTimeseriesGroupsTlsVersionRequestAggInterval.pipe( T.Query(), ), ), arc: S.optional( EmailSecurityTimeseriesGroupsTlsVersionRequestArcList.pipe(T.Query()), ), dateEnd: S.optional( EmailSecurityTimeseriesGroupsTlsVersionRequestDateEndList.pipe( T.Query(), ), ), dateRange: S.optional( EmailSecurityTimeseriesGroupsTlsVersionRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( EmailSecurityTimeseriesGroupsTlsVersionRequestDateStartList.pipe( T.Query(), ), ), dkim: S.optional( EmailSecurityTimeseriesGroupsTlsVersionRequestDkimList.pipe(T.Query()), ), dmarc: S.optional( EmailSecurityTimeseriesGroupsTlsVersionRequestDmarcList.pipe(T.Query()), ), format: S.optional( EmailSecurityTimeseriesGroupsTlsVersionRequestFormat.pipe(T.Query()), ), name: S.optional( EmailSecurityTimeseriesGroupsTlsVersionRequestNameList.pipe(T.Query()), ), spf: S.optional( EmailSecurityTimeseriesGroupsTlsVersionRequestSpfList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/email/security/timeseries_groups/tls_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TlsVersionEmailSecurityTimeseriesGroupRequest", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsTlsVersionResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const EmailSecurityTimeseriesGroupsTlsVersionResponseMetaAggInterval = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfo { annotations: EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsTlsVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const EmailSecurityTimeseriesGroupsTlsVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type EmailSecurityTimeseriesGroupsTlsVersionResponseMetaDateRangeList = Array; export const EmailSecurityTimeseriesGroupsTlsVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsTlsVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const EmailSecurityTimeseriesGroupsTlsVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type EmailSecurityTimeseriesGroupsTlsVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const EmailSecurityTimeseriesGroupsTlsVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type EmailSecurityTimeseriesGroupsTlsVersionResponseMetaUnitsList = Array; export const EmailSecurityTimeseriesGroupsTlsVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsTlsVersionResponseMeta { /** 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/). */ aggInterval: EmailSecurityTimeseriesGroupsTlsVersionResponseMetaAggInterval; confidenceInfo: EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfo; dateRange: EmailSecurityTimeseriesGroupsTlsVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: EmailSecurityTimeseriesGroupsTlsVersionResponseMetaNormalization; /** Measurement units for the results. */ units: EmailSecurityTimeseriesGroupsTlsVersionResponseMetaUnitsList; } export const EmailSecurityTimeseriesGroupsTlsVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: EmailSecurityTimeseriesGroupsTlsVersionResponseMetaAggInterval, confidenceInfo: EmailSecurityTimeseriesGroupsTlsVersionResponseMetaConfidenceInfo, dateRange: EmailSecurityTimeseriesGroupsTlsVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: EmailSecurityTimeseriesGroupsTlsVersionResponseMetaNormalization, units: EmailSecurityTimeseriesGroupsTlsVersionResponseMetaUnitsList, }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsTlsVersionResponseMeta", }) as any as S.Schema; export type EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0TLS10List = Array; export const EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0TLS10List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0TLS11List = Array; export const EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0TLS11List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0TLS12List = Array; export const EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0TLS12List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0TLS13List = Array; export const EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0TLS13List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0 { TLS_1_0: EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0TLS10List; TLS_1_1: EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0TLS11List; TLS_1_2: EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0TLS12List; TLS_1_3: EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0TLS13List; } export const EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ TLS_1_0: EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0TLS10List.pipe( T.Body("TLS 1.0"), ), TLS_1_1: EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0TLS11List.pipe( T.Body("TLS 1.1"), ), TLS_1_2: EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0TLS12List.pipe( T.Body("TLS 1.2"), ), TLS_1_3: EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0TLS13List.pipe( T.Body("TLS 1.3"), ), }), ).annotate({ identifier: "EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TlsVersionEmailSecurityTimeseriesGroupResponse { /** Metadata for the results. */ meta: EmailSecurityTimeseriesGroupsTlsVersionResponseMeta; serie_0: EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0; } export const TlsVersionEmailSecurityTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: EmailSecurityTimeseriesGroupsTlsVersionResponseMeta, serie_0: EmailSecurityTimeseriesGroupsTlsVersionResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TlsVersionEmailSecurityTimeseriesGroupResponse", }) as any as S.Schema; export type HttpSummaryTlsVersionRequestAsnList = Array; export const HttpSummaryTlsVersionRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryTlsVersionRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpSummaryTlsVersionRequestBotClass = /*@__PURE__*/ S.String; export type HttpSummaryTlsVersionRequestBotClassList = Array< HttpSummaryTlsVersionRequestBotClass | (string & {}) >; export const HttpSummaryTlsVersionRequestBotClassList = /*@__PURE__*/ S.Array( HttpSummaryTlsVersionRequestBotClass, ) as any as S.Schema; export type HttpSummaryTlsVersionRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpSummaryTlsVersionRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpSummaryTlsVersionRequestBrowserFamilyList = Array< HttpSummaryTlsVersionRequestBrowserFamily | (string & {}) >; export const HttpSummaryTlsVersionRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpSummaryTlsVersionRequestBrowserFamily, ) as any as S.Schema; export type HttpSummaryTlsVersionRequestContinentList = Array; export const HttpSummaryTlsVersionRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryTlsVersionRequestDateEndList = Array; export const HttpSummaryTlsVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryTlsVersionRequestDateRangeList = Array; export const HttpSummaryTlsVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryTlsVersionRequestDateStartList = Array; export const HttpSummaryTlsVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryTlsVersionRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpSummaryTlsVersionRequestDeviceType = /*@__PURE__*/ S.String; export type HttpSummaryTlsVersionRequestDeviceTypeList = Array< HttpSummaryTlsVersionRequestDeviceType | (string & {}) >; export const HttpSummaryTlsVersionRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpSummaryTlsVersionRequestDeviceType, ) as any as S.Schema; export type HttpSummaryTlsVersionRequestFormat = "JSON" | "CSV"; export const HttpSummaryTlsVersionRequestFormat = /*@__PURE__*/ S.String; export type HttpSummaryTlsVersionRequestGeoIdList = Array; export const HttpSummaryTlsVersionRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryTlsVersionRequestHttpProtocol = "HTTP" | "HTTPS"; export const HttpSummaryTlsVersionRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpSummaryTlsVersionRequestHttpProtocolList = Array< HttpSummaryTlsVersionRequestHttpProtocol | (string & {}) >; export const HttpSummaryTlsVersionRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpSummaryTlsVersionRequestHttpProtocol, ) as any as S.Schema; export type HttpSummaryTlsVersionRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpSummaryTlsVersionRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpSummaryTlsVersionRequestHttpVersionList = Array< HttpSummaryTlsVersionRequestHttpVersion | (string & {}) >; export const HttpSummaryTlsVersionRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpSummaryTlsVersionRequestHttpVersion, ) as any as S.Schema; export type HttpSummaryTlsVersionRequestIpVersion = "IPv4" | "IPv6"; export const HttpSummaryTlsVersionRequestIpVersion = /*@__PURE__*/ S.String; export type HttpSummaryTlsVersionRequestIpVersionList = Array< HttpSummaryTlsVersionRequestIpVersion | (string & {}) >; export const HttpSummaryTlsVersionRequestIpVersionList = /*@__PURE__*/ S.Array( HttpSummaryTlsVersionRequestIpVersion, ) as any as S.Schema; export type HttpSummaryTlsVersionRequestLocationList = Array; export const HttpSummaryTlsVersionRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryTlsVersionRequestNameList = Array; export const HttpSummaryTlsVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpSummaryTlsVersionRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpSummaryTlsVersionRequestOs = /*@__PURE__*/ S.String; export type HttpSummaryTlsVersionRequestOsList = Array< HttpSummaryTlsVersionRequestOs | (string & {}) >; export const HttpSummaryTlsVersionRequestOsList = /*@__PURE__*/ S.Array( HttpSummaryTlsVersionRequestOs, ) as any as S.Schema; export interface TlsVersionHttpSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpSummaryTlsVersionRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpSummaryTlsVersionRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpSummaryTlsVersionRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpSummaryTlsVersionRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpSummaryTlsVersionRequestDateEndList; /** 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). */ dateRange?: HttpSummaryTlsVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpSummaryTlsVersionRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpSummaryTlsVersionRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpSummaryTlsVersionRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpSummaryTlsVersionRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpSummaryTlsVersionRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpSummaryTlsVersionRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpSummaryTlsVersionRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpSummaryTlsVersionRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpSummaryTlsVersionRequestNameList; /** Filters results by operating system. */ os?: HttpSummaryTlsVersionRequestOsList; } export const TlsVersionHttpSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(HttpSummaryTlsVersionRequestAsnList.pipe(T.Query())), botClass: S.optional( HttpSummaryTlsVersionRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpSummaryTlsVersionRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpSummaryTlsVersionRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpSummaryTlsVersionRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpSummaryTlsVersionRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpSummaryTlsVersionRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpSummaryTlsVersionRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional(HttpSummaryTlsVersionRequestFormat.pipe(T.Query())), geoId: S.optional(HttpSummaryTlsVersionRequestGeoIdList.pipe(T.Query())), httpProtocol: S.optional( HttpSummaryTlsVersionRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpSummaryTlsVersionRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpSummaryTlsVersionRequestIpVersionList.pipe(T.Query()), ), location: S.optional( HttpSummaryTlsVersionRequestLocationList.pipe(T.Query()), ), name: S.optional(HttpSummaryTlsVersionRequestNameList.pipe(T.Query())), os: S.optional(HttpSummaryTlsVersionRequestOsList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/summary/tls_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TlsVersionHttpSummaryRequest", }) as any as S.Schema; export type HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpSummaryTlsVersionResponseMetaConfidenceInfo { annotations: HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpSummaryTlsVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpSummaryTlsVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpSummaryTlsVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpSummaryTlsVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpSummaryTlsVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpSummaryTlsVersionResponseMetaDateRangeList = Array; export const HttpSummaryTlsVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpSummaryTlsVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpSummaryTlsVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpSummaryTlsVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpSummaryTlsVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpSummaryTlsVersionResponseMetaUnitsList = Array; export const HttpSummaryTlsVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpSummaryTlsVersionResponseMeta { confidenceInfo: HttpSummaryTlsVersionResponseMetaConfidenceInfo; dateRange: HttpSummaryTlsVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpSummaryTlsVersionResponseMetaNormalization; /** Measurement units for the results. */ units: HttpSummaryTlsVersionResponseMetaUnitsList; } export const HttpSummaryTlsVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: HttpSummaryTlsVersionResponseMetaConfidenceInfo, dateRange: HttpSummaryTlsVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpSummaryTlsVersionResponseMetaNormalization, units: HttpSummaryTlsVersionResponseMetaUnitsList, }), ).annotate({ identifier: "HttpSummaryTlsVersionResponseMeta", }) as any as S.Schema; export interface HttpSummaryTlsVersionResponseSummary0 { /** A numeric string. */ TLS_1_0: string; /** A numeric string. */ TLS_1_1: string; /** A numeric string. */ TLS_1_2: string; /** A numeric string. */ TLS_1_3: string; /** A numeric string. */ tLSQUIC: string; } export const HttpSummaryTlsVersionResponseSummary0 = /*@__PURE__*/ S.suspend( () => S.Struct({ TLS_1_0: S.String.pipe(T.Body("TLS 1.0")), TLS_1_1: S.String.pipe(T.Body("TLS 1.1")), TLS_1_2: S.String.pipe(T.Body("TLS 1.2")), TLS_1_3: S.String.pipe(T.Body("TLS 1.3")), tLSQUIC: S.String.pipe(T.Body("TLS QUIC")), }), ).annotate({ identifier: "HttpSummaryTlsVersionResponseSummary0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TlsVersionHttpSummaryResponse { /** Metadata for the results. */ meta: HttpSummaryTlsVersionResponseMeta; summary_0: HttpSummaryTlsVersionResponseSummary0; } export const TlsVersionHttpSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: HttpSummaryTlsVersionResponseMeta, summary_0: HttpSummaryTlsVersionResponseSummary0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TlsVersionHttpSummaryResponse", }) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const HttpTimeseriesGroupsTlsVersionRequestAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsTlsVersionRequestAsnList = Array; export const HttpTimeseriesGroupsTlsVersionRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionRequestBotClass = | "LIKELY_AUTOMATED" | "LIKELY_HUMAN"; export const HttpTimeseriesGroupsTlsVersionRequestBotClass = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsTlsVersionRequestBotClassList = Array< HttpTimeseriesGroupsTlsVersionRequestBotClass | (string & {}) >; export const HttpTimeseriesGroupsTlsVersionRequestBotClassList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsTlsVersionRequestBotClass, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionRequestBrowserFamily = | "CHROME" | "EDGE" | "FIREFOX" | "SAFARI"; export const HttpTimeseriesGroupsTlsVersionRequestBrowserFamily = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsTlsVersionRequestBrowserFamilyList = Array< HttpTimeseriesGroupsTlsVersionRequestBrowserFamily | (string & {}) >; export const HttpTimeseriesGroupsTlsVersionRequestBrowserFamilyList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsTlsVersionRequestBrowserFamily, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionRequestContinentList = Array; export const HttpTimeseriesGroupsTlsVersionRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionRequestDateEndList = Array; export const HttpTimeseriesGroupsTlsVersionRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionRequestDateRangeList = Array; export const HttpTimeseriesGroupsTlsVersionRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionRequestDateStartList = Array; export const HttpTimeseriesGroupsTlsVersionRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionRequestDeviceType = | "DESKTOP" | "MOBILE" | "OTHER"; export const HttpTimeseriesGroupsTlsVersionRequestDeviceType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsTlsVersionRequestDeviceTypeList = Array< HttpTimeseriesGroupsTlsVersionRequestDeviceType | (string & {}) >; export const HttpTimeseriesGroupsTlsVersionRequestDeviceTypeList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsTlsVersionRequestDeviceType, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionRequestFormat = "JSON" | "CSV"; export const HttpTimeseriesGroupsTlsVersionRequestFormat = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsTlsVersionRequestGeoIdList = Array; export const HttpTimeseriesGroupsTlsVersionRequestGeoIdList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionRequestHttpProtocol = | "HTTP" | "HTTPS"; export const HttpTimeseriesGroupsTlsVersionRequestHttpProtocol = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsTlsVersionRequestHttpProtocolList = Array< HttpTimeseriesGroupsTlsVersionRequestHttpProtocol | (string & {}) >; export const HttpTimeseriesGroupsTlsVersionRequestHttpProtocolList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsTlsVersionRequestHttpProtocol, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const HttpTimeseriesGroupsTlsVersionRequestHttpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsTlsVersionRequestHttpVersionList = Array< HttpTimeseriesGroupsTlsVersionRequestHttpVersion | (string & {}) >; export const HttpTimeseriesGroupsTlsVersionRequestHttpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsTlsVersionRequestHttpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionRequestIpVersion = "IPv4" | "IPv6"; export const HttpTimeseriesGroupsTlsVersionRequestIpVersion = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsTlsVersionRequestIpVersionList = Array< HttpTimeseriesGroupsTlsVersionRequestIpVersion | (string & {}) >; export const HttpTimeseriesGroupsTlsVersionRequestIpVersionList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsTlsVersionRequestIpVersion, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionRequestLocationList = Array; export const HttpTimeseriesGroupsTlsVersionRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionRequestNameList = Array; export const HttpTimeseriesGroupsTlsVersionRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionRequestOs = | "WINDOWS" | "MACOSX" | "IOS" | "ANDROID" | "CHROMEOS" | "LINUX" | "SMART_TV"; export const HttpTimeseriesGroupsTlsVersionRequestOs = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsTlsVersionRequestOsList = Array< HttpTimeseriesGroupsTlsVersionRequestOs | (string & {}) >; export const HttpTimeseriesGroupsTlsVersionRequestOsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsTlsVersionRequestOs, ) as any as S.Schema; export interface TlsVersionHttpTimeseriesGroupRequest { /** 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/). */ aggInterval?: | HttpTimeseriesGroupsTlsVersionRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: HttpTimeseriesGroupsTlsVersionRequestAsnList; /** Filters results by bot class. Refer to [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: HttpTimeseriesGroupsTlsVersionRequestBotClassList; /** Filters results by browser family. */ browserFamily?: HttpTimeseriesGroupsTlsVersionRequestBrowserFamilyList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: HttpTimeseriesGroupsTlsVersionRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: HttpTimeseriesGroupsTlsVersionRequestDateEndList; /** 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). */ dateRange?: HttpTimeseriesGroupsTlsVersionRequestDateRangeList; /** Start of the date range. */ dateStart?: HttpTimeseriesGroupsTlsVersionRequestDateStartList; /** Filters results by device type. */ deviceType?: HttpTimeseriesGroupsTlsVersionRequestDeviceTypeList; /** Format in which results will be returned. */ format?: HttpTimeseriesGroupsTlsVersionRequestFormat | (string & {}); /** Filters results by Geolocation. Specify a comma-separated list of GeoNames IDs. Prefix with `-` to exclude geoIds from results. For example, `-2267056,360689` excludes results from the 2267056 (Lisbon), but includes results from 5128638 (New York). */ geoId?: HttpTimeseriesGroupsTlsVersionRequestGeoIdList; /** Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: HttpTimeseriesGroupsTlsVersionRequestHttpProtocolList; /** Filters results by HTTP version. */ httpVersion?: HttpTimeseriesGroupsTlsVersionRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: HttpTimeseriesGroupsTlsVersionRequestIpVersionList; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: HttpTimeseriesGroupsTlsVersionRequestLocationList; /** Array of names used to label the series in the response. */ name?: HttpTimeseriesGroupsTlsVersionRequestNameList; /** Filters results by operating system. */ os?: HttpTimeseriesGroupsTlsVersionRequestOsList; } export const TlsVersionHttpTimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( HttpTimeseriesGroupsTlsVersionRequestAggInterval.pipe(T.Query()), ), asn: S.optional( HttpTimeseriesGroupsTlsVersionRequestAsnList.pipe(T.Query()), ), botClass: S.optional( HttpTimeseriesGroupsTlsVersionRequestBotClassList.pipe(T.Query()), ), browserFamily: S.optional( HttpTimeseriesGroupsTlsVersionRequestBrowserFamilyList.pipe(T.Query()), ), continent: S.optional( HttpTimeseriesGroupsTlsVersionRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( HttpTimeseriesGroupsTlsVersionRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( HttpTimeseriesGroupsTlsVersionRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( HttpTimeseriesGroupsTlsVersionRequestDateStartList.pipe(T.Query()), ), deviceType: S.optional( HttpTimeseriesGroupsTlsVersionRequestDeviceTypeList.pipe(T.Query()), ), format: S.optional( HttpTimeseriesGroupsTlsVersionRequestFormat.pipe(T.Query()), ), geoId: S.optional( HttpTimeseriesGroupsTlsVersionRequestGeoIdList.pipe(T.Query()), ), httpProtocol: S.optional( HttpTimeseriesGroupsTlsVersionRequestHttpProtocolList.pipe(T.Query()), ), httpVersion: S.optional( HttpTimeseriesGroupsTlsVersionRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( HttpTimeseriesGroupsTlsVersionRequestIpVersionList.pipe(T.Query()), ), location: S.optional( HttpTimeseriesGroupsTlsVersionRequestLocationList.pipe(T.Query()), ), name: S.optional( HttpTimeseriesGroupsTlsVersionRequestNameList.pipe(T.Query()), ), os: S.optional( HttpTimeseriesGroupsTlsVersionRequestOsList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/http/timeseries_groups/tls_version", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TlsVersionHttpTimeseriesGroupRequest", }) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const HttpTimeseriesGroupsTlsVersionResponseMetaAggInterval = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsList = Array; export const HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfo { annotations: HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfo", }) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const HttpTimeseriesGroupsTlsVersionResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type HttpTimeseriesGroupsTlsVersionResponseMetaDateRangeList = Array; export const HttpTimeseriesGroupsTlsVersionResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const HttpTimeseriesGroupsTlsVersionResponseMetaNormalization = /*@__PURE__*/ S.String; export type HttpTimeseriesGroupsTlsVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const HttpTimeseriesGroupsTlsVersionResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type HttpTimeseriesGroupsTlsVersionResponseMetaUnitsList = Array; export const HttpTimeseriesGroupsTlsVersionResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface HttpTimeseriesGroupsTlsVersionResponseMeta { /** 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/). */ aggInterval: HttpTimeseriesGroupsTlsVersionResponseMetaAggInterval; confidenceInfo: HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfo; dateRange: HttpTimeseriesGroupsTlsVersionResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: HttpTimeseriesGroupsTlsVersionResponseMetaNormalization; /** Measurement units for the results. */ units: HttpTimeseriesGroupsTlsVersionResponseMetaUnitsList; } export const HttpTimeseriesGroupsTlsVersionResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: HttpTimeseriesGroupsTlsVersionResponseMetaAggInterval, confidenceInfo: HttpTimeseriesGroupsTlsVersionResponseMetaConfidenceInfo, dateRange: HttpTimeseriesGroupsTlsVersionResponseMetaDateRangeList, lastUpdated: S.String, normalization: HttpTimeseriesGroupsTlsVersionResponseMetaNormalization, units: HttpTimeseriesGroupsTlsVersionResponseMetaUnitsList, }), ).annotate({ identifier: "HttpTimeseriesGroupsTlsVersionResponseMeta", }) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionResponseSerie0TimestampsList = Array; export const HttpTimeseriesGroupsTlsVersionResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionResponseSerie0TLS10List = Array; export const HttpTimeseriesGroupsTlsVersionResponseSerie0TLS10List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionResponseSerie0TLS11List = Array; export const HttpTimeseriesGroupsTlsVersionResponseSerie0TLS11List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionResponseSerie0TLS12List = Array; export const HttpTimeseriesGroupsTlsVersionResponseSerie0TLS12List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionResponseSerie0TLS13List = Array; export const HttpTimeseriesGroupsTlsVersionResponseSerie0TLS13List = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type HttpTimeseriesGroupsTlsVersionResponseSerie0TLSQUICList = Array; export const HttpTimeseriesGroupsTlsVersionResponseSerie0TLSQUICList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface HttpTimeseriesGroupsTlsVersionResponseSerie0 { timestamps: HttpTimeseriesGroupsTlsVersionResponseSerie0TimestampsList; TLS_1_0: HttpTimeseriesGroupsTlsVersionResponseSerie0TLS10List; TLS_1_1: HttpTimeseriesGroupsTlsVersionResponseSerie0TLS11List; TLS_1_2: HttpTimeseriesGroupsTlsVersionResponseSerie0TLS12List; TLS_1_3: HttpTimeseriesGroupsTlsVersionResponseSerie0TLS13List; tLSQUIC: HttpTimeseriesGroupsTlsVersionResponseSerie0TLSQUICList; } export const HttpTimeseriesGroupsTlsVersionResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: HttpTimeseriesGroupsTlsVersionResponseSerie0TimestampsList, TLS_1_0: HttpTimeseriesGroupsTlsVersionResponseSerie0TLS10List.pipe( T.Body("TLS 1.0"), ), TLS_1_1: HttpTimeseriesGroupsTlsVersionResponseSerie0TLS11List.pipe( T.Body("TLS 1.1"), ), TLS_1_2: HttpTimeseriesGroupsTlsVersionResponseSerie0TLS12List.pipe( T.Body("TLS 1.2"), ), TLS_1_3: HttpTimeseriesGroupsTlsVersionResponseSerie0TLS13List.pipe( T.Body("TLS 1.3"), ), tLSQUIC: HttpTimeseriesGroupsTlsVersionResponseSerie0TLSQUICList.pipe( T.Body("TLS QUIC"), ), }), ).annotate({ identifier: "HttpTimeseriesGroupsTlsVersionResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TlsVersionHttpTimeseriesGroupResponse { /** Metadata for the results. */ meta: HttpTimeseriesGroupsTlsVersionResponseMeta; serie_0: HttpTimeseriesGroupsTlsVersionResponseSerie0; } export const TlsVersionHttpTimeseriesGroupResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ meta: HttpTimeseriesGroupsTlsVersionResponseMeta, serie_0: HttpTimeseriesGroupsTlsVersionResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TlsVersionHttpTimeseriesGroupResponse", }) as any as S.Schema; export type RankingTopRequestDateList = Array; export const RankingTopRequestDateList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingTopRequestDomainCategoryList = Array; export const RankingTopRequestDomainCategoryList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingTopRequestFormat = "JSON" | "CSV"; export const RankingTopRequestFormat = /*@__PURE__*/ S.String; export type RankingTopRequestLocationList = Array; export const RankingTopRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingTopRequestNameList = Array; export const RankingTopRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingTopRequestRankingType = | "POPULAR" | "TRENDING_RISE" | "TRENDING_STEADY"; export const RankingTopRequestRankingType = /*@__PURE__*/ S.String; export interface TopRankingRequest { /** Filters results by the specified array of dates. */ date?: RankingTopRequestDateList; /** Filters results by domain category. */ domainCategory?: RankingTopRequestDomainCategoryList; /** Format in which results will be returned. */ format?: RankingTopRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 location codes. */ location?: RankingTopRequestLocationList; /** Array of names used to label the series in the response. */ name?: RankingTopRequestNameList; /** The ranking type. */ rankingType?: RankingTopRequestRankingType | (string & {}); } export const TopRankingRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ date: S.optional(RankingTopRequestDateList.pipe(T.Query())), domainCategory: S.optional( RankingTopRequestDomainCategoryList.pipe(T.Query()), ), format: S.optional(RankingTopRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional(RankingTopRequestLocationList.pipe(T.Query())), name: S.optional(RankingTopRequestNameList.pipe(T.Query())), rankingType: S.optional(RankingTopRequestRankingType.pipe(T.Query())), }) .pipe(T.Http({ method: "GET", uri: "/radar/ranking/top", code: 200 })) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TopRankingRequest", }) as any as S.Schema; export type RankingTopResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const RankingTopResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type RankingTopResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const RankingTopResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type RankingTopResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const RankingTopResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RankingTopResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: RankingTopResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: RankingTopResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: RankingTopResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const RankingTopResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: RankingTopResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: RankingTopResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr(RankingTopResponseMetaConfidenceInfoAnnotationsItemTagsList), ), }), ).annotate({ identifier: "RankingTopResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type RankingTopResponseMetaConfidenceInfoAnnotationsList = Array; export const RankingTopResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( RankingTopResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface RankingTopResponseMetaConfidenceInfo { annotations: RankingTopResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const RankingTopResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend( () => S.Struct({ annotations: RankingTopResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "RankingTopResponseMetaConfidenceInfo", }) as any as S.Schema; export type RankingTopResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const RankingTopResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type RankingTopResponseMetaDateRangeList = Array; export const RankingTopResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type RankingTopResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const RankingTopResponseMetaNormalization = /*@__PURE__*/ S.String; export type RankingTopResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const RankingTopResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type RankingTopResponseMetaUnitsList = Array; export const RankingTopResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface RankingTopResponseMeta { confidenceInfo: RankingTopResponseMetaConfidenceInfo; dateRange: RankingTopResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: RankingTopResponseMetaNormalization; /** Measurement units for the results. */ units: RankingTopResponseMetaUnitsList; } export const RankingTopResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: RankingTopResponseMetaConfidenceInfo, dateRange: RankingTopResponseMetaDateRangeList, lastUpdated: S.String, normalization: RankingTopResponseMetaNormalization, units: RankingTopResponseMetaUnitsList, }), ).annotate({ identifier: "RankingTopResponseMeta", }) as any as S.Schema; export type RankingTopResponseTop0ItemCategoriesItem = RankingDomainGetResponseDetails0CategoriesItem; export const RankingTopResponseTop0ItemCategoriesItem = RankingDomainGetResponseDetails0CategoriesItem; export type RankingTopResponseTop0ItemCategoriesList = Array; export const RankingTopResponseTop0ItemCategoriesList = /*@__PURE__*/ S.Array( RankingDomainGetResponseDetails0CategoriesItem, ) as any as S.Schema; export interface RankingTopResponseTop0Item { categories: RankingTopResponseTop0ItemCategoriesList; domain: string; rank: number; /** Only available in TRENDING rankings. */ pctRankChange?: number | null; } export const RankingTopResponseTop0Item = /*@__PURE__*/ S.suspend(() => S.Struct({ categories: RankingTopResponseTop0ItemCategoriesList, domain: S.String, rank: S.Number, pctRankChange: S.optional(S.NullOr(S.Number)), }), ).annotate({ identifier: "RankingTopResponseTop0Item", }) as any as S.Schema; export type RankingTopResponseTop0List = Array; export const RankingTopResponseTop0List = /*@__PURE__*/ S.Array( RankingTopResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TopRankingResponse { meta: RankingTopResponseMeta; top_0: RankingTopResponseTop0List; } export const TopRankingResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: RankingTopResponseMeta, top_0: RankingTopResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TopRankingResponse", }) as any as S.Schema; export type RankingInternetServicesTopRequestDateList = Array; export const RankingInternetServicesTopRequestDateList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingInternetServicesTopRequestFormat = "JSON" | "CSV"; export const RankingInternetServicesTopRequestFormat = /*@__PURE__*/ S.String; export type RankingInternetServicesTopRequestNameList = Array; export const RankingInternetServicesTopRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type RankingInternetServicesTopRequestServiceCategoryList = Array; export const RankingInternetServicesTopRequestServiceCategoryList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface TopRankingInternetServiceRequest { /** Filters results by the specified array of dates. */ date?: RankingInternetServicesTopRequestDateList; /** Format in which results will be returned. */ format?: RankingInternetServicesTopRequestFormat | (string & {}); /** Limits the number of objects returned in the response. */ limit?: number; /** Array of names used to label the series in the response. */ name?: RankingInternetServicesTopRequestNameList; /** Filters results by Internet service category. */ serviceCategory?: RankingInternetServicesTopRequestServiceCategoryList; } export const TopRankingInternetServiceRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ date: S.optional(RankingInternetServicesTopRequestDateList.pipe(T.Query())), format: S.optional(RankingInternetServicesTopRequestFormat.pipe(T.Query())), limit: S.optional(S.Number.pipe(T.Query())), name: S.optional(RankingInternetServicesTopRequestNameList.pipe(T.Query())), serviceCategory: S.optional( RankingInternetServicesTopRequestServiceCategoryList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/ranking/internet_services/top", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TopRankingInternetServiceRequest", }) as any as S.Schema; export type RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsList = Array; export const RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface RankingInternetServicesTopResponseMetaConfidenceInfo { annotations: RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const RankingInternetServicesTopResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: RankingInternetServicesTopResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "RankingInternetServicesTopResponseMetaConfidenceInfo", }) as any as S.Schema; export type RankingInternetServicesTopResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const RankingInternetServicesTopResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type RankingInternetServicesTopResponseMetaDateRangeList = Array; export const RankingInternetServicesTopResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type RankingInternetServicesTopResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const RankingInternetServicesTopResponseMetaNormalization = /*@__PURE__*/ S.String; export type RankingInternetServicesTopResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const RankingInternetServicesTopResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type RankingInternetServicesTopResponseMetaUnitsList = Array; export const RankingInternetServicesTopResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface RankingInternetServicesTopResponseMeta { confidenceInfo: RankingInternetServicesTopResponseMetaConfidenceInfo; dateRange: RankingInternetServicesTopResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: RankingInternetServicesTopResponseMetaNormalization; /** Measurement units for the results. */ units: RankingInternetServicesTopResponseMetaUnitsList; } export const RankingInternetServicesTopResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: RankingInternetServicesTopResponseMetaConfidenceInfo, dateRange: RankingInternetServicesTopResponseMetaDateRangeList, lastUpdated: S.String, normalization: RankingInternetServicesTopResponseMetaNormalization, units: RankingInternetServicesTopResponseMetaUnitsList, }), ).annotate({ identifier: "RankingInternetServicesTopResponseMeta", }) as any as S.Schema; export interface RankingInternetServicesTopResponseTop0Item { rank: number; service: string; } export const RankingInternetServicesTopResponseTop0Item = /*@__PURE__*/ S.suspend(() => S.Struct({ rank: S.Number, service: S.String, }), ).annotate({ identifier: "RankingInternetServicesTopResponseTop0Item", }) as any as S.Schema; export type RankingInternetServicesTopResponseTop0List = Array; export const RankingInternetServicesTopResponseTop0List = /*@__PURE__*/ S.Array( RankingInternetServicesTopResponseTop0Item, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface TopRankingInternetServiceResponse { meta: RankingInternetServicesTopResponseMeta; top_0: RankingInternetServicesTopResponseTop0List; } export const TopRankingInternetServiceResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: RankingInternetServicesTopResponseMeta, top_0: RankingInternetServicesTopResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TopRankingInternetServiceResponse", }) as any as S.Schema; export interface TransformToMarkdownRequest { accountId: string; } export const TransformToMarkdownRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), }) .pipe( T.Http({ method: "POST", uri: "/accounts/{account_id}/ai/tomarkdown", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "TransformToMarkdownRequest", }) as any as S.Schema; export interface AiToMarkdownCreateResultItem { data: string; format: string; mimeType: string; name: string; tokens: string; } export const AiToMarkdownCreateResultItem = /*@__PURE__*/ S.suspend(() => S.Struct({ data: S.String, format: S.String, mimeType: S.String, name: S.String, tokens: S.String, }), ).annotate({ identifier: "AiToMarkdownCreateResultItem", }) as any as S.Schema; export type AiToMarkdownCreateResultList = Array; export const AiToMarkdownCreateResultList = /*@__PURE__*/ S.Array( AiToMarkdownCreateResultItem, ) as any as S.Schema; export type TransformToMarkdownResponse = AiToMarkdownCreateResultList; export const TransformToMarkdownResponse = /*@__PURE__*/ S.suspend(() => AiToMarkdownCreateResultList.pipe( T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY), ), ).annotate({ identifier: "TransformToMarkdownResponse", }) as any as S.Schema; export type AiBotsSummaryUserAgentRequestAsnList = Array; export const AiBotsSummaryUserAgentRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsSummaryUserAgentRequestContinentList = Array; export const AiBotsSummaryUserAgentRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsSummaryUserAgentRequestDateEndList = Array; export const AiBotsSummaryUserAgentRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsSummaryUserAgentRequestDateRangeList = Array; export const AiBotsSummaryUserAgentRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsSummaryUserAgentRequestDateStartList = Array; export const AiBotsSummaryUserAgentRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsSummaryUserAgentRequestFormat = "JSON" | "CSV"; export const AiBotsSummaryUserAgentRequestFormat = /*@__PURE__*/ S.String; export type AiBotsSummaryUserAgentRequestLocationList = Array; export const AiBotsSummaryUserAgentRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiBotsSummaryUserAgentRequestNameList = Array; export const AiBotsSummaryUserAgentRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface UserAgentAiBotSummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AiBotsSummaryUserAgentRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AiBotsSummaryUserAgentRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AiBotsSummaryUserAgentRequestDateEndList; /** 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). */ dateRange?: AiBotsSummaryUserAgentRequestDateRangeList; /** Start of the date range. */ dateStart?: AiBotsSummaryUserAgentRequestDateStartList; /** Format in which results will be returned. */ format?: AiBotsSummaryUserAgentRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AiBotsSummaryUserAgentRequestLocationList; /** Array of names used to label the series in the response. */ name?: AiBotsSummaryUserAgentRequestNameList; } export const UserAgentAiBotSummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(AiBotsSummaryUserAgentRequestAsnList.pipe(T.Query())), continent: S.optional( AiBotsSummaryUserAgentRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AiBotsSummaryUserAgentRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AiBotsSummaryUserAgentRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AiBotsSummaryUserAgentRequestDateStartList.pipe(T.Query()), ), format: S.optional(AiBotsSummaryUserAgentRequestFormat.pipe(T.Query())), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AiBotsSummaryUserAgentRequestLocationList.pipe(T.Query()), ), name: S.optional(AiBotsSummaryUserAgentRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/ai/bots/summary/user_agent", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UserAgentAiBotSummaryRequest", }) as any as S.Schema; export type AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsList = Array; export const AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AiBotsSummaryUserAgentResponseMetaConfidenceInfo { annotations: AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AiBotsSummaryUserAgentResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AiBotsSummaryUserAgentResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AiBotsSummaryUserAgentResponseMetaConfidenceInfo", }) as any as S.Schema; export type AiBotsSummaryUserAgentResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AiBotsSummaryUserAgentResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AiBotsSummaryUserAgentResponseMetaDateRangeList = Array; export const AiBotsSummaryUserAgentResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AiBotsSummaryUserAgentResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AiBotsSummaryUserAgentResponseMetaNormalization = /*@__PURE__*/ S.String; export type AiBotsSummaryUserAgentResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AiBotsSummaryUserAgentResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AiBotsSummaryUserAgentResponseMetaUnitsList = Array; export const AiBotsSummaryUserAgentResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AiBotsSummaryUserAgentResponseMeta { confidenceInfo: AiBotsSummaryUserAgentResponseMetaConfidenceInfo; dateRange: AiBotsSummaryUserAgentResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AiBotsSummaryUserAgentResponseMetaNormalization; /** Measurement units for the results. */ units: AiBotsSummaryUserAgentResponseMetaUnitsList; } export const AiBotsSummaryUserAgentResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ confidenceInfo: AiBotsSummaryUserAgentResponseMetaConfidenceInfo, dateRange: AiBotsSummaryUserAgentResponseMetaDateRangeList, lastUpdated: S.String, normalization: AiBotsSummaryUserAgentResponseMetaNormalization, units: AiBotsSummaryUserAgentResponseMetaUnitsList, }), ).annotate({ identifier: "AiBotsSummaryUserAgentResponseMeta", }) as any as S.Schema; export type AiBotsSummaryUserAgentResponseSummary0Map = { [key: string]: string | undefined; }; export const AiBotsSummaryUserAgentResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface UserAgentAiBotSummaryResponse { /** Metadata for the results. */ meta: AiBotsSummaryUserAgentResponseMeta; summary_0: AiBotsSummaryUserAgentResponseSummary0Map; } export const UserAgentAiBotSummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AiBotsSummaryUserAgentResponseMeta, summary_0: AiBotsSummaryUserAgentResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UserAgentAiBotSummaryResponse", }) as any as S.Schema; export type AiTimeseriesGroupsUserAgentRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AiTimeseriesGroupsUserAgentRequestAggInterval = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsUserAgentRequestAsnList = Array; export const AiTimeseriesGroupsUserAgentRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsUserAgentRequestContinentList = Array; export const AiTimeseriesGroupsUserAgentRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsUserAgentRequestDateEndList = Array; export const AiTimeseriesGroupsUserAgentRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsUserAgentRequestDateRangeList = Array; export const AiTimeseriesGroupsUserAgentRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsUserAgentRequestDateStartList = Array; export const AiTimeseriesGroupsUserAgentRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsUserAgentRequestFormat = "JSON" | "CSV"; export const AiTimeseriesGroupsUserAgentRequestFormat = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsUserAgentRequestLocationList = Array; export const AiTimeseriesGroupsUserAgentRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AiTimeseriesGroupsUserAgentRequestNameList = Array; export const AiTimeseriesGroupsUserAgentRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface UserAgentAiTimeseriesGroupRequest { /** 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/). */ aggInterval?: AiTimeseriesGroupsUserAgentRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AiTimeseriesGroupsUserAgentRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AiTimeseriesGroupsUserAgentRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AiTimeseriesGroupsUserAgentRequestDateEndList; /** 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). */ dateRange?: AiTimeseriesGroupsUserAgentRequestDateRangeList; /** Start of the date range. */ dateStart?: AiTimeseriesGroupsUserAgentRequestDateStartList; /** Format in which results will be returned. */ format?: AiTimeseriesGroupsUserAgentRequestFormat | (string & {}); /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AiTimeseriesGroupsUserAgentRequestLocationList; /** Array of names used to label the series in the response. */ name?: AiTimeseriesGroupsUserAgentRequestNameList; } export const UserAgentAiTimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AiTimeseriesGroupsUserAgentRequestAggInterval.pipe(T.Query()), ), asn: S.optional(AiTimeseriesGroupsUserAgentRequestAsnList.pipe(T.Query())), continent: S.optional( AiTimeseriesGroupsUserAgentRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AiTimeseriesGroupsUserAgentRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AiTimeseriesGroupsUserAgentRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AiTimeseriesGroupsUserAgentRequestDateStartList.pipe(T.Query()), ), format: S.optional( AiTimeseriesGroupsUserAgentRequestFormat.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AiTimeseriesGroupsUserAgentRequestLocationList.pipe(T.Query()), ), name: S.optional( AiTimeseriesGroupsUserAgentRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/ai/bots/timeseries_groups/user_agent", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UserAgentAiTimeseriesGroupRequest", }) as any as S.Schema; export type AiTimeseriesGroupsUserAgentResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AiTimeseriesGroupsUserAgentResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsList = Array; export const AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfo { annotations: AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfo", }) as any as S.Schema; export type AiTimeseriesGroupsUserAgentResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AiTimeseriesGroupsUserAgentResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AiTimeseriesGroupsUserAgentResponseMetaDateRangeList = Array; export const AiTimeseriesGroupsUserAgentResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AiTimeseriesGroupsUserAgentResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AiTimeseriesGroupsUserAgentResponseMetaNormalization = /*@__PURE__*/ S.String; export type AiTimeseriesGroupsUserAgentResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AiTimeseriesGroupsUserAgentResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AiTimeseriesGroupsUserAgentResponseMetaUnitsList = Array; export const AiTimeseriesGroupsUserAgentResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AiTimeseriesGroupsUserAgentResponseMeta { /** 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/). */ aggInterval: AiTimeseriesGroupsUserAgentResponseMetaAggInterval; confidenceInfo: AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfo; dateRange: AiTimeseriesGroupsUserAgentResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AiTimeseriesGroupsUserAgentResponseMetaNormalization; /** Measurement units for the results. */ units: AiTimeseriesGroupsUserAgentResponseMetaUnitsList; } export const AiTimeseriesGroupsUserAgentResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: AiTimeseriesGroupsUserAgentResponseMetaAggInterval, confidenceInfo: AiTimeseriesGroupsUserAgentResponseMetaConfidenceInfo, dateRange: AiTimeseriesGroupsUserAgentResponseMetaDateRangeList, lastUpdated: S.String, normalization: AiTimeseriesGroupsUserAgentResponseMetaNormalization, units: AiTimeseriesGroupsUserAgentResponseMetaUnitsList, }), ).annotate({ identifier: "AiTimeseriesGroupsUserAgentResponseMeta", }) as any as S.Schema; export type AiTimeseriesGroupsUserAgentResponseSerie0TimestampsList = Array; export const AiTimeseriesGroupsUserAgentResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AiTimeseriesGroupsUserAgentResponseSerie0 { timestamps: AiTimeseriesGroupsUserAgentResponseSerie0TimestampsList; } export const AiTimeseriesGroupsUserAgentResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: AiTimeseriesGroupsUserAgentResponseSerie0TimestampsList, }), ).annotate({ identifier: "AiTimeseriesGroupsUserAgentResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface UserAgentAiTimeseriesGroupResponse { /** Metadata for the results. */ meta: AiTimeseriesGroupsUserAgentResponseMeta; serie_0: AiTimeseriesGroupsUserAgentResponseSerie0; } export const UserAgentAiTimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AiTimeseriesGroupsUserAgentResponseMeta, serie_0: AiTimeseriesGroupsUserAgentResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "UserAgentAiTimeseriesGroupResponse", }) as any as S.Schema; export type AttacksLayer3SummaryVectorRequestContinentList = Array; export const AttacksLayer3SummaryVectorRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryVectorRequestDateEndList = Array; export const AttacksLayer3SummaryVectorRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryVectorRequestDateRangeList = Array; export const AttacksLayer3SummaryVectorRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryVectorRequestDateStartList = Array; export const AttacksLayer3SummaryVectorRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryVectorRequestDirection = "ORIGIN" | "TARGET"; export const AttacksLayer3SummaryVectorRequestDirection = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryVectorRequestFormat = "JSON" | "CSV"; export const AttacksLayer3SummaryVectorRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryVectorRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer3SummaryVectorRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryVectorRequestIpVersionList = Array< AttacksLayer3SummaryVectorRequestIpVersion | (string & {}) >; export const AttacksLayer3SummaryVectorRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryVectorRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3SummaryVectorRequestLocationList = Array; export const AttacksLayer3SummaryVectorRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryVectorRequestNameList = Array; export const AttacksLayer3SummaryVectorRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryVectorRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3SummaryVectorRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryVectorRequestProtocolList = Array< AttacksLayer3SummaryVectorRequestProtocol | (string & {}) >; export const AttacksLayer3SummaryVectorRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryVectorRequestProtocol, ) as any as S.Schema; export interface VectorAttackLayer3SummaryRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3SummaryVectorRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3SummaryVectorRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3SummaryVectorRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3SummaryVectorRequestDateStartList; /** Specifies whether the `location` filter applies to the source or target location. */ direction?: AttacksLayer3SummaryVectorRequestDirection | (string & {}); /** Format in which results will be returned. */ format?: AttacksLayer3SummaryVectorRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3SummaryVectorRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3SummaryVectorRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3SummaryVectorRequestNameList; /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3SummaryVectorRequestProtocolList; } export const VectorAttackLayer3SummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( AttacksLayer3SummaryVectorRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer3SummaryVectorRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3SummaryVectorRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer3SummaryVectorRequestDateStartList.pipe(T.Query()), ), direction: S.optional( AttacksLayer3SummaryVectorRequestDirection.pipe(T.Query()), ), format: S.optional(AttacksLayer3SummaryVectorRequestFormat.pipe(T.Query())), ipVersion: S.optional( AttacksLayer3SummaryVectorRequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer3SummaryVectorRequestLocationList.pipe(T.Query()), ), name: S.optional(AttacksLayer3SummaryVectorRequestNameList.pipe(T.Query())), protocol: S.optional( AttacksLayer3SummaryVectorRequestProtocolList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/summary/vector", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "VectorAttackLayer3SummaryRequest", }) as any as S.Schema; export type AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3SummaryVectorResponseMetaConfidenceInfo { annotations: AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3SummaryVectorResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3SummaryVectorResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3SummaryVectorResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3SummaryVectorResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3SummaryVectorResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3SummaryVectorResponseMetaDateRangeList = Array; export const AttacksLayer3SummaryVectorResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3SummaryVectorResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3SummaryVectorResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryVectorResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3SummaryVectorResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3SummaryVectorResponseMetaUnitsList = Array; export const AttacksLayer3SummaryVectorResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3SummaryVectorResponseMeta { confidenceInfo: AttacksLayer3SummaryVectorResponseMetaConfidenceInfo; dateRange: AttacksLayer3SummaryVectorResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3SummaryVectorResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3SummaryVectorResponseMetaUnitsList; } export const AttacksLayer3SummaryVectorResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: AttacksLayer3SummaryVectorResponseMetaConfidenceInfo, dateRange: AttacksLayer3SummaryVectorResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3SummaryVectorResponseMetaNormalization, units: AttacksLayer3SummaryVectorResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3SummaryVectorResponseMeta", }) as any as S.Schema; export type AttacksLayer3SummaryVectorResponseSummary0Map = { [key: string]: string | undefined; }; export const AttacksLayer3SummaryVectorResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface VectorAttackLayer3SummaryResponse { /** Metadata for the results. */ meta: AttacksLayer3SummaryVectorResponseMeta; summary_0: AttacksLayer3SummaryVectorResponseSummary0Map; } export const VectorAttackLayer3SummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3SummaryVectorResponseMeta, summary_0: AttacksLayer3SummaryVectorResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "VectorAttackLayer3SummaryResponse", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVectorRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer3TimeseriesGroupsVectorRequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVectorRequestContinentList = Array; export const AttacksLayer3TimeseriesGroupsVectorRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVectorRequestDateEndList = Array; export const AttacksLayer3TimeseriesGroupsVectorRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVectorRequestDateRangeList = Array; export const AttacksLayer3TimeseriesGroupsVectorRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVectorRequestDateStartList = Array; export const AttacksLayer3TimeseriesGroupsVectorRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVectorRequestDirection = | "ORIGIN" | "TARGET"; export const AttacksLayer3TimeseriesGroupsVectorRequestDirection = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVectorRequestFormat = "JSON" | "CSV"; export const AttacksLayer3TimeseriesGroupsVectorRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVectorRequestIpVersion = | "IPv4" | "IPv6"; export const AttacksLayer3TimeseriesGroupsVectorRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVectorRequestIpVersionList = Array< AttacksLayer3TimeseriesGroupsVectorRequestIpVersion | (string & {}) >; export const AttacksLayer3TimeseriesGroupsVectorRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsVectorRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVectorRequestLocationList = Array; export const AttacksLayer3TimeseriesGroupsVectorRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVectorRequestNameList = Array; export const AttacksLayer3TimeseriesGroupsVectorRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVectorRequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const AttacksLayer3TimeseriesGroupsVectorRequestNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVectorRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3TimeseriesGroupsVectorRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVectorRequestProtocolList = Array< AttacksLayer3TimeseriesGroupsVectorRequestProtocol | (string & {}) >; export const AttacksLayer3TimeseriesGroupsVectorRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsVectorRequestProtocol, ) as any as S.Schema; export interface VectorAttackLayer3TimeseriesGroupRequest { /** 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/). */ aggInterval?: | AttacksLayer3TimeseriesGroupsVectorRequestAggInterval | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3TimeseriesGroupsVectorRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3TimeseriesGroupsVectorRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3TimeseriesGroupsVectorRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3TimeseriesGroupsVectorRequestDateStartList; /** Specifies whether the `location` filter applies to the source or target location. */ direction?: | AttacksLayer3TimeseriesGroupsVectorRequestDirection | (string & {}); /** Format in which results will be returned. */ format?: AttacksLayer3TimeseriesGroupsVectorRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3TimeseriesGroupsVectorRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3TimeseriesGroupsVectorRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3TimeseriesGroupsVectorRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AttacksLayer3TimeseriesGroupsVectorRequestNormalization | (string & {}); /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3TimeseriesGroupsVectorRequestProtocolList; } export const VectorAttackLayer3TimeseriesGroupRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ aggInterval: S.optional( AttacksLayer3TimeseriesGroupsVectorRequestAggInterval.pipe(T.Query()), ), continent: S.optional( AttacksLayer3TimeseriesGroupsVectorRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer3TimeseriesGroupsVectorRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3TimeseriesGroupsVectorRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer3TimeseriesGroupsVectorRequestDateStartList.pipe(T.Query()), ), direction: S.optional( AttacksLayer3TimeseriesGroupsVectorRequestDirection.pipe(T.Query()), ), format: S.optional( AttacksLayer3TimeseriesGroupsVectorRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer3TimeseriesGroupsVectorRequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer3TimeseriesGroupsVectorRequestLocationList.pipe(T.Query()), ), name: S.optional( AttacksLayer3TimeseriesGroupsVectorRequestNameList.pipe(T.Query()), ), normalization: S.optional( AttacksLayer3TimeseriesGroupsVectorRequestNormalization.pipe(T.Query()), ), protocol: S.optional( AttacksLayer3TimeseriesGroupsVectorRequestProtocolList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/timeseries_groups/vector", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "VectorAttackLayer3TimeseriesGroupRequest", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVectorResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer3TimeseriesGroupsVectorResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfo { annotations: AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVectorResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3TimeseriesGroupsVectorResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3TimeseriesGroupsVectorResponseMetaDateRangeList = Array; export const AttacksLayer3TimeseriesGroupsVectorResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVectorResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3TimeseriesGroupsVectorResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVectorResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3TimeseriesGroupsVectorResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3TimeseriesGroupsVectorResponseMetaUnitsList = Array; export const AttacksLayer3TimeseriesGroupsVectorResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsVectorResponseMeta { /** 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/). */ aggInterval: AttacksLayer3TimeseriesGroupsVectorResponseMetaAggInterval; confidenceInfo: AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfo; dateRange: AttacksLayer3TimeseriesGroupsVectorResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3TimeseriesGroupsVectorResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3TimeseriesGroupsVectorResponseMetaUnitsList; } export const AttacksLayer3TimeseriesGroupsVectorResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer3TimeseriesGroupsVectorResponseMetaAggInterval, confidenceInfo: AttacksLayer3TimeseriesGroupsVectorResponseMetaConfidenceInfo, dateRange: AttacksLayer3TimeseriesGroupsVectorResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3TimeseriesGroupsVectorResponseMetaNormalization, units: AttacksLayer3TimeseriesGroupsVectorResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsVectorResponseMeta", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVectorResponseSerie0TimestampsList = Array; export const AttacksLayer3TimeseriesGroupsVectorResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsVectorResponseSerie0 { timestamps: AttacksLayer3TimeseriesGroupsVectorResponseSerie0TimestampsList; } export const AttacksLayer3TimeseriesGroupsVectorResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: AttacksLayer3TimeseriesGroupsVectorResponseSerie0TimestampsList, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsVectorResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface VectorAttackLayer3TimeseriesGroupResponse { /** Metadata for the results. */ meta: AttacksLayer3TimeseriesGroupsVectorResponseMeta; serie_0: AttacksLayer3TimeseriesGroupsVectorResponseSerie0; } export const VectorAttackLayer3TimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3TimeseriesGroupsVectorResponseMeta, serie_0: AttacksLayer3TimeseriesGroupsVectorResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "VectorAttackLayer3TimeseriesGroupResponse", }) as any as S.Schema; export type AttacksLayer3SummaryVerticalRequestContinentList = Array; export const AttacksLayer3SummaryVerticalRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryVerticalRequestDateEndList = Array; export const AttacksLayer3SummaryVerticalRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryVerticalRequestDateRangeList = Array; export const AttacksLayer3SummaryVerticalRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryVerticalRequestDateStartList = Array; export const AttacksLayer3SummaryVerticalRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryVerticalRequestDirection = "ORIGIN" | "TARGET"; export const AttacksLayer3SummaryVerticalRequestDirection = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryVerticalRequestFormat = "JSON" | "CSV"; export const AttacksLayer3SummaryVerticalRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryVerticalRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer3SummaryVerticalRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryVerticalRequestIpVersionList = Array< AttacksLayer3SummaryVerticalRequestIpVersion | (string & {}) >; export const AttacksLayer3SummaryVerticalRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryVerticalRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3SummaryVerticalRequestLocationList = Array; export const AttacksLayer3SummaryVerticalRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryVerticalRequestNameList = Array; export const AttacksLayer3SummaryVerticalRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3SummaryVerticalRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3SummaryVerticalRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryVerticalRequestProtocolList = Array< AttacksLayer3SummaryVerticalRequestProtocol | (string & {}) >; export const AttacksLayer3SummaryVerticalRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryVerticalRequestProtocol, ) as any as S.Schema; export interface VerticalAttackLayer3SummaryRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3SummaryVerticalRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3SummaryVerticalRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3SummaryVerticalRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3SummaryVerticalRequestDateStartList; /** Specifies whether the `location` filter applies to the source or target location. */ direction?: AttacksLayer3SummaryVerticalRequestDirection | (string & {}); /** Format in which results will be returned. */ format?: AttacksLayer3SummaryVerticalRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3SummaryVerticalRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3SummaryVerticalRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3SummaryVerticalRequestNameList; /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3SummaryVerticalRequestProtocolList; } export const VerticalAttackLayer3SummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( AttacksLayer3SummaryVerticalRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer3SummaryVerticalRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3SummaryVerticalRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer3SummaryVerticalRequestDateStartList.pipe(T.Query()), ), direction: S.optional( AttacksLayer3SummaryVerticalRequestDirection.pipe(T.Query()), ), format: S.optional( AttacksLayer3SummaryVerticalRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer3SummaryVerticalRequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer3SummaryVerticalRequestLocationList.pipe(T.Query()), ), name: S.optional( AttacksLayer3SummaryVerticalRequestNameList.pipe(T.Query()), ), protocol: S.optional( AttacksLayer3SummaryVerticalRequestProtocolList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/summary/vertical", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "VerticalAttackLayer3SummaryRequest", }) as any as S.Schema; export type AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3SummaryVerticalResponseMetaConfidenceInfo { annotations: AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3SummaryVerticalResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3SummaryVerticalResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3SummaryVerticalResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3SummaryVerticalResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3SummaryVerticalResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3SummaryVerticalResponseMetaDateRangeList = Array; export const AttacksLayer3SummaryVerticalResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3SummaryVerticalResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3SummaryVerticalResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3SummaryVerticalResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3SummaryVerticalResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3SummaryVerticalResponseMetaUnitsList = Array; export const AttacksLayer3SummaryVerticalResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3SummaryVerticalResponseMeta { confidenceInfo: AttacksLayer3SummaryVerticalResponseMetaConfidenceInfo; dateRange: AttacksLayer3SummaryVerticalResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3SummaryVerticalResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3SummaryVerticalResponseMetaUnitsList; } export const AttacksLayer3SummaryVerticalResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: AttacksLayer3SummaryVerticalResponseMetaConfidenceInfo, dateRange: AttacksLayer3SummaryVerticalResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3SummaryVerticalResponseMetaNormalization, units: AttacksLayer3SummaryVerticalResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3SummaryVerticalResponseMeta", }) as any as S.Schema; export type AttacksLayer3SummaryVerticalResponseSummary0Map = { [key: string]: string | undefined; }; export const AttacksLayer3SummaryVerticalResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface VerticalAttackLayer3SummaryResponse { /** Metadata for the results. */ meta: AttacksLayer3SummaryVerticalResponseMeta; summary_0: AttacksLayer3SummaryVerticalResponseSummary0Map; } export const VerticalAttackLayer3SummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3SummaryVerticalResponseMeta, summary_0: AttacksLayer3SummaryVerticalResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "VerticalAttackLayer3SummaryResponse", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVerticalRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer3TimeseriesGroupsVerticalRequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVerticalRequestContinentList = Array; export const AttacksLayer3TimeseriesGroupsVerticalRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVerticalRequestDateEndList = Array; export const AttacksLayer3TimeseriesGroupsVerticalRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVerticalRequestDateRangeList = Array; export const AttacksLayer3TimeseriesGroupsVerticalRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVerticalRequestDateStartList = Array; export const AttacksLayer3TimeseriesGroupsVerticalRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVerticalRequestDirection = | "ORIGIN" | "TARGET"; export const AttacksLayer3TimeseriesGroupsVerticalRequestDirection = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVerticalRequestFormat = "JSON" | "CSV"; export const AttacksLayer3TimeseriesGroupsVerticalRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVerticalRequestIpVersion = | "IPv4" | "IPv6"; export const AttacksLayer3TimeseriesGroupsVerticalRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVerticalRequestIpVersionList = Array< AttacksLayer3TimeseriesGroupsVerticalRequestIpVersion | (string & {}) >; export const AttacksLayer3TimeseriesGroupsVerticalRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsVerticalRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVerticalRequestLocationList = Array; export const AttacksLayer3TimeseriesGroupsVerticalRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVerticalRequestNameList = Array; export const AttacksLayer3TimeseriesGroupsVerticalRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVerticalRequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const AttacksLayer3TimeseriesGroupsVerticalRequestNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVerticalRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3TimeseriesGroupsVerticalRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVerticalRequestProtocolList = Array< AttacksLayer3TimeseriesGroupsVerticalRequestProtocol | (string & {}) >; export const AttacksLayer3TimeseriesGroupsVerticalRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsVerticalRequestProtocol, ) as any as S.Schema; export interface VerticalAttackLayer3TimeseriesGroupRequest { /** 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/). */ aggInterval?: | AttacksLayer3TimeseriesGroupsVerticalRequestAggInterval | (string & {}); /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3TimeseriesGroupsVerticalRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3TimeseriesGroupsVerticalRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3TimeseriesGroupsVerticalRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3TimeseriesGroupsVerticalRequestDateStartList; /** Specifies whether the `location` filter applies to the source or target location. */ direction?: | AttacksLayer3TimeseriesGroupsVerticalRequestDirection | (string & {}); /** Format in which results will be returned. */ format?: AttacksLayer3TimeseriesGroupsVerticalRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3TimeseriesGroupsVerticalRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3TimeseriesGroupsVerticalRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3TimeseriesGroupsVerticalRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AttacksLayer3TimeseriesGroupsVerticalRequestNormalization | (string & {}); /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3TimeseriesGroupsVerticalRequestProtocolList; } export const VerticalAttackLayer3TimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AttacksLayer3TimeseriesGroupsVerticalRequestAggInterval.pipe(T.Query()), ), continent: S.optional( AttacksLayer3TimeseriesGroupsVerticalRequestContinentList.pipe( T.Query(), ), ), dateEnd: S.optional( AttacksLayer3TimeseriesGroupsVerticalRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3TimeseriesGroupsVerticalRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( AttacksLayer3TimeseriesGroupsVerticalRequestDateStartList.pipe( T.Query(), ), ), direction: S.optional( AttacksLayer3TimeseriesGroupsVerticalRequestDirection.pipe(T.Query()), ), format: S.optional( AttacksLayer3TimeseriesGroupsVerticalRequestFormat.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer3TimeseriesGroupsVerticalRequestIpVersionList.pipe( T.Query(), ), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer3TimeseriesGroupsVerticalRequestLocationList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer3TimeseriesGroupsVerticalRequestNameList.pipe(T.Query()), ), normalization: S.optional( AttacksLayer3TimeseriesGroupsVerticalRequestNormalization.pipe( T.Query(), ), ), protocol: S.optional( AttacksLayer3TimeseriesGroupsVerticalRequestProtocolList.pipe( T.Query(), ), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/timeseries_groups/vertical", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "VerticalAttackLayer3TimeseriesGroupRequest", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVerticalResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer3TimeseriesGroupsVerticalResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfo { annotations: AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVerticalResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3TimeseriesGroupsVerticalResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3TimeseriesGroupsVerticalResponseMetaDateRangeList = Array; export const AttacksLayer3TimeseriesGroupsVerticalResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVerticalResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3TimeseriesGroupsVerticalResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TimeseriesGroupsVerticalResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3TimeseriesGroupsVerticalResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3TimeseriesGroupsVerticalResponseMetaUnitsList = Array; export const AttacksLayer3TimeseriesGroupsVerticalResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsVerticalResponseMeta { /** 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/). */ aggInterval: AttacksLayer3TimeseriesGroupsVerticalResponseMetaAggInterval; confidenceInfo: AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfo; dateRange: AttacksLayer3TimeseriesGroupsVerticalResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3TimeseriesGroupsVerticalResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3TimeseriesGroupsVerticalResponseMetaUnitsList; } export const AttacksLayer3TimeseriesGroupsVerticalResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer3TimeseriesGroupsVerticalResponseMetaAggInterval, confidenceInfo: AttacksLayer3TimeseriesGroupsVerticalResponseMetaConfidenceInfo, dateRange: AttacksLayer3TimeseriesGroupsVerticalResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3TimeseriesGroupsVerticalResponseMetaNormalization, units: AttacksLayer3TimeseriesGroupsVerticalResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsVerticalResponseMeta", }) as any as S.Schema; export type AttacksLayer3TimeseriesGroupsVerticalResponseSerie0TimestampsList = Array; export const AttacksLayer3TimeseriesGroupsVerticalResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TimeseriesGroupsVerticalResponseSerie0 { timestamps: AttacksLayer3TimeseriesGroupsVerticalResponseSerie0TimestampsList; } export const AttacksLayer3TimeseriesGroupsVerticalResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: AttacksLayer3TimeseriesGroupsVerticalResponseSerie0TimestampsList, }), ).annotate({ identifier: "AttacksLayer3TimeseriesGroupsVerticalResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface VerticalAttackLayer3TimeseriesGroupResponse { /** Metadata for the results. */ meta: AttacksLayer3TimeseriesGroupsVerticalResponseMeta; serie_0: AttacksLayer3TimeseriesGroupsVerticalResponseSerie0; } export const VerticalAttackLayer3TimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3TimeseriesGroupsVerticalResponseMeta, serie_0: AttacksLayer3TimeseriesGroupsVerticalResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "VerticalAttackLayer3TimeseriesGroupResponse", }) as any as S.Schema; export type AttacksLayer3TopVerticalRequestContinentList = Array; export const AttacksLayer3TopVerticalRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopVerticalRequestDateEndList = Array; export const AttacksLayer3TopVerticalRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopVerticalRequestDateRangeList = Array; export const AttacksLayer3TopVerticalRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopVerticalRequestDateStartList = Array; export const AttacksLayer3TopVerticalRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopVerticalRequestFormat = "JSON" | "CSV"; export const AttacksLayer3TopVerticalRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer3TopVerticalRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer3TopVerticalRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer3TopVerticalRequestIpVersionList = Array< AttacksLayer3TopVerticalRequestIpVersion | (string & {}) >; export const AttacksLayer3TopVerticalRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer3TopVerticalRequestIpVersion, ) as any as S.Schema; export type AttacksLayer3TopVerticalRequestLocationList = Array; export const AttacksLayer3TopVerticalRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopVerticalRequestNameList = Array; export const AttacksLayer3TopVerticalRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer3TopVerticalRequestProtocol = | "UDP" | "TCP" | "ICMP" | "GRE"; export const AttacksLayer3TopVerticalRequestProtocol = /*@__PURE__*/ S.String; export type AttacksLayer3TopVerticalRequestProtocolList = Array< AttacksLayer3TopVerticalRequestProtocol | (string & {}) >; export const AttacksLayer3TopVerticalRequestProtocolList = /*@__PURE__*/ S.Array( AttacksLayer3TopVerticalRequestProtocol, ) as any as S.Schema; export interface VerticalAttackLayer3TopRequest { /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer3TopVerticalRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer3TopVerticalRequestDateEndList; /** 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). */ dateRange?: AttacksLayer3TopVerticalRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer3TopVerticalRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer3TopVerticalRequestFormat | (string & {}); /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer3TopVerticalRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer3TopVerticalRequestLocationList; /** Array of names used to label the series in the response. */ name?: AttacksLayer3TopVerticalRequestNameList; /** Filters the results by layer 3/4 protocol. */ protocol?: AttacksLayer3TopVerticalRequestProtocolList; } export const VerticalAttackLayer3TopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ continent: S.optional( AttacksLayer3TopVerticalRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer3TopVerticalRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer3TopVerticalRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer3TopVerticalRequestDateStartList.pipe(T.Query()), ), format: S.optional(AttacksLayer3TopVerticalRequestFormat.pipe(T.Query())), ipVersion: S.optional( AttacksLayer3TopVerticalRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer3TopVerticalRequestLocationList.pipe(T.Query()), ), name: S.optional(AttacksLayer3TopVerticalRequestNameList.pipe(T.Query())), protocol: S.optional( AttacksLayer3TopVerticalRequestProtocolList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer3/top/vertical", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "VerticalAttackLayer3TopRequest", }) as any as S.Schema; export type AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer3TopVerticalResponseMetaConfidenceInfo { annotations: AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer3TopVerticalResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer3TopVerticalResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer3TopVerticalResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer3TopVerticalResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer3TopVerticalResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer3TopVerticalResponseMetaDateRangeList = Array; export const AttacksLayer3TopVerticalResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer3TopVerticalResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer3TopVerticalResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer3TopVerticalResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3TopVerticalResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3TopVerticalResponseMetaUnitsList = Array; export const AttacksLayer3TopVerticalResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer3TopVerticalResponseMeta { confidenceInfo: AttacksLayer3TopVerticalResponseMetaConfidenceInfo; dateRange: AttacksLayer3TopVerticalResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer3TopVerticalResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer3TopVerticalResponseMetaUnitsList; } export const AttacksLayer3TopVerticalResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: AttacksLayer3TopVerticalResponseMetaConfidenceInfo, dateRange: AttacksLayer3TopVerticalResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer3TopVerticalResponseMetaNormalization, units: AttacksLayer3TopVerticalResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer3TopVerticalResponseMeta", }) as any as S.Schema; export type AttacksLayer3TopVerticalResponseTop0Item = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer3TopVerticalResponseTop0Item = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer3TopVerticalResponseTop0List = Array; export const AttacksLayer3TopVerticalResponseTop0List = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface VerticalAttackLayer3TopResponse { /** Metadata for the results. */ meta: AttacksLayer3TopVerticalResponseMeta; top_0: AttacksLayer3TopVerticalResponseTop0List; } export const VerticalAttackLayer3TopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer3TopVerticalResponseMeta, top_0: AttacksLayer3TopVerticalResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "VerticalAttackLayer3TopResponse", }) as any as S.Schema; export type AttacksLayer7SummaryVerticalRequestAsnList = Array; export const AttacksLayer7SummaryVerticalRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryVerticalRequestContinentList = Array; export const AttacksLayer7SummaryVerticalRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryVerticalRequestDateEndList = Array; export const AttacksLayer7SummaryVerticalRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryVerticalRequestDateRangeList = Array; export const AttacksLayer7SummaryVerticalRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryVerticalRequestDateStartList = Array; export const AttacksLayer7SummaryVerticalRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryVerticalRequestFormat = "JSON" | "CSV"; export const AttacksLayer7SummaryVerticalRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryVerticalRequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7SummaryVerticalRequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryVerticalRequestHttpMethodList = Array< AttacksLayer7SummaryVerticalRequestHttpMethod | (string & {}) >; export const AttacksLayer7SummaryVerticalRequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryVerticalRequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7SummaryVerticalRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7SummaryVerticalRequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryVerticalRequestHttpVersionList = Array< AttacksLayer7SummaryVerticalRequestHttpVersion | (string & {}) >; export const AttacksLayer7SummaryVerticalRequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryVerticalRequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7SummaryVerticalRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer7SummaryVerticalRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryVerticalRequestIpVersionList = Array< AttacksLayer7SummaryVerticalRequestIpVersion | (string & {}) >; export const AttacksLayer7SummaryVerticalRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryVerticalRequestIpVersion, ) as any as S.Schema; export type AttacksLayer7SummaryVerticalRequestLocationList = Array; export const AttacksLayer7SummaryVerticalRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7SummaryVerticalRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7SummaryVerticalRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryVerticalRequestMitigationProductList = Array< AttacksLayer7SummaryVerticalRequestMitigationProduct | (string & {}) >; export const AttacksLayer7SummaryVerticalRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryVerticalRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7SummaryVerticalRequestNameList = Array; export const AttacksLayer7SummaryVerticalRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface VerticalAttackLayer7SummaryRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7SummaryVerticalRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7SummaryVerticalRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7SummaryVerticalRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7SummaryVerticalRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7SummaryVerticalRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7SummaryVerticalRequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7SummaryVerticalRequestHttpMethodList; /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7SummaryVerticalRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7SummaryVerticalRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7SummaryVerticalRequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7SummaryVerticalRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7SummaryVerticalRequestNameList; } export const VerticalAttackLayer7SummaryRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(AttacksLayer7SummaryVerticalRequestAsnList.pipe(T.Query())), continent: S.optional( AttacksLayer7SummaryVerticalRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer7SummaryVerticalRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7SummaryVerticalRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer7SummaryVerticalRequestDateStartList.pipe(T.Query()), ), format: S.optional( AttacksLayer7SummaryVerticalRequestFormat.pipe(T.Query()), ), httpMethod: S.optional( AttacksLayer7SummaryVerticalRequestHttpMethodList.pipe(T.Query()), ), httpVersion: S.optional( AttacksLayer7SummaryVerticalRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer7SummaryVerticalRequestIpVersionList.pipe(T.Query()), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer7SummaryVerticalRequestLocationList.pipe(T.Query()), ), mitigationProduct: S.optional( AttacksLayer7SummaryVerticalRequestMitigationProductList.pipe(T.Query()), ), name: S.optional( AttacksLayer7SummaryVerticalRequestNameList.pipe(T.Query()), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/summary/vertical", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "VerticalAttackLayer7SummaryRequest", }) as any as S.Schema; export type AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7SummaryVerticalResponseMetaConfidenceInfo { annotations: AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7SummaryVerticalResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7SummaryVerticalResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7SummaryVerticalResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7SummaryVerticalResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7SummaryVerticalResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7SummaryVerticalResponseMetaDateRangeList = Array; export const AttacksLayer7SummaryVerticalResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7SummaryVerticalResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7SummaryVerticalResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7SummaryVerticalResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7SummaryVerticalResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7SummaryVerticalResponseMetaUnitsList = Array; export const AttacksLayer7SummaryVerticalResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7SummaryVerticalResponseMeta { confidenceInfo: AttacksLayer7SummaryVerticalResponseMetaConfidenceInfo; dateRange: AttacksLayer7SummaryVerticalResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7SummaryVerticalResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7SummaryVerticalResponseMetaUnitsList; } export const AttacksLayer7SummaryVerticalResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: AttacksLayer7SummaryVerticalResponseMetaConfidenceInfo, dateRange: AttacksLayer7SummaryVerticalResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7SummaryVerticalResponseMetaNormalization, units: AttacksLayer7SummaryVerticalResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7SummaryVerticalResponseMeta", }) as any as S.Schema; export type AttacksLayer7SummaryVerticalResponseSummary0Map = { [key: string]: string | undefined; }; export const AttacksLayer7SummaryVerticalResponseSummary0Map = /*@__PURE__*/ S.Record( S.String, S.String, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface VerticalAttackLayer7SummaryResponse { /** Metadata for the results. */ meta: AttacksLayer7SummaryVerticalResponseMeta; summary_0: AttacksLayer7SummaryVerticalResponseSummary0Map; } export const VerticalAttackLayer7SummaryResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer7SummaryVerticalResponseMeta, summary_0: AttacksLayer7SummaryVerticalResponseSummary0Map, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "VerticalAttackLayer7SummaryResponse", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsVerticalRequestAggInterval = | "15m" | "1h" | "1d" | "1w"; export const AttacksLayer7TimeseriesGroupsVerticalRequestAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsVerticalRequestAsnList = Array; export const AttacksLayer7TimeseriesGroupsVerticalRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsVerticalRequestContinentList = Array; export const AttacksLayer7TimeseriesGroupsVerticalRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsVerticalRequestDateEndList = Array; export const AttacksLayer7TimeseriesGroupsVerticalRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsVerticalRequestDateRangeList = Array; export const AttacksLayer7TimeseriesGroupsVerticalRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsVerticalRequestDateStartList = Array; export const AttacksLayer7TimeseriesGroupsVerticalRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsVerticalRequestFormat = "JSON" | "CSV"; export const AttacksLayer7TimeseriesGroupsVerticalRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsVerticalRequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7TimeseriesGroupsVerticalRequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsVerticalRequestHttpMethodList = Array< AttacksLayer7TimeseriesGroupsVerticalRequestHttpMethod | (string & {}) >; export const AttacksLayer7TimeseriesGroupsVerticalRequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsVerticalRequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsVerticalRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7TimeseriesGroupsVerticalRequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsVerticalRequestHttpVersionList = Array< AttacksLayer7TimeseriesGroupsVerticalRequestHttpVersion | (string & {}) >; export const AttacksLayer7TimeseriesGroupsVerticalRequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsVerticalRequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsVerticalRequestIpVersion = | "IPv4" | "IPv6"; export const AttacksLayer7TimeseriesGroupsVerticalRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsVerticalRequestIpVersionList = Array< AttacksLayer7TimeseriesGroupsVerticalRequestIpVersion | (string & {}) >; export const AttacksLayer7TimeseriesGroupsVerticalRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsVerticalRequestIpVersion, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsVerticalRequestLocationList = Array; export const AttacksLayer7TimeseriesGroupsVerticalRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsVerticalRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7TimeseriesGroupsVerticalRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsVerticalRequestMitigationProductList = Array< | AttacksLayer7TimeseriesGroupsVerticalRequestMitigationProduct | (string & {}) >; export const AttacksLayer7TimeseriesGroupsVerticalRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsVerticalRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsVerticalRequestNameList = Array; export const AttacksLayer7TimeseriesGroupsVerticalRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsVerticalRequestNormalization = | "PERCENTAGE" | "MIN0_MAX"; export const AttacksLayer7TimeseriesGroupsVerticalRequestNormalization = /*@__PURE__*/ S.String; export interface VerticalAttackLayer7TimeseriesGroupRequest { /** 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/). */ aggInterval?: | AttacksLayer7TimeseriesGroupsVerticalRequestAggInterval | (string & {}); /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7TimeseriesGroupsVerticalRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7TimeseriesGroupsVerticalRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7TimeseriesGroupsVerticalRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7TimeseriesGroupsVerticalRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7TimeseriesGroupsVerticalRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7TimeseriesGroupsVerticalRequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7TimeseriesGroupsVerticalRequestHttpMethodList; /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7TimeseriesGroupsVerticalRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7TimeseriesGroupsVerticalRequestIpVersionList; /** 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. */ limitPerGroup?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7TimeseriesGroupsVerticalRequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7TimeseriesGroupsVerticalRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7TimeseriesGroupsVerticalRequestNameList; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization?: | AttacksLayer7TimeseriesGroupsVerticalRequestNormalization | (string & {}); } export const VerticalAttackLayer7TimeseriesGroupRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: S.optional( AttacksLayer7TimeseriesGroupsVerticalRequestAggInterval.pipe(T.Query()), ), asn: S.optional( AttacksLayer7TimeseriesGroupsVerticalRequestAsnList.pipe(T.Query()), ), continent: S.optional( AttacksLayer7TimeseriesGroupsVerticalRequestContinentList.pipe( T.Query(), ), ), dateEnd: S.optional( AttacksLayer7TimeseriesGroupsVerticalRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7TimeseriesGroupsVerticalRequestDateRangeList.pipe( T.Query(), ), ), dateStart: S.optional( AttacksLayer7TimeseriesGroupsVerticalRequestDateStartList.pipe( T.Query(), ), ), format: S.optional( AttacksLayer7TimeseriesGroupsVerticalRequestFormat.pipe(T.Query()), ), httpMethod: S.optional( AttacksLayer7TimeseriesGroupsVerticalRequestHttpMethodList.pipe( T.Query(), ), ), httpVersion: S.optional( AttacksLayer7TimeseriesGroupsVerticalRequestHttpVersionList.pipe( T.Query(), ), ), ipVersion: S.optional( AttacksLayer7TimeseriesGroupsVerticalRequestIpVersionList.pipe( T.Query(), ), ), limitPerGroup: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer7TimeseriesGroupsVerticalRequestLocationList.pipe( T.Query(), ), ), mitigationProduct: S.optional( AttacksLayer7TimeseriesGroupsVerticalRequestMitigationProductList.pipe( T.Query(), ), ), name: S.optional( AttacksLayer7TimeseriesGroupsVerticalRequestNameList.pipe(T.Query()), ), normalization: S.optional( AttacksLayer7TimeseriesGroupsVerticalRequestNormalization.pipe( T.Query(), ), ), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/timeseries_groups/vertical", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "VerticalAttackLayer7TimeseriesGroupRequest", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsVerticalResponseMetaAggInterval = | "FIFTEEN_MINUTES" | "ONE_HOUR" | "ONE_DAY" | "ONE_WEEK" | "ONE_MONTH"; export const AttacksLayer7TimeseriesGroupsVerticalResponseMetaAggInterval = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfo { annotations: AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsVerticalResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7TimeseriesGroupsVerticalResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7TimeseriesGroupsVerticalResponseMetaDateRangeList = Array; export const AttacksLayer7TimeseriesGroupsVerticalResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsVerticalResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7TimeseriesGroupsVerticalResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7TimeseriesGroupsVerticalResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7TimeseriesGroupsVerticalResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7TimeseriesGroupsVerticalResponseMetaUnitsList = Array; export const AttacksLayer7TimeseriesGroupsVerticalResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsVerticalResponseMeta { /** 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/). */ aggInterval: AttacksLayer7TimeseriesGroupsVerticalResponseMetaAggInterval; confidenceInfo: AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfo; dateRange: AttacksLayer7TimeseriesGroupsVerticalResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7TimeseriesGroupsVerticalResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7TimeseriesGroupsVerticalResponseMetaUnitsList; } export const AttacksLayer7TimeseriesGroupsVerticalResponseMeta = /*@__PURE__*/ S.suspend(() => S.Struct({ aggInterval: AttacksLayer7TimeseriesGroupsVerticalResponseMetaAggInterval, confidenceInfo: AttacksLayer7TimeseriesGroupsVerticalResponseMetaConfidenceInfo, dateRange: AttacksLayer7TimeseriesGroupsVerticalResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7TimeseriesGroupsVerticalResponseMetaNormalization, units: AttacksLayer7TimeseriesGroupsVerticalResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsVerticalResponseMeta", }) as any as S.Schema; export type AttacksLayer7TimeseriesGroupsVerticalResponseSerie0TimestampsList = Array; export const AttacksLayer7TimeseriesGroupsVerticalResponseSerie0TimestampsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TimeseriesGroupsVerticalResponseSerie0 { timestamps: AttacksLayer7TimeseriesGroupsVerticalResponseSerie0TimestampsList; } export const AttacksLayer7TimeseriesGroupsVerticalResponseSerie0 = /*@__PURE__*/ S.suspend(() => S.Struct({ timestamps: AttacksLayer7TimeseriesGroupsVerticalResponseSerie0TimestampsList, }), ).annotate({ identifier: "AttacksLayer7TimeseriesGroupsVerticalResponseSerie0", }) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface VerticalAttackLayer7TimeseriesGroupResponse { /** Metadata for the results. */ meta: AttacksLayer7TimeseriesGroupsVerticalResponseMeta; serie_0: AttacksLayer7TimeseriesGroupsVerticalResponseSerie0; } export const VerticalAttackLayer7TimeseriesGroupResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer7TimeseriesGroupsVerticalResponseMeta, serie_0: AttacksLayer7TimeseriesGroupsVerticalResponseSerie0, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "VerticalAttackLayer7TimeseriesGroupResponse", }) as any as S.Schema; export type AttacksLayer7TopVerticalRequestAsnList = Array; export const AttacksLayer7TopVerticalRequestAsnList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopVerticalRequestContinentList = Array; export const AttacksLayer7TopVerticalRequestContinentList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopVerticalRequestDateEndList = Array; export const AttacksLayer7TopVerticalRequestDateEndList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopVerticalRequestDateRangeList = Array; export const AttacksLayer7TopVerticalRequestDateRangeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopVerticalRequestDateStartList = Array; export const AttacksLayer7TopVerticalRequestDateStartList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopVerticalRequestFormat = "JSON" | "CSV"; export const AttacksLayer7TopVerticalRequestFormat = /*@__PURE__*/ S.String; export type AttacksLayer7TopVerticalRequestHttpMethod = | "GET" | "POST" | "DELETE" | "PUT" | "HEAD" | "PURGE" | "OPTIONS" | "PROPFIND" | "MKCOL" | "PATCH" | "ACL" | "BCOPY" | "BDELETE" | "BMOVE" | "BPROPFIND" | "BPROPPATCH" | "CHECKIN" | "CHECKOUT" | "CONNECT" | "COPY" | "LABEL" | "LOCK" | "MERGE" | "MKACTIVITY" | "MKWORKSPACE" | "MOVE" | "NOTIFY" | "ORDERPATCH" | "POLL" | "PROPPATCH" | "REPORT" | "SEARCH" | "SUBSCRIBE" | "TRACE" | "UNCHECKOUT" | "UNLOCK" | "UNSUBSCRIBE" | "UPDATE" | "VERSIONCONTROL" | "BASELINECONTROL" | "XMSENUMATTS" | "RPC_OUT_DATA" | "RPC_IN_DATA" | "JSON" | "COOK" | "TRACK"; export const AttacksLayer7TopVerticalRequestHttpMethod = /*@__PURE__*/ S.String; export type AttacksLayer7TopVerticalRequestHttpMethodList = Array< AttacksLayer7TopVerticalRequestHttpMethod | (string & {}) >; export const AttacksLayer7TopVerticalRequestHttpMethodList = /*@__PURE__*/ S.Array( AttacksLayer7TopVerticalRequestHttpMethod, ) as any as S.Schema; export type AttacksLayer7TopVerticalRequestHttpVersion = | "HTTPv1" | "HTTPv2" | "HTTPv3"; export const AttacksLayer7TopVerticalRequestHttpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TopVerticalRequestHttpVersionList = Array< AttacksLayer7TopVerticalRequestHttpVersion | (string & {}) >; export const AttacksLayer7TopVerticalRequestHttpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TopVerticalRequestHttpVersion, ) as any as S.Schema; export type AttacksLayer7TopVerticalRequestIpVersion = "IPv4" | "IPv6"; export const AttacksLayer7TopVerticalRequestIpVersion = /*@__PURE__*/ S.String; export type AttacksLayer7TopVerticalRequestIpVersionList = Array< AttacksLayer7TopVerticalRequestIpVersion | (string & {}) >; export const AttacksLayer7TopVerticalRequestIpVersionList = /*@__PURE__*/ S.Array( AttacksLayer7TopVerticalRequestIpVersion, ) as any as S.Schema; export type AttacksLayer7TopVerticalRequestLocationList = Array; export const AttacksLayer7TopVerticalRequestLocationList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type AttacksLayer7TopVerticalRequestMitigationProduct = | "DDOS" | "WAF" | "BOT_MANAGEMENT" | "ACCESS_RULES" | "IP_REPUTATION" | "API_SHIELD" | "DATA_LOSS_PREVENTION"; export const AttacksLayer7TopVerticalRequestMitigationProduct = /*@__PURE__*/ S.String; export type AttacksLayer7TopVerticalRequestMitigationProductList = Array< AttacksLayer7TopVerticalRequestMitigationProduct | (string & {}) >; export const AttacksLayer7TopVerticalRequestMitigationProductList = /*@__PURE__*/ S.Array( AttacksLayer7TopVerticalRequestMitigationProduct, ) as any as S.Schema; export type AttacksLayer7TopVerticalRequestNameList = Array; export const AttacksLayer7TopVerticalRequestNameList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface VerticalAttackLayer7TopRequest { /** Filters results by Autonomous System. Specify one or more Autonomous System Numbers (ASNs) as a comma-separated list. Prefix with `-` to exclude ASNs from results. For example, `-174, 3356` excludes results from AS174, but includes results from AS3356. */ asn?: AttacksLayer7TopVerticalRequestAsnList; /** Filters results by continent. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude continents from results. For example, `-EU,NA` excludes results from EU, but includes results from NA. */ continent?: AttacksLayer7TopVerticalRequestContinentList; /** End of the date range (inclusive). */ dateEnd?: AttacksLayer7TopVerticalRequestDateEndList; /** 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). */ dateRange?: AttacksLayer7TopVerticalRequestDateRangeList; /** Start of the date range. */ dateStart?: AttacksLayer7TopVerticalRequestDateStartList; /** Format in which results will be returned. */ format?: AttacksLayer7TopVerticalRequestFormat | (string & {}); /** Filters results by HTTP method. */ httpMethod?: AttacksLayer7TopVerticalRequestHttpMethodList; /** Filters results by HTTP version. */ httpVersion?: AttacksLayer7TopVerticalRequestHttpVersionList; /** Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: AttacksLayer7TopVerticalRequestIpVersionList; /** Limits the number of objects returned in the response. */ limit?: number; /** Filters results by location. Specify a comma-separated list of alpha-2 codes. Prefix with `-` to exclude locations from results. For example, `-US,PT` excludes results from the US, but includes results from PT. */ location?: AttacksLayer7TopVerticalRequestLocationList; /** Filters the results by layer 7 mitigation product. */ mitigationProduct?: AttacksLayer7TopVerticalRequestMitigationProductList; /** Array of names used to label the series in the response. */ name?: AttacksLayer7TopVerticalRequestNameList; } export const VerticalAttackLayer7TopRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ asn: S.optional(AttacksLayer7TopVerticalRequestAsnList.pipe(T.Query())), continent: S.optional( AttacksLayer7TopVerticalRequestContinentList.pipe(T.Query()), ), dateEnd: S.optional( AttacksLayer7TopVerticalRequestDateEndList.pipe(T.Query()), ), dateRange: S.optional( AttacksLayer7TopVerticalRequestDateRangeList.pipe(T.Query()), ), dateStart: S.optional( AttacksLayer7TopVerticalRequestDateStartList.pipe(T.Query()), ), format: S.optional(AttacksLayer7TopVerticalRequestFormat.pipe(T.Query())), httpMethod: S.optional( AttacksLayer7TopVerticalRequestHttpMethodList.pipe(T.Query()), ), httpVersion: S.optional( AttacksLayer7TopVerticalRequestHttpVersionList.pipe(T.Query()), ), ipVersion: S.optional( AttacksLayer7TopVerticalRequestIpVersionList.pipe(T.Query()), ), limit: S.optional(S.Number.pipe(T.Query())), location: S.optional( AttacksLayer7TopVerticalRequestLocationList.pipe(T.Query()), ), mitigationProduct: S.optional( AttacksLayer7TopVerticalRequestMitigationProductList.pipe(T.Query()), ), name: S.optional(AttacksLayer7TopVerticalRequestNameList.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/radar/attacks/layer7/top/vertical", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "VerticalAttackLayer7TopRequest", }) as any as S.Schema; export type AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource = | "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"; export const AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource = /*@__PURE__*/ S.String; export type AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsItemEventType = | "EVENT" | "GENERAL" | "OUTAGE" | "PARTIAL_PROJECTION" | "PIPELINE" | "TRAFFIC_ANOMALY"; export const AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsItemEventType = /*@__PURE__*/ S.String; export type AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList = Array; export const AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsItem { /** Data source for annotations. */ dataSource: AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource; description: string; endDate: string; /** Event type for annotations. */ eventType: AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsItemEventType; /** Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; tags?: AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList | null; } export const AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsItem = /*@__PURE__*/ S.suspend(() => S.Struct({ dataSource: AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsItemDataSource, description: S.String, endDate: S.String, eventType: AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsItemEventType, isInstantaneous: S.Boolean, linkedUrl: S.String, startDate: S.String, tags: S.optional( S.NullOr( AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsItemTagsList, ), ), }), ).annotate({ identifier: "AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsItem", }) as any as S.Schema; export type AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsList = Array; export const AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsList = /*@__PURE__*/ S.Array( AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsItem, ) as any as S.Schema; export interface AttacksLayer7TopVerticalResponseMetaConfidenceInfo { annotations: AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsList; /** Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export const AttacksLayer7TopVerticalResponseMetaConfidenceInfo = /*@__PURE__*/ S.suspend(() => S.Struct({ annotations: AttacksLayer7TopVerticalResponseMetaConfidenceInfoAnnotationsList, level: S.Number, }), ).annotate({ identifier: "AttacksLayer7TopVerticalResponseMetaConfidenceInfo", }) as any as S.Schema; export type AttacksLayer7TopVerticalResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export const AttacksLayer7TopVerticalResponseMetaDateRangeItem = AiTimeseriesGroupsSummaryResponseMetaDateRangeItem; export type AttacksLayer7TopVerticalResponseMetaDateRangeList = Array; export const AttacksLayer7TopVerticalResponseMetaDateRangeList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaDateRangeItem, ) as any as S.Schema; export type AttacksLayer7TopVerticalResponseMetaNormalization = | "PERCENTAGE" | "MIN0_MAX" | "MIN_MAX" | "RAW_VALUES" | "PERCENTAGE_CHANGE" | "ROLLING_AVERAGE" | "OVERLAPPED_PERCENTAGE" | "RATIO"; export const AttacksLayer7TopVerticalResponseMetaNormalization = /*@__PURE__*/ S.String; export type AttacksLayer7TopVerticalResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7TopVerticalResponseMetaUnitsItem = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7TopVerticalResponseMetaUnitsList = Array; export const AttacksLayer7TopVerticalResponseMetaUnitsList = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; export interface AttacksLayer7TopVerticalResponseMeta { confidenceInfo: AttacksLayer7TopVerticalResponseMetaConfidenceInfo; dateRange: AttacksLayer7TopVerticalResponseMetaDateRangeList; /** Timestamp of the last dataset update. */ lastUpdated: string; /** Normalization method applied to the results. Refer to [Normalization methods](https://developers.cloudflare.com/radar/concepts/normalization/). */ normalization: AttacksLayer7TopVerticalResponseMetaNormalization; /** Measurement units for the results. */ units: AttacksLayer7TopVerticalResponseMetaUnitsList; } export const AttacksLayer7TopVerticalResponseMeta = /*@__PURE__*/ S.suspend( () => S.Struct({ confidenceInfo: AttacksLayer7TopVerticalResponseMetaConfidenceInfo, dateRange: AttacksLayer7TopVerticalResponseMetaDateRangeList, lastUpdated: S.String, normalization: AttacksLayer7TopVerticalResponseMetaNormalization, units: AttacksLayer7TopVerticalResponseMetaUnitsList, }), ).annotate({ identifier: "AttacksLayer7TopVerticalResponseMeta", }) as any as S.Schema; export type AttacksLayer7TopVerticalResponseTop0Item = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export const AttacksLayer7TopVerticalResponseTop0Item = AiTimeseriesGroupsSummaryResponseMetaUnitsItem; export type AttacksLayer7TopVerticalResponseTop0List = Array; export const AttacksLayer7TopVerticalResponseTop0List = /*@__PURE__*/ S.Array( AiTimeseriesGroupsSummaryResponseMetaUnitsItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface VerticalAttackLayer7TopResponse { /** Metadata for the results. */ meta: AttacksLayer7TopVerticalResponseMeta; top_0: AttacksLayer7TopVerticalResponseTop0List; } export const VerticalAttackLayer7TopResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ meta: AttacksLayer7TopVerticalResponseMeta, top_0: AttacksLayer7TopVerticalResponseTop0List, }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "VerticalAttackLayer7TopResponse", }) as any as S.Schema; export type AiTimeseriesGroupsSummaryError = CloudflareOpError; /** Retrieves an aggregated summary of AI bots HTTP requests grouped by the specified dimension. */ export const aiTimeseriesGroupsSummary: API.OperationMethod< AiTimeseriesGroupsSummaryRequest, AiTimeseriesGroupsSummaryResponse, AiTimeseriesGroupsSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: AiTimeseriesGroupsSummaryRequest, output: AiTimeseriesGroupsSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type AiTimeseriesGroupsTimeseriesError = CloudflareOpError; /** Retrieves AI bots HTTP request volume over time. */ export const aiTimeseriesGroupsTimeseries: API.OperationMethod< AiTimeseriesGroupsTimeseriesRequest, AiTimeseriesGroupsTimeseriesResponse, AiTimeseriesGroupsTimeseriesError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: AiTimeseriesGroupsTimeseriesRequest, output: AiTimeseriesGroupsTimeseriesResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type AiTimeseriesGroupsTimeseriesGroupsError = CloudflareOpError; /** Retrieves the distribution of HTTP requests from AI bots, grouped by the specified dimension over time. */ export const aiTimeseriesGroupsTimeseriesGroups: API.OperationMethod< AiTimeseriesGroupsTimeseriesGroupsRequest, AiTimeseriesGroupsTimeseriesGroupsResponse, AiTimeseriesGroupsTimeseriesGroupsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: AiTimeseriesGroupsTimeseriesGroupsRequest, output: AiTimeseriesGroupsTimeseriesGroupsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ArcEmailRoutingSummaryError = CloudflareOpError; /** Retrieves the distribution of emails by ARC (Authenticated Received Chain) validation. */ export const arcEmailRoutingSummary: API.OperationMethod< ArcEmailRoutingSummaryRequest, ArcEmailRoutingSummaryResponse, ArcEmailRoutingSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ArcEmailRoutingSummaryRequest, output: ArcEmailRoutingSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ArcEmailRoutingTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of emails by ARC (Authenticated Received Chain) validation over time. */ export const arcEmailRoutingTimeseriesGroup: API.OperationMethod< ArcEmailRoutingTimeseriesGroupRequest, ArcEmailRoutingTimeseriesGroupResponse, ArcEmailRoutingTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ArcEmailRoutingTimeseriesGroupRequest, output: ArcEmailRoutingTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ArcEmailSecuritySummaryError = CloudflareOpError; /** Retrieves the distribution of emails by ARC (Authenticated Received Chain) validation. */ export const arcEmailSecuritySummary: API.OperationMethod< ArcEmailSecuritySummaryRequest, ArcEmailSecuritySummaryResponse, ArcEmailSecuritySummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ArcEmailSecuritySummaryRequest, output: ArcEmailSecuritySummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ArcEmailSecurityTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of emails by ARC (Authenticated Received Chain) validation over time. */ export const arcEmailSecurityTimeseriesGroup: API.OperationMethod< ArcEmailSecurityTimeseriesGroupRequest, ArcEmailSecurityTimeseriesGroupResponse, ArcEmailSecurityTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ArcEmailSecurityTimeseriesGroupRequest, output: ArcEmailSecurityTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type AsesBgpIpTopError = CloudflareOpError; /** Returns the top-N autonomous systems by announced IP space at the nearest 8-hour RIB boundary at or before the requested date. The snapped boundary is returned as `anchor_ts`. */ export const asesBgpIpTop: API.OperationMethod< AsesBgpIpTopRequest, AsesBgpIpTopResponse, AsesBgpIpTopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: AsesBgpIpTopRequest, output: AsesBgpIpTopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type AsesBgpRouteError = CloudflareOpError; /** Retrieves all ASes in the current global routing tables with routing statistics. */ export const asesBgpRoute: API.OperationMethod< AsesBgpRouteRequest, AsesBgpRouteResponse, AsesBgpRouteError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: AsesBgpRouteRequest, output: AsesBgpRouteResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type AsesDnsTopError = CloudflareOpError; /** Retrieves the top autonomous systems by DNS queries made to 1.1.1.1 DNS resolver. */ export const asesDnsTop: API.OperationMethod< AsesDnsTopRequest, AsesDnsTopResponse, AsesDnsTopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: AsesDnsTopRequest, output: AsesDnsTopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type AsesNetflowTopError = CloudflareOpError; /** Retrieves the top autonomous systems by network traffic (NetFlows). */ export const asesNetflowTop: API.OperationMethod< AsesNetflowTopRequest, AsesNetflowTopResponse, AsesNetflowTopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: AsesNetflowTopRequest, output: AsesNetflowTopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type AsesQualitySpeedTopError = CloudflareOpError; /** Retrieves the top autonomous systems by bandwidth, latency, jitter, or packet loss, from the previous 90 days of Cloudflare Speed Test data. */ export const asesQualitySpeedTop: API.OperationMethod< AsesQualitySpeedTopRequest, AsesQualitySpeedTopResponse, AsesQualitySpeedTopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: AsesQualitySpeedTopRequest, output: AsesQualitySpeedTopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type AsSetEntityAsnError = CloudflareOpError; /** Retrieves Internet Routing Registry AS-SETs that an AS is a member of. */ export const asSetEntityAsn: API.OperationMethod< AsSetEntityAsnRequest, AsSetEntityAsnResponse, AsSetEntityAsnError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: AsSetEntityAsnRequest, output: AsSetEntityAsnResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type AttacksAttackLayer3TopError = CloudflareOpError; /** Retrieves the top layer 3 attacks from origin to target location. Values are a percentage out of the total layer 3 attacks (with billing country). You can optionally limit the number of attacks by origin/target location (useful if all the top attacks are from or to the same location). */ export const attacksAttackLayer3Top: API.OperationMethod< AttacksAttackLayer3TopRequest, AttacksAttackLayer3TopResponse, AttacksAttackLayer3TopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: AttacksAttackLayer3TopRequest, output: AttacksAttackLayer3TopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type AttacksAttackLayer7TopError = CloudflareOpError; /** Retrieves the top attacks from origin to target location. Values are percentages of the total layer 7 attacks (with billing country). The attack magnitude can be defined by the number of mitigated requests or by the number of zones affected. You can optionally limit the number of attacks by origin/target location (useful if all the top attacks are from or to the same location). */ export const attacksAttackLayer7Top: API.OperationMethod< AttacksAttackLayer7TopRequest, AttacksAttackLayer7TopResponse, AttacksAttackLayer7TopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: AttacksAttackLayer7TopRequest, output: AttacksAttackLayer7TopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type BitrateAttackLayer3SummaryError = CloudflareOpError; /** Retrieves the distribution of layer 3 attacks by bitrate. */ export const bitrateAttackLayer3Summary: API.OperationMethod< BitrateAttackLayer3SummaryRequest, BitrateAttackLayer3SummaryResponse, BitrateAttackLayer3SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: BitrateAttackLayer3SummaryRequest, output: BitrateAttackLayer3SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type BitrateAttackLayer3TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of layer 3 attacks by bitrate over time. */ export const bitrateAttackLayer3TimeseriesGroup: API.OperationMethod< BitrateAttackLayer3TimeseriesGroupRequest, BitrateAttackLayer3TimeseriesGroupResponse, BitrateAttackLayer3TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: BitrateAttackLayer3TimeseriesGroupRequest, output: BitrateAttackLayer3TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type BotClassHttpSummaryError = CloudflareOpError; /** Retrieves the distribution of bot-generated HTTP requests to genuine human traffic, as classified by Cloudflare. Visit https://developers.cloudflare.com/radar/concepts/bot-classes/ for more information. */ export const botClassHttpSummary: API.OperationMethod< BotClassHttpSummaryRequest, BotClassHttpSummaryResponse, BotClassHttpSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: BotClassHttpSummaryRequest, output: BotClassHttpSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type BotClassHttpTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of HTTP requests classified as automated or human over time. Visit https://developers.cloudflare.com/radar/concepts/bot-classes/ for more information. */ export const botClassHttpTimeseriesGroup: API.OperationMethod< BotClassHttpTimeseriesGroupRequest, BotClassHttpTimeseriesGroupResponse, BotClassHttpTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: BotClassHttpTimeseriesGroupRequest, output: BotClassHttpTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type BotClassLeakedCredentialSummaryError = CloudflareOpError; /** Retrieves the distribution of HTTP authentication requests by bot class. */ export const botClassLeakedCredentialSummary: API.OperationMethod< BotClassLeakedCredentialSummaryRequest, BotClassLeakedCredentialSummaryResponse, BotClassLeakedCredentialSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: BotClassLeakedCredentialSummaryRequest, output: BotClassLeakedCredentialSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type BotClassLeakedCredentialTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of HTTP authentication requests by bot class over time. */ export const botClassLeakedCredentialTimeseriesGroup: API.OperationMethod< BotClassLeakedCredentialTimeseriesGroupRequest, BotClassLeakedCredentialTimeseriesGroupResponse, BotClassLeakedCredentialTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: BotClassLeakedCredentialTimeseriesGroupRequest, output: BotClassLeakedCredentialTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type BotnetThreatFeedEntityAsnError = CloudflareOpError; /** Retrieves a ranked list of Autonomous Systems based on their presence in the Cloudflare Botnet Threat Feed. Rankings can be sorted by offense count or number of bad IPs. Optionally compare to a previous date to see rank changes. */ export const botnetThreatFeedEntityAsn: API.OperationMethod< BotnetThreatFeedEntityAsnRequest, BotnetThreatFeedEntityAsnResponse, BotnetThreatFeedEntityAsnError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: BotnetThreatFeedEntityAsnRequest, output: BotnetThreatFeedEntityAsnResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type BotsVerifiedBotTopError = CloudflareOpError; /** Retrieves the top verified bots by HTTP requests, with owner and category. */ export const botsVerifiedBotTop: API.OperationMethod< BotsVerifiedBotTopRequest, BotsVerifiedBotTopResponse, BotsVerifiedBotTopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: BotsVerifiedBotTopRequest, output: BotsVerifiedBotTopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type BrowserFamilyHttpTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of HTTP requests by user agent family over time. */ export const browserFamilyHttpTimeseriesGroup: API.OperationMethod< BrowserFamilyHttpTimeseriesGroupRequest, BrowserFamilyHttpTimeseriesGroupResponse, BrowserFamilyHttpTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: BrowserFamilyHttpTimeseriesGroupRequest, output: BrowserFamilyHttpTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type BrowserFamilyHttpTopError = CloudflareOpError; /** Retrieves the top user agents, aggregated in families, by HTTP requests. */ export const browserFamilyHttpTop: API.OperationMethod< BrowserFamilyHttpTopRequest, BrowserFamilyHttpTopResponse, BrowserFamilyHttpTopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: BrowserFamilyHttpTopRequest, output: BrowserFamilyHttpTopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type BrowserHttpTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of HTTP requests by user agent over time. */ export const browserHttpTimeseriesGroup: API.OperationMethod< BrowserHttpTimeseriesGroupRequest, BrowserHttpTimeseriesGroupResponse, BrowserHttpTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: BrowserHttpTimeseriesGroupRequest, output: BrowserHttpTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type BrowserHttpTopError = CloudflareOpError; /** Retrieves the top user agents by HTTP requests. */ export const browserHttpTop: API.OperationMethod< BrowserHttpTopRequest, BrowserHttpTopResponse, BrowserHttpTopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: BrowserHttpTopRequest, output: BrowserHttpTopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CacheHitDnsSummaryError = CloudflareOpError; /** Retrieves the distribution of DNS queries by cache status. */ export const cacheHitDnsSummary: API.OperationMethod< CacheHitDnsSummaryRequest, CacheHitDnsSummaryResponse, CacheHitDnsSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CacheHitDnsSummaryRequest, output: CacheHitDnsSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CacheHitDnsTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of DNS queries by cache status over time. */ export const cacheHitDnsTimeseriesGroup: API.OperationMethod< CacheHitDnsTimeseriesGroupRequest, CacheHitDnsTimeseriesGroupResponse, CacheHitDnsTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CacheHitDnsTimeseriesGroupRequest, output: CacheHitDnsTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CategoriesRankingInternetServiceError = CloudflareOpError; /** Retrieves the list of Internet services categories. */ export const categoriesRankingInternetService: API.OperationMethod< CategoriesRankingInternetServiceRequest, CategoriesRankingInternetServiceResponse, CategoriesRankingInternetServiceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CategoriesRankingInternetServiceRequest, output: CategoriesRankingInternetServiceResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CategoriesVerifiedBotTopError = CloudflareOpError; /** Retrieves the top verified bot categories by HTTP requests, along with their corresponding percentage, over the total verified bot HTTP requests. */ export const categoriesVerifiedBotTop: API.OperationMethod< CategoriesVerifiedBotTopRequest, CategoriesVerifiedBotTopResponse, CategoriesVerifiedBotTopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CategoriesVerifiedBotTopRequest, output: CategoriesVerifiedBotTopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ChangesBgpRpkiAspaError = CloudflareOpError; /** Retrieves ASPA (Autonomous System Provider Authorization) changes over time. Returns daily aggregated changes including additions, removals, and modifications of ASPA objects. */ export const changesBgpRpkiAspa: API.OperationMethod< ChangesBgpRpkiAspaRequest, ChangesBgpRpkiAspaResponse, ChangesBgpRpkiAspaError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ChangesBgpRpkiAspaRequest, output: ChangesBgpRpkiAspaResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CompromisedLeakedCredentialSummaryError = CloudflareOpError; /** Retrieves the distribution of HTTP authentication requests by compromised credential status. */ export const compromisedLeakedCredentialSummary: API.OperationMethod< CompromisedLeakedCredentialSummaryRequest, CompromisedLeakedCredentialSummaryResponse, CompromisedLeakedCredentialSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CompromisedLeakedCredentialSummaryRequest, output: CompromisedLeakedCredentialSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type CompromisedLeakedCredentialTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of HTTP authentication requests by compromised credential status over time. */ export const compromisedLeakedCredentialTimeseriesGroup: API.OperationMethod< CompromisedLeakedCredentialTimeseriesGroupRequest, CompromisedLeakedCredentialTimeseriesGroupResponse, CompromisedLeakedCredentialTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: CompromisedLeakedCredentialTimeseriesGroupRequest, output: CompromisedLeakedCredentialTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DeviceTypeHttpSummaryError = CloudflareOpError; /** Retrieves the distribution of HTTP requests generated by mobile, desktop, and other types of devices. */ export const deviceTypeHttpSummary: API.OperationMethod< DeviceTypeHttpSummaryRequest, DeviceTypeHttpSummaryResponse, DeviceTypeHttpSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeviceTypeHttpSummaryRequest, output: DeviceTypeHttpSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DeviceTypeHttpTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of HTTP requests by device type over time. */ export const deviceTypeHttpTimeseriesGroup: API.OperationMethod< DeviceTypeHttpTimeseriesGroupRequest, DeviceTypeHttpTimeseriesGroupResponse, DeviceTypeHttpTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DeviceTypeHttpTimeseriesGroupRequest, output: DeviceTypeHttpTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DirectiveRobotsTxtTopUserAgentError = CloudflareOpError; /** Retrieves the top user agents on robots.txt files. */ export const directiveRobotsTxtTopUserAgent: API.OperationMethod< DirectiveRobotsTxtTopUserAgentRequest, DirectiveRobotsTxtTopUserAgentResponse, DirectiveRobotsTxtTopUserAgentError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DirectiveRobotsTxtTopUserAgentRequest, output: DirectiveRobotsTxtTopUserAgentResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DkimEmailRoutingSummaryError = CloudflareOpError; /** Retrieves the distribution of emails by DKIM (DomainKeys Identified Mail) validation. */ export const dkimEmailRoutingSummary: API.OperationMethod< DkimEmailRoutingSummaryRequest, DkimEmailRoutingSummaryResponse, DkimEmailRoutingSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DkimEmailRoutingSummaryRequest, output: DkimEmailRoutingSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DkimEmailRoutingTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of emails by DKIM (DomainKeys Identified Mail) validation over time. */ export const dkimEmailRoutingTimeseriesGroup: API.OperationMethod< DkimEmailRoutingTimeseriesGroupRequest, DkimEmailRoutingTimeseriesGroupResponse, DkimEmailRoutingTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DkimEmailRoutingTimeseriesGroupRequest, output: DkimEmailRoutingTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DkimEmailSecuritySummaryError = CloudflareOpError; /** Retrieves the distribution of emails by DKIM (DomainKeys Identified Mail) validation. */ export const dkimEmailSecuritySummary: API.OperationMethod< DkimEmailSecuritySummaryRequest, DkimEmailSecuritySummaryResponse, DkimEmailSecuritySummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DkimEmailSecuritySummaryRequest, output: DkimEmailSecuritySummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DkimEmailSecurityTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of emails by DKIM (DomainKeys Identified Mail) validation over time. */ export const dkimEmailSecurityTimeseriesGroup: API.OperationMethod< DkimEmailSecurityTimeseriesGroupRequest, DkimEmailSecurityTimeseriesGroupResponse, DkimEmailSecurityTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DkimEmailSecurityTimeseriesGroupRequest, output: DkimEmailSecurityTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DmarcEmailRoutingSummaryError = CloudflareOpError; /** Retrieves the distribution of emails by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation. */ export const dmarcEmailRoutingSummary: API.OperationMethod< DmarcEmailRoutingSummaryRequest, DmarcEmailRoutingSummaryResponse, DmarcEmailRoutingSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DmarcEmailRoutingSummaryRequest, output: DmarcEmailRoutingSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DmarcEmailRoutingTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of emails by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation over time. */ export const dmarcEmailRoutingTimeseriesGroup: API.OperationMethod< DmarcEmailRoutingTimeseriesGroupRequest, DmarcEmailRoutingTimeseriesGroupResponse, DmarcEmailRoutingTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DmarcEmailRoutingTimeseriesGroupRequest, output: DmarcEmailRoutingTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DmarcEmailSecuritySummaryError = CloudflareOpError; /** Retrieves the distribution of emails by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation. */ export const dmarcEmailSecuritySummary: API.OperationMethod< DmarcEmailSecuritySummaryRequest, DmarcEmailSecuritySummaryResponse, DmarcEmailSecuritySummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DmarcEmailSecuritySummaryRequest, output: DmarcEmailSecuritySummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DmarcEmailSecurityTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of emails by DMARC (Domain-based Message Authentication, Reporting and Conformance) validation over time. */ export const dmarcEmailSecurityTimeseriesGroup: API.OperationMethod< DmarcEmailSecurityTimeseriesGroupRequest, DmarcEmailSecurityTimeseriesGroupResponse, DmarcEmailSecurityTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DmarcEmailSecurityTimeseriesGroupRequest, output: DmarcEmailSecurityTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DnssecAs112SummaryError = CloudflareOpError; /** Retrieves the distribution of DNS queries to AS112 by DNSSEC (DNS Security Extensions) support. */ export const dnssecAs112Summary: API.OperationMethod< DnssecAs112SummaryRequest, DnssecAs112SummaryResponse, DnssecAs112SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DnssecAs112SummaryRequest, output: DnssecAs112SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DnssecAs112TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of AS112 DNS queries by DNSSEC (DNS Security Extensions) support over time. */ export const dnssecAs112TimeseriesGroup: API.OperationMethod< DnssecAs112TimeseriesGroupRequest, DnssecAs112TimeseriesGroupResponse, DnssecAs112TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DnssecAs112TimeseriesGroupRequest, output: DnssecAs112TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DnssecAs112TopError = CloudflareOpError; /** Retrieves the top locations of DNS queries to AS112 with DNSSEC (DNS Security Extensions) support. */ export const dnssecAs112Top: API.OperationMethod< DnssecAs112TopRequest, DnssecAs112TopResponse, DnssecAs112TopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DnssecAs112TopRequest, output: DnssecAs112TopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DnssecAwareDnsSummaryError = CloudflareOpError; /** Retrieves the distribution of DNS queries by DNSSEC (DNS Security Extensions) client awareness. */ export const dnssecAwareDnsSummary: API.OperationMethod< DnssecAwareDnsSummaryRequest, DnssecAwareDnsSummaryResponse, DnssecAwareDnsSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DnssecAwareDnsSummaryRequest, output: DnssecAwareDnsSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DnssecAwareDnsTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of DNS queries by DNSSEC (DNS Security Extensions) client awareness over time. */ export const dnssecAwareDnsTimeseriesGroup: API.OperationMethod< DnssecAwareDnsTimeseriesGroupRequest, DnssecAwareDnsTimeseriesGroupResponse, DnssecAwareDnsTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DnssecAwareDnsTimeseriesGroupRequest, output: DnssecAwareDnsTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DnssecDnsSummaryError = CloudflareOpError; /** Retrieves the distribution of DNS responses by DNSSEC (DNS Security Extensions) support. */ export const dnssecDnsSummary: API.OperationMethod< DnssecDnsSummaryRequest, DnssecDnsSummaryResponse, DnssecDnsSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DnssecDnsSummaryRequest, output: DnssecDnsSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DnssecDnsTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of DNS responses by DNSSEC (DNS Security Extensions) support over time. */ export const dnssecDnsTimeseriesGroup: API.OperationMethod< DnssecDnsTimeseriesGroupRequest, DnssecDnsTimeseriesGroupResponse, DnssecDnsTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DnssecDnsTimeseriesGroupRequest, output: DnssecDnsTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DnssecE2EDnsSummaryError = CloudflareOpError; /** Retrieves the distribution of DNSSEC-validated answers by end-to-end security status. */ export const dnssecE2EDnsSummary: API.OperationMethod< DnssecE2EDnsSummaryRequest, DnssecE2EDnsSummaryResponse, DnssecE2EDnsSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DnssecE2EDnsSummaryRequest, output: DnssecE2EDnsSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DnssecE2EDnsTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of DNSSEC-validated answers by end-to-end security status over time. */ export const dnssecE2EDnsTimeseriesGroup: API.OperationMethod< DnssecE2EDnsTimeseriesGroupRequest, DnssecE2EDnsTimeseriesGroupResponse, DnssecE2EDnsTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DnssecE2EDnsTimeseriesGroupRequest, output: DnssecE2EDnsTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DomainCategoriesRobotsTxtTopError = CloudflareOpError; /** Retrieves the top domain categories by the number of robots.txt files parsed. */ export const domainCategoriesRobotsTxtTop: API.OperationMethod< DomainCategoriesRobotsTxtTopRequest, DomainCategoriesRobotsTxtTopResponse, DomainCategoriesRobotsTxtTopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DomainCategoriesRobotsTxtTopRequest, output: DomainCategoriesRobotsTxtTopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DownloadDatasetError = CloudflareOpError; /** Retrieves an URL to download a single dataset. */ export const downloadDataset: API.OperationMethod< DownloadDatasetRequest, DownloadDatasetResponse, DownloadDatasetError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DownloadDatasetRequest, output: DownloadDatasetResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DurationAttackLayer3SummaryError = CloudflareOpError; /** Retrieves the distribution of layer 3 attacks by duration. */ export const durationAttackLayer3Summary: API.OperationMethod< DurationAttackLayer3SummaryRequest, DurationAttackLayer3SummaryResponse, DurationAttackLayer3SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DurationAttackLayer3SummaryRequest, output: DurationAttackLayer3SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DurationAttackLayer3TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of layer 3 attacks by duration over time. */ export const durationAttackLayer3TimeseriesGroup: API.OperationMethod< DurationAttackLayer3TimeseriesGroupRequest, DurationAttackLayer3TimeseriesGroupResponse, DurationAttackLayer3TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DurationAttackLayer3TimeseriesGroupRequest, output: DurationAttackLayer3TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type EdnsAs112SummaryError = CloudflareOpError; /** Retrieves the distribution of DNS queries to AS112 by EDNS (Extension Mechanisms for DNS) support. */ export const ednsAs112Summary: API.OperationMethod< EdnsAs112SummaryRequest, EdnsAs112SummaryResponse, EdnsAs112SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: EdnsAs112SummaryRequest, output: EdnsAs112SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type EdnsAs112TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of AS112 DNS queries by EDNS (Extension Mechanisms for DNS) support over time. */ export const ednsAs112TimeseriesGroup: API.OperationMethod< EdnsAs112TimeseriesGroupRequest, EdnsAs112TimeseriesGroupResponse, EdnsAs112TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: EdnsAs112TimeseriesGroupRequest, output: EdnsAs112TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type EdnsAs112TopError = CloudflareOpError; /** Retrieves the top locations of DNS queries to AS112 with EDNS (Extension Mechanisms for DNS) support. */ export const ednsAs112Top: API.OperationMethod< EdnsAs112TopRequest, EdnsAs112TopResponse, EdnsAs112TopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: EdnsAs112TopRequest, output: EdnsAs112TopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type EncryptedEmailRoutingSummaryError = CloudflareOpError; /** Retrieves the distribution of emails by encryption status (encrypted vs. not-encrypted). */ export const encryptedEmailRoutingSummary: API.OperationMethod< EncryptedEmailRoutingSummaryRequest, EncryptedEmailRoutingSummaryResponse, EncryptedEmailRoutingSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: EncryptedEmailRoutingSummaryRequest, output: EncryptedEmailRoutingSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type EncryptedEmailRoutingTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of emails by encryption status (encrypted vs. not-encrypted) over time. */ export const encryptedEmailRoutingTimeseriesGroup: API.OperationMethod< EncryptedEmailRoutingTimeseriesGroupRequest, EncryptedEmailRoutingTimeseriesGroupResponse, EncryptedEmailRoutingTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: EncryptedEmailRoutingTimeseriesGroupRequest, output: EncryptedEmailRoutingTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetAnnotationOutageError = CloudflareOpError; /** Retrieves the latest Internet outages and anomalies. */ export const getAnnotationOutage: API.OperationMethod< GetAnnotationOutageRequest, GetAnnotationOutageResponse, GetAnnotationOutageError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetAnnotationOutageRequest, output: GetAnnotationOutageResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetBgpTopAsError = CloudflareOpError; /** Retrieves the top autonomous systems by BGP updates (announcements only). */ export const getBgpTopAs: API.OperationMethod< GetBgpTopAsRequest, GetBgpTopAsResponse, GetBgpTopAsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetBgpTopAsRequest, output: GetBgpTopAsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetBotError = CloudflareOpError; /** Retrieves the requested bot information. */ export const getBot: API.OperationMethod< GetBotRequest, GetBotResponse, GetBotError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetBotRequest, output: GetBotResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetCtAuthorityError = CloudflareOpError; /** Retrieves the requested CA information. */ export const getCtAuthority: API.OperationMethod< GetCtAuthorityRequest, GetCtAuthorityResponse, GetCtAuthorityError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetCtAuthorityRequest, output: GetCtAuthorityResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetCtLogError = CloudflareOpError; /** Retrieves the requested certificate log information. */ export const getCtLog: API.OperationMethod< GetCtLogRequest, GetCtLogResponse, GetCtLogError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetCtLogRequest, output: GetCtLogResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetDatasetError = CloudflareOpError; /** Retrieves the CSV content of a given dataset by alias or ID. When getting the content by alias the latest dataset is returned, optionally filtered by the latest available at a given date. */ export const getDataset: API.OperationMethod< GetDatasetRequest, GetDatasetResponse, GetDatasetError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetDatasetRequest, output: GetDatasetResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetEmailSecurityTopTldError = CloudflareOpError; /** Retrieves the top TLDs by number of email messages. */ export const getEmailSecurityTopTld: API.OperationMethod< GetEmailSecurityTopTldRequest, GetEmailSecurityTopTldResponse, GetEmailSecurityTopTldError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetEmailSecurityTopTldRequest, output: GetEmailSecurityTopTldResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetEmailSecurityTopTldMaliciousError = CloudflareOpError; /** Retrieves the top TLDs by emails classified as malicious or not. */ export const getEmailSecurityTopTldMalicious: API.OperationMethod< GetEmailSecurityTopTldMaliciousRequest, GetEmailSecurityTopTldMaliciousResponse, GetEmailSecurityTopTldMaliciousError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetEmailSecurityTopTldMaliciousRequest, output: GetEmailSecurityTopTldMaliciousResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetEmailSecurityTopTldSpamError = CloudflareOpError; /** Retrieves the top TLDs by emails classified as spam or not. */ export const getEmailSecurityTopTldSpam: API.OperationMethod< GetEmailSecurityTopTldSpamRequest, GetEmailSecurityTopTldSpamResponse, GetEmailSecurityTopTldSpamError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetEmailSecurityTopTldSpamRequest, output: GetEmailSecurityTopTldSpamResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetEmailSecurityTopTldSpoofError = CloudflareOpError; /** Retrieves the top TLDs by emails classified as spoof or not. */ export const getEmailSecurityTopTldSpoof: API.OperationMethod< GetEmailSecurityTopTldSpoofRequest, GetEmailSecurityTopTldSpoofResponse, GetEmailSecurityTopTldSpoofError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetEmailSecurityTopTldSpoofRequest, output: GetEmailSecurityTopTldSpoofResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetEntityError = CloudflareOpError; /** Retrieves IP address information. */ export const getEntity: API.OperationMethod< GetEntityRequest, GetEntityResponse, GetEntityError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetEntityRequest, output: GetEntityResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetEntityAsnError = CloudflareOpError; /** Retrieves the requested autonomous system information. (A confidence level below `5` indicates a low level of confidence in the traffic data - normally this happens because Cloudflare has a small amount of traffic from/to this AS). Population estimates come from APNIC (refer to https://labs.apnic.net/?p=526). */ export const getEntityAsn: API.OperationMethod< GetEntityAsnRequest, GetEntityAsnResponse, GetEntityAsnError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetEntityAsnRequest, output: GetEntityAsnResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetEntityLocationError = CloudflareOpError; /** Retrieves the requested location information. (A confidence level below `5` indicates a low level of confidence in the traffic data - normally this happens because Cloudflare has a small amount of traffic from/to this location). */ export const getEntityLocation: API.OperationMethod< GetEntityLocationRequest, GetEntityLocationResponse, GetEntityLocationError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetEntityLocationRequest, output: GetEntityLocationResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetGeolocationError = CloudflareOpError; /** Retrieves the requested Geolocation information. Geolocation names can be localized by sending an `Accept-Language` HTTP header with a BCP 47 language tag (e.g., `Accept-Language: pt-PT`). The full quality-value chain is supported (e.g., `pt-PT,pt;q=0.9,en;q=0.8`). */ export const getGeolocation: API.OperationMethod< GetGeolocationRequest, GetGeolocationResponse, GetGeolocationError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetGeolocationRequest, output: GetGeolocationResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpAsError = CloudflareOpError; /** Retrieves the top autonomous systems by HTTP requests. */ export const getHttpAs: API.OperationMethod< GetHttpAsRequest, GetHttpAsResponse, GetHttpAsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpAsRequest, output: GetHttpAsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpAsBotClassError = CloudflareOpError; /** Retrieves the top autonomous systems, by HTTP requests, of the requested bot class. */ export const getHttpAsBotClass: API.OperationMethod< GetHttpAsBotClassRequest, GetHttpAsBotClassResponse, GetHttpAsBotClassError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpAsBotClassRequest, output: GetHttpAsBotClassResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpAsBrowserFamilyError = CloudflareOpError; /** Retrieves the top autonomous systems, by HTTP requests, of the requested browser family. */ export const getHttpAsBrowserFamily: API.OperationMethod< GetHttpAsBrowserFamilyRequest, GetHttpAsBrowserFamilyResponse, GetHttpAsBrowserFamilyError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpAsBrowserFamilyRequest, output: GetHttpAsBrowserFamilyResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpAsDeviceTypeError = CloudflareOpError; /** Retrieves the top autonomous systems, by HTTP requests, of the requested device type. */ export const getHttpAsDeviceType: API.OperationMethod< GetHttpAsDeviceTypeRequest, GetHttpAsDeviceTypeResponse, GetHttpAsDeviceTypeError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpAsDeviceTypeRequest, output: GetHttpAsDeviceTypeResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpAsHttpMethodError = CloudflareOpError; /** Retrieves the top autonomous systems, by HTTP requests, of the requested HTTP version. */ export const getHttpAsHttpMethod: API.OperationMethod< GetHttpAsHttpMethodRequest, GetHttpAsHttpMethodResponse, GetHttpAsHttpMethodError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpAsHttpMethodRequest, output: GetHttpAsHttpMethodResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpAsHttpProtocolError = CloudflareOpError; /** Retrieves the top autonomous systems, by HTTP requests, of the requested HTTP protocol. */ export const getHttpAsHttpProtocol: API.OperationMethod< GetHttpAsHttpProtocolRequest, GetHttpAsHttpProtocolResponse, GetHttpAsHttpProtocolError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpAsHttpProtocolRequest, output: GetHttpAsHttpProtocolResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpAsIpVersionError = CloudflareOpError; /** Retrieves the top autonomous systems, by HTTP requests, of the requested IP version. */ export const getHttpAsIpVersion: API.OperationMethod< GetHttpAsIpVersionRequest, GetHttpAsIpVersionResponse, GetHttpAsIpVersionError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpAsIpVersionRequest, output: GetHttpAsIpVersionResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpAsOsError = CloudflareOpError; /** Retrieves the top autonomous systems, by HTTP requests, of the requested operating system. */ export const getHttpAsOs: API.OperationMethod< GetHttpAsOsRequest, GetHttpAsOsResponse, GetHttpAsOsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpAsOsRequest, output: GetHttpAsOsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpAsTlsVersionError = CloudflareOpError; /** Retrieves the top autonomous systems, by HTTP requests, of the requested TLS protocol version. */ export const getHttpAsTlsVersion: API.OperationMethod< GetHttpAsTlsVersionRequest, GetHttpAsTlsVersionResponse, GetHttpAsTlsVersionError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpAsTlsVersionRequest, output: GetHttpAsTlsVersionResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpLocationError = CloudflareOpError; /** Retrieves the top locations by HTTP requests. */ export const getHttpLocation: API.OperationMethod< GetHttpLocationRequest, GetHttpLocationResponse, GetHttpLocationError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpLocationRequest, output: GetHttpLocationResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpLocationBotClassError = CloudflareOpError; /** Retrieves the top locations, by HTTP requests, of the requested bot class. */ export const getHttpLocationBotClass: API.OperationMethod< GetHttpLocationBotClassRequest, GetHttpLocationBotClassResponse, GetHttpLocationBotClassError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpLocationBotClassRequest, output: GetHttpLocationBotClassResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpLocationBrowserFamilyError = CloudflareOpError; /** Retrieves the top locations, by HTTP requests, of the requested browser family. */ export const getHttpLocationBrowserFamily: API.OperationMethod< GetHttpLocationBrowserFamilyRequest, GetHttpLocationBrowserFamilyResponse, GetHttpLocationBrowserFamilyError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpLocationBrowserFamilyRequest, output: GetHttpLocationBrowserFamilyResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpLocationDeviceTypeError = CloudflareOpError; /** Retrieves the top locations, by HTTP requests, of the requested device type. */ export const getHttpLocationDeviceType: API.OperationMethod< GetHttpLocationDeviceTypeRequest, GetHttpLocationDeviceTypeResponse, GetHttpLocationDeviceTypeError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpLocationDeviceTypeRequest, output: GetHttpLocationDeviceTypeResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpLocationHttpMethodError = CloudflareOpError; /** Retrieves the top locations, by HTTP requests, of the requested HTTP version. */ export const getHttpLocationHttpMethod: API.OperationMethod< GetHttpLocationHttpMethodRequest, GetHttpLocationHttpMethodResponse, GetHttpLocationHttpMethodError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpLocationHttpMethodRequest, output: GetHttpLocationHttpMethodResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpLocationHttpProtocolError = CloudflareOpError; /** Retrieves the top locations, by HTTP requests, of the requested HTTP protocol. */ export const getHttpLocationHttpProtocol: API.OperationMethod< GetHttpLocationHttpProtocolRequest, GetHttpLocationHttpProtocolResponse, GetHttpLocationHttpProtocolError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpLocationHttpProtocolRequest, output: GetHttpLocationHttpProtocolResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpLocationIpVersionError = CloudflareOpError; /** Retrieves the top locations, by HTTP requests, of the requested IP version. */ export const getHttpLocationIpVersion: API.OperationMethod< GetHttpLocationIpVersionRequest, GetHttpLocationIpVersionResponse, GetHttpLocationIpVersionError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpLocationIpVersionRequest, output: GetHttpLocationIpVersionResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpLocationOsError = CloudflareOpError; /** Retrieves the top locations, by HTTP requests, of the requested operating system. */ export const getHttpLocationOs: API.OperationMethod< GetHttpLocationOsRequest, GetHttpLocationOsResponse, GetHttpLocationOsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpLocationOsRequest, output: GetHttpLocationOsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetHttpLocationTlsVersionError = CloudflareOpError; /** Retrieves the top locations, by HTTP requests, of the requested TLS protocol version. */ export const getHttpLocationTlsVersion: API.OperationMethod< GetHttpLocationTlsVersionRequest, GetHttpLocationTlsVersionResponse, GetHttpLocationTlsVersionError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetHttpLocationTlsVersionRequest, output: GetHttpLocationTlsVersionResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetOriginError = CloudflareOpError; /** Retrieves the requested origin information with its regions. */ export const getOrigin: API.OperationMethod< GetOriginRequest, GetOriginResponse, GetOriginError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetOriginRequest, output: GetOriginResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetRankingDomainError = CloudflareOpError; /** Retrieves domain rank details. Cloudflare provides an ordered rank for the top 100 domains, but for the remainder it only provides ranking buckets like top 200 thousand, top one million, etc.. These are available through Radar datasets endpoints. */ export const getRankingDomain: API.OperationMethod< GetRankingDomainRequest, GetRankingDomainResponse, GetRankingDomainError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetRankingDomainRequest, output: GetRankingDomainResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetTldError = CloudflareOpError; /** Retrieves the requested TLD information. */ export const getTld: API.OperationMethod< GetTldRequest, GetTldResponse, GetTldError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetTldRequest, output: GetTldResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetTrafficAnomalyError = CloudflareOpError; /** Retrieves the latest Internet traffic anomalies, which are signals that might indicate an outage. These alerts are automatically detected by Radar and manually verified by our team. */ export const getTrafficAnomaly: API.OperationMethod< GetTrafficAnomalyRequest, GetTrafficAnomalyResponse, GetTrafficAnomalyError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetTrafficAnomalyRequest, output: GetTrafficAnomalyResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetTrafficAnomalyLocationError = CloudflareOpError; /** Retrieves the sum of Internet traffic anomalies, grouped by location. These anomalies are signals that might indicate an outage, automatically detected by Radar and manually verified by our team. */ export const getTrafficAnomalyLocation: API.OperationMethod< GetTrafficAnomalyLocationRequest, GetTrafficAnomalyLocationResponse, GetTrafficAnomalyLocationError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetTrafficAnomalyLocationRequest, output: GetTrafficAnomalyLocationResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type HistogramQualitySpeedError = CloudflareOpError; /** Retrieves a histogram from the previous 90 days of Cloudflare Speed Test data, split into fixed bandwidth (Mbps), latency (ms), or jitter (ms) buckets. */ export const histogramQualitySpeed: API.OperationMethod< HistogramQualitySpeedRequest, HistogramQualitySpeedResponse, HistogramQualitySpeedError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: HistogramQualitySpeedRequest, output: HistogramQualitySpeedResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type HttpMethodAttackLayer7SummaryError = CloudflareOpError; /** Retrieves the distribution of layer 7 attacks by HTTP method. */ export const httpMethodAttackLayer7Summary: API.OperationMethod< HttpMethodAttackLayer7SummaryRequest, HttpMethodAttackLayer7SummaryResponse, HttpMethodAttackLayer7SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: HttpMethodAttackLayer7SummaryRequest, output: HttpMethodAttackLayer7SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type HttpMethodAttackLayer7TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of layer 7 attacks by HTTP method over time. */ export const httpMethodAttackLayer7TimeseriesGroup: API.OperationMethod< HttpMethodAttackLayer7TimeseriesGroupRequest, HttpMethodAttackLayer7TimeseriesGroupResponse, HttpMethodAttackLayer7TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: HttpMethodAttackLayer7TimeseriesGroupRequest, output: HttpMethodAttackLayer7TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type HttpProtocolHttpSummaryError = CloudflareOpError; /** Retrieves the distribution of HTTP requests by HTTP protocol (HTTP vs. HTTPS). */ export const httpProtocolHttpSummary: API.OperationMethod< HttpProtocolHttpSummaryRequest, HttpProtocolHttpSummaryResponse, HttpProtocolHttpSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: HttpProtocolHttpSummaryRequest, output: HttpProtocolHttpSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type HttpProtocolHttpTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of HTTP requests by HTTP protocol (HTTP vs. HTTPS) over time. */ export const httpProtocolHttpTimeseriesGroup: API.OperationMethod< HttpProtocolHttpTimeseriesGroupRequest, HttpProtocolHttpTimeseriesGroupResponse, HttpProtocolHttpTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: HttpProtocolHttpTimeseriesGroupRequest, output: HttpProtocolHttpTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type HttpVersionAttackLayer7SummaryError = CloudflareOpError; /** Retrieves the distribution of layer 7 attacks by HTTP version. */ export const httpVersionAttackLayer7Summary: API.OperationMethod< HttpVersionAttackLayer7SummaryRequest, HttpVersionAttackLayer7SummaryResponse, HttpVersionAttackLayer7SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: HttpVersionAttackLayer7SummaryRequest, output: HttpVersionAttackLayer7SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type HttpVersionAttackLayer7TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of layer 7 attacks by HTTP version over time. */ export const httpVersionAttackLayer7TimeseriesGroup: API.OperationMethod< HttpVersionAttackLayer7TimeseriesGroupRequest, HttpVersionAttackLayer7TimeseriesGroupResponse, HttpVersionAttackLayer7TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: HttpVersionAttackLayer7TimeseriesGroupRequest, output: HttpVersionAttackLayer7TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type HttpVersionHttpSummaryError = CloudflareOpError; /** Retrieves the distribution of HTTP requests by HTTP version. */ export const httpVersionHttpSummary: API.OperationMethod< HttpVersionHttpSummaryRequest, HttpVersionHttpSummaryResponse, HttpVersionHttpSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: HttpVersionHttpSummaryRequest, output: HttpVersionHttpSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type HttpVersionHttpTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of HTTP requests by HTTP version over time. */ export const httpVersionHttpTimeseriesGroup: API.OperationMethod< HttpVersionHttpTimeseriesGroupRequest, HttpVersionHttpTimeseriesGroupResponse, HttpVersionHttpTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: HttpVersionHttpTimeseriesGroupRequest, output: HttpVersionHttpTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IndustryAttackLayer3SummaryError = CloudflareOpError; /** Retrieves the distribution of layer 3 attacks by targeted industry. */ export const industryAttackLayer3Summary: API.OperationMethod< IndustryAttackLayer3SummaryRequest, IndustryAttackLayer3SummaryResponse, IndustryAttackLayer3SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IndustryAttackLayer3SummaryRequest, output: IndustryAttackLayer3SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IndustryAttackLayer3TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of layer 3 attacks by targeted industry over time. */ export const industryAttackLayer3TimeseriesGroup: API.OperationMethod< IndustryAttackLayer3TimeseriesGroupRequest, IndustryAttackLayer3TimeseriesGroupResponse, IndustryAttackLayer3TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IndustryAttackLayer3TimeseriesGroupRequest, output: IndustryAttackLayer3TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IndustryAttackLayer3TopError = CloudflareOpError; /** This endpoint is deprecated. To continue getting this data, switch to the summary by industry endpoint. */ export const industryAttackLayer3Top: API.OperationMethod< IndustryAttackLayer3TopRequest, IndustryAttackLayer3TopResponse, IndustryAttackLayer3TopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IndustryAttackLayer3TopRequest, output: IndustryAttackLayer3TopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IndustryAttackLayer7SummaryError = CloudflareOpError; /** Retrieves the distribution of layer 7 attacks by targeted industry. */ export const industryAttackLayer7Summary: API.OperationMethod< IndustryAttackLayer7SummaryRequest, IndustryAttackLayer7SummaryResponse, IndustryAttackLayer7SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IndustryAttackLayer7SummaryRequest, output: IndustryAttackLayer7SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IndustryAttackLayer7TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of layer 7 attacks by targeted industry over time. */ export const industryAttackLayer7TimeseriesGroup: API.OperationMethod< IndustryAttackLayer7TimeseriesGroupRequest, IndustryAttackLayer7TimeseriesGroupResponse, IndustryAttackLayer7TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IndustryAttackLayer7TimeseriesGroupRequest, output: IndustryAttackLayer7TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IndustryAttackLayer7TopError = CloudflareOpError; /** This endpoint is deprecated. To continue getting this data, switch to the summary by industry endpoint. */ export const industryAttackLayer7Top: API.OperationMethod< IndustryAttackLayer7TopRequest, IndustryAttackLayer7TopResponse, IndustryAttackLayer7TopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IndustryAttackLayer7TopRequest, output: IndustryAttackLayer7TopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IpEntityAsnError = CloudflareOpError; /** Retrieves the requested autonomous system information based on IP address. Population estimates come from APNIC (refer to https://labs.apnic.net/?p=526). */ export const ipEntityAsn: API.OperationMethod< IpEntityAsnRequest, IpEntityAsnResponse, IpEntityAsnError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IpEntityAsnRequest, output: IpEntityAsnResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IpVersionAs112SummaryError = CloudflareOpError; /** Retrieves the distribution of DNS queries to AS112 by IP version. */ export const ipVersionAs112Summary: API.OperationMethod< IpVersionAs112SummaryRequest, IpVersionAs112SummaryResponse, IpVersionAs112SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IpVersionAs112SummaryRequest, output: IpVersionAs112SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IpVersionAs112TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of AS112 DNS queries by IP version over time. */ export const ipVersionAs112TimeseriesGroup: API.OperationMethod< IpVersionAs112TimeseriesGroupRequest, IpVersionAs112TimeseriesGroupResponse, IpVersionAs112TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IpVersionAs112TimeseriesGroupRequest, output: IpVersionAs112TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IpVersionAs112TopError = CloudflareOpError; /** Retrieves the top locations of DNS queries to AS112 for an IP version. */ export const ipVersionAs112Top: API.OperationMethod< IpVersionAs112TopRequest, IpVersionAs112TopResponse, IpVersionAs112TopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IpVersionAs112TopRequest, output: IpVersionAs112TopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IpVersionAttackLayer3SummaryError = CloudflareOpError; /** Retrieves the distribution of layer 3 attacks by IP version. */ export const ipVersionAttackLayer3Summary: API.OperationMethod< IpVersionAttackLayer3SummaryRequest, IpVersionAttackLayer3SummaryResponse, IpVersionAttackLayer3SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IpVersionAttackLayer3SummaryRequest, output: IpVersionAttackLayer3SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IpVersionAttackLayer3TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of layer 3 attacks by IP version over time. */ export const ipVersionAttackLayer3TimeseriesGroup: API.OperationMethod< IpVersionAttackLayer3TimeseriesGroupRequest, IpVersionAttackLayer3TimeseriesGroupResponse, IpVersionAttackLayer3TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IpVersionAttackLayer3TimeseriesGroupRequest, output: IpVersionAttackLayer3TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IpVersionAttackLayer7SummaryError = CloudflareOpError; /** Retrieves the distribution of layer 7 attacks by IP version. */ export const ipVersionAttackLayer7Summary: API.OperationMethod< IpVersionAttackLayer7SummaryRequest, IpVersionAttackLayer7SummaryResponse, IpVersionAttackLayer7SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IpVersionAttackLayer7SummaryRequest, output: IpVersionAttackLayer7SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IpVersionAttackLayer7TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of layer 7 attacks by IP version used over time. */ export const ipVersionAttackLayer7TimeseriesGroup: API.OperationMethod< IpVersionAttackLayer7TimeseriesGroupRequest, IpVersionAttackLayer7TimeseriesGroupResponse, IpVersionAttackLayer7TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IpVersionAttackLayer7TimeseriesGroupRequest, output: IpVersionAttackLayer7TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IpVersionDnsSummaryError = CloudflareOpError; /** Retrieves the distribution of DNS queries by IP version. */ export const ipVersionDnsSummary: API.OperationMethod< IpVersionDnsSummaryRequest, IpVersionDnsSummaryResponse, IpVersionDnsSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IpVersionDnsSummaryRequest, output: IpVersionDnsSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IpVersionDnsTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of DNS queries by IP version over time. */ export const ipVersionDnsTimeseriesGroup: API.OperationMethod< IpVersionDnsTimeseriesGroupRequest, IpVersionDnsTimeseriesGroupResponse, IpVersionDnsTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IpVersionDnsTimeseriesGroupRequest, output: IpVersionDnsTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IpVersionEmailRoutingSummaryError = CloudflareOpError; /** Retrieves the distribution of emails by IP version. */ export const ipVersionEmailRoutingSummary: API.OperationMethod< IpVersionEmailRoutingSummaryRequest, IpVersionEmailRoutingSummaryResponse, IpVersionEmailRoutingSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IpVersionEmailRoutingSummaryRequest, output: IpVersionEmailRoutingSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IpVersionEmailRoutingTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of emails by IP version over time. */ export const ipVersionEmailRoutingTimeseriesGroup: API.OperationMethod< IpVersionEmailRoutingTimeseriesGroupRequest, IpVersionEmailRoutingTimeseriesGroupResponse, IpVersionEmailRoutingTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IpVersionEmailRoutingTimeseriesGroupRequest, output: IpVersionEmailRoutingTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IpVersionHttpSummaryError = CloudflareOpError; /** Retrieves the distribution of HTTP requests by IP version. */ export const ipVersionHttpSummary: API.OperationMethod< IpVersionHttpSummaryRequest, IpVersionHttpSummaryResponse, IpVersionHttpSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IpVersionHttpSummaryRequest, output: IpVersionHttpSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type IpVersionHttpTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of HTTP requests by IP version over time. */ export const ipVersionHttpTimeseriesGroup: API.OperationMethod< IpVersionHttpTimeseriesGroupRequest, IpVersionHttpTimeseriesGroupResponse, IpVersionHttpTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: IpVersionHttpTimeseriesGroupRequest, output: IpVersionHttpTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListAnnotationsError = CloudflareOpError; /** Retrieves the latest annotations. */ export const listAnnotations: API.OperationMethod< ListAnnotationsRequest, ListAnnotationsResponse, ListAnnotationsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListAnnotationsRequest, output: ListAnnotationsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListBgpHijackEventsError = CloudflareOpError; /** Retrieves the BGP hijack events. */ export const listBgpHijackEvents: API.OperationMethod< ListBgpHijackEventsRequest, ListBgpHijackEventsResponse, ListBgpHijackEventsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListBgpHijackEventsRequest, output: ListBgpHijackEventsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListBgpLeakEventsError = CloudflareOpError; /** Retrieves the BGP route leak events. */ export const listBgpLeakEvents: API.OperationMethod< ListBgpLeakEventsRequest, ListBgpLeakEventsResponse, ListBgpLeakEventsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListBgpLeakEventsRequest, output: ListBgpLeakEventsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListBotsError = CloudflareOpError; /** Retrieves a list of bots. */ export const listBots: API.OperationMethod< ListBotsRequest, ListBotsResponse, ListBotsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListBotsRequest, output: ListBotsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListCtAuthoritiesError = CloudflareOpError; /** Retrieves a list of certificate authorities. */ export const listCtAuthorities: API.OperationMethod< ListCtAuthoritiesRequest, ListCtAuthoritiesResponse, ListCtAuthoritiesError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListCtAuthoritiesRequest, output: ListCtAuthoritiesResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListCtLogsError = CloudflareOpError; /** Retrieves a list of certificate logs. */ export const listCtLogs: API.OperationMethod< ListCtLogsRequest, ListCtLogsResponse, ListCtLogsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListCtLogsRequest, output: ListCtLogsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListDatasetsError = CloudflareOpError; /** Retrieves a list of datasets. */ export const listDatasets: API.OperationMethod< ListDatasetsRequest, ListDatasetsResponse, ListDatasetsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListDatasetsRequest, output: ListDatasetsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListEntityAsnsError = CloudflareOpError; /** Retrieves a list of autonomous systems. */ export const listEntityAsns: API.OperationMethod< ListEntityAsnsRequest, ListEntityAsnsResponse, ListEntityAsnsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListEntityAsnsRequest, output: ListEntityAsnsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListEntityLocationsError = CloudflareOpError; /** Retrieves a list of locations. */ export const listEntityLocations: API.OperationMethod< ListEntityLocationsRequest, ListEntityLocationsResponse, ListEntityLocationsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListEntityLocationsRequest, output: ListEntityLocationsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListGeolocationsError = CloudflareOpError; /** Retrieves a list of geolocations. Geolocation names can be localized by sending an `Accept-Language` HTTP header with a BCP 47 language tag (e.g., `Accept-Language: pt-PT`). The full quality-value chain is supported (e.g., `pt-PT,pt;q=0.9,en;q=0.8`). */ export const listGeolocations: API.OperationMethod< ListGeolocationsRequest, ListGeolocationsResponse, ListGeolocationsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListGeolocationsRequest, output: ListGeolocationsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListOriginsError = CloudflareOpError; /** Retrieves a list of origins with their regions. */ export const listOrigins: API.OperationMethod< ListOriginsRequest, ListOriginsResponse, ListOriginsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListOriginsRequest, output: ListOriginsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListTldsError = CloudflareOpError; /** Retrieves a list of TLDs. */ export const listTlds: API.OperationMethod< ListTldsRequest, ListTldsResponse, ListTldsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListTldsRequest, output: ListTldsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type LocationsAnnotationOutageError = CloudflareOpError; /** Retrieves the number of outages by location. */ export const locationsAnnotationOutage: API.OperationMethod< LocationsAnnotationOutageRequest, LocationsAnnotationOutageResponse, LocationsAnnotationOutageError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: LocationsAnnotationOutageRequest, output: LocationsAnnotationOutageResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type LocationsAs112TopError = CloudflareOpError; /** Retrieves the top locations by AS112 DNS queries. */ export const locationsAs112Top: API.OperationMethod< LocationsAs112TopRequest, LocationsAs112TopResponse, LocationsAs112TopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: LocationsAs112TopRequest, output: LocationsAs112TopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type LocationsDnsTopError = CloudflareOpError; /** Retrieves the top locations by DNS queries made to 1.1.1.1 DNS resolver. */ export const locationsDnsTop: API.OperationMethod< LocationsDnsTopRequest, LocationsDnsTopResponse, LocationsDnsTopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: LocationsDnsTopRequest, output: LocationsDnsTopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type LocationsNetflowTopError = CloudflareOpError; /** Retrieves the top locations by network traffic (NetFlows). */ export const locationsNetflowTop: API.OperationMethod< LocationsNetflowTopRequest, LocationsNetflowTopResponse, LocationsNetflowTopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: LocationsNetflowTopRequest, output: LocationsNetflowTopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type LocationsQualitySpeedTopError = CloudflareOpError; /** Retrieves the top locations by bandwidth, latency, jitter, or packet loss, from the previous 90 days of Cloudflare Speed Test data. */ export const locationsQualitySpeedTop: API.OperationMethod< LocationsQualitySpeedTopRequest, LocationsQualitySpeedTopResponse, LocationsQualitySpeedTopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: LocationsQualitySpeedTopRequest, output: LocationsQualitySpeedTopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type MaliciousEmailSecuritySummaryError = CloudflareOpError; /** Retrieves the distribution of emails by malicious classification. */ export const maliciousEmailSecuritySummary: API.OperationMethod< MaliciousEmailSecuritySummaryRequest, MaliciousEmailSecuritySummaryResponse, MaliciousEmailSecuritySummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: MaliciousEmailSecuritySummaryRequest, output: MaliciousEmailSecuritySummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type MaliciousEmailSecurityTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of emails by malicious classification over time. */ export const maliciousEmailSecurityTimeseriesGroup: API.OperationMethod< MaliciousEmailSecurityTimeseriesGroupRequest, MaliciousEmailSecurityTimeseriesGroupResponse, MaliciousEmailSecurityTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: MaliciousEmailSecurityTimeseriesGroupRequest, output: MaliciousEmailSecurityTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ManagedRulesAttackLayer7SummaryError = CloudflareOpError; /** Retrieves the distribution of layer 7 attacks by managed rules. */ export const managedRulesAttackLayer7Summary: API.OperationMethod< ManagedRulesAttackLayer7SummaryRequest, ManagedRulesAttackLayer7SummaryResponse, ManagedRulesAttackLayer7SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ManagedRulesAttackLayer7SummaryRequest, output: ManagedRulesAttackLayer7SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ManagedRulesAttackLayer7TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of layer 7 attacks by managed rules over time. */ export const managedRulesAttackLayer7TimeseriesGroup: API.OperationMethod< ManagedRulesAttackLayer7TimeseriesGroupRequest, ManagedRulesAttackLayer7TimeseriesGroupResponse, ManagedRulesAttackLayer7TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ManagedRulesAttackLayer7TimeseriesGroupRequest, output: ManagedRulesAttackLayer7TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type MatchingAnswerDnsSummaryError = CloudflareOpError; /** Retrieves the distribution of DNS queries by matching answers. */ export const matchingAnswerDnsSummary: API.OperationMethod< MatchingAnswerDnsSummaryRequest, MatchingAnswerDnsSummaryResponse, MatchingAnswerDnsSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: MatchingAnswerDnsSummaryRequest, output: MatchingAnswerDnsSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type MatchingAnswerDnsTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of DNS queries by matching answers over time. */ export const matchingAnswerDnsTimeseriesGroup: API.OperationMethod< MatchingAnswerDnsTimeseriesGroupRequest, MatchingAnswerDnsTimeseriesGroupResponse, MatchingAnswerDnsTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: MatchingAnswerDnsTimeseriesGroupRequest, output: MatchingAnswerDnsTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type MitigationProductAttackLayer7SummaryError = CloudflareOpError; /** Retrieves the distribution of layer 7 attacks by mitigation product. */ export const mitigationProductAttackLayer7Summary: API.OperationMethod< MitigationProductAttackLayer7SummaryRequest, MitigationProductAttackLayer7SummaryResponse, MitigationProductAttackLayer7SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: MitigationProductAttackLayer7SummaryRequest, output: MitigationProductAttackLayer7SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type MitigationProductAttackLayer7TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of layer 7 attacks by mitigation product over time. */ export const mitigationProductAttackLayer7TimeseriesGroup: API.OperationMethod< MitigationProductAttackLayer7TimeseriesGroupRequest, MitigationProductAttackLayer7TimeseriesGroupResponse, MitigationProductAttackLayer7TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: MitigationProductAttackLayer7TimeseriesGroupRequest, output: MitigationProductAttackLayer7TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type MoasBgpRouteError = CloudflareOpError; /** Retrieves all Multi-Origin AS (MOAS) prefixes in the global routing tables. */ export const moasBgpRoute: API.OperationMethod< MoasBgpRouteRequest, MoasBgpRouteResponse, MoasBgpRouteError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: MoasBgpRouteRequest, output: MoasBgpRouteResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ModelAiInferenceSummaryError = CloudflareOpError; /** Retrieves the distribution of the number of inferences by model. */ export const modelAiInferenceSummary: API.OperationMethod< ModelAiInferenceSummaryRequest, ModelAiInferenceSummaryResponse, ModelAiInferenceSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ModelAiInferenceSummaryRequest, output: ModelAiInferenceSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ModelAiInferenceTimeseriesGroupSummaryError = CloudflareOpError; /** Retrieves the distribution of the number of inferences by model over time. */ export const modelAiInferenceTimeseriesGroupSummary: API.OperationMethod< ModelAiInferenceTimeseriesGroupSummaryRequest, ModelAiInferenceTimeseriesGroupSummaryResponse, ModelAiInferenceTimeseriesGroupSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ModelAiInferenceTimeseriesGroupSummaryRequest, output: ModelAiInferenceTimeseriesGroupSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type OriginAttackLayer3TopLocationError = CloudflareOpError; /** Retrieves the origin locations of layer 3 attacks. */ export const originAttackLayer3TopLocation: API.OperationMethod< OriginAttackLayer3TopLocationRequest, OriginAttackLayer3TopLocationResponse, OriginAttackLayer3TopLocationError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: OriginAttackLayer3TopLocationRequest, output: OriginAttackLayer3TopLocationResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type OriginAttackLayer7TopAsError = CloudflareOpError; /** Retrieves the top origin autonomous systems of layer 7 attacks. Values are percentages of the total layer 7 attacks, with the origin autonomous systems determined by the client IP address. */ export const originAttackLayer7TopAs: API.OperationMethod< OriginAttackLayer7TopAsRequest, OriginAttackLayer7TopAsResponse, OriginAttackLayer7TopAsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: OriginAttackLayer7TopAsRequest, output: OriginAttackLayer7TopAsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type OriginAttackLayer7TopLocationError = CloudflareOpError; /** Retrieves the top origin locations of layer 7 attacks. Values are percentages of the total layer 7 attacks, with the origin location determined by the client IP address. */ export const originAttackLayer7TopLocation: API.OperationMethod< OriginAttackLayer7TopLocationRequest, OriginAttackLayer7TopLocationResponse, OriginAttackLayer7TopLocationError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: OriginAttackLayer7TopLocationRequest, output: OriginAttackLayer7TopLocationResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type OriginsSummaryError = CloudflareOpError; /** Retrieves an aggregated summary of origin metrics grouped by the specified dimension. */ export const originsSummary: API.OperationMethod< OriginsSummaryRequest, OriginsSummaryResponse, OriginsSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: OriginsSummaryRequest, output: OriginsSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type OriginsTimeseriesError = CloudflareOpError; /** Retrieves the time series of origin metrics for the specified origin. */ export const originsTimeseries: API.OperationMethod< OriginsTimeseriesRequest, OriginsTimeseriesResponse, OriginsTimeseriesError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: OriginsTimeseriesRequest, output: OriginsTimeseriesResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type OriginsTimeseriesGroupsError = CloudflareOpError; /** Retrieves the distribution of origin metrics grouped by the specified dimension over time. */ export const originsTimeseriesGroups: API.OperationMethod< OriginsTimeseriesGroupsRequest, OriginsTimeseriesGroupsResponse, OriginsTimeseriesGroupsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: OriginsTimeseriesGroupsRequest, output: OriginsTimeseriesGroupsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type OsHttpSummaryError = CloudflareOpError; /** Retrieves the distribution of HTTP requests by operating system (Windows, macOS, Android, iOS, and others). */ export const osHttpSummary: API.OperationMethod< OsHttpSummaryRequest, OsHttpSummaryResponse, OsHttpSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: OsHttpSummaryRequest, output: OsHttpSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type OsHttpTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of HTTP requests by operating system over time. */ export const osHttpTimeseriesGroup: API.OperationMethod< OsHttpTimeseriesGroupRequest, OsHttpTimeseriesGroupResponse, OsHttpTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: OsHttpTimeseriesGroupRequest, output: OsHttpTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type Pfx2asBgpRouteError = CloudflareOpError; /** Retrieves the prefix-to-ASN mapping from global routing tables. */ export const pfx2asBgpRoute: API.OperationMethod< Pfx2asBgpRouteRequest, Pfx2asBgpRouteResponse, Pfx2asBgpRouteError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: Pfx2asBgpRouteRequest, output: Pfx2asBgpRouteResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type PostQuantumHttpSummaryError = CloudflareOpError; /** Retrieves the distribution of HTTP requests by post-quantum support. */ export const postQuantumHttpSummary: API.OperationMethod< PostQuantumHttpSummaryRequest, PostQuantumHttpSummaryResponse, PostQuantumHttpSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: PostQuantumHttpSummaryRequest, output: PostQuantumHttpSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type PostQuantumHttpTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of HTTP requests by post-quantum support over time. */ export const postQuantumHttpTimeseriesGroup: API.OperationMethod< PostQuantumHttpTimeseriesGroupRequest, PostQuantumHttpTimeseriesGroupResponse, PostQuantumHttpTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: PostQuantumHttpTimeseriesGroupRequest, output: PostQuantumHttpTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type PrefixesBgpTopError = CloudflareOpError; /** Retrieves the top network prefixes by BGP updates. */ export const prefixesBgpTop: API.OperationMethod< PrefixesBgpTopRequest, PrefixesBgpTopResponse, PrefixesBgpTopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: PrefixesBgpTopRequest, output: PrefixesBgpTopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type PrefixesBgpTopAsError = CloudflareOpError; /** Retrieves the full list of autonomous systems on the global routing table ordered by announced prefixes count. The data comes from public BGP MRT data archives and updates every 2 hours. */ export const prefixesBgpTopAs: API.OperationMethod< PrefixesBgpTopAsRequest, PrefixesBgpTopAsResponse, PrefixesBgpTopAsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: PrefixesBgpTopAsRequest, output: PrefixesBgpTopAsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ProtocolAs112SummaryError = CloudflareOpError; /** Retrieves the distribution of DNS queries to AS112 by protocol. */ export const protocolAs112Summary: API.OperationMethod< ProtocolAs112SummaryRequest, ProtocolAs112SummaryResponse, ProtocolAs112SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ProtocolAs112SummaryRequest, output: ProtocolAs112SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ProtocolAs112TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of AS112 DNS requests classified by protocol over time. */ export const protocolAs112TimeseriesGroup: API.OperationMethod< ProtocolAs112TimeseriesGroupRequest, ProtocolAs112TimeseriesGroupResponse, ProtocolAs112TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ProtocolAs112TimeseriesGroupRequest, output: ProtocolAs112TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ProtocolAttackLayer3SummaryError = CloudflareOpError; /** Retrieves the distribution of layer 3 attacks by protocol. */ export const protocolAttackLayer3Summary: API.OperationMethod< ProtocolAttackLayer3SummaryRequest, ProtocolAttackLayer3SummaryResponse, ProtocolAttackLayer3SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ProtocolAttackLayer3SummaryRequest, output: ProtocolAttackLayer3SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ProtocolAttackLayer3TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of layer 3 attacks by protocol over time. */ export const protocolAttackLayer3TimeseriesGroup: API.OperationMethod< ProtocolAttackLayer3TimeseriesGroupRequest, ProtocolAttackLayer3TimeseriesGroupResponse, ProtocolAttackLayer3TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ProtocolAttackLayer3TimeseriesGroupRequest, output: ProtocolAttackLayer3TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ProtocolDnsSummaryError = CloudflareOpError; /** Retrieves the distribution of DNS queries by DNS transport protocol. */ export const protocolDnsSummary: API.OperationMethod< ProtocolDnsSummaryRequest, ProtocolDnsSummaryResponse, ProtocolDnsSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ProtocolDnsSummaryRequest, output: ProtocolDnsSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ProtocolDnsTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of DNS queries by DNS transport protocol over time. */ export const protocolDnsTimeseriesGroup: API.OperationMethod< ProtocolDnsTimeseriesGroupRequest, ProtocolDnsTimeseriesGroupResponse, ProtocolDnsTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ProtocolDnsTimeseriesGroupRequest, output: ProtocolDnsTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type QueryTypeAs112SummaryError = CloudflareOpError; /** Retrieves the distribution of DNS queries to AS112 by type. */ export const queryTypeAs112Summary: API.OperationMethod< QueryTypeAs112SummaryRequest, QueryTypeAs112SummaryResponse, QueryTypeAs112SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: QueryTypeAs112SummaryRequest, output: QueryTypeAs112SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type QueryTypeAs112TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of AS112 DNS queries by type over time. */ export const queryTypeAs112TimeseriesGroup: API.OperationMethod< QueryTypeAs112TimeseriesGroupRequest, QueryTypeAs112TimeseriesGroupResponse, QueryTypeAs112TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: QueryTypeAs112TimeseriesGroupRequest, output: QueryTypeAs112TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type QueryTypeDnsSummaryError = CloudflareOpError; /** Retrieves the distribution of DNS queries by type. */ export const queryTypeDnsSummary: API.OperationMethod< QueryTypeDnsSummaryRequest, QueryTypeDnsSummaryResponse, QueryTypeDnsSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: QueryTypeDnsSummaryRequest, output: QueryTypeDnsSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type QueryTypeDnsTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of DNS queries by type over time. */ export const queryTypeDnsTimeseriesGroup: API.OperationMethod< QueryTypeDnsTimeseriesGroupRequest, QueryTypeDnsTimeseriesGroupResponse, QueryTypeDnsTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: QueryTypeDnsTimeseriesGroupRequest, output: QueryTypeDnsTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type RealtimeBgpRouteError = CloudflareOpError; /** Retrieves real-time BGP routes for a prefix, using public real-time data collectors (RouteViews and RIPE RIS). */ export const realtimeBgpRoute: API.OperationMethod< RealtimeBgpRouteRequest, RealtimeBgpRouteResponse, RealtimeBgpRouteError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: RealtimeBgpRouteRequest, output: RealtimeBgpRouteResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type RelEntityAsnError = CloudflareOpError; /** Retrieves AS-level relationship for given networks. */ export const relEntityAsn: API.OperationMethod< RelEntityAsnRequest, RelEntityAsnResponse, RelEntityAsnError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: RelEntityAsnRequest, output: RelEntityAsnResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ResponseCodeDnsSummaryError = CloudflareOpError; /** Retrieves the distribution of DNS queries by response code. */ export const responseCodeDnsSummary: API.OperationMethod< ResponseCodeDnsSummaryRequest, ResponseCodeDnsSummaryResponse, ResponseCodeDnsSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ResponseCodeDnsSummaryRequest, output: ResponseCodeDnsSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ResponseCodeDnsTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of DNS queries by response code over time. */ export const responseCodeDnsTimeseriesGroup: API.OperationMethod< ResponseCodeDnsTimeseriesGroupRequest, ResponseCodeDnsTimeseriesGroupResponse, ResponseCodeDnsTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ResponseCodeDnsTimeseriesGroupRequest, output: ResponseCodeDnsTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ResponseCodesAs112SummaryError = CloudflareOpError; /** Retrieves the distribution of AS112 DNS requests classified by response code. */ export const responseCodesAs112Summary: API.OperationMethod< ResponseCodesAs112SummaryRequest, ResponseCodesAs112SummaryResponse, ResponseCodesAs112SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ResponseCodesAs112SummaryRequest, output: ResponseCodesAs112SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ResponseCodesAs112TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of AS112 DNS requests classified by response code over time. */ export const responseCodesAs112TimeseriesGroup: API.OperationMethod< ResponseCodesAs112TimeseriesGroupRequest, ResponseCodesAs112TimeseriesGroupResponse, ResponseCodesAs112TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ResponseCodesAs112TimeseriesGroupRequest, output: ResponseCodesAs112TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ResponseTTLDnsSummaryError = CloudflareOpError; /** Retrieves the distribution of DNS queries by minimum response TTL. */ export const responseTTLDnsSummary: API.OperationMethod< ResponseTTLDnsSummaryRequest, ResponseTTLDnsSummaryResponse, ResponseTTLDnsSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ResponseTTLDnsSummaryRequest, output: ResponseTTLDnsSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ResponseTTLDnsTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of DNS queries by minimum answer TTL over time. */ export const responseTTLDnsTimeseriesGroup: API.OperationMethod< ResponseTTLDnsTimeseriesGroupRequest, ResponseTTLDnsTimeseriesGroupResponse, ResponseTTLDnsTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ResponseTTLDnsTimeseriesGroupRequest, output: ResponseTTLDnsTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SearchGlobalError = CloudflareOpError; /** Searches for locations, autonomous systems, reports, bots, certificate logs, certificate authorities, industries and verticals. Location names can be localized by sending an `Accept-Language` HTTP header with a BCP 47 language tag (e.g., `Accept-Language: pt-PT`). The full quality-value chain is supported (e.g., `pt-PT,pt;q=0.9,en;q=0.8`). */ export const searchGlobal: API.OperationMethod< SearchGlobalRequest, SearchGlobalResponse, SearchGlobalError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SearchGlobalRequest, output: SearchGlobalResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SnapshotBgpRpkiAspaError = CloudflareOpError; /** Retrieves current or historical ASPA (Autonomous System Provider Authorization) objects. ASPA objects define which ASNs are authorized upstream providers for a customer ASN. */ export const snapshotBgpRpkiAspa: API.OperationMethod< SnapshotBgpRpkiAspaRequest, SnapshotBgpRpkiAspaResponse, SnapshotBgpRpkiAspaError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SnapshotBgpRpkiAspaRequest, output: SnapshotBgpRpkiAspaResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SpamEmailSecuritySummaryError = CloudflareOpError; /** Retrieves the proportion of emails by spam classification (spam vs. non-spam). */ export const spamEmailSecuritySummary: API.OperationMethod< SpamEmailSecuritySummaryRequest, SpamEmailSecuritySummaryResponse, SpamEmailSecuritySummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SpamEmailSecuritySummaryRequest, output: SpamEmailSecuritySummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SpamEmailSecurityTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of emails by spam classification (spam vs. non-spam) over time. */ export const spamEmailSecurityTimeseriesGroup: API.OperationMethod< SpamEmailSecurityTimeseriesGroupRequest, SpamEmailSecurityTimeseriesGroupResponse, SpamEmailSecurityTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SpamEmailSecurityTimeseriesGroupRequest, output: SpamEmailSecurityTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SpfEmailRoutingSummaryError = CloudflareOpError; /** Retrieves the distribution of emails by SPF (Sender Policy Framework) validation. */ export const spfEmailRoutingSummary: API.OperationMethod< SpfEmailRoutingSummaryRequest, SpfEmailRoutingSummaryResponse, SpfEmailRoutingSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SpfEmailRoutingSummaryRequest, output: SpfEmailRoutingSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SpfEmailRoutingTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of emails by SPF (Sender Policy Framework) validation over time. */ export const spfEmailRoutingTimeseriesGroup: API.OperationMethod< SpfEmailRoutingTimeseriesGroupRequest, SpfEmailRoutingTimeseriesGroupResponse, SpfEmailRoutingTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SpfEmailRoutingTimeseriesGroupRequest, output: SpfEmailRoutingTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SpfEmailSecuritySummaryError = CloudflareOpError; /** Retrieves the distribution of emails by SPF (Sender Policy Framework) validation. */ export const spfEmailSecuritySummary: API.OperationMethod< SpfEmailSecuritySummaryRequest, SpfEmailSecuritySummaryResponse, SpfEmailSecuritySummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SpfEmailSecuritySummaryRequest, output: SpfEmailSecuritySummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SpfEmailSecurityTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of emails by SPF (Sender Policy Framework) validation over time. */ export const spfEmailSecurityTimeseriesGroup: API.OperationMethod< SpfEmailSecurityTimeseriesGroupRequest, SpfEmailSecurityTimeseriesGroupResponse, SpfEmailSecurityTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SpfEmailSecurityTimeseriesGroupRequest, output: SpfEmailSecurityTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SpoofEmailSecuritySummaryError = CloudflareOpError; /** Retrieves the proportion of emails by spoof classification (spoof vs. non-spoof). */ export const spoofEmailSecuritySummary: API.OperationMethod< SpoofEmailSecuritySummaryRequest, SpoofEmailSecuritySummaryResponse, SpoofEmailSecuritySummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SpoofEmailSecuritySummaryRequest, output: SpoofEmailSecuritySummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SpoofEmailSecurityTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of emails by spoof classification (spoof vs. non-spoof) over time. */ export const spoofEmailSecurityTimeseriesGroup: API.OperationMethod< SpoofEmailSecurityTimeseriesGroupRequest, SpoofEmailSecurityTimeseriesGroupResponse, SpoofEmailSecurityTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SpoofEmailSecurityTimeseriesGroupRequest, output: SpoofEmailSecurityTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type StatsBgpRouteError = CloudflareOpError; /** Retrieves the BGP routing table stats. */ export const statsBgpRoute: API.OperationMethod< StatsBgpRouteRequest, StatsBgpRouteResponse, StatsBgpRouteError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: StatsBgpRouteRequest, output: StatsBgpRouteResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryAgentReadinessError = CloudflareOpError; /** Returns a summary of AI agent readiness scores across scanned domains, grouped by the specified dimension. Data is sourced from weekly bulk scans. All values are raw domain counts. */ export const summaryAgentReadiness: API.OperationMethod< SummaryAgentReadinessRequest, SummaryAgentReadinessResponse, SummaryAgentReadinessError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryAgentReadinessRequest, output: SummaryAgentReadinessResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryAiMarkdownForAgentError = CloudflareOpError; /** Retrieves the overall median HTML-to-markdown reduction ratio for AI agent requests over the given date range. */ export const summaryAiMarkdownForAgent: API.OperationMethod< SummaryAiMarkdownForAgentRequest, SummaryAiMarkdownForAgentResponse, SummaryAiMarkdownForAgentError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryAiMarkdownForAgentRequest, output: SummaryAiMarkdownForAgentResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryAiTimeseriesGroupError = CloudflareOpError; /** Retrieves an aggregated summary of AI bots HTTP requests grouped by the specified dimension. */ export const summaryAiTimeseriesGroup: API.OperationMethod< SummaryAiTimeseriesGroupRequest, SummaryAiTimeseriesGroupResponse, SummaryAiTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryAiTimeseriesGroupRequest, output: SummaryAiTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryBotError = CloudflareOpError; /** Retrieves an aggregated summary of bots HTTP requests grouped by the specified dimension. */ export const summaryBot: API.OperationMethod< SummaryBotRequest, SummaryBotResponse, SummaryBotError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryBotRequest, output: SummaryBotResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryBotWebCrawlerError = CloudflareOpError; /** Retrieves an aggregated summary of HTTP requests from crawlers, grouped by the specified dimension. */ export const summaryBotWebCrawler: API.OperationMethod< SummaryBotWebCrawlerRequest, SummaryBotWebCrawlerResponse, SummaryBotWebCrawlerError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryBotWebCrawlerRequest, output: SummaryBotWebCrawlerResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryCtError = CloudflareOpError; /** Retrieves an aggregated summary of certificates grouped by the specified dimension. */ export const summaryCt: API.OperationMethod< SummaryCtRequest, SummaryCtResponse, SummaryCtError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryCtRequest, output: SummaryCtResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryNetflowError = CloudflareOpError; /** Retrieves the distribution of network traffic (NetFlows) by HTTP vs other protocols. */ export const summaryNetflow: API.OperationMethod< SummaryNetflowRequest, SummaryNetflowResponse, SummaryNetflowError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryNetflowRequest, output: SummaryNetflowResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryPostQuantumOriginError = CloudflareOpError; /** Returns a summary of origin post-quantum data grouped by the specified dimension. */ export const summaryPostQuantumOrigin: API.OperationMethod< SummaryPostQuantumOriginRequest, SummaryPostQuantumOriginResponse, SummaryPostQuantumOriginError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryPostQuantumOriginRequest, output: SummaryPostQuantumOriginResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryQualityIqiError = CloudflareOpError; /** Retrieves a summary (percentiles) of bandwidth, latency, or DNS response time from the Radar Internet Quality Index (IQI). */ export const summaryQualityIqi: API.OperationMethod< SummaryQualityIqiRequest, SummaryQualityIqiResponse, SummaryQualityIqiError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryQualityIqiRequest, output: SummaryQualityIqiResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryQualitySpeedError = CloudflareOpError; /** Retrieves a summary of bandwidth, latency, jitter, and packet loss, from the previous 90 days of Cloudflare Speed Test data. */ export const summaryQualitySpeed: API.OperationMethod< SummaryQualitySpeedRequest, SummaryQualitySpeedResponse, SummaryQualitySpeedError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryQualitySpeedRequest, output: SummaryQualitySpeedResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryTcpResetsTimeoutError = CloudflareOpError; /** Retrieves the distribution of connection stage by TCP connections terminated within the first 10 packets by a reset or timeout. */ export const summaryTcpResetsTimeout: API.OperationMethod< SummaryTcpResetsTimeoutRequest, SummaryTcpResetsTimeoutResponse, SummaryTcpResetsTimeoutError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryTcpResetsTimeoutRequest, output: SummaryTcpResetsTimeoutResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryV2AiInferenceError = CloudflareOpError; /** Retrieves an aggregated summary of the number of inferences run on Workers AI, grouped by the specified dimension. */ export const summaryV2AiInference: API.OperationMethod< SummaryV2AiInferenceRequest, SummaryV2AiInferenceResponse, SummaryV2AiInferenceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryV2AiInferenceRequest, output: SummaryV2AiInferenceResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryV2As112Error = CloudflareOpError; /** Retrieves the distribution of AS112 queries by the specified dimension. */ export const summaryV2As112: API.OperationMethod< SummaryV2As112Request, SummaryV2As112Response, SummaryV2As112Error, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryV2As112Request, output: SummaryV2As112Response, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryV2AttackLayer3Error = CloudflareOpError; /** Retrieves the distribution of layer 3 attacks by the specified dimension. */ export const summaryV2AttackLayer3: API.OperationMethod< SummaryV2AttackLayer3Request, SummaryV2AttackLayer3Response, SummaryV2AttackLayer3Error, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryV2AttackLayer3Request, output: SummaryV2AttackLayer3Response, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryV2AttackLayer7Error = CloudflareOpError; /** Retrieves the distribution of layer 7 attacks by the specified dimension. */ export const summaryV2AttackLayer7: API.OperationMethod< SummaryV2AttackLayer7Request, SummaryV2AttackLayer7Response, SummaryV2AttackLayer7Error, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryV2AttackLayer7Request, output: SummaryV2AttackLayer7Response, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryV2DnsError = CloudflareOpError; /** Retrieves the distribution of DNS queries by the specified dimension. */ export const summaryV2Dns: API.OperationMethod< SummaryV2DnsRequest, SummaryV2DnsResponse, SummaryV2DnsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryV2DnsRequest, output: SummaryV2DnsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryV2EmailRoutingError = CloudflareOpError; /** Retrieves the distribution of email routing metrics by the specified dimension. */ export const summaryV2EmailRouting: API.OperationMethod< SummaryV2EmailRoutingRequest, SummaryV2EmailRoutingResponse, SummaryV2EmailRoutingError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryV2EmailRoutingRequest, output: SummaryV2EmailRoutingResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryV2EmailSecurityError = CloudflareOpError; /** Retrieves the distribution of email security metrics by the specified dimension. */ export const summaryV2EmailSecurity: API.OperationMethod< SummaryV2EmailSecurityRequest, SummaryV2EmailSecurityResponse, SummaryV2EmailSecurityError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryV2EmailSecurityRequest, output: SummaryV2EmailSecurityResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryV2HttpError = CloudflareOpError; /** Retrieves the distribution of HTTP requests by the specified dimension. */ export const summaryV2Http: API.OperationMethod< SummaryV2HttpRequest, SummaryV2HttpResponse, SummaryV2HttpError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryV2HttpRequest, output: SummaryV2HttpResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryV2LeakedCredentialError = CloudflareOpError; /** Retrieves an aggregated summary of HTTP authentication requests grouped by the specified dimension. */ export const summaryV2LeakedCredential: API.OperationMethod< SummaryV2LeakedCredentialRequest, SummaryV2LeakedCredentialResponse, SummaryV2LeakedCredentialError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryV2LeakedCredentialRequest, output: SummaryV2LeakedCredentialResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SummaryV2NetflowError = CloudflareOpError; /** Retrieves the distribution of network traffic (NetFlows) by the specified dimension. */ export const summaryV2Netflow: API.OperationMethod< SummaryV2NetflowRequest, SummaryV2NetflowResponse, SummaryV2NetflowError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SummaryV2NetflowRequest, output: SummaryV2NetflowResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type SupportPostQuantumTlsError = CloudflareOpError; /** Tests whether a hostname or IP address supports Post-Quantum (PQ) TLS key exchange. Returns information about the negotiated key exchange algorithm, whether it uses PQ cryptography, and any detected TLS implementation bugs (Split ClientHello, HRR failure, etc.). */ export const supportPostQuantumTls: API.OperationMethod< SupportPostQuantumTlsRequest, SupportPostQuantumTlsResponse, SupportPostQuantumTlsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: SupportPostQuantumTlsRequest, output: SupportPostQuantumTlsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TargetAttackLayer3TopLocationError = CloudflareOpError; /** Retrieves the target locations of layer 3 attacks. */ export const targetAttackLayer3TopLocation: API.OperationMethod< TargetAttackLayer3TopLocationRequest, TargetAttackLayer3TopLocationResponse, TargetAttackLayer3TopLocationError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TargetAttackLayer3TopLocationRequest, output: TargetAttackLayer3TopLocationResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TargetAttackLayer7TopLocationError = CloudflareOpError; /** Retrieves the top target locations of and by layer 7 attacks. Values are a percentage out of the total layer 7 attacks. The target location is determined by the attacked zone's billing country, when available. */ export const targetAttackLayer7TopLocation: API.OperationMethod< TargetAttackLayer7TopLocationRequest, TargetAttackLayer7TopLocationResponse, TargetAttackLayer7TopLocationError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TargetAttackLayer7TopLocationRequest, output: TargetAttackLayer7TopLocationResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TaskAiInferenceSummaryError = CloudflareOpError; /** Retrieves the distribution of the number of inferences by task. */ export const taskAiInferenceSummary: API.OperationMethod< TaskAiInferenceSummaryRequest, TaskAiInferenceSummaryResponse, TaskAiInferenceSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TaskAiInferenceSummaryRequest, output: TaskAiInferenceSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TaskAiInferenceTimeseriesGroupSummaryError = CloudflareOpError; /** Retrieves the distribution of the number of inferences by task over time. */ export const taskAiInferenceTimeseriesGroupSummary: API.OperationMethod< TaskAiInferenceTimeseriesGroupSummaryRequest, TaskAiInferenceTimeseriesGroupSummaryResponse, TaskAiInferenceTimeseriesGroupSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TaskAiInferenceTimeseriesGroupSummaryRequest, output: TaskAiInferenceTimeseriesGroupSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ThreatCategoryEmailSecuritySummaryError = CloudflareOpError; /** Retrieves the distribution of emails by threat categories. */ export const threatCategoryEmailSecuritySummary: API.OperationMethod< ThreatCategoryEmailSecuritySummaryRequest, ThreatCategoryEmailSecuritySummaryResponse, ThreatCategoryEmailSecuritySummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ThreatCategoryEmailSecuritySummaryRequest, output: ThreatCategoryEmailSecuritySummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ThreatCategoryEmailSecurityTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of emails by threat category over time. */ export const threatCategoryEmailSecurityTimeseriesGroup: API.OperationMethod< ThreatCategoryEmailSecurityTimeseriesGroupRequest, ThreatCategoryEmailSecurityTimeseriesGroupResponse, ThreatCategoryEmailSecurityTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ThreatCategoryEmailSecurityTimeseriesGroupRequest, output: ThreatCategoryEmailSecurityTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesAiBotError = CloudflareOpError; /** Retrieves AI bots HTTP request volume over time. */ export const timeseriesAiBot: API.OperationMethod< TimeseriesAiBotRequest, TimeseriesAiBotResponse, TimeseriesAiBotError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesAiBotRequest, output: TimeseriesAiBotResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesAiMarkdownForAgentError = CloudflareOpError; /** Retrieves the median HTML-to-markdown reduction ratio over time for AI agent requests. */ export const timeseriesAiMarkdownForAgent: API.OperationMethod< TimeseriesAiMarkdownForAgentRequest, TimeseriesAiMarkdownForAgentResponse, TimeseriesAiMarkdownForAgentError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesAiMarkdownForAgentRequest, output: TimeseriesAiMarkdownForAgentResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesAs112Error = CloudflareOpError; /** Retrieves the AS112 DNS queries over time. */ export const timeseriesAs112: API.OperationMethod< TimeseriesAs112Request, TimeseriesAs112Response, TimeseriesAs112Error, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesAs112Request, output: TimeseriesAs112Response, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesAttackLayer3Error = CloudflareOpError; /** Retrieves layer 3 attacks over time. */ export const timeseriesAttackLayer3: API.OperationMethod< TimeseriesAttackLayer3Request, TimeseriesAttackLayer3Response, TimeseriesAttackLayer3Error, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesAttackLayer3Request, output: TimeseriesAttackLayer3Response, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesAttackLayer7Error = CloudflareOpError; /** Retrieves layer 7 attacks over time. */ export const timeseriesAttackLayer7: API.OperationMethod< TimeseriesAttackLayer7Request, TimeseriesAttackLayer7Response, TimeseriesAttackLayer7Error, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesAttackLayer7Request, output: TimeseriesAttackLayer7Response, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesBgpError = CloudflareOpError; /** Retrieves BGP updates over time. When requesting updates for an autonomous system, only BGP updates of type announcement are returned. */ export const timeseriesBgp: API.OperationMethod< TimeseriesBgpRequest, TimeseriesBgpResponse, TimeseriesBgpError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesBgpRequest, output: TimeseriesBgpResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesBgpIpError = CloudflareOpError; /** Retrieves time series data for the announced IP space count, represented as the number of IPv4 /24s and IPv6 /48s, for a given ASN. */ export const timeseriesBgpIp: API.OperationMethod< TimeseriesBgpIpRequest, TimeseriesBgpIpResponse, TimeseriesBgpIpError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesBgpIpRequest, output: TimeseriesBgpIpResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesBgpRpkiAspaError = CloudflareOpError; /** Retrieves ASPA (Autonomous System Provider Authorization) object count over time. Supports filtering by RIR or location (country code) to generate multiple named series. If no RIR or location filter is specified, returns total count. */ export const timeseriesBgpRpkiAspa: API.OperationMethod< TimeseriesBgpRpkiAspaRequest, TimeseriesBgpRpkiAspaResponse, TimeseriesBgpRpkiAspaError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesBgpRpkiAspaRequest, output: TimeseriesBgpRpkiAspaResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesBgpRpkiRoaError = CloudflareOpError; /** Retrieves RPKI ROA (Route Origin Authorization) validation ratios over time. Returns the selected metric as a time series. Supports filtering by ASN or location (country code) — multiple values of the same filter type produce one series per value. If no ASN or location is specified, returns the global aggregate. */ export const timeseriesBgpRpkiRoa: API.OperationMethod< TimeseriesBgpRpkiRoaRequest, TimeseriesBgpRpkiRoaResponse, TimeseriesBgpRpkiRoaError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesBgpRpkiRoaRequest, output: TimeseriesBgpRpkiRoaResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesBotError = CloudflareOpError; /** Retrieves bots HTTP request volume over time. */ export const timeseriesBot: API.OperationMethod< TimeseriesBotRequest, TimeseriesBotResponse, TimeseriesBotError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesBotRequest, output: TimeseriesBotResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesCtError = CloudflareOpError; /** Retrieves certificate volume over time. */ export const timeseriesCt: API.OperationMethod< TimeseriesCtRequest, TimeseriesCtResponse, TimeseriesCtError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesCtRequest, output: TimeseriesCtResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesDnsError = CloudflareOpError; /** Retrieves normalized query volume to the 1.1.1.1 DNS resolver over time. */ export const timeseriesDns: API.OperationMethod< TimeseriesDnsRequest, TimeseriesDnsResponse, TimeseriesDnsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesDnsRequest, output: TimeseriesDnsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsAiBotError = CloudflareOpError; /** Retrieves the distribution of HTTP requests from AI bots, grouped by the specified dimension over time. */ export const timeseriesGroupsAiBot: API.OperationMethod< TimeseriesGroupsAiBotRequest, TimeseriesGroupsAiBotResponse, TimeseriesGroupsAiBotError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsAiBotRequest, output: TimeseriesGroupsAiBotResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsBotError = CloudflareOpError; /** Retrieves the distribution of HTTP requests from bots, grouped by the specified dimension over time. */ export const timeseriesGroupsBot: API.OperationMethod< TimeseriesGroupsBotRequest, TimeseriesGroupsBotResponse, TimeseriesGroupsBotError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsBotRequest, output: TimeseriesGroupsBotResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsBotWebCrawlerError = CloudflareOpError; /** Retrieves the distribution of HTTP requests from crawlers, grouped by the specified dimension over time. */ export const timeseriesGroupsBotWebCrawler: API.OperationMethod< TimeseriesGroupsBotWebCrawlerRequest, TimeseriesGroupsBotWebCrawlerResponse, TimeseriesGroupsBotWebCrawlerError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsBotWebCrawlerRequest, output: TimeseriesGroupsBotWebCrawlerResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsCtError = CloudflareOpError; /** Retrieves the distribution of certificates grouped by the specified dimension over time. */ export const timeseriesGroupsCt: API.OperationMethod< TimeseriesGroupsCtRequest, TimeseriesGroupsCtResponse, TimeseriesGroupsCtError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsCtRequest, output: TimeseriesGroupsCtResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsNetflowError = CloudflareOpError; /** Retrieves the distribution of NetFlows traffic, grouped by the specified dimension over time. */ export const timeseriesGroupsNetflow: API.OperationMethod< TimeseriesGroupsNetflowRequest, TimeseriesGroupsNetflowResponse, TimeseriesGroupsNetflowError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsNetflowRequest, output: TimeseriesGroupsNetflowResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsPostQuantumOriginError = CloudflareOpError; /** Returns a timeseries of origin post-quantum data grouped by the specified dimension. */ export const timeseriesGroupsPostQuantumOrigin: API.OperationMethod< TimeseriesGroupsPostQuantumOriginRequest, TimeseriesGroupsPostQuantumOriginResponse, TimeseriesGroupsPostQuantumOriginError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsPostQuantumOriginRequest, output: TimeseriesGroupsPostQuantumOriginResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsQualityIqiError = CloudflareOpError; /** Retrieves a time series (percentiles) of bandwidth, latency, or DNS response time from the Radar Internet Quality Index (IQI). */ export const timeseriesGroupsQualityIqi: API.OperationMethod< TimeseriesGroupsQualityIqiRequest, TimeseriesGroupsQualityIqiResponse, TimeseriesGroupsQualityIqiError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsQualityIqiRequest, output: TimeseriesGroupsQualityIqiResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsRankingError = CloudflareOpError; /** Retrieves domains rank over time. */ export const timeseriesGroupsRanking: API.OperationMethod< TimeseriesGroupsRankingRequest, TimeseriesGroupsRankingResponse, TimeseriesGroupsRankingError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsRankingRequest, output: TimeseriesGroupsRankingResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsRankingInternetServiceError = CloudflareOpError; /** Retrieves Internet Services rank update changes over time. */ export const timeseriesGroupsRankingInternetService: API.OperationMethod< TimeseriesGroupsRankingInternetServiceRequest, TimeseriesGroupsRankingInternetServiceResponse, TimeseriesGroupsRankingInternetServiceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsRankingInternetServiceRequest, output: TimeseriesGroupsRankingInternetServiceResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsTcpResetsTimeoutError = CloudflareOpError; /** Retrieves the distribution of connection stage by TCP connections terminated within the first 10 packets by a reset or timeout over time. */ export const timeseriesGroupsTcpResetsTimeout: API.OperationMethod< TimeseriesGroupsTcpResetsTimeoutRequest, TimeseriesGroupsTcpResetsTimeoutResponse, TimeseriesGroupsTcpResetsTimeoutError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsTcpResetsTimeoutRequest, output: TimeseriesGroupsTcpResetsTimeoutResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsV2AiInferenceError = CloudflareOpError; /** Retrieves the distribution of the number of inferences run on Workers AI, grouped by the specified dimension over time. */ export const timeseriesGroupsV2AiInference: API.OperationMethod< TimeseriesGroupsV2AiInferenceRequest, TimeseriesGroupsV2AiInferenceResponse, TimeseriesGroupsV2AiInferenceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsV2AiInferenceRequest, output: TimeseriesGroupsV2AiInferenceResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsV2As112Error = CloudflareOpError; /** Retrieves the distribution of AS112 queries grouped by dimension over time. */ export const timeseriesGroupsV2As112: API.OperationMethod< TimeseriesGroupsV2As112Request, TimeseriesGroupsV2As112Response, TimeseriesGroupsV2As112Error, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsV2As112Request, output: TimeseriesGroupsV2As112Response, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsV2AttackLayer3Error = CloudflareOpError; /** Retrieves the distribution of layer 3 attacks grouped by dimension over time. */ export const timeseriesGroupsV2AttackLayer3: API.OperationMethod< TimeseriesGroupsV2AttackLayer3Request, TimeseriesGroupsV2AttackLayer3Response, TimeseriesGroupsV2AttackLayer3Error, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsV2AttackLayer3Request, output: TimeseriesGroupsV2AttackLayer3Response, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsV2AttackLayer7Error = CloudflareOpError; /** Retrieves the distribution of layer 7 attacks grouped by dimension over time. */ export const timeseriesGroupsV2AttackLayer7: API.OperationMethod< TimeseriesGroupsV2AttackLayer7Request, TimeseriesGroupsV2AttackLayer7Response, TimeseriesGroupsV2AttackLayer7Error, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsV2AttackLayer7Request, output: TimeseriesGroupsV2AttackLayer7Response, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsV2DnsError = CloudflareOpError; /** Retrieves the distribution of DNS queries grouped by dimension over time. */ export const timeseriesGroupsV2Dns: API.OperationMethod< TimeseriesGroupsV2DnsRequest, TimeseriesGroupsV2DnsResponse, TimeseriesGroupsV2DnsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsV2DnsRequest, output: TimeseriesGroupsV2DnsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsV2EmailRoutingError = CloudflareOpError; /** Retrieves the distribution of email routing metrics grouped by dimension over time. */ export const timeseriesGroupsV2EmailRouting: API.OperationMethod< TimeseriesGroupsV2EmailRoutingRequest, TimeseriesGroupsV2EmailRoutingResponse, TimeseriesGroupsV2EmailRoutingError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsV2EmailRoutingRequest, output: TimeseriesGroupsV2EmailRoutingResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsV2EmailSecurityError = CloudflareOpError; /** Retrieves the distribution of email security metrics grouped by dimension over time. */ export const timeseriesGroupsV2EmailSecurity: API.OperationMethod< TimeseriesGroupsV2EmailSecurityRequest, TimeseriesGroupsV2EmailSecurityResponse, TimeseriesGroupsV2EmailSecurityError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsV2EmailSecurityRequest, output: TimeseriesGroupsV2EmailSecurityResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsV2HttpError = CloudflareOpError; /** Retrieves the distribution of HTTP requests grouped by dimension. */ export const timeseriesGroupsV2Http: API.OperationMethod< TimeseriesGroupsV2HttpRequest, TimeseriesGroupsV2HttpResponse, TimeseriesGroupsV2HttpError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsV2HttpRequest, output: TimeseriesGroupsV2HttpResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesGroupsV2LeakedCredentialError = CloudflareOpError; /** Retrieves the distribution of HTTP authentication requests, grouped by the specified dimension over time. */ export const timeseriesGroupsV2LeakedCredential: API.OperationMethod< TimeseriesGroupsV2LeakedCredentialRequest, TimeseriesGroupsV2LeakedCredentialResponse, TimeseriesGroupsV2LeakedCredentialError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesGroupsV2LeakedCredentialRequest, output: TimeseriesGroupsV2LeakedCredentialResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesHttpError = CloudflareOpError; /** Retrieves the HTTP requests over time. */ export const timeseriesHttp: API.OperationMethod< TimeseriesHttpRequest, TimeseriesHttpResponse, TimeseriesHttpError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesHttpRequest, output: TimeseriesHttpResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TimeseriesNetflowError = CloudflareOpError; /** Retrieves network traffic (NetFlows) over time. */ export const timeseriesNetflow: API.OperationMethod< TimeseriesNetflowRequest, TimeseriesNetflowResponse, TimeseriesNetflowError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TimeseriesNetflowRequest, output: TimeseriesNetflowResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TldsPerformanceSummaryError = CloudflareOpError; /** Returns a summary of TLD authoritative nameserver performance grouped by the specified dimension. */ export const tldsPerformanceSummary: API.OperationMethod< TldsPerformanceSummaryRequest, TldsPerformanceSummaryResponse, TldsPerformanceSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TldsPerformanceSummaryRequest, output: TldsPerformanceSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TldsPerformanceTimeseriesGroupsError = CloudflareOpError; /** Returns a timeseries of TLD authoritative nameserver performance grouped by the specified dimension. */ export const tldsPerformanceTimeseriesGroups: API.OperationMethod< TldsPerformanceTimeseriesGroupsRequest, TldsPerformanceTimeseriesGroupsResponse, TldsPerformanceTimeseriesGroupsError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TldsPerformanceTimeseriesGroupsRequest, output: TldsPerformanceTimeseriesGroupsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TlsVersionEmailSecuritySummaryError = CloudflareOpError; /** Retrieves the distribution of emails by TLS version. */ export const tlsVersionEmailSecuritySummary: API.OperationMethod< TlsVersionEmailSecuritySummaryRequest, TlsVersionEmailSecuritySummaryResponse, TlsVersionEmailSecuritySummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TlsVersionEmailSecuritySummaryRequest, output: TlsVersionEmailSecuritySummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TlsVersionEmailSecurityTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of emails by TLS version over time. */ export const tlsVersionEmailSecurityTimeseriesGroup: API.OperationMethod< TlsVersionEmailSecurityTimeseriesGroupRequest, TlsVersionEmailSecurityTimeseriesGroupResponse, TlsVersionEmailSecurityTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TlsVersionEmailSecurityTimeseriesGroupRequest, output: TlsVersionEmailSecurityTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TlsVersionHttpSummaryError = CloudflareOpError; /** Retrieves the distribution of HTTP requests by TLS version. */ export const tlsVersionHttpSummary: API.OperationMethod< TlsVersionHttpSummaryRequest, TlsVersionHttpSummaryResponse, TlsVersionHttpSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TlsVersionHttpSummaryRequest, output: TlsVersionHttpSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TlsVersionHttpTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of HTTP requests by TLS version over time. */ export const tlsVersionHttpTimeseriesGroup: API.OperationMethod< TlsVersionHttpTimeseriesGroupRequest, TlsVersionHttpTimeseriesGroupResponse, TlsVersionHttpTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TlsVersionHttpTimeseriesGroupRequest, output: TlsVersionHttpTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TopRankingError = CloudflareOpError; /** Retrieves the top or trending domains based on their rank. Popular domains are domains of broad appeal based on how people use the Internet. Trending domains are domains that are generating a surge in interest. For more information on top domains, see https://blog.cloudflare.com/radar-domain-rankings/. */ export const topRanking: API.OperationMethod< TopRankingRequest, TopRankingResponse, TopRankingError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TopRankingRequest, output: TopRankingResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TopRankingInternetServiceError = CloudflareOpError; /** Retrieves top Internet services based on their rank. */ export const topRankingInternetService: API.OperationMethod< TopRankingInternetServiceRequest, TopRankingInternetServiceResponse, TopRankingInternetServiceError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TopRankingInternetServiceRequest, output: TopRankingInternetServiceResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type TransformToMarkdownError = CloudflareOpError; /** Converts uploaded files into Markdown format using Workers AI. */ export const transformToMarkdown: API.OperationMethod< TransformToMarkdownRequest, TransformToMarkdownResponse, TransformToMarkdownError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: TransformToMarkdownRequest, output: TransformToMarkdownResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type UserAgentAiBotSummaryError = CloudflareOpError; /** Retrieves the distribution of traffic by AI user agent. */ export const userAgentAiBotSummary: API.OperationMethod< UserAgentAiBotSummaryRequest, UserAgentAiBotSummaryResponse, UserAgentAiBotSummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: UserAgentAiBotSummaryRequest, output: UserAgentAiBotSummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type UserAgentAiTimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of traffic by AI user agent over time. */ export const userAgentAiTimeseriesGroup: API.OperationMethod< UserAgentAiTimeseriesGroupRequest, UserAgentAiTimeseriesGroupResponse, UserAgentAiTimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: UserAgentAiTimeseriesGroupRequest, output: UserAgentAiTimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type VectorAttackLayer3SummaryError = CloudflareOpError; /** Retrieves the distribution of layer 3 attacks by vector. */ export const vectorAttackLayer3Summary: API.OperationMethod< VectorAttackLayer3SummaryRequest, VectorAttackLayer3SummaryResponse, VectorAttackLayer3SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: VectorAttackLayer3SummaryRequest, output: VectorAttackLayer3SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type VectorAttackLayer3TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of layer 3 attacks by vector over time. */ export const vectorAttackLayer3TimeseriesGroup: API.OperationMethod< VectorAttackLayer3TimeseriesGroupRequest, VectorAttackLayer3TimeseriesGroupResponse, VectorAttackLayer3TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: VectorAttackLayer3TimeseriesGroupRequest, output: VectorAttackLayer3TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type VerticalAttackLayer3SummaryError = CloudflareOpError; /** Retrieves the distribution of layer 3 attacks by targeted vertical. */ export const verticalAttackLayer3Summary: API.OperationMethod< VerticalAttackLayer3SummaryRequest, VerticalAttackLayer3SummaryResponse, VerticalAttackLayer3SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: VerticalAttackLayer3SummaryRequest, output: VerticalAttackLayer3SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type VerticalAttackLayer3TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of layer 3 attacks by targeted vertical over time. */ export const verticalAttackLayer3TimeseriesGroup: API.OperationMethod< VerticalAttackLayer3TimeseriesGroupRequest, VerticalAttackLayer3TimeseriesGroupResponse, VerticalAttackLayer3TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: VerticalAttackLayer3TimeseriesGroupRequest, output: VerticalAttackLayer3TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type VerticalAttackLayer3TopError = CloudflareOpError; /** This endpoint is deprecated. To continue getting this data, switch to the summary by vertical endpoint. */ export const verticalAttackLayer3Top: API.OperationMethod< VerticalAttackLayer3TopRequest, VerticalAttackLayer3TopResponse, VerticalAttackLayer3TopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: VerticalAttackLayer3TopRequest, output: VerticalAttackLayer3TopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type VerticalAttackLayer7SummaryError = CloudflareOpError; /** Retrieves the distribution of layer 7 attacks by targeted vertical. */ export const verticalAttackLayer7Summary: API.OperationMethod< VerticalAttackLayer7SummaryRequest, VerticalAttackLayer7SummaryResponse, VerticalAttackLayer7SummaryError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: VerticalAttackLayer7SummaryRequest, output: VerticalAttackLayer7SummaryResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type VerticalAttackLayer7TimeseriesGroupError = CloudflareOpError; /** Retrieves the distribution of layer 7 attacks by targeted vertical over time. */ export const verticalAttackLayer7TimeseriesGroup: API.OperationMethod< VerticalAttackLayer7TimeseriesGroupRequest, VerticalAttackLayer7TimeseriesGroupResponse, VerticalAttackLayer7TimeseriesGroupError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: VerticalAttackLayer7TimeseriesGroupRequest, output: VerticalAttackLayer7TimeseriesGroupResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type VerticalAttackLayer7TopError = CloudflareOpError; /** This endpoint is deprecated. To continue getting this data, switch to the summary by vertical endpoint. */ export const verticalAttackLayer7Top: API.OperationMethod< VerticalAttackLayer7TopRequest, VerticalAttackLayer7TopResponse, VerticalAttackLayer7TopError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: VerticalAttackLayer7TopRequest, output: VerticalAttackLayer7TopResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); // Alias of transformToMarkdown (same route, alternate export name upstream). export const createAiToMarkdown = transformToMarkdown; export type CreateAiToMarkdownRequest = TransformToMarkdownRequest; export type CreateAiToMarkdownResponse = TransformToMarkdownResponse; export type CreateAiToMarkdownError = TransformToMarkdownError; // Alias of summaryAiTimeseriesGroup (same route, alternate export name upstream). export const summaryV2AiBot = summaryAiTimeseriesGroup; export type SummaryV2AiBotRequest = SummaryAiTimeseriesGroupRequest; export type SummaryV2AiBotResponse = SummaryAiTimeseriesGroupResponse; export type SummaryV2AiBotError = SummaryAiTimeseriesGroupError; // Alias of timeseriesAiBot (same route, alternate export name upstream). export const timeseriesAiTimeseriesGroup = timeseriesAiBot; export type TimeseriesAiTimeseriesGroupRequest = TimeseriesAiBotRequest; export type TimeseriesAiTimeseriesGroupResponse = TimeseriesAiBotResponse; export type TimeseriesAiTimeseriesGroupError = TimeseriesAiBotError; // Alias of timeseriesGroupsAiBot (same route, alternate export name upstream). export const timeseriesGroupsAiTimeseriesGroup = timeseriesGroupsAiBot; export type TimeseriesGroupsAiTimeseriesGroupRequest = TimeseriesGroupsAiBotRequest; export type TimeseriesGroupsAiTimeseriesGroupResponse = TimeseriesGroupsAiBotResponse; export type TimeseriesGroupsAiTimeseriesGroupError = TimeseriesGroupsAiBotError;