# AI Security ## Get AI Security for Apps Status `client.aiSecurity.get(AISecurityGetParamsparams, RequestOptionsoptions?): AISecurityGetResponse` **get** `/zones/{zone_id}/ai-security/settings` Get whether AI Security for Apps is enabled or disabled for a zone. ### Parameters - `params: AISecurityGetParams` - `zone_id: string` Defines the zone. ### Returns - `AISecurityGetResponse` AI Security for Apps enablement status for a zone. - `enabled?: boolean` Whether AI Security for Apps is enabled on the zone. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const aiSecurity = await client.aiSecurity.get({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353' }); console.log(aiSecurity.enabled); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "enabled": true }, "success": true } ``` ## Set AI Security for Apps Status `client.aiSecurity.update(AISecurityUpdateParamsparams, RequestOptionsoptions?): AISecurityUpdateResponse` **put** `/zones/{zone_id}/ai-security/settings` Enable or disable AI Security for Apps for a zone. Changes can take up to a minute to propagate to the zone. ### Parameters - `params: AISecurityUpdateParams` - `zone_id: string` Path param: Defines the zone. - `enabled?: boolean` Body param: Whether AI Security for Apps is enabled on the zone. ### Returns - `AISecurityUpdateResponse` AI Security for Apps enablement status for a zone. - `enabled?: boolean` Whether AI Security for Apps is enabled on the zone. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const aiSecurity = await client.aiSecurity.update({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353' }); console.log(aiSecurity.enabled); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "enabled": true }, "success": true } ``` ## Domain Types ### AI Security Get Response - `AISecurityGetResponse` AI Security for Apps enablement status for a zone. - `enabled?: boolean` Whether AI Security for Apps is enabled on the zone. ### AI Security Update Response - `AISecurityUpdateResponse` AI Security for Apps enablement status for a zone. - `enabled?: boolean` Whether AI Security for Apps is enabled on the zone. # Custom Topics ## Get AI Security for Apps Custom Topics `client.aiSecurity.customTopics.get(CustomTopicGetParamsparams, RequestOptionsoptions?): CustomTopicGetResponse` **get** `/zones/{zone_id}/ai-security/custom-topics` Get the AI Security for Apps custom topic categories for a zone. ### Parameters - `params: CustomTopicGetParams` - `zone_id: string` Defines the zone. ### Returns - `CustomTopicGetResponse` - `topics?: Array` Custom topic categories for AI Security for Apps content detection. - `label: string` Unique label identifier. Must contain only lowercase letters (a–z), digits (0–9), and hyphens. - `topic: string` Description of the topic category. Must contain only printable ASCII characters. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const customTopic = await client.aiSecurity.customTopics.get({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(customTopic.topics); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "topics": [ { "label": "credit-cards", "topic": "credit card numbers" } ] }, "success": true } ``` ## Set AI Security for Apps Custom Topics `client.aiSecurity.customTopics.update(CustomTopicUpdateParamsparams, RequestOptionsoptions?): CustomTopicUpdateResponse` **put** `/zones/{zone_id}/ai-security/custom-topics` Set the AI Security for Apps custom topic categories for a zone. A maximum of 20 custom topics can be configured per zone. Each topic label must be 2–20 characters using only lowercase letters (a–z), digits (0–9), and hyphens. Each topic description must be 2–50 printable ASCII characters. Changes can take up to a minute to propagate to the zone. ### Parameters - `params: CustomTopicUpdateParams` - `zone_id: string` Path param: Defines the zone. - `topics?: Array` Body param: Custom topic categories for AI Security for Apps content detection. - `label: string` Unique label identifier. Must contain only lowercase letters (a–z), digits (0–9), and hyphens. - `topic: string` Description of the topic category. Must contain only printable ASCII characters. ### Returns - `CustomTopicUpdateResponse` - `topics?: Array` Custom topic categories for AI Security for Apps content detection. - `label: string` Unique label identifier. Must contain only lowercase letters (a–z), digits (0–9), and hyphens. - `topic: string` Description of the topic category. Must contain only printable ASCII characters. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const customTopic = await client.aiSecurity.customTopics.update({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(customTopic.topics); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "topics": [ { "label": "credit-cards", "topic": "credit card numbers" } ] }, "success": true } ``` ## Domain Types ### Custom Topic Get Response - `CustomTopicGetResponse` - `topics?: Array` Custom topic categories for AI Security for Apps content detection. - `label: string` Unique label identifier. Must contain only lowercase letters (a–z), digits (0–9), and hyphens. - `topic: string` Description of the topic category. Must contain only printable ASCII characters. ### Custom Topic Update Response - `CustomTopicUpdateResponse` - `topics?: Array` Custom topic categories for AI Security for Apps content detection. - `label: string` Unique label identifier. Must contain only lowercase letters (a–z), digits (0–9), and hyphens. - `topic: string` Description of the topic category. Must contain only printable ASCII characters.