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

# Listar actividad

> Devuelve cambios en consultas, temas y etiquetas de toda tu organización, del más reciente al más antiguo por defecto. Cada entrada identifica sitio web, tipo de entidad y cambio (`created`, `updated`, `deleted`, `restored`, `paused`, `unpaused`), ID afectados y autor. Permite saber qué ha ocurrido sin volver a listar cada sitio.

`entity_ids` es `null` si se desconoce el conjunto afectado (p. ej., importación masiva); vuelve a listar las consultas con `GET /api/v1/prompts`. Una entrada `topic` o `prompt_tag` implica que quizá cambiaron `topic_name` o `tags`; vuelve a listar también en ese caso. Los cambios por API incluyen ID y nombre de la clave en `actor` para omitir escrituras propias. Los de la aplicación incluyen ID y correo en `actor.user`. Las claves limitadas a sitios solo ven identidades de sus miembros; los demás aparecen con `user: null`. Los sitios aprovisionados por `POST /api/v1/websites/provision` no aparecen aquí: lístalos una vez después de crearlos.

Para replicar datos, fija una ventana por sincronización: `since` igual al `until` anterior, `until` al momento actual menos un minuto y `order=asc`. Recorre `page_num` hasta que `pagination.has_more` sea `false` y guarda ese `until`. `since` es exclusivo y `until` inclusivo, sin solapamientos ni saltos. Sin `since`, recorre todo el historial; `order=asc` sin límites es una exportación completa. Usa consulta anticipada de `page_size + 1`, sin total.

Requiere una clave de API de socio. Las limitadas a sitios solo ven esos sitios.



## OpenAPI

