## Get AI Security for Apps Custom Topics `client.AISecurity.CustomTopics.Get(ctx, query) (*CustomTopicGetResponse, error)` **get** `/zones/{zone_id}/ai-security/custom-topics` Get the AI Security for Apps custom topic categories for a zone. ### Parameters - `query CustomTopicGetParams` - `ZoneID param.Field[string]` Defines the zone. ### Returns - `type CustomTopicGetResponse struct{…}` - `Topics []CustomTopicGetResponseTopic` 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 ```go 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.Get(context.TODO(), ai_security.CustomTopicGetParams{ ZoneID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ```