> ## Documentation Index
> Fetch the complete documentation index at: https://docs.athenahq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Check AI accessibility for a domain

> Probe a public domain to determine whether the major AI answer engines (ChatGPT, Claude, Perplexity, Gemini, Copilot, Grok, DeepSeek, Rufus) can crawl it. Returns the same per-model HTTP / robots.txt verdicts the AthenaHQ web app surfaces in its AI accessibility dialog, plus a plain-text diagnostic log shaped for filing host or CDN support tickets.

Rate limited to 30 requests per minute per organization.



## OpenAPI

````yaml /api-reference/openapi.json post /api/v1/ai-access/check
openapi: 3.1.0
info:
  title: AthenaHQ API
  description: >-
    AthenaHQ API provides programmatic access to manage your websites and
    prompts for AI-powered content optimization.
  version: 1.0.0
  contact:
    email: support@athenahq.ai
servers:
  - url: https://api.athenahq.ai
    description: Production server
security:
  - apiKey: []
tags:
  - name: Basics
    description: Core API operations for managing websites and prompts
  - name: Metrics
    description: Metrics and analytics endpoints for tracking AI visibility
  - name: Billing
    description: Billing and credits endpoints for managing usage
  - name: Team Management
    description: Endpoints for managing team members and invitations
  - name: Groups
    description: Endpoints for managing groups of websites
  - name: Content
    description: >-
      Endpoints for accessing Content Hub data — tabs, tracked URLs, and per-URL
      prompt breakdowns.
  - name: Pitch Workspace
    description: >-
      Endpoints for accessing pitch workspace reports — org-scoped pitch runs
      with competitors, prompts, attributes, and aggregate metrics.
  - name: Knowledge Base
    description: >-
      Endpoints for reading the brand Knowledge Base — approved brand facts and
      the pillars that organize them.
paths:
  /api/v1/ai-access/check:
    post:
      tags:
        - AI Access
      summary: Check AI accessibility for a domain
      description: >-
        Probe a public domain to determine whether the major AI answer engines
        (ChatGPT, Claude, Perplexity, Gemini, Copilot, Grok, DeepSeek, Rufus)
        can crawl it. Returns the same per-model HTTP / robots.txt verdicts the
        AthenaHQ web app surfaces in its AI accessibility dialog, plus a
        plain-text diagnostic log shaped for filing host or CDN support tickets.


        Rate limited to 30 requests per minute per organization.
      operationId: checkAIAccess
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  type: string
                  description: The domain to probe (with or without protocol).
                  example: example.com
              required:
                - domain
      responses:
        '200':
          description: Successful AI access check.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AIAccessCheckResponse'
        '400':
          description: Invalid request body.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized — invalid or missing API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limited.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
