> ## 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.

# Consultar respuestas

> Devuelve respuestas paginadas de modelos de IA de un sitio web, con filtros opcionales por fechas, modelos, consultas, competidores y búsquedas utilizadas para producir cada respuesta.



## OpenAPI

````yaml es/api-reference/openapi.json post /api/v1/responses
openapi: 3.1.0
info:
  title: API de AthenaHQ
  description: >-
    La API de AthenaHQ ofrece acceso programático para gestionar tus sitios web
    y consultas para optimizar el contenido con IA.
  version: 1.0.0
  contact:
    email: support@athenahq.ai
servers:
  - url: https://api.athenahq.ai
    description: Servidor de producción
security:
  - apiKey: []
tags:
  - name: Basics
    description: Operaciones principales de la API para gestionar sitios web y consultas
  - name: Metrics
    description: Endpoints de métricas y análisis para monitorizar la visibilidad en IA
  - name: Billing
    description: Endpoints de facturación y créditos para gestionar el uso
  - name: Team Management
    description: Endpoints para gestionar miembros del equipo e invitaciones
  - name: Groups
    description: Endpoints para gestionar grupos de sitios web
  - name: Content
    description: >-
      Endpoints para acceder a los datos del centro de contenidos: pestañas, URL
      monitorizadas y desglose de consultas por URL.
  - name: Pitch Workspace
    description: >-
      Endpoints para acceder a los informes del espacio de propuestas:
      ejecuciones de propuestas con alcance de organización, con competidores,
      consultas, atributos y métricas agregadas.
  - name: Knowledge Base
    description: >-
      Endpoints para leer la base de conocimientos de la marca: datos aprobados
      sobre la marca y los pilares que los organizan.