````yaml es/api-reference/openapi.json get /api/v1/activity
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/activity:
    get:
      tags:
        - Basics
      summary: Listar actividad
      description: >-
        Devuelve cambios en consultas, temas y etiquetas de toda tu
        organización, del más reciente al más antiguo por defecto. Cada entrada
        identifica sitio web, tipo de entidad y cambio (`created`, `updated`,
        `deleted`, `restored`, `paused`, `unpaused`), ID afectados y autor.
        Permite saber qué ha ocurrido sin volver a listar cada sitio.


        `entity_ids` es `null` si se desconoce el conjunto afectado (p. ej.,
        importación masiva); vuelve a listar las consultas con `GET
        /api/v1/prompts`. Una entrada `topic` o `prompt_tag` implica que quizá
        cambiaron `topic_name` o `tags`; vuelve a listar también en ese caso.
        Los cambios por API incluyen ID y nombre de la clave en `actor` para
        omitir escrituras propias. Los de la aplicación incluyen ID y correo en
        `actor.user`. Las claves limitadas a sitios solo ven identidades de sus
        miembros; los demás aparecen con `user: null`. Los sitios aprovisionados
        por `POST /api/v1/websites/provision` no aparecen aquí: lístalos una vez
        después de crearlos.


        Para replicar datos, fija una ventana por sincronización: `since` igual
        al `until` anterior, `until` al momento actual menos un minuto y
        `order=asc`. Recorre `page_num` hasta que `pagination.has_more` sea
        `false` y guarda ese `until`. `since` es exclusivo y `until` inclusivo,
        sin solapamientos ni saltos. Sin `since`, recorre todo el historial;
        `order=asc` sin límites es una exportación completa. Usa consulta
        anticipada de `page_size + 1`, sin total.


        Requiere una clave de API de socio. Las limitadas a sitios solo ven esos
        sitios.
      operationId: listActivity
      parameters:
        - name: since
          in: query
          description: >-
            Marca de tiempo ISO 8601. Solo cambios estrictamente posteriores a
            este instante. Omítela para empezar desde el principio del historial
            de la organización.
          required: false
          schema:
            type: string
            format: date-time
        - name: until
          in: query
          description: >-
            Marca de tiempo ISO 8601. Solo cambios hasta este instante,
            incluido. Fíjala en cada ejecución de sincronización para que las
            páginas no cambien durante la paginación.
          required: false
          schema:
            type: string
            format: date-time
        - name: order
          in: query
          description: >-
            `desc` (predeterminado) muestra primero los cambios más recientes.
            Usa `asc` para exportar o sincronizar en el orden en que se han
            producido.
          required: false
          schema:
            type: string
            enum:
              - desc
              - asc
            default: desc
        - name: website_id
          in: query
          description: >-
            Limita los resultados a un sitio web. Omítelo para incluir toda la
            organización. Un sitio fuera del alcance o de la organización de tu
            clave devuelve 403.
          required: false
          schema:
            type: string
            format: uuid
        - name: entity_type
          in: query
          description: >-
            Lista de tipos de entidad que se incluirán, separados por comas.
            Omítela para incluirlos todos.
          required: false
          style: form
          explode: false
          schema:
            type: array
            items:
              type: string
              enum:
                - prompt
                - topic
                - prompt_tag
        - name: change_type
          in: query
          description: >-
            Lista de tipos de cambio que se incluirán, separados por comas.
            Omítela para incluirlos todos.
          required: false
          style: form
          explode: false
          schema:
            type: array
            items:
              type: string
              enum:
                - created
                - updated
                - deleted
                - restored
                - paused
                - unpaused
        - name: page_num
          in: query
          required: false
          description: Número de página, empezando en cero.
          schema:
            type: integer
            minimum: 0
            default: 0
        - name: page_size
          in: query
          description: Número de entradas por página (1-100).
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 100
      responses:
        '200':
          description: Respuesta correcta con la página de cambios.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivityListResponse'
              example:
                activity:
                  - id: 6f1c2a3e-5b7d-4e8f-9a0b-1c2d3e4f5a6b
                    occurred_at: '2026-09-20T08:14:03.512Z'
                    website_id: 3b9d1e2f-4a5b-4c6d-8e7f-9a0b1c2d3e4f
                    entity_type: prompt
                    change_type: created
                    entity_ids:
                      - a1f0b2c3-d4e5-4f60-8172-839405a6b7c8
                    actor:
                      type: user
                      api_key_id: null
                      api_key_name: null
                      user:
                        id: 5e7a0000-0000-4000-8000-000000000001
                        email: ada@example.com
                  - id: 7a44b5c6-d7e8-4f90-a1b2-c3d4e5f6a7b8
                    occurred_at: '2026-09-20T08:15:41.007Z'
                    website_id: 3b9d1e2f-4a5b-4c6d-8e7f-9a0b1c2d3e4f
                    entity_type: prompt
                    change_type: deleted
                    entity_ids:
                      - c2d1e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f
                      - c2d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f
                    actor:
                      type: user
                      api_key_id: null
                      api_key_name: null
                      user:
                        id: 5e7a0000-0000-4000-8000-000000000001
                        email: ada@example.com
                  - id: 8b90c1d2-e3f4-4a5b-9c6d-7e8f9a0b1c2d
                    occurred_at: '2026-09-20T09:02:10.220Z'
                    website_id: 9e07f1a2-b3c4-4d5e-8f60-718293a4b5c6
                    entity_type: topic
                    change_type: updated
                    entity_ids:
                      - d5510000-0000-4000-8000-000000000001
                    actor:
                      type: user
                      api_key_id: null
                      api_key_name: null
                      user:
                        id: 5e7a0000-0000-4000-8000-000000000001
                        email: ada@example.com
                  - id: 9c12d3e4-f5a6-4b7c-8d9e-0f1a2b3c4d5e
                    occurred_at: '2026-09-20T11:30:00.918Z'
                    website_id: 9e07f1a2-b3c4-4d5e-8f60-718293a4b5c6
                    entity_type: prompt
                    change_type: updated
                    entity_ids: null
                    actor:
                      type: api_key
                      api_key_id: a8f20000-0000-4000-8000-000000000002
                      api_key_name: Production integration
                      user: null
                pagination:
                  page_num: 0
                  page_size: 100
                  has_more: true
        '400':
          description: Solicitud incorrecta, parámetros no válidos.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                page_size_out_of_range:
                  value:
                    error: page_size must be between 1 and 100
                unknown_entity_type:
                  value:
                    error: entity_type must be one of prompt, topic, prompt_tag
        '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. La organización de la clave no es un socio, o el
            sitio web solicitado está fuera del alcance o de la organización de
            la clave.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                not_a_partner:
                  value:
                    error: 'Forbidden: partner API key required'
                website_out_of_scope:
                  value:
                    error: Unauthorized access to this website
        '429':
          description: Se ha superado el límite de solicitudes.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Error interno del servidor.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
