cloudflare
Version:
The official TypeScript library for the Cloudflare API
201 lines • 6.27 kB
text/typescript
import { APIResource } from "../../core/resource.mjs";
import { APIPromise } from "../../core/api-promise.mjs";
import { RequestOptions } from "../../internal/request-options.mjs";
export declare class BaseCsamScanner extends APIResource {
static readonly _key: readonly ['csamScanner'];
/**
* Update the CSAM Scanner configuration for a zone. Allows enabling or disabling
* CSAM scanning, updating the notification email, and configuring scanning
* sources.
*
* When a new email is provided, email verification is triggered automatically. The
* `enabled` field is a toggle; the server may adjust it based on whether the
* notification email is verified.
*
* Returns 403 if the zone or account is locked by Trust & Safety.
*
* @example
* ```ts
* const response = await client.csamScanner.edit({
* zone_id: '023e105f4ecef8ad9ca31a8372d0c353',
* });
* ```
*/
edit(params: CsamScannerEditParams, options?: RequestOptions): APIPromise<CsamScannerEditResponse>;
/**
* Retrieve the current CSAM Scanner configuration for a zone.
*
* The notification email is masked by default in responses.
*
* @example
* ```ts
* const csamScanner = await client.csamScanner.get({
* zone_id: '023e105f4ecef8ad9ca31a8372d0c353',
* });
* ```
*/
get(params: CsamScannerGetParams, options?: RequestOptions): APIPromise<CsamScannerGetResponse>;
}
export declare class CsamScanner extends BaseCsamScanner {
}
/**
* CSAM Scanner configuration for a zone.
*/
export interface CsamScannerEditResponse {
/**
* The feature identifier.
*/
id?: 'csam_scanner';
/**
* Whether the feature state can be changed. When false, the zone or account may be
* locked by Trust & Safety.
*/
editable?: boolean;
/**
* When the setting was last modified. Currently always null as the server does not
* populate this field.
*/
modified_on?: string | null;
/**
* The CSAM Scanner feature configuration values. Contains the notification email
* and scanning enablement settings.
*/
value?: CsamScannerEditResponse.Value;
}
export declare namespace CsamScannerEditResponse {
/**
* The CSAM Scanner feature configuration values. Contains the notification email
* and scanning enablement settings.
*/
interface Value {
/**
* Notification email address for CSAM scan results. Masked in responses unless
* explicitly unmasked via admin endpoint.
*/
email?: string;
/**
* Current verification state of the notification email.
*/
email_state?: 'valid' | 'pending' | 'unverified';
/**
* Whether CSAM scanning is enabled for this zone.
*/
enabled?: boolean;
/**
* Map of scanning sources and their enabled state.
*/
sources?: {
[]: boolean;
};
/**
* The zone's plan level.
*/
zone_plan?: string;
}
}
/**
* CSAM Scanner configuration for a zone.
*/
export interface CsamScannerGetResponse {
/**
* The feature identifier.
*/
id?: 'csam_scanner';
/**
* Whether the feature state can be changed. When false, the zone or account may be
* locked by Trust & Safety.
*/
editable?: boolean;
/**
* When the setting was last modified. Currently always null as the server does not
* populate this field.
*/
modified_on?: string | null;
/**
* The CSAM Scanner feature configuration values. Contains the notification email
* and scanning enablement settings.
*/
value?: CsamScannerGetResponse.Value;
}
export declare namespace CsamScannerGetResponse {
/**
* The CSAM Scanner feature configuration values. Contains the notification email
* and scanning enablement settings.
*/
interface Value {
/**
* Notification email address for CSAM scan results. Masked in responses unless
* explicitly unmasked via admin endpoint.
*/
email?: string;
/**
* Current verification state of the notification email.
*/
email_state?: 'valid' | 'pending' | 'unverified';
/**
* Whether CSAM scanning is enabled for this zone.
*/
enabled?: boolean;
/**
* Map of scanning sources and their enabled state.
*/
sources?: {
[]: boolean;
};
/**
* The zone's plan level.
*/
zone_plan?: string;
}
}
export interface CsamScannerEditParams {
/**
* Path param: Identifier for the zone.
*/
zone_id: string;
/**
* Body param: The feature identifier.
*/
id?: 'csam_scanner';
/**
* Body param: Writable CSAM Scanner feature configuration values.
*/
value?: CsamScannerEditParams.Value;
}
export declare namespace CsamScannerEditParams {
/**
* Writable CSAM Scanner feature configuration values.
*/
interface Value {
/**
* Notification email address for CSAM scan results. When changed, email
* verification is triggered automatically.
*/
email?: string;
/**
* Whether CSAM scanning is enabled for this zone.
*/
enabled?: boolean;
/**
* Set to true to trigger re-sending the email verification. Write-only; never
* appears in responses (omitted when false).
*/
resend_email?: boolean;
/**
* Map of scanning sources and their enabled state.
*/
sources?: {
[]: boolean;
};
}
}
export interface CsamScannerGetParams {
/**
* Identifier for the zone.
*/
zone_id: string;
}
export declare namespace CsamScanner {
export { type CsamScannerEditResponse as CsamScannerEditResponse, type CsamScannerGetResponse as CsamScannerGetResponse, type CsamScannerEditParams as CsamScannerEditParams, type CsamScannerGetParams as CsamScannerGetParams, };
}
//# sourceMappingURL=csam-scanner.d.mts.map