paths:
  /api/v1/responses:
    post:
      tags:
        - Basics
      summary: Consultar respuestas
      description: >-
        Devuelve respuestas paginadas de modelos de IA de un sitio web, con
        filtros opcionales por fechas, modelos, consultas, competidores y
        búsquedas utilizadas para producir cada respuesta.
      operationId: queryResponses
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResponsesRequest'
      responses:
        '200':
          description: Respuesta correcta con la lista de respuestas
          content:
            application/json:
              schema:
                type: object
                properties:
                  responses:
                    type: array
                    items:
                      $ref: '#/components/schemas/Response'
                required:
                  - responses
        '400':
          description: 'Solicitud incorrecta: parámetros no válidos'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                invalid_json:
                  value:
                    error: Invalid JSON in request body
                missing_website_id:
                  value:
                    error: 'website_id: Required'
                missing_filters:
                  value:
                    error: 'filters: Required'
        '401':
          description: 'Sin autorización: falta la clave de API o no es válida'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: >-
            Acceso denegado: no tienes acceso a este sitio web, estas consultas
            o estos competidores
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                unauthorized_website:
                  value:
                    error: Unauthorized access to this website
                unauthorized_prompts:
                  value:
                    error: Unauthorized access to these prompts
                unauthorized_competitors:
                  value:
                    error: Unauthorized access to these competitors
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
components:
  schemas:
    ResponsesRequest:
      type: object
      description: Cuerpo de la solicitud para consultar respuestas
      required:
        - website_id
        - filters
      properties:
        website_id:
          type: string
          format: uuid
          description: ID del sitio web cuyas respuestas se consultarán
          example: 123e4567-e89b-12d3-a456-426614174000
        filters:
          $ref: '#/components/schemas/ResponsesApiFilters'
        page_num:
          type: integer
          minimum: 0
          default: 0
          description: Número de página para la paginación (empieza en cero)
          example: 0
        page_size:
          type: integer
          minimum: 1
          maximum: 100
          default: 40
          description: Número de respuestas por página
          example: 40
        include_response:
          type: boolean
          default: true
          description: >-
            Incluye el texto completo de la respuesta en cada fila. Usa `false`
            para omitir por completo `response` (la parte más pesada) si solo
            necesitas la consulta y variante ejecutadas y su puntuación.
          example: false
        compact_sources:
          type: boolean
          default: false
          description: >-
            Sustituye los objetos individuales de `sources` por
            `source_domains`, una lista de dominios raíz citados, sin duplicados
            y ordenada alfabéticamente. Úsalo si necesitas los dominios citados,
            pero no sus URL exactas.
          example: false
    Response:
      type: object
      description: Una respuesta de un modelo de IA
      required:
        - schedule
        - id
        - website_id
        - prompt_id
        - base_prompt
        - prompt
        - model
        - mentioned
        - cited
        - created_at
        - competitors
      properties:
        schedule:
          description: >-
            Procedencia de la programación de recopilación: default (incluidos
            el historial antiguo y las ejecuciones puntuales) o un UUID de
            programación personalizada o archivada. Usa el valor de selección
            del catálogo, no un UUID fijo de programación.
          oneOf:
            - type: string
              enum:
                - default
            - type: string
              format: uuid
          example: default
        id:
          type: string
          format: uuid
          description: Identificador único de la respuesta
          example: 123e4567-e89b-12d3-a456-426614174000
        website_id:
          type: string
          format: uuid
          description: ID del sitio web asociado
          example: 123e4567-e89b-12d3-a456-426614174000
        prompt_id:
          type: string
          format: uuid
          description: ID de la consulta asociada
          example: 123e4567-e89b-12d3-a456-426614174000
        base_prompt:
          type: string
          description: Texto original de la consulta
          example: What is the best CRM software?
        prompt:
          type: string
          description: Variación real de la consulta utilizada
          example: What is the best CRM software for small businesses?
        model:
          type: string
          description: Modelo de IA que generó la respuesta
          example: chatgpt
        response:
          type: string
          description: >-
            Texto de la respuesta generada por IA. Se omite cuando
            `include_response` es `false`.
          example: Here are some top CRM options...
        mentioned:
          type: boolean
          description: Indica si tu sitio web se ha mencionado en la respuesta
          example: true
        position:
          type: integer
          nullable: true
          description: Posición de tu sitio web en la respuesta (null si no se menciona)
          example: 2
        cited:
          type: boolean
          description: Indica si tu sitio web fue citado como fuente
          example: true
        created_at:
          type: string
          format: date-time
          description: Marca de tiempo de captura de la respuesta (UTC)
          example: '2024-06-15T10:30:00.000Z'
        sources:
          type: array
          description: >-
            Fuentes citadas en la respuesta. Se omiten cuando `compact_sources`
            es `true`; se sustituyen por `source_domains`.
          items:
            $ref: '#/components/schemas/Source'
        source_domains:
          type: array
          description: >-
            Dominios raíz citados en la respuesta, sin duplicados y ordenados
            alfabéticamente. Los hosts pasan a minúsculas y se elimina `www.`
            inicial; los subdominios se conservan, por lo que `shop.example.com`
            y `example.com` siguen siendo distintos. Solo aparece si
            `compact_sources` es `true`.
          items:
            type: string
          example:
            - example.com
            - runnersworld.com
        competitors:
          type: array
          description: Competidores mencionados en la respuesta
          items:
            $ref: '#/components/schemas/ResponseCompetitor'
    Error:
      type: object
      description: Objeto de respuesta de error
      required:
        - error
      properties:
        error:
          type: string
          description: Mensaje de error que describe qué ha fallado
          example: Unauthorized
    ResponsesApiFilters:
      allOf:
        - $ref: '#/components/schemas/ApiFilters'
        - type: object
          description: >-
            Filtros adicionales compatibles únicamente con el endpoint de
            respuestas.
          properties:
            has_search_queries:
              type: boolean
              description: >-
                Filtra según si el modelo ha utilizado al menos una consulta no
                vacía de búsqueda web o de mapas.
            search_query_text:
              type: string
              description: >-
                Texto que se buscará en las consultas web o de mapas utilizadas
                para una respuesta, sin distinguir mayúsculas de minúsculas.
            search_query_text_operator:
              type: string
              enum:
                - contains
                - does_not_contain
              default: contains
              description: Cómo se compara search_query_text.
    Source:
      type: object
      description: Una fuente citada en una respuesta de IA
      required:
        - url
        - root_domain
      properties:
        url:
          type: string
          description: URL de la fuente
          example: example.com/article
        normalized_url:
          type: string
          nullable: true
          description: Versión normalizada de la URL
          example: example.com/article
        root_domain:
          type: string
          description: Dominio raíz de la fuente
          example: example.com
        suffix:
          type: string
          nullable: true
          description: Sufijo del dominio
          example: .com
    ResponseCompetitor:
      type: object
      description: Un competidor mencionado en una respuesta de IA
      required:
        - id
        - name
        - url
        - position
      properties:
        id:
          type: string
          format: uuid
          description: ID del competidor
          example: 123e4567-e89b-12d3-a456-426614174000
        name:
          type: string
          description: Nombre del competidor
          example: Competitor Inc
        url:
          type: string
          description: URL del competidor
          example: competitor.com
        position:
          type: integer
          description: Posición de la mención del competidor en la respuesta
          example: 1
    ApiFilters:
      type: object
      description: >-
        Filtros para consultar respuestas y métricas. Pasa los filtros de
        ubicación en el cuerpo JSON como `filters.location_ids`.
      required:
        - start_date
      properties:
        schedule_id:
          $ref: '#/components/schemas/PromptScheduleSelection'
        start_date:
          type: string
          format: date-time
          description: Fecha de inicio del filtro (UTC)
          example: '2024-01-01T00:00:00.000Z'
        end_date:
          type: string
          format: date-time
          description: Fecha de fin del filtro (UTC)
          example: '2024-12-31T23:59:59.999Z'
        models:
          type: array
          description: Filtrar por modelos de IA
          items:
            type: string
            enum:
              - chatgpt
              - perplexity
              - gemini
              - google_ai_overview
              - copilot
              - claude
              - ai_mode
              - grok
              - deepseek
              - meta_ai
              - mistral
          example:
            - chatgpt
            - perplexity
        prompt_ids:
          type: array
          description: Filtrar por IDs de consultas concretas
          items:
            type: string
            format: uuid
        competitor_ids:
          type: array
          description: Filtrar por IDs de competidores concretos
          items:
            type: string
            format: uuid
        location_ids:
          type: array
          description: >-
            Filtra por ID de ubicaciones. Pásalo en el cuerpo JSON como
            `filters.location_ids`, incluso para una sola ubicación. Usa los ID
            devueltos por `GET /api/v1/locations`.
          items:
            type: string
            format: uuid
          example:
            - 123e4567-e89b-12d3-a456-426614174111
        prompt_status:
          type: string
          enum:
            - active
            - paused
          description: Filtrar por estado de la consulta
        prompt_type:
          type: string
          enum:
            - branded
            - non_branded
          description: Filtrar por tipo de consulta
    PromptScheduleSelection:
      description: >-
        Selecciona una programación de recopilación. Usa la selección devuelta
        por GET /api/v1/prompt-schedules. La predeterminada incluye el historial
        anterior al cambio y ejecuciones puntuales; las archivadas conservan
        resultados. El antiguo token manual se admite como alias de default.
        Solo acepta una programación; una lista devuelve 400.
      default: default
      oneOf:
        - type: string
          enum:
            - default
            - manual
        - type: string
          format: uuid
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Clave de API para autenticarse. Puedes crear una
        [aquí](https://app.athenahq.ai/organization?tab=api).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.