Update the AI Security for Apps custom topics of a zone.
client.AISecurity.CustomTopics.Update(ctx, params) (*CustomTopicUpdateResponse, error)
PUT/zones/{zone_id}/ai-security/custom-topics
Update the custom topic list of the zone, overwriting it entirely with the topics in the request, so include every topic you want to keep. Changes can take up to a minute to propagate.
Each entry has a label, used to reference the topic in rule expressions and analytics, and a topic
description, which the classifier scores prompts against while AI Security for Apps is enabled. The following
rules apply:
- A zone can hold at most 20 topics.
labelmust be 2–20 characters, using only lowercase letters (a–z), digits (0–9), and hyphens.topicmust be 2–50 printable ASCII characters.- Labels must be unique within the zone, and so must topic descriptions.
Security
API Token
The preferred authorization scheme for interacting with the Cloudflare API. Create a token.
Example:
API Email + API Key
The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.
Example:
The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.
Example:
Update the AI Security for Apps custom topics of a zone.
package main
import (
"context"
"fmt"
"github.com/cloudflare/cloudflare-go"
"github.com/cloudflare/cloudflare-go/ai_security"
"github.com/cloudflare/cloudflare-go/option"
)
func main() {
client := cloudflare.NewClient(
option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
)
customTopic, err := client.AISecurity.CustomTopics.Update(context.TODO(), ai_security.CustomTopicUpdateParams{
ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
})
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", customTopic.Topics)
}
{
"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
}Returns Examples
{
"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
}