cloudflare
Version:
The official TypeScript library for the Cloudflare API
154 lines • 4.68 kB
TypeScript
import { APIResource } from "../../../core/resource.js";
import { APIPromise } from "../../../core/api-promise.js";
import { RequestOptions } from "../../../internal/request-options.js";
export declare class BaseFindings extends APIResource {
static readonly _key: readonly ['analyticsQuery', 'dataSecurity', 'findings'];
/**
* Returns aggregate current-period and previous-period totals for CASB findings.
*
* @example
* ```ts
* const response =
* await client.analyticsQuery.dataSecurity.findings.summary(
* {
* account_id: '023e105f4ecef8ad9ca31a8372d0c353',
* filters: [],
* from: '2024-11-01T00:00:00Z',
* to: '2024-11-08T00:00:00Z',
* },
* );
* ```
*/
summary(params: FindingSummaryParams, options?: RequestOptions): APIPromise<FindingSummaryResponse>;
/**
* Returns merged time-bucketed CASB findings.
*
* @example
* ```ts
* const response =
* await client.analyticsQuery.dataSecurity.findings.timeseries(
* {
* account_id: '023e105f4ecef8ad9ca31a8372d0c353',
* filters: [],
* from: '2024-11-01T00:00:00Z',
* to: '2024-11-08T00:00:00Z',
* },
* );
* ```
*/
timeseries(params: FindingTimeseriesParams, options?: RequestOptions): APIPromise<FindingTimeseriesResponse>;
}
export declare class Findings extends BaseFindings {
}
export interface FindingSummaryResponse {
/**
* Aggregated stats for the requested time range.
*/
currentTotal: Array<{
[key: string]: unknown;
}>;
/**
* Aggregated stats for the equivalent preceding time range, for trend comparison.
*/
previousTotal: Array<{
[key: string]: unknown;
}>;
}
/**
* Merged CASB and CDE findings timeseries result.
*/
export interface FindingTimeseriesResponse {
/**
* Contains time-bucketed result rows. Each slot includes a `timestamp` plus
* `content` and `posture` maps with `cloud` and `saas` keys.
*/
slots: Array<{
[key: string]: unknown;
}>;
/**
* Always null for this endpoint.
*/
resolution?: string | null;
}
export interface FindingSummaryParams {
/**
* Path param: Cloudflare account identifier.
*/
account_id: string;
/**
* Body param: Filters to apply.
*/
filters: Array<FindingSummaryParams.Filter>;
/**
* Body param: Start of the query time range (inclusive). RFC3339.
*/
from: string;
/**
* Body param: End of the query time range (exclusive). RFC3339.
*/
to: string;
}
export declare namespace FindingSummaryParams {
/**
* A filter to apply to the query.
*/
interface Filter {
/**
* Specifies the column name to filter on. Requires a valid column for the target
* dataset (e.g. `country`, `allowed`, `appId`).
*/
name: string;
/**
* Filter operator. Common values: `eq`, `neq`, `in`, `not_in`, `gt`, `lt`, `gte`,
* `lte`.
*/
op: string;
/**
* Values to match against. Type depends on the column.
*/
values: Array<string | boolean | number>;
}
}
export interface FindingTimeseriesParams {
/**
* Path param: Cloudflare account identifier.
*/
account_id: string;
/**
* Body param: Filters to apply.
*/
filters: Array<FindingTimeseriesParams.Filter>;
/**
* Body param: Start of the query time range (inclusive). RFC3339.
*/
from: string;
/**
* Body param: End of the query time range (exclusive). RFC3339.
*/
to: string;
}
export declare namespace FindingTimeseriesParams {
/**
* A filter to apply to the query.
*/
interface Filter {
/**
* Specifies the column name to filter on. Requires a valid column for the target
* dataset (e.g. `country`, `allowed`, `appId`).
*/
name: string;
/**
* Filter operator. Common values: `eq`, `neq`, `in`, `not_in`, `gt`, `lt`, `gte`,
* `lte`.
*/
op: string;
/**
* Values to match against. Type depends on the column.
*/
values: Array<string | boolean | number>;
}
}
export declare namespace Findings {
export { type FindingSummaryResponse as FindingSummaryResponse, type FindingTimeseriesResponse as FindingTimeseriesResponse, type FindingSummaryParams as FindingSummaryParams, type FindingTimeseriesParams as FindingTimeseriesParams, };
}
//# sourceMappingURL=findings.d.ts.map