components:
  schemas:
    AIAccessCheckResponse:
      type: object
      description: Successful AI access check response.
      properties:
        result:
          $ref: '#/components/schemas/AIAccessResult'
        diagnostics:
          $ref: '#/components/schemas/AIAccessDiagnostics'
        log:
          type: string
          description: >-
            Plain-text diagnostic log shaped for a host/CDN ticket. Identical to
            the string the AthenaHQ web app's `Copy log` button produces.
      required:
        - result
        - diagnostics
        - log
    Error:
      type: object
      description: Error response object
      required:
        - error
      properties:
        error:
          type: string
          description: Error message describing what went wrong
          example: Unauthorized
    AIAccessResult:
      type: object
      description: >-
        Aggregated AI accessibility result. Mirrors the `AIAccessibilityResult`
        shape rendered in the AthenaHQ web app's AI accessibility dialog.
      properties:
        domain:
          type: string
          description: The domain that was probed.
        status:
          type: string
          enum:
            - accessible
            - partial
            - blocked
          description: >-
            Overall verdict computed from the live HTTP signals across all 8
            model categories.
        http:
          $ref: '#/components/schemas/AIAccessUIBotAccess'
        robots:
          $ref: '#/components/schemas/AIAccessUIBotAccess'
        hasSitemap:
          type: boolean
        checkedAt:
          type: string
          format: date-time
        error:
          type: string
          description: Populated only when both probes failed.
      required:
        - domain
        - status
        - checkedAt
    AIAccessDiagnostics:
      type: object
      description: >-
        Per-request diagnostic fingerprint. Useful for filing host or CDN
        tickets.
      properties:
        userAgentChecks:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/AIAccessBotCheckDetail'
          description: Keyed by `${category}.${agentKey}`, e.g. `chatgpt.GPTBot`.
        robotsCheck:
          $ref: '#/components/schemas/AIAccessRobotsCheckDetail'
      required:
        - userAgentChecks
    AIAccessUIBotAccess:
      type: object
      description: Per-model accessibility map. Keys map to the major answer engines.
      properties:
        chatgpt:
          $ref: '#/components/schemas/AIAccessBotDetails'
        claude:
          $ref: '#/components/schemas/AIAccessBotDetails'
        perplexity:
          $ref: '#/components/schemas/AIAccessBotDetails'
        gemini:
          $ref: '#/components/schemas/AIAccessBotDetails'
        copilot:
          $ref: '#/components/schemas/AIAccessBotDetails'
        grok:
          $ref: '#/components/schemas/AIAccessBotDetails'
        deepseek:
          $ref: '#/components/schemas/AIAccessBotDetails'
        rufus:
          $ref: '#/components/schemas/AIAccessBotDetails'
    AIAccessBotCheckDetail:
      type: object
      description: >-
        Per-agent diagnostic detail. Used to populate the diagnostic log a
        partner can paste into a host or CDN ticket.
      properties:
        category:
          type: string
          description: Model category (chatgpt, claude, gemini, ...).
        agentKey:
          type: string
          description: Internal key of the user-agent variant.
        agentName:
          type: string
          description: Human-readable user-agent name (e.g. `GPTBot`, `Googlebot`).
        userAgent:
          type: string
          description: Full user-agent string sent during the probe.
        accessible:
          type: boolean
          description: Whether this user-agent received a successful HTTP response.
        status:
          type:
            - integer
            - 'null'
          description: HTTP status code, or null on network/transport error.
        finalUrl:
          type:
            - string
            - 'null'
          description: Final URL after any redirects, or null on failure.
        headers:
          type: object
          additionalProperties:
            type: string
          description: >-
            CDN-relevant response headers (cf-ray, x-vercel-id, x-amz-cf-id,
            server, etc.).
        errorCode:
          type:
            - string
            - 'null'
          description: Error code when the request failed (e.g. `ENOTFOUND`, `ETIMEDOUT`).
        errorMessage:
          type:
            - string
            - 'null'
        durationMs:
          type: integer
        checkedAt:
          type: string
          format: date-time
      required:
        - category
        - agentKey
        - agentName
        - userAgent
        - accessible
        - status
        - finalUrl
        - headers
        - errorCode
        - errorMessage
        - durationMs
        - checkedAt
    AIAccessRobotsCheckDetail:
      type: object
      description: robots.txt fetch diagnostics.
      properties:
        url:
          type: string
        status:
          type:
            - integer
            - 'null'
        finalUrl:
          type:
            - string
            - 'null'
        headers:
          type: object
          additionalProperties:
            type: string
        errorCode:
          type:
            - string
            - 'null'
        errorMessage:
          type:
            - string
            - 'null'
        durationMs:
          type: integer
        checkedAt:
          type: string
          format: date-time
        source:
          type: string
          enum:
            - direct
            - fallback
            - missing
      required:
        - url
        - status
        - finalUrl
        - headers
        - errorCode
        - errorMessage
        - durationMs
        - checkedAt
        - source
    AIAccessBotDetails:
      type: object
      description: Per-model conversational/training accessibility booleans.
      properties:
        conversational:
          type: boolean
          description: >-
            Live HTTP signal that the model's conversational user-agent is
            allowed.
        training:
          type: boolean
          description: Live HTTP signal that the model's training crawler is allowed.
      required:
        - conversational
        - training
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        API key for authentication. You can create one
        [here](https://app.athenahq.ai/organization?tab=api).

````