## Get robots.txt rules `ai_audit.robots.get(RobotGetParams**kwargs) -> RobotGetResponse` **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 - `zone_id: str` - `subdomain: Optional[str]` Optional subdomain to fetch robots.txt for. If omitted, fetches robots.txt for the zone apex domain. ### Returns - `class RobotGetResponse: …` Parsed robots.txt rules for a single domain. - `user_agents: Dict[str, UserAgents]` Map of user-agent string to its parsed rules. - `allow: List[str]` List of allowed path patterns. - `disallow: List[str]` List of disallowed path patterns. - `content_signals: Optional[UserAgentsContentSignals]` Content signal directives from robots.txt. - `ai_input: Optional[Literal["yes", "no"]]` Whether AI input usage is permitted. - `"yes"` - `"no"` - `ai_train: Optional[Literal["yes", "no"]]` Whether AI training is permitted. - `"yes"` - `"no"` - `search: Optional[Literal["yes", "no"]]` Whether search indexing is permitted. - `"yes"` - `"no"` - `crawl_delay: Optional[float]` Crawl delay in seconds. - `sitemaps: Optional[List[str]]` List of sitemap URLs found in robots.txt. - `status: Optional[int]` HTTP status code from fetching the robots.txt file. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) robot = client.ai_audit.robots.get( zone_id="zone_id", ) print(robot.user_agents) ``` #### 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 } } ```