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

# Edita un agente

> Todo campo es opcional y un campo ausente se deja sin cambios. Define `identity` para indicarle al agente en nombre de quién habla; aplica a toda página que use este agente.



## OpenAPI

````yaml /openapi.es.json patch /v1/agents/{agentId}
openapi: 3.0.0
info:
  title: API para desarrolladores de wondeya
  description: >-
    La API REST pública para construir sobre wondeya: agentes, proyectos,
    páginas, conocimiento, recursos, marca, tema, uso, recuperación y chat,
    autenticada mediante una clave de API del espacio de trabajo
    (`Authorization: Bearer wdy_live_…`).
  version: 0.1.0
  contact:
    name: wondeya
    url: https://wondeya.com
    email: team@wondeya.com
  license:
    name: Proprietary
    url: https://wondeya.com/terms
servers:
  - url: https://api.wondeya.com
    description: Producción
  - url: http://localhost:8080
    description: Desarrollo
security: []
tags:
  - name: Identity
  - name: Agents
  - name: Projects
  - name: Pages
  - name: Knowledge
  - name: Assets
  - name: Brand
  - name: Usage
  - name: Chat
paths:
  /v1/agents/{agentId}:
    patch:
      tags:
        - Agents
      summary: Edita un agente
      description: >-
        Todo campo es opcional y un campo ausente se deja sin cambios. Define
        `identity` para indicarle al agente en nombre de quién habla; aplica a
        toda página que use este agente.
      operationId: PublicAgentsController_update_v1
      parameters:
        - name: agentId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdatePublicAgentDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicAgentDto'
        '404':
          description: No existe ese agente en este espacio de trabajo
      security:
        - api-key: []
