// 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, CloudflarePaginatedProtocol, type CloudflareOpError, type CloudflareOpContext, } from "../protocol.ts"; import { cloudflarePaginate, ResultInfo } from "../pagination.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> = { changedAt: "changed_at", changedBy: "changed_by", currentValue: "current_value", detectionMethod: "detection_method", documentationUrl: "documentation_url", fieldChanged: "field_changed", hasExtendedContext: "has_extended_context", issueClass: "issue_class", issueId: "issue_id", issueType: "issue_type", perPage: "per_page", previousValue: "previous_value", resolveLink: "resolve_link", resolveText: "resolve_text", resultInfo: "result_info", totalCount: "total_count", userClassification: "user_classification", zoneId: "zone_id", zoneTag: "zone_tag", }; export interface DismissInsightForAccountRequest { /** The Account ID to use for this endpoint. Mutually exclusive with the Zone ID. */ accountId: string; issueId: string; dismiss?: boolean; } export const DismissInsightForAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), issueId: S.String.pipe(T.Label("issue_id")), dismiss: S.optional(S.Boolean), }) .pipe( T.Http({ method: "PUT", uri: "/accounts/{account_id}/security-center/insights/{issue_id}/dismiss", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DismissInsightForAccountRequest", }) as any as S.Schema; export interface DismissInsightForAccountResponse {} export const DismissInsightForAccountResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DismissInsightForAccountResponse", }) as any as S.Schema; export interface DismissInsightForZoneRequest { /** The Zone ID to use for this endpoint. Mutually exclusive with the Account ID. */ zoneId: string; issueId: string; dismiss?: boolean; } export const DismissInsightForZoneRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), issueId: S.String.pipe(T.Label("issue_id")), dismiss: S.optional(S.Boolean), }) .pipe( T.Http({ method: "PUT", uri: "/zones/{zone_id}/security-center/insights/{issue_id}/dismiss", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DismissInsightForZoneRequest", }) as any as S.Schema; export interface DismissInsightForZoneResponse {} export const DismissInsightForZoneResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "DismissInsightForZoneResponse", }) as any as S.Schema; export type InsightsClassGetRequestIssueClassList = Array; export const InsightsClassGetRequestIssueClassList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsClassGetRequestIssueClassNeqList = Array; export const InsightsClassGetRequestIssueClassNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsClassGetRequestIssueTypeList = Array; export const InsightsClassGetRequestIssueTypeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsClassGetRequestIssueTypeNeqList = Array; export const InsightsClassGetRequestIssueTypeNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsClassGetRequestProductList = Array; export const InsightsClassGetRequestProductList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsClassGetRequestProductNeqList = Array; export const InsightsClassGetRequestProductNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsClassGetRequestSeverityList = Array; export const InsightsClassGetRequestSeverityList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsClassGetRequestSeverityNeqList = Array; export const InsightsClassGetRequestSeverityNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsClassGetRequestSubjectList = Array; export const InsightsClassGetRequestSubjectList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsClassGetRequestSubjectNeqList = Array; export const InsightsClassGetRequestSubjectNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface GetInsightClassForAccountRequest { /** The Account ID to use for this endpoint. Mutually exclusive with the Zone ID. */ accountId: string; dismissed?: boolean; issueClass?: InsightsClassGetRequestIssueClassList; issueClassNeq?: InsightsClassGetRequestIssueClassNeqList; issueType?: InsightsClassGetRequestIssueTypeList; issueTypeNeq?: InsightsClassGetRequestIssueTypeNeqList; product?: InsightsClassGetRequestProductList; productNeq?: InsightsClassGetRequestProductNeqList; severity?: InsightsClassGetRequestSeverityList; severityNeq?: InsightsClassGetRequestSeverityNeqList; subject?: InsightsClassGetRequestSubjectList; subjectNeq?: InsightsClassGetRequestSubjectNeqList; } export const GetInsightClassForAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), dismissed: S.optional(S.Boolean.pipe(T.Query())), issueClass: S.optional( InsightsClassGetRequestIssueClassList.pipe(T.Query("issue_class")), ), issueClassNeq: S.optional( InsightsClassGetRequestIssueClassNeqList.pipe(T.Query("issue_class~neq")), ), issueType: S.optional( InsightsClassGetRequestIssueTypeList.pipe(T.Query("issue_type")), ), issueTypeNeq: S.optional( InsightsClassGetRequestIssueTypeNeqList.pipe(T.Query("issue_type~neq")), ), product: S.optional(InsightsClassGetRequestProductList.pipe(T.Query())), productNeq: S.optional( InsightsClassGetRequestProductNeqList.pipe(T.Query("product~neq")), ), severity: S.optional(InsightsClassGetRequestSeverityList.pipe(T.Query())), severityNeq: S.optional( InsightsClassGetRequestSeverityNeqList.pipe(T.Query("severity~neq")), ), subject: S.optional(InsightsClassGetRequestSubjectList.pipe(T.Query())), subjectNeq: S.optional( InsightsClassGetRequestSubjectNeqList.pipe(T.Query("subject~neq")), ), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/security-center/insights/class", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetInsightClassForAccountRequest", }) as any as S.Schema; export interface InsightsClassGetResultItem { count?: number | null; value?: string | null; } export const InsightsClassGetResultItem = /*@__PURE__*/ S.suspend(() => S.Struct({ count: S.optional(S.NullOr(S.Number)), value: S.optional(S.NullOr(S.String)), }), ).annotate({ identifier: "InsightsClassGetResultItem", }) as any as S.Schema; export type InsightsClassGetResultList = Array; export const InsightsClassGetResultList = /*@__PURE__*/ S.Array( InsightsClassGetResultItem, ) as any as S.Schema; export type GetInsightClassResponse = InsightsClassGetResultList; export const GetInsightClassResponse = /*@__PURE__*/ S.suspend(() => InsightsClassGetResultList.pipe( T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY), ), ).annotate({ identifier: "GetInsightClassResponse", }) as any as S.Schema; export interface GetInsightClassForZoneRequest { /** The Zone ID to use for this endpoint. Mutually exclusive with the Account ID. */ zoneId: string; dismissed?: boolean; issueClass?: InsightsClassGetRequestIssueClassList; issueClassNeq?: InsightsClassGetRequestIssueClassNeqList; issueType?: InsightsClassGetRequestIssueTypeList; issueTypeNeq?: InsightsClassGetRequestIssueTypeNeqList; product?: InsightsClassGetRequestProductList; productNeq?: InsightsClassGetRequestProductNeqList; severity?: InsightsClassGetRequestSeverityList; severityNeq?: InsightsClassGetRequestSeverityNeqList; subject?: InsightsClassGetRequestSubjectList; subjectNeq?: InsightsClassGetRequestSubjectNeqList; } export const GetInsightClassForZoneRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), dismissed: S.optional(S.Boolean.pipe(T.Query())), issueClass: S.optional( InsightsClassGetRequestIssueClassList.pipe(T.Query("issue_class")), ), issueClassNeq: S.optional( InsightsClassGetRequestIssueClassNeqList.pipe(T.Query("issue_class~neq")), ), issueType: S.optional( InsightsClassGetRequestIssueTypeList.pipe(T.Query("issue_type")), ), issueTypeNeq: S.optional( InsightsClassGetRequestIssueTypeNeqList.pipe(T.Query("issue_type~neq")), ), product: S.optional(InsightsClassGetRequestProductList.pipe(T.Query())), productNeq: S.optional( InsightsClassGetRequestProductNeqList.pipe(T.Query("product~neq")), ), severity: S.optional(InsightsClassGetRequestSeverityList.pipe(T.Query())), severityNeq: S.optional( InsightsClassGetRequestSeverityNeqList.pipe(T.Query("severity~neq")), ), subject: S.optional(InsightsClassGetRequestSubjectList.pipe(T.Query())), subjectNeq: S.optional( InsightsClassGetRequestSubjectNeqList.pipe(T.Query("subject~neq")), ), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/security-center/insights/class", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetInsightClassForZoneRequest", }) as any as S.Schema; export interface GetInsightContextRequest { /** Identifier. */ accountId: string; issueId: string; } export const GetInsightContextRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), issueId: S.String.pipe(T.Label("issue_id")), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/security-center/insights/{issue_id}/context", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetInsightContextRequest", }) as any as S.Schema; export type InsightsContextGetResultMap = { [key: string]: unknown | undefined; }; export const InsightsContextGetResultMap = /*@__PURE__*/ S.Record( S.String, S.Unknown, ) as any as S.Schema; export type GetInsightContextResponse = InsightsContextGetResultMap; export const GetInsightContextResponse = /*@__PURE__*/ S.suspend(() => InsightsContextGetResultMap.pipe( T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY), ), ).annotate({ identifier: "GetInsightContextResponse", }) as any as S.Schema; export type InsightsSeverityGetRequestIssueClassList = Array; export const InsightsSeverityGetRequestIssueClassList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsSeverityGetRequestIssueClassNeqList = Array; export const InsightsSeverityGetRequestIssueClassNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsSeverityGetRequestIssueTypeList = Array; export const InsightsSeverityGetRequestIssueTypeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsSeverityGetRequestIssueTypeNeqList = Array; export const InsightsSeverityGetRequestIssueTypeNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsSeverityGetRequestProductList = Array; export const InsightsSeverityGetRequestProductList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsSeverityGetRequestProductNeqList = Array; export const InsightsSeverityGetRequestProductNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsSeverityGetRequestSeverityList = Array; export const InsightsSeverityGetRequestSeverityList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsSeverityGetRequestSeverityNeqList = Array; export const InsightsSeverityGetRequestSeverityNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsSeverityGetRequestSubjectList = Array; export const InsightsSeverityGetRequestSubjectList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsSeverityGetRequestSubjectNeqList = Array; export const InsightsSeverityGetRequestSubjectNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface GetInsightSeverityForAccountRequest { /** The Account ID to use for this endpoint. Mutually exclusive with the Zone ID. */ accountId: string; dismissed?: boolean; issueClass?: InsightsSeverityGetRequestIssueClassList; issueClassNeq?: InsightsSeverityGetRequestIssueClassNeqList; issueType?: InsightsSeverityGetRequestIssueTypeList; issueTypeNeq?: InsightsSeverityGetRequestIssueTypeNeqList; product?: InsightsSeverityGetRequestProductList; productNeq?: InsightsSeverityGetRequestProductNeqList; severity?: InsightsSeverityGetRequestSeverityList; severityNeq?: InsightsSeverityGetRequestSeverityNeqList; subject?: InsightsSeverityGetRequestSubjectList; subjectNeq?: InsightsSeverityGetRequestSubjectNeqList; } export const GetInsightSeverityForAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), dismissed: S.optional(S.Boolean.pipe(T.Query())), issueClass: S.optional( InsightsSeverityGetRequestIssueClassList.pipe(T.Query("issue_class")), ), issueClassNeq: S.optional( InsightsSeverityGetRequestIssueClassNeqList.pipe( T.Query("issue_class~neq"), ), ), issueType: S.optional( InsightsSeverityGetRequestIssueTypeList.pipe(T.Query("issue_type")), ), issueTypeNeq: S.optional( InsightsSeverityGetRequestIssueTypeNeqList.pipe( T.Query("issue_type~neq"), ), ), product: S.optional(InsightsSeverityGetRequestProductList.pipe(T.Query())), productNeq: S.optional( InsightsSeverityGetRequestProductNeqList.pipe(T.Query("product~neq")), ), severity: S.optional( InsightsSeverityGetRequestSeverityList.pipe(T.Query()), ), severityNeq: S.optional( InsightsSeverityGetRequestSeverityNeqList.pipe(T.Query("severity~neq")), ), subject: S.optional(InsightsSeverityGetRequestSubjectList.pipe(T.Query())), subjectNeq: S.optional( InsightsSeverityGetRequestSubjectNeqList.pipe(T.Query("subject~neq")), ), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/security-center/insights/severity", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetInsightSeverityForAccountRequest", }) as any as S.Schema; export type InsightsSeverityGetResultItem = InsightsClassGetResultItem; export const InsightsSeverityGetResultItem = InsightsClassGetResultItem; export type InsightsSeverityGetResultList = Array; export const InsightsSeverityGetResultList = /*@__PURE__*/ S.Array( InsightsClassGetResultItem, ) as any as S.Schema; export type GetInsightSeverityResponse = InsightsSeverityGetResultList; export const GetInsightSeverityResponse = /*@__PURE__*/ S.suspend(() => InsightsSeverityGetResultList.pipe( T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY), ), ).annotate({ identifier: "GetInsightSeverityResponse", }) as any as S.Schema; export interface GetInsightSeverityForZoneRequest { /** The Zone ID to use for this endpoint. Mutually exclusive with the Account ID. */ zoneId: string; dismissed?: boolean; issueClass?: InsightsSeverityGetRequestIssueClassList; issueClassNeq?: InsightsSeverityGetRequestIssueClassNeqList; issueType?: InsightsSeverityGetRequestIssueTypeList; issueTypeNeq?: InsightsSeverityGetRequestIssueTypeNeqList; product?: InsightsSeverityGetRequestProductList; productNeq?: InsightsSeverityGetRequestProductNeqList; severity?: InsightsSeverityGetRequestSeverityList; severityNeq?: InsightsSeverityGetRequestSeverityNeqList; subject?: InsightsSeverityGetRequestSubjectList; subjectNeq?: InsightsSeverityGetRequestSubjectNeqList; } export const GetInsightSeverityForZoneRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), dismissed: S.optional(S.Boolean.pipe(T.Query())), issueClass: S.optional( InsightsSeverityGetRequestIssueClassList.pipe(T.Query("issue_class")), ), issueClassNeq: S.optional( InsightsSeverityGetRequestIssueClassNeqList.pipe( T.Query("issue_class~neq"), ), ), issueType: S.optional( InsightsSeverityGetRequestIssueTypeList.pipe(T.Query("issue_type")), ), issueTypeNeq: S.optional( InsightsSeverityGetRequestIssueTypeNeqList.pipe( T.Query("issue_type~neq"), ), ), product: S.optional(InsightsSeverityGetRequestProductList.pipe(T.Query())), productNeq: S.optional( InsightsSeverityGetRequestProductNeqList.pipe(T.Query("product~neq")), ), severity: S.optional( InsightsSeverityGetRequestSeverityList.pipe(T.Query()), ), severityNeq: S.optional( InsightsSeverityGetRequestSeverityNeqList.pipe(T.Query("severity~neq")), ), subject: S.optional(InsightsSeverityGetRequestSubjectList.pipe(T.Query())), subjectNeq: S.optional( InsightsSeverityGetRequestSubjectNeqList.pipe(T.Query("subject~neq")), ), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/security-center/insights/severity", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetInsightSeverityForZoneRequest", }) as any as S.Schema; export type InsightsTypeGetRequestIssueClassList = Array; export const InsightsTypeGetRequestIssueClassList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsTypeGetRequestIssueClassNeqList = Array; export const InsightsTypeGetRequestIssueClassNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsTypeGetRequestIssueTypeList = Array; export const InsightsTypeGetRequestIssueTypeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsTypeGetRequestIssueTypeNeqList = Array; export const InsightsTypeGetRequestIssueTypeNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsTypeGetRequestProductList = Array; export const InsightsTypeGetRequestProductList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsTypeGetRequestProductNeqList = Array; export const InsightsTypeGetRequestProductNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsTypeGetRequestSeverityList = Array; export const InsightsTypeGetRequestSeverityList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsTypeGetRequestSeverityNeqList = Array; export const InsightsTypeGetRequestSeverityNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsTypeGetRequestSubjectList = Array; export const InsightsTypeGetRequestSubjectList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsTypeGetRequestSubjectNeqList = Array; export const InsightsTypeGetRequestSubjectNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface GetInsightTypeForAccountRequest { /** The Account ID to use for this endpoint. Mutually exclusive with the Zone ID. */ accountId: string; dismissed?: boolean; issueClass?: InsightsTypeGetRequestIssueClassList; issueClassNeq?: InsightsTypeGetRequestIssueClassNeqList; issueType?: InsightsTypeGetRequestIssueTypeList; issueTypeNeq?: InsightsTypeGetRequestIssueTypeNeqList; product?: InsightsTypeGetRequestProductList; productNeq?: InsightsTypeGetRequestProductNeqList; severity?: InsightsTypeGetRequestSeverityList; severityNeq?: InsightsTypeGetRequestSeverityNeqList; subject?: InsightsTypeGetRequestSubjectList; subjectNeq?: InsightsTypeGetRequestSubjectNeqList; } export const GetInsightTypeForAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), dismissed: S.optional(S.Boolean.pipe(T.Query())), issueClass: S.optional( InsightsTypeGetRequestIssueClassList.pipe(T.Query("issue_class")), ), issueClassNeq: S.optional( InsightsTypeGetRequestIssueClassNeqList.pipe(T.Query("issue_class~neq")), ), issueType: S.optional( InsightsTypeGetRequestIssueTypeList.pipe(T.Query("issue_type")), ), issueTypeNeq: S.optional( InsightsTypeGetRequestIssueTypeNeqList.pipe(T.Query("issue_type~neq")), ), product: S.optional(InsightsTypeGetRequestProductList.pipe(T.Query())), productNeq: S.optional( InsightsTypeGetRequestProductNeqList.pipe(T.Query("product~neq")), ), severity: S.optional(InsightsTypeGetRequestSeverityList.pipe(T.Query())), severityNeq: S.optional( InsightsTypeGetRequestSeverityNeqList.pipe(T.Query("severity~neq")), ), subject: S.optional(InsightsTypeGetRequestSubjectList.pipe(T.Query())), subjectNeq: S.optional( InsightsTypeGetRequestSubjectNeqList.pipe(T.Query("subject~neq")), ), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/security-center/insights/type", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetInsightTypeForAccountRequest", }) as any as S.Schema; export type InsightsTypeGetResultItem = InsightsClassGetResultItem; export const InsightsTypeGetResultItem = InsightsClassGetResultItem; export type InsightsTypeGetResultList = Array; export const InsightsTypeGetResultList = /*@__PURE__*/ S.Array( InsightsClassGetResultItem, ) as any as S.Schema; export type GetInsightTypeResponse = InsightsTypeGetResultList; export const GetInsightTypeResponse = /*@__PURE__*/ S.suspend(() => InsightsTypeGetResultList.pipe( T.EnvelopePayloadRoot(), T.KeyDictionary(KEY_DICTIONARY), ), ).annotate({ identifier: "GetInsightTypeResponse", }) as any as S.Schema; export interface GetInsightTypeForZoneRequest { /** The Zone ID to use for this endpoint. Mutually exclusive with the Account ID. */ zoneId: string; dismissed?: boolean; issueClass?: InsightsTypeGetRequestIssueClassList; issueClassNeq?: InsightsTypeGetRequestIssueClassNeqList; issueType?: InsightsTypeGetRequestIssueTypeList; issueTypeNeq?: InsightsTypeGetRequestIssueTypeNeqList; product?: InsightsTypeGetRequestProductList; productNeq?: InsightsTypeGetRequestProductNeqList; severity?: InsightsTypeGetRequestSeverityList; severityNeq?: InsightsTypeGetRequestSeverityNeqList; subject?: InsightsTypeGetRequestSubjectList; subjectNeq?: InsightsTypeGetRequestSubjectNeqList; } export const GetInsightTypeForZoneRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), dismissed: S.optional(S.Boolean.pipe(T.Query())), issueClass: S.optional( InsightsTypeGetRequestIssueClassList.pipe(T.Query("issue_class")), ), issueClassNeq: S.optional( InsightsTypeGetRequestIssueClassNeqList.pipe(T.Query("issue_class~neq")), ), issueType: S.optional( InsightsTypeGetRequestIssueTypeList.pipe(T.Query("issue_type")), ), issueTypeNeq: S.optional( InsightsTypeGetRequestIssueTypeNeqList.pipe(T.Query("issue_type~neq")), ), product: S.optional(InsightsTypeGetRequestProductList.pipe(T.Query())), productNeq: S.optional( InsightsTypeGetRequestProductNeqList.pipe(T.Query("product~neq")), ), severity: S.optional(InsightsTypeGetRequestSeverityList.pipe(T.Query())), severityNeq: S.optional( InsightsTypeGetRequestSeverityNeqList.pipe(T.Query("severity~neq")), ), subject: S.optional(InsightsTypeGetRequestSubjectList.pipe(T.Query())), subjectNeq: S.optional( InsightsTypeGetRequestSubjectNeqList.pipe(T.Query("subject~neq")), ), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/security-center/insights/type", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "GetInsightTypeForZoneRequest", }) as any as S.Schema; export type InsightsAuditLogsListByInsightRequestFieldChanged = | "status" | "user_classification"; export const InsightsAuditLogsListByInsightRequestFieldChanged = /*@__PURE__*/ S.String; export type InsightsAuditLogsListByInsightRequestOrder = "asc" | "desc"; export const InsightsAuditLogsListByInsightRequestOrder = /*@__PURE__*/ S.String; export interface ListByInsightInsightAuditLogForAccountRequest { /** The Account ID to use for this endpoint. Mutually exclusive with the Zone ID. */ accountId: string; issueId: string; /** Filter entries changed before this timestamp (RFC 3339). */ before?: string; /** Filter by the actor that made the change. */ changedBy?: string; /** Opaque cursor for pagination. Use the cursor value from result_info of the previous response. */ cursor?: string; /** Filter by the field that was changed. */ fieldChanged?: | InsightsAuditLogsListByInsightRequestFieldChanged | (string & {}); /** Sort order for results. Use 'asc' for oldest first or 'desc' for newest first. */ order?: InsightsAuditLogsListByInsightRequestOrder | (string & {}); /** Number of results per page. */ perPage?: number; /** Filter entries changed at or after this timestamp (RFC 3339). */ since?: string; } export const ListByInsightInsightAuditLogForAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), issueId: S.String.pipe(T.Label("issue_id")), before: S.optional(S.String.pipe(T.Query())), changedBy: S.optional(S.String.pipe(T.Query("changed_by"))), cursor: S.optional(S.String.pipe(T.Query())), fieldChanged: S.optional( InsightsAuditLogsListByInsightRequestFieldChanged.pipe( T.Query("field_changed"), ), ), order: S.optional( InsightsAuditLogsListByInsightRequestOrder.pipe(T.Query()), ), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), since: S.optional(S.String.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/security-center/insights/{issue_id}/audit-log", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListByInsightInsightAuditLogForAccountRequest", }) as any as S.Schema; export type InsightsAuditLogsListByInsightResultItemFieldChanged = | "status" | "user_classification"; export const InsightsAuditLogsListByInsightResultItemFieldChanged = /*@__PURE__*/ S.String; export interface InsightsAuditLogsListByInsightResultItem { /** UUIDv7 identifier for the audit log entry, time-ordered. */ id?: string | null; /** The timestamp when the change occurred. */ changedAt?: string | null; /** The actor that made the change. 'system' for automated changes, or a user identifier. */ changedBy?: string | null; /** The value of the field after the change. Null if the field was cleared. */ currentValue?: string | null; /** The field that was changed. */ fieldChanged?: InsightsAuditLogsListByInsightResultItemFieldChanged | null; /** The ID of the insight this audit log entry relates to. */ issueId?: string | null; /** The value of the field before the change. Null if the field was not previously set. */ previousValue?: string | null; /** Optional rationale provided for the change. */ rationale?: string | null; /** The zone ID associated with the insight. Only present for zone-level insights. */ zoneId?: number | null; } export const InsightsAuditLogsListByInsightResultItem = /*@__PURE__*/ S.suspend( () => S.Struct({ id: S.optional(S.NullOr(S.String)), changedAt: S.optional(S.NullOr(S.String).pipe(T.Body("changed_at"))), changedBy: S.optional(S.NullOr(S.String).pipe(T.Body("changed_by"))), currentValue: S.optional( S.NullOr(S.String).pipe(T.Body("current_value")), ), fieldChanged: S.optional( S.NullOr(InsightsAuditLogsListByInsightResultItemFieldChanged).pipe( T.Body("field_changed"), ), ), issueId: S.optional(S.NullOr(S.String).pipe(T.Body("issue_id"))), previousValue: S.optional( S.NullOr(S.String).pipe(T.Body("previous_value")), ), rationale: S.optional(S.NullOr(S.String)), zoneId: S.optional(S.NullOr(S.Number).pipe(T.Body("zone_id"))), }), ).annotate({ identifier: "InsightsAuditLogsListByInsightResultItem", }) as any as S.Schema; export type InsightsAuditLogsListByInsightResultList = Array; export const InsightsAuditLogsListByInsightResultList = /*@__PURE__*/ S.Array( InsightsAuditLogsListByInsightResultItem, ) as any as S.Schema; export interface ListByInsightInsightAuditLogResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: InsightsAuditLogsListByInsightResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const ListByInsightInsightAuditLogResponse = /*@__PURE__*/ S.suspend( () => S.Struct({ result: InsightsAuditLogsListByInsightResultList.pipe( T.EnvelopePayload(), ), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListByInsightInsightAuditLogResponse", }) as any as S.Schema; export interface ListByInsightInsightAuditLogForZoneRequest { /** The Zone ID to use for this endpoint. Mutually exclusive with the Account ID. */ zoneId: string; issueId: string; /** Filter entries changed before this timestamp (RFC 3339). */ before?: string; /** Filter by the actor that made the change. */ changedBy?: string; /** Opaque cursor for pagination. Use the cursor value from result_info of the previous response. */ cursor?: string; /** Filter by the field that was changed. */ fieldChanged?: | InsightsAuditLogsListByInsightRequestFieldChanged | (string & {}); /** Sort order for results. Use 'asc' for oldest first or 'desc' for newest first. */ order?: InsightsAuditLogsListByInsightRequestOrder | (string & {}); /** Number of results per page. */ perPage?: number; /** Filter entries changed at or after this timestamp (RFC 3339). */ since?: string; } export const ListByInsightInsightAuditLogForZoneRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), issueId: S.String.pipe(T.Label("issue_id")), before: S.optional(S.String.pipe(T.Query())), changedBy: S.optional(S.String.pipe(T.Query("changed_by"))), cursor: S.optional(S.String.pipe(T.Query())), fieldChanged: S.optional( InsightsAuditLogsListByInsightRequestFieldChanged.pipe( T.Query("field_changed"), ), ), order: S.optional( InsightsAuditLogsListByInsightRequestOrder.pipe(T.Query()), ), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), since: S.optional(S.String.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/security-center/insights/{issue_id}/audit-log", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListByInsightInsightAuditLogForZoneRequest", }) as any as S.Schema; export type InsightsAuditLogsListRequestFieldChanged = | "status" | "user_classification"; export const InsightsAuditLogsListRequestFieldChanged = /*@__PURE__*/ S.String; export type InsightsAuditLogsListRequestOrder = "asc" | "desc"; export const InsightsAuditLogsListRequestOrder = /*@__PURE__*/ S.String; export interface ListInsightAuditLogsForAccountRequest { /** The Account ID to use for this endpoint. Mutually exclusive with the Zone ID. */ accountId: string; /** Filter entries changed before this timestamp (RFC 3339). */ before?: string; /** Filter by the actor that made the change. */ changedBy?: string; /** Opaque cursor for pagination. Use the cursor value from result_info of the previous response. */ cursor?: string; /** Filter by the field that was changed. */ fieldChanged?: InsightsAuditLogsListRequestFieldChanged | (string & {}); /** Sort order for results. Use 'asc' for oldest first or 'desc' for newest first. */ order?: InsightsAuditLogsListRequestOrder | (string & {}); /** Number of results per page. */ perPage?: number; /** Filter entries changed at or after this timestamp (RFC 3339). */ since?: string; } export const ListInsightAuditLogsForAccountRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), before: S.optional(S.String.pipe(T.Query())), changedBy: S.optional(S.String.pipe(T.Query("changed_by"))), cursor: S.optional(S.String.pipe(T.Query())), fieldChanged: S.optional( InsightsAuditLogsListRequestFieldChanged.pipe(T.Query("field_changed")), ), order: S.optional(InsightsAuditLogsListRequestOrder.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), since: S.optional(S.String.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/security-center/insights/audit-log", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListInsightAuditLogsForAccountRequest", }) as any as S.Schema; export type InsightsAuditLogsListResultItemFieldChanged = | "status" | "user_classification"; export const InsightsAuditLogsListResultItemFieldChanged = /*@__PURE__*/ S.String; export interface InsightsAuditLogsListResultItem { /** UUIDv7 identifier for the audit log entry, time-ordered. */ id?: string | null; /** The timestamp when the change occurred. */ changedAt?: string | null; /** The actor that made the change. 'system' for automated changes, or a user identifier. */ changedBy?: string | null; /** The value of the field after the change. Null if the field was cleared. */ currentValue?: string | null; /** The field that was changed. */ fieldChanged?: InsightsAuditLogsListResultItemFieldChanged | null; /** The ID of the insight this audit log entry relates to. */ issueId?: string | null; /** The value of the field before the change. Null if the field was not previously set. */ previousValue?: string | null; /** Optional rationale provided for the change. */ rationale?: string | null; /** The zone ID associated with the insight. Only present for zone-level insights. */ zoneId?: number | null; } export const InsightsAuditLogsListResultItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), changedAt: S.optional(S.NullOr(S.String).pipe(T.Body("changed_at"))), changedBy: S.optional(S.NullOr(S.String).pipe(T.Body("changed_by"))), currentValue: S.optional(S.NullOr(S.String).pipe(T.Body("current_value"))), fieldChanged: S.optional( S.NullOr(InsightsAuditLogsListResultItemFieldChanged).pipe( T.Body("field_changed"), ), ), issueId: S.optional(S.NullOr(S.String).pipe(T.Body("issue_id"))), previousValue: S.optional( S.NullOr(S.String).pipe(T.Body("previous_value")), ), rationale: S.optional(S.NullOr(S.String)), zoneId: S.optional(S.NullOr(S.Number).pipe(T.Body("zone_id"))), }), ).annotate({ identifier: "InsightsAuditLogsListResultItem", }) as any as S.Schema; export type InsightsAuditLogsListResultList = Array; export const InsightsAuditLogsListResultList = /*@__PURE__*/ S.Array( InsightsAuditLogsListResultItem, ) as any as S.Schema; export interface ListInsightAuditLogsResponse { /** The unwrapped `result` payload of the v4 response envelope. */ result: InsightsAuditLogsListResultList; /** Pagination info from the envelope's `result_info`. */ resultInfo?: ResultInfo | null; } export const ListInsightAuditLogsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ result: InsightsAuditLogsListResultList.pipe(T.EnvelopePayload()), resultInfo: S.optional(S.NullOr(ResultInfo).pipe(T.ResultInfo())), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListInsightAuditLogsResponse", }) as any as S.Schema; export interface ListInsightAuditLogsForZoneRequest { /** The Zone ID to use for this endpoint. Mutually exclusive with the Account ID. */ zoneId: string; /** Filter entries changed before this timestamp (RFC 3339). */ before?: string; /** Filter by the actor that made the change. */ changedBy?: string; /** Opaque cursor for pagination. Use the cursor value from result_info of the previous response. */ cursor?: string; /** Filter by the field that was changed. */ fieldChanged?: InsightsAuditLogsListRequestFieldChanged | (string & {}); /** Sort order for results. Use 'asc' for oldest first or 'desc' for newest first. */ order?: InsightsAuditLogsListRequestOrder | (string & {}); /** Number of results per page. */ perPage?: number; /** Filter entries changed at or after this timestamp (RFC 3339). */ since?: string; } export const ListInsightAuditLogsForZoneRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), before: S.optional(S.String.pipe(T.Query())), changedBy: S.optional(S.String.pipe(T.Query("changed_by"))), cursor: S.optional(S.String.pipe(T.Query())), fieldChanged: S.optional( InsightsAuditLogsListRequestFieldChanged.pipe(T.Query("field_changed")), ), order: S.optional(InsightsAuditLogsListRequestOrder.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), since: S.optional(S.String.pipe(T.Query())), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/security-center/insights/audit-log", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListInsightAuditLogsForZoneRequest", }) as any as S.Schema; export type InsightsListRequestIssueClassList = Array; export const InsightsListRequestIssueClassList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsListRequestIssueClassNeqList = Array; export const InsightsListRequestIssueClassNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsListRequestIssueTypeList = Array; export const InsightsListRequestIssueTypeList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsListRequestIssueTypeNeqList = Array; export const InsightsListRequestIssueTypeNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsListRequestProductList = Array; export const InsightsListRequestProductList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsListRequestProductNeqList = Array; export const InsightsListRequestProductNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsListRequestSeverityList = Array; export const InsightsListRequestSeverityList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsListRequestSeverityNeqList = Array; export const InsightsListRequestSeverityNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsListRequestSubjectList = Array; export const InsightsListRequestSubjectList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export type InsightsListRequestSubjectNeqList = Array; export const InsightsListRequestSubjectNeqList = /*@__PURE__*/ S.Array( S.String, ) as any as S.Schema; export interface ListInsightsForAccountRequest { /** The Account ID to use for this endpoint. Mutually exclusive with the Zone ID. */ accountId: string; dismissed?: boolean; issueClass?: InsightsListRequestIssueClassList; issueClassNeq?: InsightsListRequestIssueClassNeqList; issueType?: InsightsListRequestIssueTypeList; issueTypeNeq?: InsightsListRequestIssueTypeNeqList; /** Specifies the current page within paginated list of results. */ page?: number; /** Sets the number of results per page of results. */ perPage?: number; product?: InsightsListRequestProductList; productNeq?: InsightsListRequestProductNeqList; severity?: InsightsListRequestSeverityList; severityNeq?: InsightsListRequestSeverityNeqList; subject?: InsightsListRequestSubjectList; subjectNeq?: InsightsListRequestSubjectNeqList; } export const ListInsightsForAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), dismissed: S.optional(S.Boolean.pipe(T.Query())), issueClass: S.optional( InsightsListRequestIssueClassList.pipe(T.Query("issue_class")), ), issueClassNeq: S.optional( InsightsListRequestIssueClassNeqList.pipe(T.Query("issue_class~neq")), ), issueType: S.optional( InsightsListRequestIssueTypeList.pipe(T.Query("issue_type")), ), issueTypeNeq: S.optional( InsightsListRequestIssueTypeNeqList.pipe(T.Query("issue_type~neq")), ), page: S.optional(S.Number.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), product: S.optional(InsightsListRequestProductList.pipe(T.Query())), productNeq: S.optional( InsightsListRequestProductNeqList.pipe(T.Query("product~neq")), ), severity: S.optional(InsightsListRequestSeverityList.pipe(T.Query())), severityNeq: S.optional( InsightsListRequestSeverityNeqList.pipe(T.Query("severity~neq")), ), subject: S.optional(InsightsListRequestSubjectList.pipe(T.Query())), subjectNeq: S.optional( InsightsListRequestSubjectNeqList.pipe(T.Query("subject~neq")), ), }) .pipe( T.Http({ method: "GET", uri: "/accounts/{account_id}/security-center/insights", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListInsightsForAccountRequest", }) as any as S.Schema; export type InsightsListResponseIssuesItemIssueType = | "compliance_violation" | "email_security" | "exposed_infrastructure" | "insecure_configuration" | "weak_authentication" | "configuration_suggestion"; export const InsightsListResponseIssuesItemIssueType = /*@__PURE__*/ S.String; export interface InsightsListResponseIssuesItemPayload { /** Describes the method used to detect insight. */ detectionMethod?: string | null; zoneTag?: string | null; } export const InsightsListResponseIssuesItemPayload = /*@__PURE__*/ S.suspend( () => S.Struct({ detectionMethod: S.optional( S.NullOr(S.String).pipe(T.Body("detection_method")), ), zoneTag: S.optional(S.NullOr(S.String).pipe(T.Body("zone_tag"))), }), ).annotate({ identifier: "InsightsListResponseIssuesItemPayload", }) as any as S.Schema; export type InsightsListResponseIssuesItemSeverity = | "Low" | "Moderate" | "Critical"; export const InsightsListResponseIssuesItemSeverity = /*@__PURE__*/ S.String; export type InsightsListResponseIssuesItemStatus = "active" | "resolved"; export const InsightsListResponseIssuesItemStatus = /*@__PURE__*/ S.String; export type InsightsListResponseIssuesItemUserClassification = | "false_positive" | "accept_risk" | "other"; export const InsightsListResponseIssuesItemUserClassification = /*@__PURE__*/ S.String; export interface InsightsListResponseIssuesItem { id?: string | null; dismissed?: boolean | null; /** Indicates whether the insight has a large payload that requires fetching via the context endpoint. */ hasExtendedContext?: boolean | null; issueClass?: string | null; issueType?: InsightsListResponseIssuesItemIssueType | null; payload?: InsightsListResponseIssuesItemPayload | null; resolveLink?: string | null; resolveText?: string | null; severity?: InsightsListResponseIssuesItemSeverity | null; since?: string | null; /** The current status of the insight. */ status?: InsightsListResponseIssuesItemStatus | null; subject?: string | null; timestamp?: string | null; /** User-defined classification for the insight. Can be 'false_positive', 'accept_risk', 'other', or null. */ userClassification?: InsightsListResponseIssuesItemUserClassification | null; } export const InsightsListResponseIssuesItem = /*@__PURE__*/ S.suspend(() => S.Struct({ id: S.optional(S.NullOr(S.String)), dismissed: S.optional(S.NullOr(S.Boolean)), hasExtendedContext: S.optional( S.NullOr(S.Boolean).pipe(T.Body("has_extended_context")), ), issueClass: S.optional(S.NullOr(S.String).pipe(T.Body("issue_class"))), issueType: S.optional( S.NullOr(InsightsListResponseIssuesItemIssueType).pipe( T.Body("issue_type"), ), ), payload: S.optional(S.NullOr(InsightsListResponseIssuesItemPayload)), resolveLink: S.optional(S.NullOr(S.String).pipe(T.Body("resolve_link"))), resolveText: S.optional(S.NullOr(S.String).pipe(T.Body("resolve_text"))), severity: S.optional(S.NullOr(InsightsListResponseIssuesItemSeverity)), since: S.optional(S.NullOr(S.String)), status: S.optional(S.NullOr(InsightsListResponseIssuesItemStatus)), subject: S.optional(S.NullOr(S.String)), timestamp: S.optional(S.NullOr(S.String)), userClassification: S.optional( S.NullOr(InsightsListResponseIssuesItemUserClassification).pipe( T.Body("user_classification"), ), ), }), ).annotate({ identifier: "InsightsListResponseIssuesItem", }) as any as S.Schema; export type InsightsListResponseIssuesList = Array; export const InsightsListResponseIssuesList = /*@__PURE__*/ S.Array( InsightsListResponseIssuesItem, ) as any as S.Schema; /** Unwrapped `result` payload of the Cloudflare v4 response envelope. */ export interface ListInsightsResponse { /** Indicates the total number of results. */ count?: number | null; issues?: InsightsListResponseIssuesList | null; /** Specifies the current page within paginated list of results. */ page?: number | null; /** Sets the number of results per page of results. */ perPage?: number | null; } export const ListInsightsResponse = /*@__PURE__*/ S.suspend(() => S.Struct({ count: S.optional(S.NullOr(S.Number)), issues: S.optional(S.NullOr(InsightsListResponseIssuesList)), page: S.optional(S.NullOr(S.Number)), perPage: S.optional(S.NullOr(S.Number).pipe(T.Body("per_page"))), }).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListInsightsResponse", }) as any as S.Schema; export interface ListInsightsForZoneRequest { /** The Zone ID to use for this endpoint. Mutually exclusive with the Account ID. */ zoneId: string; dismissed?: boolean; issueClass?: InsightsListRequestIssueClassList; issueClassNeq?: InsightsListRequestIssueClassNeqList; issueType?: InsightsListRequestIssueTypeList; issueTypeNeq?: InsightsListRequestIssueTypeNeqList; /** Specifies the current page within paginated list of results. */ page?: number; /** Sets the number of results per page of results. */ perPage?: number; product?: InsightsListRequestProductList; productNeq?: InsightsListRequestProductNeqList; severity?: InsightsListRequestSeverityList; severityNeq?: InsightsListRequestSeverityNeqList; subject?: InsightsListRequestSubjectList; subjectNeq?: InsightsListRequestSubjectNeqList; } export const ListInsightsForZoneRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), dismissed: S.optional(S.Boolean.pipe(T.Query())), issueClass: S.optional( InsightsListRequestIssueClassList.pipe(T.Query("issue_class")), ), issueClassNeq: S.optional( InsightsListRequestIssueClassNeqList.pipe(T.Query("issue_class~neq")), ), issueType: S.optional( InsightsListRequestIssueTypeList.pipe(T.Query("issue_type")), ), issueTypeNeq: S.optional( InsightsListRequestIssueTypeNeqList.pipe(T.Query("issue_type~neq")), ), page: S.optional(S.Number.pipe(T.Query())), perPage: S.optional(S.Number.pipe(T.Query("per_page"))), product: S.optional(InsightsListRequestProductList.pipe(T.Query())), productNeq: S.optional( InsightsListRequestProductNeqList.pipe(T.Query("product~neq")), ), severity: S.optional(InsightsListRequestSeverityList.pipe(T.Query())), severityNeq: S.optional( InsightsListRequestSeverityNeqList.pipe(T.Query("severity~neq")), ), subject: S.optional(InsightsListRequestSubjectList.pipe(T.Query())), subjectNeq: S.optional( InsightsListRequestSubjectNeqList.pipe(T.Query("subject~neq")), ), }) .pipe( T.Http({ method: "GET", uri: "/zones/{zone_id}/security-center/insights", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "ListInsightsForZoneRequest", }) as any as S.Schema; export type InsightsClassificationUpdateRequestClassification = | "false_positive" | "accept_risk" | "other"; export const InsightsClassificationUpdateRequestClassification = /*@__PURE__*/ S.String; export interface PatchInsightClassificationForAccountRequest { /** The Account ID to use for this endpoint. Mutually exclusive with the Zone ID. */ accountId: string; issueId: string; /** User-defined classification for the insight. Can be 'false_positive', 'accept_risk', 'other', or null. */ classification?: | InsightsClassificationUpdateRequestClassification | (string & {}); /** Rationale for the classification change. Required when classification is 'accept_risk' or 'other'. */ rationale?: string; } export const PatchInsightClassificationForAccountRequest = /*@__PURE__*/ S.suspend(() => S.Struct({ accountId: S.String.pipe(T.Label("account_id")), issueId: S.String.pipe(T.Label("issue_id")), classification: S.optional( InsightsClassificationUpdateRequestClassification, ), rationale: S.optional(S.String), }) .pipe( T.Http({ method: "PATCH", uri: "/accounts/{account_id}/security-center/insights/{issue_id}/classification", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PatchInsightClassificationForAccountRequest", }) as any as S.Schema; export interface PatchInsightClassificationForAccountResponse {} export const PatchInsightClassificationForAccountResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PatchInsightClassificationForAccountResponse", }) as any as S.Schema; export interface PatchInsightClassificationForZoneRequest { /** The Zone ID to use for this endpoint. Mutually exclusive with the Account ID. */ zoneId: string; issueId: string; /** User-defined classification for the insight. Can be 'false_positive', 'accept_risk', 'other', or null. */ classification?: | InsightsClassificationUpdateRequestClassification | (string & {}); /** Rationale for the classification change. Required when classification is 'accept_risk' or 'other'. */ rationale?: string; } export const PatchInsightClassificationForZoneRequest = /*@__PURE__*/ S.suspend( () => S.Struct({ zoneId: S.String.pipe(T.Label("zone_id")), issueId: S.String.pipe(T.Label("issue_id")), classification: S.optional( InsightsClassificationUpdateRequestClassification, ), rationale: S.optional(S.String), }) .pipe( T.Http({ method: "PATCH", uri: "/zones/{zone_id}/security-center/insights/{issue_id}/classification", code: 200, }), ) .pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PatchInsightClassificationForZoneRequest", }) as any as S.Schema; export interface PatchInsightClassificationForZoneResponse {} export const PatchInsightClassificationForZoneResponse = /*@__PURE__*/ S.suspend(() => S.Struct({}).pipe(T.KeyDictionary(KEY_DICTIONARY)), ).annotate({ identifier: "PatchInsightClassificationForZoneResponse", }) as any as S.Schema; export type DismissInsightForAccountError = CloudflareOpError; /** Archives a Security Center insight for an account or zone, removing it from the active insights list while preserving historical data. */ export const dismissInsightForAccount: API.OperationMethod< DismissInsightForAccountRequest, DismissInsightForAccountResponse, DismissInsightForAccountError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DismissInsightForAccountRequest, output: DismissInsightForAccountResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type DismissInsightForZoneError = CloudflareOpError; /** Archives a Security Center insight for an account or zone, removing it from the active insights list while preserving historical data. */ export const dismissInsightForZone: API.OperationMethod< DismissInsightForZoneRequest, DismissInsightForZoneResponse, DismissInsightForZoneError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: DismissInsightForZoneRequest, output: DismissInsightForZoneResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetInsightClassForAccountError = CloudflareOpError; /** Retrieves Security Center insight counts aggregated by classification class. */ export const getInsightClassForAccount: API.OperationMethod< GetInsightClassForAccountRequest, GetInsightClassResponse, GetInsightClassForAccountError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetInsightClassForAccountRequest, output: GetInsightClassResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetInsightClassForZoneError = CloudflareOpError; /** Retrieves Security Center insight counts aggregated by classification class. */ export const getInsightClassForZone: API.OperationMethod< GetInsightClassForZoneRequest, GetInsightClassResponse, GetInsightClassForZoneError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetInsightClassForZoneRequest, output: GetInsightClassResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetInsightContextError = CloudflareOpError; /** Returns the full context payload for an insight. This endpoint is used for insights with large payloads that are not included inline in the list response. */ export const getInsightContext: API.OperationMethod< GetInsightContextRequest, GetInsightContextResponse, GetInsightContextError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetInsightContextRequest, output: GetInsightContextResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetInsightSeverityForAccountError = CloudflareOpError; /** Retrieves Security Center insight counts aggregated by severity level (critical, high, medium, low). */ export const getInsightSeverityForAccount: API.OperationMethod< GetInsightSeverityForAccountRequest, GetInsightSeverityResponse, GetInsightSeverityForAccountError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetInsightSeverityForAccountRequest, output: GetInsightSeverityResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetInsightSeverityForZoneError = CloudflareOpError; /** Retrieves Security Center insight counts aggregated by severity level (critical, high, medium, low). */ export const getInsightSeverityForZone: API.OperationMethod< GetInsightSeverityForZoneRequest, GetInsightSeverityResponse, GetInsightSeverityForZoneError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetInsightSeverityForZoneRequest, output: GetInsightSeverityResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetInsightTypeForAccountError = CloudflareOpError; /** Retrieves Security Center insight counts aggregated by insight type. */ export const getInsightTypeForAccount: API.OperationMethod< GetInsightTypeForAccountRequest, GetInsightTypeResponse, GetInsightTypeForAccountError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetInsightTypeForAccountRequest, output: GetInsightTypeResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type GetInsightTypeForZoneError = CloudflareOpError; /** Retrieves Security Center insight counts aggregated by insight type. */ export const getInsightTypeForZone: API.OperationMethod< GetInsightTypeForZoneRequest, GetInsightTypeResponse, GetInsightTypeForZoneError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: GetInsightTypeForZoneRequest, output: GetInsightTypeResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListByInsightInsightAuditLogForAccountError = CloudflareOpError; /** Lists audit log entries for a specific Security Center insight, showing changes to its status and classification over time. */ export const listByInsightInsightAuditLogForAccount: API.PaginatedOperationMethod< ListByInsightInsightAuditLogForAccountRequest, ListByInsightInsightAuditLogResponse, ListByInsightInsightAuditLogForAccountError, CloudflareOpContext, InsightsAuditLogsListByInsightResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListByInsightInsightAuditLogForAccountRequest, output: ListByInsightInsightAuditLogResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "cursor", inputToken: "cursor", outputToken: "resultInfo.cursor", items: "result", pageSize: "perPage", } as const, }), cloudflarePaginate, ) as any; export type ListByInsightInsightAuditLogForZoneError = CloudflareOpError; /** Lists audit log entries for a specific Security Center insight, showing changes to its status and classification over time. */ export const listByInsightInsightAuditLogForZone: API.PaginatedOperationMethod< ListByInsightInsightAuditLogForZoneRequest, ListByInsightInsightAuditLogResponse, ListByInsightInsightAuditLogForZoneError, CloudflareOpContext, InsightsAuditLogsListByInsightResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListByInsightInsightAuditLogForZoneRequest, output: ListByInsightInsightAuditLogResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "cursor", inputToken: "cursor", outputToken: "resultInfo.cursor", items: "result", pageSize: "perPage", } as const, }), cloudflarePaginate, ) as any; export type ListInsightAuditLogsForAccountError = CloudflareOpError; /** Lists audit log entries for all Security Center insights in the account or zone, showing changes to insight status and classification. */ export const listInsightAuditLogsForAccount: API.PaginatedOperationMethod< ListInsightAuditLogsForAccountRequest, ListInsightAuditLogsResponse, ListInsightAuditLogsForAccountError, CloudflareOpContext, InsightsAuditLogsListResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListInsightAuditLogsForAccountRequest, output: ListInsightAuditLogsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "cursor", inputToken: "cursor", outputToken: "resultInfo.cursor", items: "result", pageSize: "perPage", } as const, }), cloudflarePaginate, ) as any; export type ListInsightAuditLogsForZoneError = CloudflareOpError; /** Lists audit log entries for all Security Center insights in the account or zone, showing changes to insight status and classification. */ export const listInsightAuditLogsForZone: API.PaginatedOperationMethod< ListInsightAuditLogsForZoneRequest, ListInsightAuditLogsResponse, ListInsightAuditLogsForZoneError, CloudflareOpContext, InsightsAuditLogsListResultItem > = /*@__PURE__*/ API.makePaginated( () => ({ input: ListInsightAuditLogsForZoneRequest, output: ListInsightAuditLogsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflarePaginatedProtocol, retry: Retry.Retry, pagination: { mode: "cursor", inputToken: "cursor", outputToken: "resultInfo.cursor", items: "result", pageSize: "perPage", } as const, }), cloudflarePaginate, ) as any; export type ListInsightsForAccountError = CloudflareOpError; /** Lists all Security Center insights for the account or zone, showing security findings and recommendations. */ export const listInsightsForAccount: API.OperationMethod< ListInsightsForAccountRequest, ListInsightsResponse, ListInsightsForAccountError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListInsightsForAccountRequest, output: ListInsightsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type ListInsightsForZoneError = CloudflareOpError; /** Lists all Security Center insights for the account or zone, showing security findings and recommendations. */ export const listInsightsForZone: API.OperationMethod< ListInsightsForZoneRequest, ListInsightsResponse, ListInsightsForZoneError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: ListInsightsForZoneRequest, output: ListInsightsResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type PatchInsightClassificationForAccountError = CloudflareOpError; /** Updates the user classification for a Security Center insight. Valid values are 'false_positive' or 'accept_risk'. To reset, set classification to null. Cannot change directly between classification values - must reset to null first. */ export const patchInsightClassificationForAccount: API.OperationMethod< PatchInsightClassificationForAccountRequest, PatchInsightClassificationForAccountResponse, PatchInsightClassificationForAccountError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: PatchInsightClassificationForAccountRequest, output: PatchInsightClassificationForAccountResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, })); export type PatchInsightClassificationForZoneError = CloudflareOpError; /** Updates the user classification for a Security Center insight. Valid values are 'false_positive' or 'accept_risk'. To reset, set classification to null. Cannot change directly between classification values - must reset to null first. */ export const patchInsightClassificationForZone: API.OperationMethod< PatchInsightClassificationForZoneRequest, PatchInsightClassificationForZoneResponse, PatchInsightClassificationForZoneError, CloudflareOpContext > = /*@__PURE__*/ API.make(() => ({ input: PatchInsightClassificationForZoneRequest, output: PatchInsightClassificationForZoneResponse, errors: [CloudflareRateLimited, CloudflareError], protocol: CloudflareProtocol, retry: Retry.Retry, }));