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

# Actualizar consulta

> Actualiza metadatos de una consulta (texto, tipo, volumen, tema, geografía y ubicaciones). Solo cambian los campos indicados. Devuelve una instantánea anterior y posterior.

El **texto** (`prompt`) solo se puede cambiar si aún no hay respuestas recopiladas. Después, enviar un `prompt` distinto devuelve `400`: elimina la consulta y crea otra. Los demás campos siguen siendo editables y siempre se permite reenviar el texto existente sin cambios.



## OpenAPI

````yaml es/api-reference/openapi.json patch /api/v1/prompts/{prompt_id}
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/prompts/{prompt_id}:
    patch:
      tags:
        - Basics
      summary: Actualizar consulta
      description: >-
        Actualiza metadatos de una consulta (texto, tipo, volumen, tema,
        geografía y ubicaciones). Solo cambian los campos indicados. Devuelve
        una instantánea anterior y posterior.


        El **texto** (`prompt`) solo se puede cambiar si aún no hay respuestas
        recopiladas. Después, enviar un `prompt` distinto devuelve `400`:
        elimina la consulta y crea otra. Los demás campos siguen siendo
        editables y siempre se permite reenviar el texto existente sin cambios.
      operationId: updatePrompt
      parameters:
        - name: prompt_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: Consulta que se actualizará.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - website_id
              properties:
                website_id:
                  type: string
                  format: uuid
                  description: Sitio web al que pertenece la consulta.
                prompt:
                  type: string
                  description: >-
                    Nuevo texto de la consulta. Se recortan los extremos y se
                    rechaza si queda vacío. Solo se puede editar si aún no tiene
                    respuestas; cambiarlo después devuelve `400`. Siempre se
                    permite reenviar el texto actual sin cambios (p. ej., en un
                    PATCH del objeto completo) o editar solo metadatos.
                  maxLength: 2000
                type:
                  type: string
                  enum:
                    - discovery
                    - high_intent
                  nullable: true
                volume:
                  type: string
                  nullable: true
                topic_id:
                  type: string
                  format: uuid
                  nullable: true
                countries:
                  type: array
                  maxItems: 1000
                  items:
                    type: string
                primary_country:
                  type: string
                  nullable: true
                  description: Si `countries` no está vacío, debe ser uno de sus valores.
                location_ids:
                  type: array
                  maxItems: 1000
                  items:
                    type: string
                    format: uuid
      responses:
        '200':
          description: Consulta actualizada
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  text:
                    type: string
                  type:
                    type: string
                    nullable: true
                  volume:
                    type: string
                    nullable: true
                  topic_id:
                    type: string
                    nullable: true
                  locations:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          format: uuid
                        name:
                          type: string
                  countries:
                    type: array
                    items:
                      type: string
                  before:
                    type: object
                    description: Instantánea anterior a la actualización.
                    properties:
                      text:
                        type: string
                      type:
                        type: string
                        nullable: true
                      volume:
                        type: string
                        nullable: true
                      topic_id:
                        type: string
                        nullable: true
                      countries:
                        type: array
                        items:
                          type: string
                      location_ids:
                        type: array
                        items:
                          type: string
        '400':
          description: 'Solicitud incorrecta: error de validación'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                text_edit_after_responses:
                  summary: 'Cambio de texto bloqueado: la consulta ya tiene respuestas'
                  value:
                    error: >-
                      Prompt text cannot be edited once the prompt has
                      responses. Delete the prompt and create a new one with the
                      updated text.
        '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'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                no_access:
                  value:
                    error: Unauthorized access to this website
        '404':
          description: >-
            No encontrado: la consulta no existe, se ha eliminado o pertenece a
            otro sitio web
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                not_found:
                  value:
                    error: Prompt not found
        '500':
          description: Error interno del servidor
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
components:
  schemas:
    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
  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.