UNPKG

cloudflare

Version:

The official TypeScript library for the Cloudflare API

1,951 lines (1,603 loc) 65.1 kB
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../../resource'; import { isRequestOptions } from '../../../core'; import * as Core from '../../../core'; export class TimeseriesGroups extends APIResource { /** * 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. * * @deprecated */ botClass( query?: TimeseriesGroupBotClassParams, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupBotClassResponse>; botClass(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupBotClassResponse>; botClass( query: TimeseriesGroupBotClassParams | Core.RequestOptions = {}, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupBotClassResponse> { if (isRequestOptions(query)) { return this.botClass({}, query); } return ( this._client.get('/radar/http/timeseries_groups/bot_class', { query, ...options }) as Core.APIPromise<{ result: TimeseriesGroupBotClassResponse; }> )._thenUnwrap((obj) => obj.result); } /** * Retrieves the distribution of HTTP requests by user agent over time. * * @deprecated */ browser( query?: TimeseriesGroupBrowserParams, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupBrowserResponse>; browser(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupBrowserResponse>; browser( query: TimeseriesGroupBrowserParams | Core.RequestOptions = {}, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupBrowserResponse> { if (isRequestOptions(query)) { return this.browser({}, query); } return ( this._client.get('/radar/http/timeseries_groups/browser', { query, ...options }) as Core.APIPromise<{ result: TimeseriesGroupBrowserResponse; }> )._thenUnwrap((obj) => obj.result); } /** * Retrieves the distribution of HTTP requests by user agent family over time. * * @deprecated */ browserFamily( query?: TimeseriesGroupBrowserFamilyParams, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupBrowserFamilyResponse>; browserFamily(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupBrowserFamilyResponse>; browserFamily( query: TimeseriesGroupBrowserFamilyParams | Core.RequestOptions = {}, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupBrowserFamilyResponse> { if (isRequestOptions(query)) { return this.browserFamily({}, query); } return ( this._client.get('/radar/http/timeseries_groups/browser_family', { query, ...options, }) as Core.APIPromise<{ result: TimeseriesGroupBrowserFamilyResponse }> )._thenUnwrap((obj) => obj.result); } /** * Retrieves the distribution of HTTP requests by device type over time. * * @deprecated */ deviceType( query?: TimeseriesGroupDeviceTypeParams, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupDeviceTypeResponse>; deviceType(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupDeviceTypeResponse>; deviceType( query: TimeseriesGroupDeviceTypeParams | Core.RequestOptions = {}, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupDeviceTypeResponse> { if (isRequestOptions(query)) { return this.deviceType({}, query); } return ( this._client.get('/radar/http/timeseries_groups/device_type', { query, ...options, }) as Core.APIPromise<{ result: TimeseriesGroupDeviceTypeResponse }> )._thenUnwrap((obj) => obj.result); } /** * Retrieves the distribution of HTTP requests by HTTP protocol (HTTP vs. HTTPS) * over time. * * @deprecated */ httpProtocol( query?: TimeseriesGroupHTTPProtocolParams, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupHTTPProtocolResponse>; httpProtocol(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupHTTPProtocolResponse>; httpProtocol( query: TimeseriesGroupHTTPProtocolParams | Core.RequestOptions = {}, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupHTTPProtocolResponse> { if (isRequestOptions(query)) { return this.httpProtocol({}, query); } return ( this._client.get('/radar/http/timeseries_groups/http_protocol', { query, ...options, }) as Core.APIPromise<{ result: TimeseriesGroupHTTPProtocolResponse }> )._thenUnwrap((obj) => obj.result); } /** * Retrieves the distribution of HTTP requests by HTTP version over time. * * @deprecated */ httpVersion( query?: TimeseriesGroupHTTPVersionParams, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupHTTPVersionResponse>; httpVersion(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupHTTPVersionResponse>; httpVersion( query: TimeseriesGroupHTTPVersionParams | Core.RequestOptions = {}, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupHTTPVersionResponse> { if (isRequestOptions(query)) { return this.httpVersion({}, query); } return ( this._client.get('/radar/http/timeseries_groups/http_version', { query, ...options, }) as Core.APIPromise<{ result: TimeseriesGroupHTTPVersionResponse }> )._thenUnwrap((obj) => obj.result); } /** * Retrieves the distribution of HTTP requests by IP version over time. * * @deprecated */ ipVersion( query?: TimeseriesGroupIPVersionParams, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupIPVersionResponse>; ipVersion(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupIPVersionResponse>; ipVersion( query: TimeseriesGroupIPVersionParams | Core.RequestOptions = {}, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupIPVersionResponse> { if (isRequestOptions(query)) { return this.ipVersion({}, query); } return ( this._client.get('/radar/http/timeseries_groups/ip_version', { query, ...options }) as Core.APIPromise<{ result: TimeseriesGroupIPVersionResponse; }> )._thenUnwrap((obj) => obj.result); } /** * Retrieves the distribution of HTTP requests by operating system over time. * * @deprecated */ os( query?: TimeseriesGroupOSParams, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupOSResponse>; os(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupOSResponse>; os( query: TimeseriesGroupOSParams | Core.RequestOptions = {}, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupOSResponse> { if (isRequestOptions(query)) { return this.os({}, query); } return ( this._client.get('/radar/http/timeseries_groups/os', { query, ...options }) as Core.APIPromise<{ result: TimeseriesGroupOSResponse; }> )._thenUnwrap((obj) => obj.result); } /** * Retrieves the distribution of HTTP requests by post-quantum support over time. * * @deprecated */ postQuantum( query?: TimeseriesGroupPostQuantumParams, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupPostQuantumResponse>; postQuantum(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupPostQuantumResponse>; postQuantum( query: TimeseriesGroupPostQuantumParams | Core.RequestOptions = {}, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupPostQuantumResponse> { if (isRequestOptions(query)) { return this.postQuantum({}, query); } return ( this._client.get('/radar/http/timeseries_groups/post_quantum', { query, ...options, }) as Core.APIPromise<{ result: TimeseriesGroupPostQuantumResponse }> )._thenUnwrap((obj) => obj.result); } /** * Retrieves the distribution of HTTP requests by TLS version over time. * * @deprecated */ tlsVersion( query?: TimeseriesGroupTLSVersionParams, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupTLSVersionResponse>; tlsVersion(options?: Core.RequestOptions): Core.APIPromise<TimeseriesGroupTLSVersionResponse>; tlsVersion( query: TimeseriesGroupTLSVersionParams | Core.RequestOptions = {}, options?: Core.RequestOptions, ): Core.APIPromise<TimeseriesGroupTLSVersionResponse> { if (isRequestOptions(query)) { return this.tlsVersion({}, query); } return ( this._client.get('/radar/http/timeseries_groups/tls_version', { query, ...options, }) as Core.APIPromise<{ result: TimeseriesGroupTLSVersionResponse }> )._thenUnwrap((obj) => obj.result); } } export interface TimeseriesGroupBotClassResponse { /** * Metadata for the results. */ meta: TimeseriesGroupBotClassResponse.Meta; serie_0: TimeseriesGroupBotClassResponse.Serie0; } export namespace TimeseriesGroupBotClassResponse { /** * Metadata for the results. */ export interface Meta { /** * 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: 'FIFTEEN_MINUTES' | 'ONE_HOUR' | 'ONE_DAY' | 'ONE_WEEK' | 'ONE_MONTH'; confidenceInfo: Meta.ConfidenceInfo; dateRange: Array<Meta.DateRange>; /** * 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: | 'PERCENTAGE' | 'MIN0_MAX' | 'MIN_MAX' | 'RAW_VALUES' | 'PERCENTAGE_CHANGE' | 'ROLLING_AVERAGE' | 'OVERLAPPED_PERCENTAGE' | 'RATIO'; /** * Measurement units for the results. */ units: Array<Meta.Unit>; } export namespace Meta { export interface ConfidenceInfo { annotations: Array<ConfidenceInfo.Annotation>; /** * Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export namespace ConfidenceInfo { /** * Annotation associated with the result (e.g. outage or other type of event). */ export interface Annotation { dataSource: string; description: string; endDate: string; eventType: string; /** * Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; } } export interface DateRange { /** * Adjusted end of date range. */ endTime: string; /** * Adjusted start of date range. */ startTime: string; } export interface Unit { name: string; value: string; } } export interface Serie0 { bot: Array<string>; human: Array<string>; timestamps: Array<string>; } } export interface TimeseriesGroupBrowserResponse { /** * Metadata for the results. */ meta: TimeseriesGroupBrowserResponse.Meta; serie_0: TimeseriesGroupBrowserResponse.Serie0; } export namespace TimeseriesGroupBrowserResponse { /** * Metadata for the results. */ export interface Meta { /** * 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: 'FIFTEEN_MINUTES' | 'ONE_HOUR' | 'ONE_DAY' | 'ONE_WEEK' | 'ONE_MONTH'; confidenceInfo: Meta.ConfidenceInfo; dateRange: Array<Meta.DateRange>; /** * 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: | 'PERCENTAGE' | 'MIN0_MAX' | 'MIN_MAX' | 'RAW_VALUES' | 'PERCENTAGE_CHANGE' | 'ROLLING_AVERAGE' | 'OVERLAPPED_PERCENTAGE' | 'RATIO'; /** * Measurement units for the results. */ units: Array<Meta.Unit>; } export namespace Meta { export interface ConfidenceInfo { annotations: Array<ConfidenceInfo.Annotation>; /** * Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export namespace ConfidenceInfo { /** * Annotation associated with the result (e.g. outage or other type of event). */ export interface Annotation { dataSource: string; description: string; endDate: string; eventType: string; /** * Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; } } export interface DateRange { /** * Adjusted end of date range. */ endTime: string; /** * Adjusted start of date range. */ startTime: string; } export interface Unit { name: string; value: string; } } export interface Serie0 { timestamps: Array<string>; [k: string]: Array<string> | Array<string> | undefined; } } export interface TimeseriesGroupBrowserFamilyResponse { /** * Metadata for the results. */ meta: TimeseriesGroupBrowserFamilyResponse.Meta; serie_0: TimeseriesGroupBrowserFamilyResponse.Serie0; } export namespace TimeseriesGroupBrowserFamilyResponse { /** * Metadata for the results. */ export interface Meta { /** * 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: 'FIFTEEN_MINUTES' | 'ONE_HOUR' | 'ONE_DAY' | 'ONE_WEEK' | 'ONE_MONTH'; confidenceInfo: Meta.ConfidenceInfo; dateRange: Array<Meta.DateRange>; /** * 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: | 'PERCENTAGE' | 'MIN0_MAX' | 'MIN_MAX' | 'RAW_VALUES' | 'PERCENTAGE_CHANGE' | 'ROLLING_AVERAGE' | 'OVERLAPPED_PERCENTAGE' | 'RATIO'; /** * Measurement units for the results. */ units: Array<Meta.Unit>; } export namespace Meta { export interface ConfidenceInfo { annotations: Array<ConfidenceInfo.Annotation>; /** * Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export namespace ConfidenceInfo { /** * Annotation associated with the result (e.g. outage or other type of event). */ export interface Annotation { dataSource: string; description: string; endDate: string; eventType: string; /** * Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; } } export interface DateRange { /** * Adjusted end of date range. */ endTime: string; /** * Adjusted start of date range. */ startTime: string; } export interface Unit { name: string; value: string; } } export interface Serie0 { timestamps: Array<string>; [k: string]: Array<string> | Array<string> | undefined; } } export interface TimeseriesGroupDeviceTypeResponse { /** * Metadata for the results. */ meta: TimeseriesGroupDeviceTypeResponse.Meta; serie_0: TimeseriesGroupDeviceTypeResponse.Serie0; } export namespace TimeseriesGroupDeviceTypeResponse { /** * Metadata for the results. */ export interface Meta { /** * 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: 'FIFTEEN_MINUTES' | 'ONE_HOUR' | 'ONE_DAY' | 'ONE_WEEK' | 'ONE_MONTH'; confidenceInfo: Meta.ConfidenceInfo; dateRange: Array<Meta.DateRange>; /** * 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: | 'PERCENTAGE' | 'MIN0_MAX' | 'MIN_MAX' | 'RAW_VALUES' | 'PERCENTAGE_CHANGE' | 'ROLLING_AVERAGE' | 'OVERLAPPED_PERCENTAGE' | 'RATIO'; /** * Measurement units for the results. */ units: Array<Meta.Unit>; } export namespace Meta { export interface ConfidenceInfo { annotations: Array<ConfidenceInfo.Annotation>; /** * Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export namespace ConfidenceInfo { /** * Annotation associated with the result (e.g. outage or other type of event). */ export interface Annotation { dataSource: string; description: string; endDate: string; eventType: string; /** * Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; } } export interface DateRange { /** * Adjusted end of date range. */ endTime: string; /** * Adjusted start of date range. */ startTime: string; } export interface Unit { name: string; value: string; } } export interface Serie0 { desktop: Array<string>; mobile: Array<string>; other: Array<string>; timestamps: Array<string>; } } export interface TimeseriesGroupHTTPProtocolResponse { /** * Metadata for the results. */ meta: TimeseriesGroupHTTPProtocolResponse.Meta; serie_0: TimeseriesGroupHTTPProtocolResponse.Serie0; } export namespace TimeseriesGroupHTTPProtocolResponse { /** * Metadata for the results. */ export interface Meta { /** * 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: 'FIFTEEN_MINUTES' | 'ONE_HOUR' | 'ONE_DAY' | 'ONE_WEEK' | 'ONE_MONTH'; confidenceInfo: Meta.ConfidenceInfo; dateRange: Array<Meta.DateRange>; /** * 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: | 'PERCENTAGE' | 'MIN0_MAX' | 'MIN_MAX' | 'RAW_VALUES' | 'PERCENTAGE_CHANGE' | 'ROLLING_AVERAGE' | 'OVERLAPPED_PERCENTAGE' | 'RATIO'; /** * Measurement units for the results. */ units: Array<Meta.Unit>; } export namespace Meta { export interface ConfidenceInfo { annotations: Array<ConfidenceInfo.Annotation>; /** * Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export namespace ConfidenceInfo { /** * Annotation associated with the result (e.g. outage or other type of event). */ export interface Annotation { dataSource: string; description: string; endDate: string; eventType: string; /** * Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; } } export interface DateRange { /** * Adjusted end of date range. */ endTime: string; /** * Adjusted start of date range. */ startTime: string; } export interface Unit { name: string; value: string; } } export interface Serie0 { http: Array<string>; https: Array<string>; timestamps: Array<string>; } } export interface TimeseriesGroupHTTPVersionResponse { /** * Metadata for the results. */ meta: TimeseriesGroupHTTPVersionResponse.Meta; serie_0: TimeseriesGroupHTTPVersionResponse.Serie0; } export namespace TimeseriesGroupHTTPVersionResponse { /** * Metadata for the results. */ export interface Meta { /** * 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: 'FIFTEEN_MINUTES' | 'ONE_HOUR' | 'ONE_DAY' | 'ONE_WEEK' | 'ONE_MONTH'; confidenceInfo: Meta.ConfidenceInfo; dateRange: Array<Meta.DateRange>; /** * 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: | 'PERCENTAGE' | 'MIN0_MAX' | 'MIN_MAX' | 'RAW_VALUES' | 'PERCENTAGE_CHANGE' | 'ROLLING_AVERAGE' | 'OVERLAPPED_PERCENTAGE' | 'RATIO'; /** * Measurement units for the results. */ units: Array<Meta.Unit>; } export namespace Meta { export interface ConfidenceInfo { annotations: Array<ConfidenceInfo.Annotation>; /** * Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export namespace ConfidenceInfo { /** * Annotation associated with the result (e.g. outage or other type of event). */ export interface Annotation { dataSource: string; description: string; endDate: string; eventType: string; /** * Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; } } export interface DateRange { /** * Adjusted end of date range. */ endTime: string; /** * Adjusted start of date range. */ startTime: string; } export interface Unit { name: string; value: string; } } export interface Serie0 { 'HTTP/1.x': Array<string>; 'HTTP/2': Array<string>; 'HTTP/3': Array<string>; timestamps: Array<string>; } } export interface TimeseriesGroupIPVersionResponse { /** * Metadata for the results. */ meta: TimeseriesGroupIPVersionResponse.Meta; serie_0: TimeseriesGroupIPVersionResponse.Serie0; } export namespace TimeseriesGroupIPVersionResponse { /** * Metadata for the results. */ export interface Meta { /** * 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: 'FIFTEEN_MINUTES' | 'ONE_HOUR' | 'ONE_DAY' | 'ONE_WEEK' | 'ONE_MONTH'; confidenceInfo: Meta.ConfidenceInfo; dateRange: Array<Meta.DateRange>; /** * 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: | 'PERCENTAGE' | 'MIN0_MAX' | 'MIN_MAX' | 'RAW_VALUES' | 'PERCENTAGE_CHANGE' | 'ROLLING_AVERAGE' | 'OVERLAPPED_PERCENTAGE' | 'RATIO'; /** * Measurement units for the results. */ units: Array<Meta.Unit>; } export namespace Meta { export interface ConfidenceInfo { annotations: Array<ConfidenceInfo.Annotation>; /** * Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export namespace ConfidenceInfo { /** * Annotation associated with the result (e.g. outage or other type of event). */ export interface Annotation { dataSource: string; description: string; endDate: string; eventType: string; /** * Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; } } export interface DateRange { /** * Adjusted end of date range. */ endTime: string; /** * Adjusted start of date range. */ startTime: string; } export interface Unit { name: string; value: string; } } export interface Serie0 { IPv4: Array<string>; IPv6: Array<string>; timestamps: Array<string>; } } export interface TimeseriesGroupOSResponse { /** * Metadata for the results. */ meta: TimeseriesGroupOSResponse.Meta; serie_0: TimeseriesGroupOSResponse.Serie0; } export namespace TimeseriesGroupOSResponse { /** * Metadata for the results. */ export interface Meta { /** * 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: 'FIFTEEN_MINUTES' | 'ONE_HOUR' | 'ONE_DAY' | 'ONE_WEEK' | 'ONE_MONTH'; confidenceInfo: Meta.ConfidenceInfo; dateRange: Array<Meta.DateRange>; /** * 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: | 'PERCENTAGE' | 'MIN0_MAX' | 'MIN_MAX' | 'RAW_VALUES' | 'PERCENTAGE_CHANGE' | 'ROLLING_AVERAGE' | 'OVERLAPPED_PERCENTAGE' | 'RATIO'; /** * Measurement units for the results. */ units: Array<Meta.Unit>; } export namespace Meta { export interface ConfidenceInfo { annotations: Array<ConfidenceInfo.Annotation>; /** * Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export namespace ConfidenceInfo { /** * Annotation associated with the result (e.g. outage or other type of event). */ export interface Annotation { dataSource: string; description: string; endDate: string; eventType: string; /** * Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; } } export interface DateRange { /** * Adjusted end of date range. */ endTime: string; /** * Adjusted start of date range. */ startTime: string; } export interface Unit { name: string; value: string; } } export interface Serie0 { timestamps: Array<string>; [k: string]: Array<string> | Array<string> | undefined; } } export interface TimeseriesGroupPostQuantumResponse { /** * Metadata for the results. */ meta: TimeseriesGroupPostQuantumResponse.Meta; serie_0: TimeseriesGroupPostQuantumResponse.Serie0; } export namespace TimeseriesGroupPostQuantumResponse { /** * Metadata for the results. */ export interface Meta { /** * 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: 'FIFTEEN_MINUTES' | 'ONE_HOUR' | 'ONE_DAY' | 'ONE_WEEK' | 'ONE_MONTH'; confidenceInfo: Meta.ConfidenceInfo; dateRange: Array<Meta.DateRange>; /** * 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: | 'PERCENTAGE' | 'MIN0_MAX' | 'MIN_MAX' | 'RAW_VALUES' | 'PERCENTAGE_CHANGE' | 'ROLLING_AVERAGE' | 'OVERLAPPED_PERCENTAGE' | 'RATIO'; /** * Measurement units for the results. */ units: Array<Meta.Unit>; } export namespace Meta { export interface ConfidenceInfo { annotations: Array<ConfidenceInfo.Annotation>; /** * Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export namespace ConfidenceInfo { /** * Annotation associated with the result (e.g. outage or other type of event). */ export interface Annotation { dataSource: string; description: string; endDate: string; eventType: string; /** * Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; } } export interface DateRange { /** * Adjusted end of date range. */ endTime: string; /** * Adjusted start of date range. */ startTime: string; } export interface Unit { name: string; value: string; } } export interface Serie0 { NOT_SUPPORTED: Array<string>; SUPPORTED: Array<string>; timestamps: Array<string>; } } export interface TimeseriesGroupTLSVersionResponse { /** * Metadata for the results. */ meta: TimeseriesGroupTLSVersionResponse.Meta; serie_0: TimeseriesGroupTLSVersionResponse.Serie0; } export namespace TimeseriesGroupTLSVersionResponse { /** * Metadata for the results. */ export interface Meta { /** * 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: 'FIFTEEN_MINUTES' | 'ONE_HOUR' | 'ONE_DAY' | 'ONE_WEEK' | 'ONE_MONTH'; confidenceInfo: Meta.ConfidenceInfo; dateRange: Array<Meta.DateRange>; /** * 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: | 'PERCENTAGE' | 'MIN0_MAX' | 'MIN_MAX' | 'RAW_VALUES' | 'PERCENTAGE_CHANGE' | 'ROLLING_AVERAGE' | 'OVERLAPPED_PERCENTAGE' | 'RATIO'; /** * Measurement units for the results. */ units: Array<Meta.Unit>; } export namespace Meta { export interface ConfidenceInfo { annotations: Array<ConfidenceInfo.Annotation>; /** * Provides an indication of how much confidence Cloudflare has in the data. */ level: number; } export namespace ConfidenceInfo { /** * Annotation associated with the result (e.g. outage or other type of event). */ export interface Annotation { dataSource: string; description: string; endDate: string; eventType: string; /** * Whether event is a single point in time or a time range. */ isInstantaneous: boolean; linkedUrl: string; startDate: string; } } export interface DateRange { /** * Adjusted end of date range. */ endTime: string; /** * Adjusted start of date range. */ startTime: string; } export interface Unit { name: string; value: string; } } export interface Serie0 { timestamps: Array<string>; 'TLS 1.0': Array<string>; 'TLS 1.1': Array<string>; 'TLS 1.2': Array<string>; 'TLS 1.3': Array<string>; 'TLS QUIC': Array<string>; } } export interface TimeseriesGroupBotClassParams { /** * 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?: '15m' | '1h' | '1d' | '1w'; /** * 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?: Array<string>; /** * Filters results by browser family. */ browserFamily?: Array<'CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI'>; /** * 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?: Array<string>; /** * End of the date range (inclusive). */ dateEnd?: Array<string>; /** * Filters results by date range. For example, use `7d` and `7dcontrol` to compare * this week with the previous week. Use this parameter or set specific start and * end dates (`dateStart` and `dateEnd` parameters). */ dateRange?: Array<string>; /** * Start of the date range. */ dateStart?: Array<string>; /** * Filters results by device type. */ deviceType?: Array<'DESKTOP' | 'MOBILE' | 'OTHER'>; /** * Format in which results will be returned. */ format?: 'JSON' | 'CSV'; /** * 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?: Array<string>; /** * Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: Array<'HTTP' | 'HTTPS'>; /** * Filters results by HTTP version. */ httpVersion?: Array<'HTTPv1' | 'HTTPv2' | 'HTTPv3'>; /** * Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: Array<'IPv4' | 'IPv6'>; /** * 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?: Array<string>; /** * Array of names used to label the series in the response. */ name?: Array<string>; /** * Filters results by operating system. */ os?: Array<'WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV'>; /** * Filters results by TLS version. */ tlsVersion?: Array<'TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC'>; } export interface TimeseriesGroupBrowserParams { /** * 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?: '15m' | '1h' | '1d' | '1w'; /** * 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?: Array<string>; /** * Filters results by bot class. Refer to * [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: Array<'LIKELY_AUTOMATED' | 'LIKELY_HUMAN'>; /** * Filters results by browser family. */ browserFamily?: Array<'CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI'>; /** * 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?: Array<string>; /** * End of the date range (inclusive). */ dateEnd?: Array<string>; /** * Filters results by date range. For example, use `7d` and `7dcontrol` to compare * this week with the previous week. Use this parameter or set specific start and * end dates (`dateStart` and `dateEnd` parameters). */ dateRange?: Array<string>; /** * Start of the date range. */ dateStart?: Array<string>; /** * Filters results by device type. */ deviceType?: Array<'DESKTOP' | 'MOBILE' | 'OTHER'>; /** * Format in which results will be returned. */ format?: 'JSON' | 'CSV'; /** * 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?: Array<string>; /** * Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: Array<'HTTP' | 'HTTPS'>; /** * Filters results by HTTP version. */ httpVersion?: Array<'HTTPv1' | 'HTTPv2' | 'HTTPv3'>; /** * Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: Array<'IPv4' | 'IPv6'>; /** * 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?: Array<string>; /** * Array of names used to label the series in the response. */ name?: Array<string>; /** * Filters results by operating system. */ os?: Array<'WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV'>; /** * Filters results by TLS version. */ tlsVersion?: Array<'TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC'>; } export interface TimeseriesGroupBrowserFamilyParams { /** * 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?: '15m' | '1h' | '1d' | '1w'; /** * 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?: Array<string>; /** * Filters results by bot class. Refer to * [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: Array<'LIKELY_AUTOMATED' | 'LIKELY_HUMAN'>; /** * 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?: Array<string>; /** * End of the date range (inclusive). */ dateEnd?: Array<string>; /** * Filters results by date range. For example, use `7d` and `7dcontrol` to compare * this week with the previous week. Use this parameter or set specific start and * end dates (`dateStart` and `dateEnd` parameters). */ dateRange?: Array<string>; /** * Start of the date range. */ dateStart?: Array<string>; /** * Filters results by device type. */ deviceType?: Array<'DESKTOP' | 'MOBILE' | 'OTHER'>; /** * Format in which results will be returned. */ format?: 'JSON' | 'CSV'; /** * 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?: Array<string>; /** * Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: Array<'HTTP' | 'HTTPS'>; /** * Filters results by HTTP version. */ httpVersion?: Array<'HTTPv1' | 'HTTPv2' | 'HTTPv3'>; /** * Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: Array<'IPv4' | 'IPv6'>; /** * 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?: Array<string>; /** * Array of names used to label the series in the response. */ name?: Array<string>; /** * Filters results by operating system. */ os?: Array<'WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV'>; /** * Filters results by TLS version. */ tlsVersion?: Array<'TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC'>; } export interface TimeseriesGroupDeviceTypeParams { /** * 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?: '15m' | '1h' | '1d' | '1w'; /** * 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?: Array<string>; /** * Filters results by bot class. Refer to * [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: Array<'LIKELY_AUTOMATED' | 'LIKELY_HUMAN'>; /** * Filters results by browser family. */ browserFamily?: Array<'CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI'>; /** * 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?: Array<string>; /** * End of the date range (inclusive). */ dateEnd?: Array<string>; /** * Filters results by date range. For example, use `7d` and `7dcontrol` to compare * this week with the previous week. Use this parameter or set specific start and * end dates (`dateStart` and `dateEnd` parameters). */ dateRange?: Array<string>; /** * Start of the date range. */ dateStart?: Array<string>; /** * Format in which results will be returned. */ format?: 'JSON' | 'CSV'; /** * 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?: Array<string>; /** * Filters results by HTTP protocol (HTTP vs. HTTPS). */ httpProtocol?: Array<'HTTP' | 'HTTPS'>; /** * Filters results by HTTP version. */ httpVersion?: Array<'HTTPv1' | 'HTTPv2' | 'HTTPv3'>; /** * Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: Array<'IPv4' | 'IPv6'>; /** * 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?: Array<string>; /** * Array of names used to label the series in the response. */ name?: Array<string>; /** * Filters results by operating system. */ os?: Array<'WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV'>; /** * Filters results by TLS version. */ tlsVersion?: Array<'TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC'>; } export interface TimeseriesGroupHTTPProtocolParams { /** * 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?: '15m' | '1h' | '1d' | '1w'; /** * 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?: Array<string>; /** * Filters results by bot class. Refer to * [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: Array<'LIKELY_AUTOMATED' | 'LIKELY_HUMAN'>; /** * Filters results by browser family. */ browserFamily?: Array<'CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI'>; /** * 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?: Array<string>; /** * End of the date range (inclusive). */ dateEnd?: Array<string>; /** * Filters results by date range. For example, use `7d` and `7dcontrol` to compare * this week with the previous week. Use this parameter or set specific start and * end dates (`dateStart` and `dateEnd` parameters). */ dateRange?: Array<string>; /** * Start of the date range. */ dateStart?: Array<string>; /** * Filters results by device type. */ deviceType?: Array<'DESKTOP' | 'MOBILE' | 'OTHER'>; /** * Format in which results will be returned. */ format?: 'JSON' | 'CSV'; /** * 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?: Array<string>; /** * Filters results by HTTP version. */ httpVersion?: Array<'HTTPv1' | 'HTTPv2' | 'HTTPv3'>; /** * Filters results by IP version (Ipv4 vs. IPv6). */ ipVersion?: Array<'IPv4' | 'IPv6'>; /** * 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?: Array<string>; /** * Array of names used to label the series in the response. */ name?: Array<string>; /** * Filters results by operating system. */ os?: Array<'WINDOWS' | 'MACOSX' | 'IOS' | 'ANDROID' | 'CHROMEOS' | 'LINUX' | 'SMART_TV'>; /** * Filters results by TLS version. */ tlsVersion?: Array<'TLSv1_0' | 'TLSv1_1' | 'TLSv1_2' | 'TLSv1_3' | 'TLSvQUIC'>; } export interface TimeseriesGroupHTTPVersionParams { /** * 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?: '15m' | '1h' | '1d' | '1w'; /** * 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?: Array<string>; /** * Filters results by bot class. Refer to * [Bot classes](https://developers.cloudflare.com/radar/concepts/bot-classes/). */ botClass?: Array<'LIKELY_AUTOMATED' | 'LIKELY_HUMAN'>; /** * Filters results by browser family. */ browserFamily?: Array<'CHROME' | 'EDGE' | 'FIREFOX' | 'SAFARI'>; /** * 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?: Array<string>; /** * End of the date range (inclusive). */ dateEnd?: Array<string>; /** * Filters results by date range. For example, use `7d` and `7dcontrol` to compare * this week with the previous week. Use this parameter or set specific