components:
  schemas:
    ActivityListResponse:
      type: object
      required:
        - activity
        - pagination
      properties:
        activity:
          type: array
          items:
            $ref: '#/components/schemas/ActivityEntry'
        pagination:
          $ref: '#/components/schemas/Pagination'
    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
    ActivityEntry:
      type: object
      required:
        - id
        - occurred_at
        - website_id
        - entity_type
        - change_type
        - entity_ids
        - actor
      properties:
        id:
          type: string
          format: uuid
          description: ID estable y único del cambio.
        occurred_at:
          type: string
          format: date-time
          description: Cuándo se produjo el cambio.
        website_id:
          type: string
          format: uuid
          description: Sitio web al que pertenece el cambio.
        entity_type:
          type: string
          enum:
            - prompt
            - topic
            - prompt_tag
        change_type:
          type: string
          enum:
            - created
            - updated
            - deleted
            - restored
            - paused
            - unpaused
        entity_ids:
          type: array
          nullable: true
          items:
            type: string
            format: uuid
          description: >-
            ID de las entidades afectadas. `null` indica que se desconoce el
            conjunto afectado: vuelve a listar el sitio web.
        actor:
          $ref: '#/components/schemas/ActivityActor'
    Pagination:
      type: object
      description: >-
        Metadatos de paginación. Usa una consulta anticipada de `page_size + 1`:
        `has_more=true` indica que la siguiente página no está vacía. No incluye
        total por diseño, para evitar otra consulta `COUNT(*)`.
      required:
        - page_num
        - page_size
        - has_more
      properties:
        page_num:
          type: integer
          description: Número de página devuelto, empezando en cero.
          example: 0
        page_size:
          type: integer
          description: Número máximo de elementos por página.
          example: 50
        has_more:
          type: boolean
          description: '`true` si hay otra página disponible.'
          example: true
    ActivityActor:
      type: object
      description: >-
        Quién ha realizado el cambio. Una persona se identifica por ID y correo
        en `user`; una clave de API, por ID y nombre, para que las integraciones
        puedan omitir sus propias escrituras.
      required:
        - type
        - api_key_id
        - api_key_name
        - user
      properties:
        type:
          type: string
          enum:
            - user
            - api_key
            - system
          description: >-
            `user` para un cambio realizado en la aplicación, `api_key` para uno
            realizado mediante la API y `system` para uno automático o cuya
            clave de API se haya eliminado después.
        api_key_id:
          type: string
          format: uuid
          nullable: true
          description: >-
            ID de la clave de API que ha realizado el cambio, cuando `type` es
            `api_key`.
        api_key_name:
          type: string
          nullable: true
          description: Nombre de esa clave de API.
        user:
          type: object
          nullable: true
          description: >-
            Persona que ha realizado el cambio, cuando `type` es `user`. `null`
            para cambios de claves de API o del sistema y para personas ajenas a
            los sitios accesibles con una clave de alcance limitado.
          required:
            - id
            - email
          properties:
            id:
              type: string
              format: uuid
              description: ID del usuario.
            email:
              type: string
              format: email
              description: Correo electrónico del usuario.
  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.