> ## 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 la barra de navegación y el pie de página del sitio

> Parcial con semántica de reemplazo por lista: una lista presente REEMPLAZA la almacenada, `[]` la vacía, una clave ausente no toca nada. Los textos son por idioma (D-44). Cada href es una URL http(s) absoluta o una ruta del mismo sitio.



## OpenAPI

````yaml /openapi.es.json patch /v1/projects/{projectId}/brand/chrome
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/projects/{projectId}/brand/chrome:
    patch:
      tags:
        - Brand
      summary: Edita la barra de navegación y el pie de página del sitio
      description: >-
        Parcial con semántica de reemplazo por lista: una lista presente
        REEMPLAZA la almacenada, `[]` la vacía, una clave ausente no toca nada.
        Los textos son por idioma (D-44). Cada href es una URL http(s) absoluta
        o una ruta del mismo sitio.
      operationId: PublicBrandController_setChrome_v1
      parameters:
        - name: projectId
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BrandChromeDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicBrandChromeDto'
        '404':
          description: No existe ese sitio en este espacio de trabajo
      security:
        - api-key: []
components:
  schemas:
    BrandChromeDto:
      type: object
      properties:
        navLinks:
          maxItems: 6
          type: array
          items:
            $ref: '#/components/schemas/ChromeLinkDto'
        footerGroups:
          maxItems: 4
          type: array
          items:
            $ref: '#/components/schemas/ChromeLinkGroupDto'
        socials:
          maxItems: 8
          type: array
          items:
            $ref: '#/components/schemas/ChromeSocialDto'
        legalName:
          description: >-
            El nombre en la línea de copyright, por idioma (como máximo 120
            caracteres cada uno). Si está vacío, recurre al nombre del negocio,
            y si ese también está vacío, se omite la línea. Un idioma ausente se
            traduce automáticamente después de guardar; "" quita el texto de ese
            idioma.
          allOf:
            - $ref: '#/components/schemas/ChromeTextDto'
        contact:
          description: >-
            El email de soporte y la dirección postal opcional (D-67). Un objeto
            PRESENTE reemplaza todo; una clave ausente lo deja sin cambios.
          allOf:
            - $ref: '#/components/schemas/ChromeContactDto'
    PublicBrandChromeDto:
      type: object
      properties:
        navLinks:
          type: array
          items:
            $ref: '#/components/schemas/PublicChromeLinkDto'
        footerGroups:
          type: array
          items:
            $ref: '#/components/schemas/PublicChromeLinkGroupDto'
        socials:
          type: array
          items:
            $ref: '#/components/schemas/PublicChromeSocialDto'
        legalName:
          $ref: '#/components/schemas/PublicLocalizedTextDto'
        contact:
          description: >-
            El email de soporte y la dirección postal opcional (D-67). Vacío
            significa que no hay bloque de contacto.
          allOf:
            - $ref: '#/components/schemas/PublicChromeContactDto'
      required:
        - navLinks
        - footerGroups
        - socials
        - legalName
        - contact
    ChromeLinkDto:
      type: object
      properties:
        label:
          description: >-
            Lo que lee el visitante, por idioma (como máximo 40 caracteres cada
            uno). Un idioma ausente se traduce automáticamente después de
            guardar; "" quita el texto de ese idioma. Debe quedar al menos un
            idioma.
          allOf:
            - $ref: '#/components/schemas/ChromeTextDto'
        href:
          type: string
          maxLength: 400
          description: >-
            Una URL http(s) absoluta, o una ruta en este sitio ("/pricing"). UN
            destino para todos los idiomas: los hrefs no se localizan.
        variant:
          type: string
          enum:
            - link
            - primary
            - secondary
          default: link
      required:
        - label
        - href
    ChromeLinkGroupDto:
      type: object
      properties:
        title:
          description: >-
            El encabezado de la columna, por idioma (a lo sumo 40 caracteres
            cada uno). Un idioma ausente se traduce automáticamente después de
            guardar; "" quita el texto de ese idioma.
          allOf:
            - $ref: '#/components/schemas/ChromeTextDto'
        links:
          maxItems: 8
          type: array
          items:
            $ref: '#/components/schemas/ChromeLinkDto'
      required:
        - title
        - links
    ChromeSocialDto:
      type: object
      properties:
        network:
          type: string
          enum:
            - x
            - linkedin
            - instagram
            - facebook
            - youtube
            - tiktok
            - github
            - whatsapp
        href:
          type: string
          maxLength: 400
      required:
        - network
        - href
    ChromeTextDto:
      type: object
      properties:
        es:
          type: string
          description: Español.
        en:
          type: string
          description: Inglés.
    ChromeContactDto:
      type: object
      properties:
        email:
          type: string
          maxLength: 160
          description: >-
            Una dirección de soporte simple ("soporte@empresa.com"), nunca una
            URL "mailto:" ni una con query string. "" (u omitirla en un
            reemplazo completo) la borra.
        addressLines:
          maxItems: 4
          description: >-
            Líneas de texto libre de una dirección postal, impresas tal cual, en
            orden; máximo 4, de 120 caracteres cada una. Un arreglo PRESENTE
            reemplaza por completo las líneas guardadas; "[]" las borra.
          type: array
          items:
            type: string
    PublicChromeLinkDto:
      type: object
      properties:
        label:
          type: string
          description: Resuelto al `locale` de la respuesta.
        href:
          type: string
          description: Una URL http(s) absoluta, o una ruta en este sitio.
        variant:
          type: string
          enum:
            - link
            - primary
            - secondary
      required:
        - label
        - href
        - variant
    PublicChromeLinkGroupDto:
      type: object
      properties:
        title:
          type: string
          description: Resuelto al `locale` de la respuesta.
        links:
          type: array
          items:
            $ref: '#/components/schemas/PublicChromeLinkDto'
      required:
        - title
        - links
    PublicChromeSocialDto:
      type: object
      properties:
        network:
          type: string
          enum:
            - x
            - linkedin
            - instagram
            - facebook
            - youtube
            - tiktok
            - github
            - whatsapp
        href:
          type: string
      required:
        - network
        - href
    PublicLocalizedTextDto:
      type: object
      properties:
        es:
          type: string
        en:
          type: string
    PublicChromeContactDto:
      type: object
      properties:
        email:
          type: string
          description: Ausente cuando no hay un email de soporte configurado.
        addressLines:
          type: array
          items:
            type: string
      required:
        - addressLines
  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.