components:
  schemas:
    UpdatePublicAgentDto:
      type: object
      properties:
        name:
          type: string
          minLength: 1
          maxLength: 80
          description: Renombra el agente (etiqueta interna).
        identity:
          $ref: '#/components/schemas/AgentIdentityDto'
        content:
          $ref: '#/components/schemas/AgentContentDto'
        answerPolicy:
          $ref: '#/components/schemas/AgentAnswerPolicyDto'
    PublicAgentDto:
      type: object
      properties:
        id:
          type: string
          description: El id del agente. El único asidero que tiene.
        name:
          type: string
          description: Etiqueta interna. Nunca una dirección (sin slug).
        identity:
          $ref: '#/components/schemas/PublicAgentIdentityDto'
        content:
          $ref: '#/components/schemas/PublicAgentContentDto'
        answerPolicy:
          $ref: '#/components/schemas/PublicAgentAnswerPolicyDto'
        defaultLocale:
          type: string
          enum:
            - es
            - en
          description: El idioma en que está redactado el texto del agente (D-44).
        locales:
          type: array
          description: Todos los idiomas que habla el agente.
          items:
            type: string
            enum:
              - es
              - en
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      required:
        - id
        - name
        - identity
        - content
        - answerPolicy
        - defaultLocale
        - locales
        - createdAt
        - updatedAt
    AgentIdentityDto:
      type: object
      properties:
        businessName:
          type: string
          maxLength: 80
          description: El negocio que el agente representa. Vacío = mantenerse neutral.
        description:
          type: string
          maxLength: 1000
          description: >-
            Un párrafo que describe qué hace este negocio. Se incorpora a cada
            prompt. Vacío = el agente nunca describe el negocio en absoluto.
        tone:
          type: string
          maxLength: 200
          description: Cómo debe sonar. Vacío = la voz de la casa por defecto.
        actions:
          maxItems: 8
          description: CTAs que el agente puede ofrecer. Una lista vacía significa ninguna.
          type: array
          items:
            $ref: '#/components/schemas/AgentActionDto'
        links:
          maxItems: 16
          description: >-
            Lista blanca de enlaces. Una lista vacía significa que el agente no
            enlaza a ningún lado.
          type: array
          items:
            $ref: '#/components/schemas/AgentLinkDto'
    AgentContentDto:
      type: object
      properties:
        useWorkspaceKnowledge:
          type: boolean
          description: >-
            Responde también a partir del conocimiento adjunto a todo el espacio
            de trabajo, no solo a este agente.
        useWorkspaceAssets:
          type: boolean
          description: Ofrece también los recursos adjuntos a todo el espacio de trabajo.
    AgentAnswerPolicyDto:
      type: object
      properties:
        contactLinkId:
          type: object
          maxLength: 40
          nullable: true
          description: >-
            Un identity.links[].id registrado que se ofrece como contacto de
            respaldo cuando el agente no puede responder. null = sin respaldo.
        forbiddenTopics:
          maxItems: 20
          description: >-
            Temas que el agente debe negarse a tratar. Una lista vacía significa
            sin restricción.
          type: array
          items:
            type: string
    PublicAgentIdentityDto:
      type: object
      properties:
        businessName:
          type: string
          description: El negocio en nombre del cual habla el agente; "" = neutral.
        description:
          type: string
          description: Un párrafo, que se incluye en cada prompt.
        tone:
          type: string
          description: Cómo debe sonar; "" = la voz de la casa.
        actions:
          type: array
          items:
            $ref: '#/components/schemas/PublicAgentActionDto'
        links:
          type: array
          items:
            $ref: '#/components/schemas/PublicAgentLinkDto'
      required:
        - businessName
        - description
        - tone
        - actions
        - links
    PublicAgentContentDto:
      type: object
      properties:
        useWorkspaceKnowledge:
          type: boolean
        useWorkspaceAssets:
          type: boolean
      required:
        - useWorkspaceKnowledge
        - useWorkspaceAssets
    PublicAgentAnswerPolicyDto:
      type: object
      properties:
        contactLinkId:
          type: object
          nullable: true
          description: >-
            El `identity.links[].id` registrado que se ofrece como contacto
            alternativo cuando el agente no puede responder. null = sin contacto
            alternativo.
        forbiddenTopics:
          description: Temas que el agente se niega a tratar. Vacío = sin restricción.
          type: array
          items:
            type: string
      required:
        - contactLinkId
        - forbiddenTopics
    AgentActionDto:
      type: object
      properties:
        id:
          type: string
          maxLength: 40
          description: >-
            Id estable que el modelo emite y el cliente mapea a un
            comportamiento. Nunca una URL.
          example: talk_to_team
        description:
          type: string
          maxLength: 200
          description: >-
            En inglés, orientado al prompt: cuándo esta acción es el siguiente
            paso correcto.
      required:
        - id
        - description
    AgentLinkDto:
      type: object
      properties:
        id:
          type: string
          maxLength: 40
          example: menu
        url:
          type: string
          maxLength: 400
          description: >-
            external/doc: la URL http/https absoluta, resuelta del lado del
            servidor. Omítela para un link `page` (que lleva un path en su
            lugar). El handler aplica la regla por kind.
        kind:
          type: string
          enum:
            - external
            - doc
            - page
          description: >-
            D-81: external (cualquier URL), doc (la documentación) o page (una
            página del mismo sitio, por path). Por defecto es external.
        path:
          type: object
          maxLength: 200
          nullable: true
          description: >-
            page solo: un path del mismo sitio (por ejemplo /pymes), resuelto al
            origen del sitio al renderizar.
        label:
          description: >-
            RETIRADO como obligatorio (E10 / AG-0006): el agente genera el texto
            visible del botón de forma dinámica por turno e idioma. Opcional
            para un cliente que todavía lo envíe; la consola ya no lo recolecta.
          allOf:
            - $ref: '#/components/schemas/LocalizedLabelDto'
        description:
          type: string
          maxLength: 200
          description: >-
            Descripción manual en inglés para el prompt. Omítela para generar
            una descripción a partir del destino aprobado.
        userDescription:
          type: string
          maxLength: 200
          description: >-
            Contexto opcional del propietario en cualquier idioma. Orienta la
            curación automática y se conserva por separado.
        displayDescription:
          description: >-
            Descripción manual opcional para la consola. Nunca modifica la
            descripción en inglés del prompt.
          allOf:
            - $ref: '#/components/schemas/LinkDisplayDescriptionDto'
      required:
        - id
    PublicAgentActionDto:
      type: object
      properties:
        id:
          type: string
          example: talk_to_team
        description:
          type: string
          description: 'En inglés, orientado al prompt: cuándo corresponde esta acción.'
      required:
        - id
        - description
    PublicAgentLinkDto:
      type: object
      properties:
        id:
          type: string
          example: menu
        url:
          type: string
          description: 'external/doc: URL http/https absoluta. Se omite para un link page.'
        kind:
          type: string
          description: external | doc | page (D-81).
        path:
          type: object
          nullable: true
          description: 'page solo: el path.'
        label:
          $ref: '#/components/schemas/PublicLocalizedLabelDto'
        description:
          type: string
          description: Inglés, orientado al prompt.
      required:
        - id
        - label
        - description
    LocalizedLabelDto:
      type: object
      properties:
        es:
          type: string
          maxLength: 60
        en:
          type: string
          maxLength: 60
      required:
        - es
        - en
    LinkDisplayDescriptionDto:
      type: object
      properties:
        es:
          type: string
          maxLength: 200
        en:
          type: string
          maxLength: 200
      required:
        - es
        - en
    PublicLocalizedLabelDto:
      type: object
      properties:
        es:
          type: string
        en:
          type: string
      required:
        - es
        - en
  securitySchemes:
    api-key:
      scheme: bearer
      bearerFormat: opaque
      type: http
      description: >-
        Una clave de API del espacio de trabajo: wdy_live_… / wdy_test_…. Se
        crea en POST /workspaces/{tenantId}/keys y se muestra exactamente una
        vez.

````

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