## Get robots.txt rules `client.AIAudit.Robots.Get(ctx, params) (*RobotGetResponse, error)` **get** `/zones/{zone_id}/ai-audit/robots` Fetches and parses the robots.txt file for a zone or a specific subdomain within the zone. Returns parsed user-agent rules, content signals, and sitemaps. ### Parameters - `params RobotGetParams` - `ZoneID param.Field[string]` Path param: Identifier of the zone. - `Subdomain param.Field[string]` Query param: Optional subdomain to fetch robots.txt for. If omitted, fetches robots.txt for the zone apex domain. ### Returns - `type RobotGetResponse struct{…}` Parsed robots.txt rules for a single domain. - `UserAgents map[string, RobotGetResponseUserAgent]` Map of user-agent string to its parsed rules. - `Allow []string` List of allowed path patterns. - `Disallow []string` List of disallowed path patterns. - `ContentSignals RobotGetResponseUserAgentsContentSignals` Content signal directives from robots.txt. - `AIInput RobotGetResponseUserAgentsContentSignalsAIInput` Whether AI input usage is permitted. - `const RobotGetResponseUserAgentsContentSignalsAIInputYes RobotGetResponseUserAgentsContentSignalsAIInput = "yes"` - `const RobotGetResponseUserAgentsContentSignalsAIInputNo RobotGetResponseUserAgentsContentSignalsAIInput = "no"` - `AITrain RobotGetResponseUserAgentsContentSignalsAITrain` Whether AI training is permitted. - `const RobotGetResponseUserAgentsContentSignalsAITrainYes RobotGetResponseUserAgentsContentSignalsAITrain = "yes"` - `const RobotGetResponseUserAgentsContentSignalsAITrainNo RobotGetResponseUserAgentsContentSignalsAITrain = "no"` - `Search RobotGetResponseUserAgentsContentSignalsSearch` Whether search indexing is permitted. - `const RobotGetResponseUserAgentsContentSignalsSearchYes RobotGetResponseUserAgentsContentSignalsSearch = "yes"` - `const RobotGetResponseUserAgentsContentSignalsSearchNo RobotGetResponseUserAgentsContentSignalsSearch = "no"` - `CrawlDelay float64` Crawl delay in seconds. - `Sitemaps []string` List of sitemap URLs found in robots.txt. - `Status int64` HTTP status code from fetching the robots.txt file. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/ai_audit" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) robot, err := client.AIAudit.Robots.Get(context.TODO(), ai_audit.RobotGetParams{ ZoneID: cloudflare.F("zone_id"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", robot.UserAgents) } ``` #### Response ```json { "errors": [], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "userAgents": { "foo": { "allow": [ "string" ], "disallow": [ "string" ], "contentSignals": { "ai-input": "yes", "ai-train": "yes", "search": "yes" }, "crawlDelay": 0 } }, "sitemaps": [ "string" ], "status": 0 } } ```