Privacidad y analítica

Utilizamos cookies técnicas necesarias y, solo si das tu consentimiento, analítica y pixels de marketing para mejorar la web y medir campañas.

Política de privacidadPolítica de cookies
Docs
Español
EspañolEnglishFrançaisDeutschItalianoPortuguês

Primeros pasos

  • ¿Qué es Nömad?
  • Cómo empezar en Nömad
  • Crear tu marca y completar el Genoma
  • Invitar a tu equipo
  • Glosario

Brand OS

  • Qué incluye Brand OS
  • ¿Qué es el Genoma?
  • ¿Quién es Nödo?
  • Hablar con Nödo: voz, tarjetas y pedir a la Tienda
  • Conversaciones: tu equipo y Nödo
  • ¿Qué hace un Brand Manager?
  • Kit de marca y Biblioteca
  • Publicaciones y calendario
  • Conexiones
  • Reuniones
  • Archivos que te enviamos con NödoTransfer
  • Tus presupuestos

Trabajos

  • Trabajos y tareas
  • Encargar un trabajo
  • Seguir, revisar y aprobar entregas
  • Aprobar las publicaciones que prepara Nömad
  • Presupuestos a medida
  • Historial de la marca
  • Sí, hay humanos detrás

Cuenta y facturación

  • Planes y precios
  • Facturación y pagos
  • Pagar desde las apps (iPhone y Android)
  • Personas y accesos
  • Roles de la organización y de la marca
  • Workspaces y varias marcas
  • Tu nombre y tu @usuario
  • Idiomas, apps y datos
  • Salir, cerrar o eliminar: cuenta, marcas y workspaces
  • Eliminar y recuperar: qué se borra y qué se queda
  • Bandeja de entrada y notificaciones: cómo te avisamos
  • Avisos push en el móvil y el navegador
  • Correos de Nömad y tus preferencias

Ayuda

  • Cómo pedir ayuda

API

  • API de marca
    • Errores
    • Permisos y roles
    • Eventos y webhooks
    • Marca
    • Genoma
    • Brand Kit
    • Biblioteca
    • Trabajos
    • Calendario
    • Conexiones
    • Publicaciones
    • Avisos
    • Equipo
    • Cuenta y equipo
    • Conversación
    • Memoria
    • Preguntas
    • Imagen
    • Store
    • Plan
    • Pedidos
    • Actividad
    • Workspace
    • Tu cuenta
    • Facturación
    • Sincronización
    • Web y dominios
    • Estadísticas
    • Eventos

MCP

  • Servidor MCP

Conectores

  • Conectores de una marca

Nödo y agentes

  • Nödo en la marca

Genoma

  • Especificación del Genoma
API/API de marca
Referencia29 min de lectura

Marca

Entrar, perfil, contacto y alma.

En esta página
  • brand.overview · Entrar en la marca
  • brand.soul.read · Leer el alma de la marca
  • brand.profile.update · Actualizar el perfil
  • brand.contacts.list · Contacto y redes
Русский
한국어
日本語
中文
हिन्दी
Abrir la app
  • brand.contacts.save · Guardar un canal
  • brand.connections.save · Guardar un dato de contacto
  • brand.content_focus.update · Editar el foco de contenido
  • brand.content_focus.regenerate · Regenerar el foco de contenido
  • brand.recommendations.dismiss · Descartar una recomendación
  • brand.product_visits.record · Anotar la visita a un producto
  • brand.favorites.list · Tus favoritos de un tipo
  • brand.favorites.toggle · Marcar o quitar un favorito
  • brand.favorites.set · Marcar o quitar varios favoritos
  • brand.offerings.create · Crear una oferta
  • brand.offerings.update · Editar una oferta
  • brand.offerings.delete · Eliminar una oferta
  • brand.offerings.add_image · Añadir una imagen a una oferta
  • brand.heartbeat.update · Ajustar los avisos de Nödo
  • brand.name.set · Poner nombre a la marca
  • brand.setup.start_unnamed · Empezar sin nombre
  • brand.setup.logo_skip · Saltar el logo
  • brand.setup.extraction_start · Leer la web de la marca
  • brand.setup.website_read · Mirar si la web cuenta qué hace la marca
  • brand.setup.logo_accept · Dar el logo por elegido
  • brand.setup.logo_choose · Elegir el logo
  • brand.setup.colors_decide · Decidir la paleta
  • brand.setup.typography_decide · Decidir las tipografías
  • brand.setup.genome_start · Generar el Genoma
  • brand.setup.analysis_retry · Reintentar el análisis
  • brand.setup.dismiss · Cerrar el setup por ahora
  • brand.setup.description_draft · Proponer la descripción
  • brand.setup.attachment_remove · Quitar un archivo de la descripción
  • brand.wizard.feedback_submit · Enviar las respuestas del asistente
  • brand.wizard.cards_generate · Preparar las preguntas del asistente
  • brand.onboarding.abandon · Salir del proceso
  • brand.settings.read · Ajustes de la marca
  • brand.settings.update · Guardar los ajustes de la marca
  • brand.logo.set · Poner un logo de la Biblioteca
  • brand.time_zone.set · Zona horaria de la marca
  • brand.setup.create · Crear una marca
  • brand.setup.profile_read · Perfil de la marca por completar
  • brand.setup.profile_save · Guardar un paso del perfil
  • brand.setup.profile_complete · Terminar el perfil de la marca
  • brand.onboarding.read · Alta de marca a medias
  • brand.onboarding.step_save · Guardar un paso del alta antigua
  • brand.onboarding.complete · Terminar el alta antigua
  • brand.agent_policy.set · Qué pueden cambiar los agentes
  • brand.summary · Resumen de la marca
  • brand.manager.presence · Tu Brand Manager ahora
  • brand.close.review · Revisar el cierre de la marca
  • brand.close · Cerrar la marca
  • brand.team.read · Equipo de la marca
  • brand.member.remove · Quitar a alguien de la marca
  • brand.member.role.set · Cambiar el papel en la marca
  • brand.overview · Entrar en la marca

    Resumen de la marca (un cliente MCP externo lo llama primero para orientarse): nombre, identificador, plan, Brand Manager, trabajos activos, tareas pendientes y lo que puede hacer quien pregunta.

    CampoValor
    TipoLectura
    Método HTTPPOST /api/v1/brand.overview
    Herramienta MCPbrand_overview
    Alcancebrand.read
    Rol mínimoLector
    Confirmación humanaNo
    PuertasNödo, Voz, MCP, API, Chat, Pantallas, Apps
    EstadoDisponible
    Widgetrecord

    Entrada

    {}

    Salida

    {
      id: string  // uuid
      shortId: string  // Human id such as BRD-8C1TZA.
      name: string
      plan: string | null
      manager: {
        id: string  // uuid
        name: string
        avatarUrl: string | null
      }
      | null
      counts: {
        activeWorks: integer  // -9007199254740991–9007199254740991
        pendingTasks: integer  // -9007199254740991–9007199254740991
        pendingMemory: integer  // -9007199254740991–9007199254740991
      }
      role: string | null  // Brand role of the caller, or null for staff.
      capabilities: string[]  // Capability ids the caller may use here.
    }

    brand.soul.read · Leer el alma de la marca

    La voz de la marca compilada del Genoma vigente (que puede estar sin confirmar por la marca): tono, arquetipos, vocabulario, límites, idiomas y ejemplos dentro y fuera de marca. Úsala antes de escribir o crear en su nombre; lo que falte aparece en gaps.

    CampoValor
    TipoLectura
    Método HTTPPOST /api/v1/brand.soul.read
    Herramienta MCPbrand_soul_read
    Alcancebrand.read
    Rol mínimoLector
    Confirmación humanaNo
    PuertasNödo, Voz, MCP, API, Chat, Pantallas, Apps
    EstadoDisponible

    Entrada

    {}

    Salida

    {
      revision: integer  // -9007199254740991–9007199254740991
      genomeRevision: integer  // -9007199254740991–9007199254740991 · Accepted Genome revision it was compiled from.
      compiledAt: string
      voice: {
        summary: string  // ≤ 600
        tone: Array<{
          axis: string
          position: number  // -2–2
        }>  // ≤ 6 items · e.g. formal(-2)…casual(+2).
        traits: string[]  // ≤ 8 items
        archetypes: string[]  // ≤ 3 items
      }
      vocabulary: {
        use: string[]  // ≤ 30 items
        avoid: string[]  // ≤ 30 items
      }
      guardrails: string[]  // ≤ 15 items
      audiences: string[]  // ≤ 6 items
      locales: Array<{
        locale: string
        notes: string  // ≤ 300
      }>  // ≤ 8 items
      writing: {
        address: string  // ≤ 300 · How the brand addresses the reader (tú, usted, vos) and its exceptions.
        addressConfirmed?: boolean  // False while no person has confirmed the form of address (Genome 2.1): it is a proposal, so Nödo says so once instead of assuming it.
        sayDontSay: Array<{
          say: string
          dontSay: string
        }>  // ≤ 10 items
        conventions: string[]  // ≤ 8 items
        channels: Array<{
          channel: string
          guidance: string
        }>  // ≤ 6 items
      }  // default {"address":"","sayDontSay":[],"conventions":[],"channels":[]}
      examples: Array<{
        context: string  // default ""
        onBrand: string
        offBrand: string
      }>  // ≤ 10 items
      gaps: string[]  // Genome sections missing or unaccepted; Nödo asks instead of guessing.
    }

    brand.profile.update · Actualizar el perfil

    Cambia nombre, país, ciudad, tipo de organización o idioma principal. Se guarda en el Genoma con control de revisión.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.profile.update
    Herramienta MCPbrand_profile_update
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaSí
    PuertasNödo, MCP, API, Chat, Pantallas, Apps
    EstadoDisponible
    Widgetconfirm

    Entrada

    {
      expectedRevision: integer  // -9007199254740991–9007199254740991
      displayName?: string  // ≤ 120
      countryCode?: string  // ≤ 2
      city?: string  // ≤ 120
      organizationType?: string  // ≤ 40
      primaryLanguage?: string  // ≤ 12
    }

    Salida

    {
      ok: true
      id?: string
      revision?: integer  // -9007199254740991–9007199254740991
    }

    brand.contacts.list · Contacto y redes

    Canales públicos de la marca: web, email, teléfono y perfiles sociales.

    CampoValor
    TipoLectura
    Método HTTPPOST /api/v1/brand.contacts.list
    Herramienta MCPbrand_contacts_list
    Alcancebrand.read
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasNödo, Voz, MCP, API, Chat, Pantallas, Apps
    EstadoDisponible
    Widgetlist

    Entrada

    {}

    Salida

    {
      items: Array<{
        id: string  // uuid
        type: "website" | "email" | "phone" | "whatsapp" | "instagram" | "facebook" | "linkedin" | "tiktok" | "x" | "youtube" | "pinterest" | "other"
        value: string
        label: string | null
      }>
    }

    brand.contacts.save · Guardar un canal

    Añade, cambia o quita un canal público. Valida el formato y los límites por tipo.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.contacts.save
    Herramienta MCPbrand_contacts_save
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaSí
    PuertasNödo, MCP, API, Chat, Pantallas, Apps
    EstadoDisponible
    Widgetconfirm

    Entrada

    {
      op: "upsert"
      id?: string  // uuid
      type: "website" | "email" | "phone" | "whatsapp" | "instagram" | "facebook" | "linkedin" | "tiktok" | "x" | "youtube" | "pinterest" | "other"
      value: string  // ≤ 500
      label?: string  // ≤ 80
    }
    | {
      op: "delete"
      id: string  // uuid
    }

    Salida

    {
      ok: true
      id?: string
      revision?: integer  // -9007199254740991–9007199254740991
    }

    brand.connections.save · Guardar un dato de contacto

    Añade o cambia un dato de «Contacto y social», también la dirección. Valida el formato y el límite por tipo.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.connections.save
    Herramienta MCPbrand_connections_save
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      type: "website" | "instagram" | "facebook" | "twitter" | "linkedin" | "tiktok" | "youtube" | "pinterest" | "whatsapp" | "email" | "phone" | "address" | "other"
      value: string  // ≤ 2000
      label?: string  // ≤ 200
      connectionId?: string  // uuid
    }

    Salida

    {
      connection: {
        id: string  // uuid
      }
    }

    brand.content_focus.update · Editar el foco de contenido

    Guarda a mano el foco de contenido de la marca (redes, tipos de contenido, frecuencia y objetivo) y lo marca como completo.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.content_focus.update
    Herramienta MCPbrand_content_focus_update
    Alcancebrand.write
    Rol mínimoMiembro
    Confirmación humanaNo
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      content: {
        networks: Record<string, unknown>
        generalNotes?: string | null
      }
    }

    Salida

    {
      ok: true
      id?: string
      revision?: integer  // -9007199254740991–9007199254740991
    }

    brand.content_focus.regenerate · Regenerar el foco de contenido

    Solo el equipo de Nömad: vuelve a escribir con IA el foco de contenido de la marca. Corre en segundo plano.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.content_focus.regenerate
    Herramienta MCPbrand_content_focus_regenerate
    Alcancebrand.write
    Rol mínimoMiembro
    Confirmación humanaNo
    PuertasAPI, Pantallas, Apps
    EstadoDisponible

    Entrada

    {}

    Salida

    {
      ok: true
      id?: string
      revision?: integer  // -9007199254740991–9007199254740991
    }

    brand.recommendations.dismiss · Descartar una recomendación

    «No me interesa» en un producto recomendado a la marca, o deshacerlo.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.recommendations.dismiss
    Herramienta MCPbrand_recommendations_dismiss
    Alcancebrand.write
    Rol mínimoLector
    Confirmación humanaNo
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      productId: string  // ≤ 120
      dismissed: boolean
    }

    Salida

    {
      ok: true
      id?: string
      revision?: integer  // -9007199254740991–9007199254740991
    }

    brand.product_visits.record · Anotar la visita a un producto

    Anota que la persona abrió un producto del Store en esta marca, para ordenar el lanzador por lo reciente.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.product_visits.record
    Herramienta MCPbrand_product_visits_record
    Alcancebrand.write
    Rol mínimoLector
    Confirmación humanaNo
    PuertasPantallas, Apps
    EstadoDisponible

    Entrada

    {
      productId: string  // ≤ 160
    }

    Salida

    {
      ok: true
      id?: string
      revision?: integer  // -9007199254740991–9007199254740991
    }

    brand.favorites.list · Tus favoritos de un tipo

    Los elementos de la marca que la persona marcó como favoritos, de un tipo (productos, trabajos, archivos…), del más reciente al más antiguo.

    CampoValor
    TipoLectura
    Método HTTPPOST /api/v1/brand.favorites.list
    Herramienta MCPbrand_favorites_list
    Alcancebrand.read
    Rol mínimoLector
    Confirmación humanaNo
    PuertasPantallas, Apps, API
    EstadoDisponible

    Entrada

    {
      entityType: string  // ≤ 60
      entityIds?: string[]  // ≤ 500 items
    }

    Salida

    {
      ids: string[]
    }

    brand.favorites.toggle · Marcar o quitar un favorito

    Marca como favorito de la persona un elemento de la marca (un archivo, un trabajo…) o lo quita si ya lo era.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.favorites.toggle
    Herramienta MCPbrand_favorites_toggle
    Alcancebrand.write
    Rol mínimoLector
    Confirmación humanaNo
    PuertasPantallas, Apps
    EstadoDisponible

    Entrada

    {
      entityType: string  // ≤ 60
      entityId: string  // ≤ 200
    }

    Salida

    {
      isFavorite: boolean
    }

    brand.favorites.set · Marcar o quitar varios favoritos

    Marca o quita como favoritos de la persona varios elementos de la marca a la vez. Devuelve los que cambiaron.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.favorites.set
    Herramienta MCPbrand_favorites_set
    Alcancebrand.write
    Rol mínimoLector
    Confirmación humanaNo
    PuertasPantallas, Apps
    EstadoDisponible

    Entrada

    {
      entityType: string  // ≤ 60
      entityIds: string[]  // ≤ 200 items
      favorite: boolean
    }

    Salida

    {
      changed: string[]
    }

    brand.offerings.create · Crear una oferta

    Crea un producto o servicio de la marca con su precio, rasgos y portada (un archivo de la Biblioteca de la marca).

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.offerings.create
    Herramienta MCPbrand_offerings_create
    Alcancebrand.write
    Rol mínimoMiembro
    Confirmación humanaSí
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      title: string  // ≤ 500
      description?: string | null
      short_description?: string | null
      category?: string | null
      category_id?: string | null
      type: "product" | "service"
      status?: string  // ≤ 40
      price?: number | null
      currency?: string  // ≤ 3
      sale_price?: number | null
      price_unit?: string  // ≤ 40
      features?: string[]  // ≤ 100 items
      sku?: string | null
      is_recurring?: boolean
      recurring_interval?: "weekly" | "monthly" | "quarterly" | "annual" | null
      sort_order?: integer  // -9007199254740991–9007199254740991
      image_asset_id?: string | null
    }

    Salida

    {
      offering: {
        id: string  // uuid
        brand_id: string  // uuid
      }
    }

    brand.offerings.update · Editar una oferta

    Cambia los campos de una oferta de la marca. La portada se reconstruye desde su archivo de la Biblioteca.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.offerings.update
    Herramienta MCPbrand_offerings_update
    Alcancebrand.write
    Rol mínimoMiembro
    Confirmación humanaSí
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      offeringId: string  // uuid
      changes: {
        title?: string  // ≤ 500
        description?: string | null
        short_description?: string | null
        category?: string | null
        category_id?: string | null
        type?: "product" | "service"
        status?: string  // ≤ 40
        price?: number | null
        currency?: string  // ≤ 3
        sale_price?: number | null
        price_unit?: string  // ≤ 40
        features?: string[]  // ≤ 100 items
        sku?: string | null
        is_recurring?: boolean
        recurring_interval?: "weekly" | "monthly" | "quarterly" | "annual" | null
        sort_order?: integer  // -9007199254740991–9007199254740991
        image_asset_id?: string | null
      }
    }

    Salida

    {
      offering: {
        id: string  // uuid
        brand_id: string  // uuid
      }
    }

    brand.offerings.delete · Eliminar una oferta

    Borra para siempre un producto o servicio de la marca con sus imágenes.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.offerings.delete
    Herramienta MCPbrand_offerings_delete
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaSí
    PuertasAPI, Pantallas, Apps
    EstadoDisponible

    Entrada

    {
      offeringId: string  // uuid
    }

    Salida

    {
      ok: true
      id?: string
      revision?: integer  // -9007199254740991–9007199254740991
    }

    brand.offerings.add_image · Añadir una imagen a una oferta

    Añade a una oferta una imagen de la Biblioteca de la marca; la primera pasa a ser su portada.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.offerings.add_image
    Herramienta MCPbrand_offerings_add_image
    Alcancebrand.write
    Rol mínimoMiembro
    Confirmación humanaNo
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      offeringId: string  // uuid
      assetId: string  // uuid
      sortOrder?: integer  // -9007199254740991–9007199254740991
    }

    Salida

    {
      image: {
        id: string  // uuid
      }
    }

    brand.heartbeat.update · Ajustar los avisos de Nödo

    Activa o desactiva los avisos periódicos de Nödo en la marca y elige su hora local.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.heartbeat.update
    Herramienta MCPbrand_heartbeat_update
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      enabled: boolean
      localHour: integer  // 0–23
    }

    Salida

    {
      enabled: boolean
      localHour: integer  // -9007199254740991–9007199254740991
    }

    brand.name.set · Poner nombre a la marca

    «Ya tengo un nombre»: da nombre a una marca que se creó sin él (Genoma primero) y devuelve los pasos de identidad.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.name.set
    Herramienta MCPbrand_name_set
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaSí
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      name: string  // ≤ 200
    }

    Salida

    {
      name: string
    }

    brand.setup.start_unnamed · Empezar sin nombre

    «Aún no tengo nombre»: la marca lleva un código de trabajo en lugar de nombre y el perfil responde lo que eso implica (sin web, marca que empieza).

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.setup.start_unnamed
    Herramienta MCPbrand_setup_start_unnamed
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaSí
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {}

    Salida

    {
      name: string
      naming: {
        status: string
        code: string
        since: string | null
        namedAt: string | null
      }
    }

    brand.setup.logo_skip · Saltar el logo

    Los logos encontrados en la web quedan como propuesta en la Biblioteca, salen del Kit y del Genoma, y el logo de la marca se quita si solo venía de ellos.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.setup.logo_skip
    Herramienta MCPbrand_setup_logo_skip
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaSí
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {}

    Salida

    {
      ok: true
    }

    brand.setup.extraction_start · Leer la web de la marca

    Empieza a leer el logo, los colores y las tipografías de la web de la marca en cuanto se escribe, para que estén listos al llegar a esos pasos.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.setup.extraction_start
    Herramienta MCPbrand_setup_extraction_start
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      website: string  // ≤ 200
    }

    Salida

    {
      ok: true
    }

    brand.setup.website_read · Mirar si la web cuenta qué hace la marca

    Lee la portada de la web (solo direcciones públicas, sin credenciales) y dice si tiene contenido propio y, si lo tiene, qué hace la marca en una o dos frases. Con eso el alta no vuelve a preguntar la descripción. Una página aparcada, en venta o en construcción no cuenta. No guarda nada.

    CampoValor
    TipoLectura
    Método HTTPPOST /api/v1/brand.setup.website_read
    Herramienta MCPbrand_setup_website_read
    Alcancebrand.read
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      website: string  // ≤ 200
    }

    Salida

    {
      readable: boolean
      summary: string | null
    }

    brand.setup.logo_accept · Dar el logo por elegido

    Anota en el setup que el logo ya está elegido (tras subir un archivo propio, que ya es el logo de la marca).

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.setup.logo_accept
    Herramienta MCPbrand_setup_logo_accept
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {}

    Salida

    {
      ok: true
    }

    brand.setup.logo_choose · Elegir el logo

    Confirma un logo de la Biblioteca como logo de la marca y lo anota como decisión del setup. Una propuesta de la web pasa a aprobada.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.setup.logo_choose
    Herramienta MCPbrand_setup_logo_choose
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaSí
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      assetId: string  // uuid
    }

    Salida

    {
      ok: true
    }

    brand.setup.colors_decide · Decidir la paleta

    Publica en el Kit solo los colores extraídos que la persona marcó; los demás quedan fuera sin borrarse. Los colores añadidos a mano no se tocan.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.setup.colors_decide
    Herramienta MCPbrand_setup_colors_decide
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaSí
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      decision: "accepted" | "skipped"
      colorIds?: string[]  // ≤ 48 items
    }

    Salida

    {
      ok: true
    }

    brand.setup.typography_decide · Decidir las tipografías

    Publica en el Kit las tipografías confirmadas: las de Google con todos sus pesos; las propias con los archivos de su web si se aceptaron, o solo por nombre.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.setup.typography_decide
    Herramienta MCPbrand_setup_typography_decide
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaSí
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      decision: "accepted" | "skipped"
      fonts?: Array<{
        family: string  // ≤ 80
        role: "heading" | "body"
        acceptSiteFiles?: boolean
      }>  // ≤ 3 items · default []
    }

    Salida

    {
      ok: true
    }

    brand.setup.genome_start · Generar el Genoma

    Pone en marcha el Genoma de la marca con lo leído y respondido. Un Genoma parado se cierra antes. Las preguntas que bloquean lo impiden.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.setup.genome_start
    Herramienta MCPbrand_setup_genome_start
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaSí
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {}

    Salida

    {
      ok: true
    }

    brand.setup.analysis_retry · Reintentar el análisis

    Vuelve a lanzar el análisis de la marca desde el primer documento sin terminar, sin duplicar uno que siga en marcha. Una vez por minuto.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.setup.analysis_retry
    Herramienta MCPbrand_setup_analysis_retry
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaSí
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {}

    Salida

    {
      ok: true
    }

    brand.setup.dismiss · Cerrar el setup por ahora

    Recuerda que la persona cerró la ventana del setup, la tarjeta del panel o el aviso de setup completado en este punto.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.setup.dismiss
    Herramienta MCPbrand_setup_dismiss
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      checkpoint: string  // ≤ 60
      target?: "flow" | "card" | "completion"  // default "flow"
    }

    Salida

    {
      ok: true
    }

    brand.setup.description_draft · Proponer la descripción

    Nödo propone la descripción de la marca con todo lo que sabe del perfil y de los archivos adjuntos, y dice qué leyó para escribirla. No guarda nada.

    CampoValor
    TipoLectura
    Método HTTPPOST /api/v1/brand.setup.description_draft
    Herramienta MCPbrand_setup_description_draft
    Alcancebrand.read
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      description: string  // ≤ 4000
      without?: string[]  // ≤ 12 items · default []
    }

    Salida

    {
      draft: string
      sources: Array<{
        key: string
      }>
    }

    brand.setup.attachment_remove · Quitar un archivo de la descripción

    Deja un archivo fuera de lo que Nödo lee para la descripción de la marca. El archivo sigue en la Biblioteca.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.setup.attachment_remove
    Herramienta MCPbrand_setup_attachment_remove
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      assetId: string  // uuid
    }

    Salida

    {
      ok: true
    }

    brand.wizard.feedback_submit · Enviar las respuestas del asistente

    Envía todas las respuestas del asistente para generar el Genoma de la marca en segundo plano.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.wizard.feedback_submit
    Herramienta MCPbrand_wizard_feedback_submit
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaSí
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      wizardSession?: integer  // 1–100 · default 1
    }

    Salida

    {
      ok: true
    }

    brand.wizard.cards_generate · Preparar las preguntas del asistente

    Pone en cola la generación de las tarjetas del asistente de la marca a partir de su investigación. Repetirla en cinco minutos no la duplica.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.wizard.cards_generate
    Herramienta MCPbrand_wizard_cards_generate
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {}

    Salida

    {
      ok: true
      runId: string
    }

    brand.onboarding.abandon · Salir del proceso

    «Salir del proceso»: lleva a la papelera las marcas a medio crear de la persona, cancela lo que pusieron en marcha y dice adónde ir.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.onboarding.abandon
    Herramienta MCPbrand_onboarding_abandon
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaSí
    PuertasAPI, Pantallas, Apps
    EstadoDisponible

    Entrada

    {}

    Salida

    {
      destination: "/brands" | "/account"
      failed: integer  // -9007199254740991–9007199254740991
    }

    brand.settings.read · Ajustes de la marca

    Ajustes › General como los pinta la app: identidad, ubicación, idioma de comunicación, versión, lo que puedes hacer ahí y cuántas personas, conexiones y archivos en la papelera tiene.

    CampoValor
    TipoLectura
    Método HTTPPOST /api/v1/brand.settings.read
    Herramienta MCPbrand_settings_read
    Alcancebrand.read
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasPantallas, Apps, API
    EstadoDisponible

    Entrada

    {}

    Salida

    {
      brand: {
        id: string
        shortId: string | null
        name: string
        logoAssetId: string | null
        logoUrl: string | null
        country: string | null
        city: string | null
        version: integer | null
        updatedAt: string | null
        communicationLanguage: string | null
      }
      permissions: {
        canEditSettings: boolean
        canViewTeam: boolean
        canManageTeam: boolean
        canViewConnections: boolean
        canCloseBrand: boolean
      }
      communicationLanguages: Array<{
        code: string
        name: string
        nativeName: string | null
        sortOrder: number | null
      }>
      counts: {
        members: integer  // -9007199254740991–9007199254740991
        connections: integer  // -9007199254740991–9007199254740991
        trash: integer  // -9007199254740991–9007199254740991
      }
    }

    brand.settings.update · Guardar los ajustes de la marca

    Ajustes › General: guarda nombre, país, ciudad, tipo, idiomas y descripción. Se escriben en el Genoma cuando existe. Pide la versión leída.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.settings.update
    Herramienta MCPbrand_settings_update
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaSí
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      name: string  // ≤ 200
      country?: string | null
      city?: string | null
      description?: string | null
      age?: string | null
      brandType?: string | null
      organizationType?: string | null
      defaultLocale?: "es" | "en" | null
      communicationLanguage?: string | null
      expectedVersion?: integer | null
    }

    Salida

    {
      ok: true
    }

    brand.logo.set · Poner un logo de la Biblioteca

    Elige un archivo de la Biblioteca de la marca como su logo; la cabecera y la barra lateral lo muestran.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.logo.set
    Herramienta MCPbrand_logo_set
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaSí
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      assetId: string  // uuid
    }

    Salida

    {
      url: string
      assetId: string
    }

    brand.time_zone.set · Zona horaria de la marca

    La zona de la marca: la que usan sus planes editoriales, el latido de Nödo y el compositor de publicaciones.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.time_zone.set
    Herramienta MCPbrand_time_zone_set
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {
      timeZone: string | null  // IANA zone (`Europe/Madrid`), or null to fall back.
    }

    Salida

    {
      timeZone: string | null
    }

    brand.setup.create · Crear una marca

    «Crear marca»: una marca nueva y provisional, activa desde ya, cuyo perfil se completa después. Va al workspace que indicas (si eres su propietario), al tuyo, o a uno nuevo. Si ya tienes una marca nueva sin tocar, se reutiliza.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.setup.create
    Herramienta MCPbrand_setup_create
    Alcancebrand.write
    Rol mínimoself
    Confirmación humanaNo
    PuertasAPI, Pantallas, Apps
    EstadoDisponible

    Entrada

    {
      workspaceId?: string | null
      newWorkspace?: boolean
    }

    Salida

    {
      id: string
      shortId: string
      name: string
      created: boolean  // False when an untouched provisional brand of the person was reused.
    }

    brand.setup.profile_read · Perfil de la marca por completar

    Lo respondido del perfil de una marca nueva (nombre, web, edad, idioma, sede, descripción), el paso donde seguir y los idiomas de comunicación.

    CampoValor
    TipoLectura
    Método HTTPPOST /api/v1/brand.setup.profile_read
    Herramienta MCPbrand_setup_profile_read
    Alcancebrand.read
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasPantallas, Apps, API
    EstadoDisponible

    Entrada

    {}

    Salida

    {
      setup: {
        brand: {
          id: string
          shortId: string
          name: string
          onboardingStep: integer  // -9007199254740991–9007199254740991 · The step to resume on.
          hasWebsite: boolean | null
          website: string | null
          age: string | null  // new_brand or existing_brand.
          communicationLanguage: string | null
          country: string | null
          city: string | null
          description: string | null
        }
        profileSetup: {
          status: string  // required, in_progress or completed.
          currentStep: integer  // -9007199254740991–9007199254740991
          provisionalName: boolean
          completedAt: string | null
        }
      }
      | null
      languages: Array<{
        code: string
        name: string
        nativeName: string | null
        flag: string | null
      }>  // Communication languages to choose from, in the catalogue order.
    }

    brand.setup.profile_save · Guardar un paso del perfil

    Guarda la respuesta de un paso del perfil de una marca nueva y el paso al que sigue. El nombre pasa a ser el de la marca en el momento.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.setup.profile_save
    Herramienta MCPbrand_setup_profile_save
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasPantallas, Apps, API
    EstadoDisponible

    Entrada

    {
      step: integer  // 1–9
      age?: "new_brand" | "existing_brand"
      city?: string  // ≤ 100
      communicationLanguage?: string  // ≤ 5
      country?: string  // ≤ 100
      description?: string  // ≤ 4000
      hasWebsite?: boolean
      name?: string  // ≤ 160
      website?: string | null
    }

    Salida

    {
      brand: {
        id: string
        shortId: string
        name: string
        onboardingStep: integer  // -9007199254740991–9007199254740991 · The step to resume on.
        hasWebsite: boolean | null
        website: string | null
        age: string | null  // new_brand or existing_brand.
        communicationLanguage: string | null
        country: string | null
        city: string | null
        description: string | null
      }
      profileSetup: {
        status: string  // required, in_progress or completed.
        currentStep: integer  // -9007199254740991–9007199254740991
        provisionalName: boolean
        completedAt: string | null
      }
    }

    brand.setup.profile_complete · Terminar el perfil de la marca

    Termina el perfil de una marca nueva con todas sus respuestas: pone en marcha la investigación, la preparación de la marca y la lectura de su web. Aplica el plan elegido antes del alta.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.setup.profile_complete
    Herramienta MCPbrand_setup_profile_complete
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasPantallas, Apps, API
    EstadoDisponible

    Entrada

    {
      age: "new_brand" | "existing_brand"
      city: string  // ≤ 100
      communicationLanguage: string  // ≤ 5
      country: string  // ≤ 100
      description: string  // ≤ 4000
      hasWebsite: boolean
      name: string  // ≤ 160
      website: string | null
    }

    Salida

    {
      brand: {
        id: string
        shortId: string
        name: string
        onboardingStep: integer  // -9007199254740991–9007199254740991 · The step to resume on.
        hasWebsite: boolean | null
        website: string | null
        age: string | null  // new_brand or existing_brand.
        communicationLanguage: string | null
        country: string | null
        city: string | null
        description: string | null
      }
      profileSetup: {
        status: string  // required, in_progress or completed.
        currentStep: integer  // -9007199254740991–9007199254740991
        provisionalName: boolean
        completedAt: string | null
      }
      pendingCheckout: {
        productId: string
        interval: "month" | "year"
      }
      | null
    }

    brand.onboarding.read · Alta de marca a medias

    Lo respondido de una marca empezada en el asistente antiguo, para terminarla: nombre, web, edad, idioma, sede y descripción, y los idiomas de comunicación.

    CampoValor
    TipoLectura
    Método HTTPPOST /api/v1/brand.onboarding.read
    Herramienta MCPbrand_onboarding_read
    Alcancebrand.read
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasPantallas, Apps, API
    EstadoDisponible

    Entrada

    {}

    Salida

    {
      brand: {
        id: string
        shortId: string
        name: string
        onboardingStep: integer  // -9007199254740991–9007199254740991 · The step to resume on.
        hasWebsite: boolean | null
        website: string | null
        age: string | null  // new_brand or existing_brand.
        communicationLanguage: string | null
        country: string | null
        city: string | null
        description: string | null
      }
      languages: Array<{
        code: string
        name: string
        nativeName: string | null
        flag: string | null
      }>  // Communication languages to choose from, in the catalogue order.
    }

    brand.onboarding.step_save · Guardar un paso del alta antigua

    Guarda un paso de una marca empezada en el asistente antiguo. Con una web, empieza a leer su logo, colores y tipografías.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.onboarding.step_save
    Herramienta MCPbrand_onboarding_step_save
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasPantallas, Apps, API
    EstadoDisponible

    Entrada

    {
      step: integer  // -9007199254740991–9007199254740991
      age?: string  // ≤ 40
      city?: string  // ≤ 100
      communicationLanguage?: string  // ≤ 5
      country?: string  // ≤ 100
      hasWebsite?: boolean
      name?: string  // ≤ 50
      website?: string  // ≤ 200
    }

    Salida

    {
      ok: true
    }

    brand.onboarding.complete · Terminar el alta antigua

    Termina una marca empezada en el asistente antiguo con su edad y descripción: queda activa y empieza su investigación.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.onboarding.complete
    Herramienta MCPbrand_onboarding_complete
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasPantallas, Apps, API
    EstadoDisponible

    Entrada

    {
      age: string  // ≤ 40
      description: string  // ≤ 4000
      platform?: "ios" | "android"
    }

    Salida

    {
      brandId: string
      shortId: string
      createdAt: string
    }

    brand.agent_policy.set · Qué pueden cambiar los agentes

    Decide si los agentes conectados solo leen, piden aprobación o escriben directamente en esta marca; sin valor, sigue al workspace.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.agent_policy.set
    Herramienta MCPbrand_agent_policy_set
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasPantallas, Apps
    EstadoDisponible

    Entrada

    {
      policy: "read_only" | "approval" | "direct" | null
    }

    Salida

    {
      ok: true
    }

    brand.summary · Resumen de la marca

    La descripción, los productos y la web de la marca, como los muestra su inicio, la moneda en la que factura quien la paga y, si el plan se paga en App Store o Google Play, esa tienda y su precio.

    CampoValor
    TipoLectura
    Método HTTPPOST /api/v1/brand.summary
    Herramienta MCPbrand_summary
    Alcancebrand.read
    Rol mínimoLector
    Confirmación humanaNo
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {}

    Salida

    {
      description: string | null
      products: unknown
      website: string | null
      billingCurrency: string  // default "EUR"
      planStore: {
        provider: "apple" | "google"
        grossMinor: integer | null
        currency: string | null
        interval: "month" | "year" | null
      }
      | null  // default null
    }

    brand.manager.presence · Tu Brand Manager ahora

    Lo que una marca sabe de su Brand Manager: su tarjeta pública (nombre, foto y puesto), su estado en directo y la tarjeta de quién le cubre si está fuera. Nunca correo, teléfono, notas ni registro.

    CampoValor
    TipoLectura
    Método HTTPPOST /api/v1/brand.manager.presence
    Herramienta MCPbrand_manager_presence
    Alcancebrand.read
    Rol mínimoLector
    Confirmación humanaNo
    PuertasAPI, MCP, Pantallas, Apps, Nödo
    EstadoDisponible

    Entrada

    {}

    Salida

    {
      presence: Record<string, unknown> | null
    }

    brand.close.review · Revisar el cierre de la marca

    Qué pasaría ahora si cierras la marca: trabajos, personas, plan y conexiones, qué lo impide, si se cierra ya o al terminar lo pagado y qué escribir para confirmar. No cambia nada.

    CampoValor
    TipoLectura
    Método HTTPPOST /api/v1/brand.close.review
    Herramienta MCPbrand_close_review
    Alcancebrand.read
    Rol mínimoPropietario
    Confirmación humanaNo
    PuertasPantallas, Apps
    EstadoDisponible

    Entrada

    {}

    Salida

    {
      version: 1
      operation: "account.delete" | "workspace.close" | "workspace.transfer" | "workspace.leave" | "workspace.member.remove" | "brand.close" | "brand.leave" | "brand.member.remove" | "brand.reopen" | "workspace.reopen"
      subject: {
        type: "account" | "workspace" | "brand"
        id: string  // uuid
        name: string | null
        email?: string | null
        state?: "active" | "closing" | "closed"
        workspace?: {
          id: string  // uuid
          name: string | null
        }
      }
      actor: {
        id: string  // uuid
        role: string | null
      }
      target: {
        id: string  // uuid
        name: string | null
        email: string | null
        avatar_url?: string | null
        role?: string | null
        scope?: string | null
      }
      | null
      allowed: boolean
      requires: {
        reauth: boolean
        typed: string | null
      }
      blockers: Array<{
        code: string
        workspace?: {
          id: string  // uuid
          name: string | null
        }
      }>
      decisions: Array<{
        code: "workspace_successor"
        workspace: {
          id: string  // uuid
          name: string | null
        }
        options: Array<"transfer" | "close">
        close_available: boolean
        candidates: Array<{
          id: string  // uuid
          name: string | null
          email: string | null
          avatar_url?: string | null
          role?: string | null
          scope?: string | null
        }>
        default: "transfer" | "close"
      }
      | {
        code: "close_when"
        options: Array<"now" | "when_commitments_end">
        now_available: boolean
        default: "now" | "when_commitments_end"
        paid_works: integer  // -9007199254740991–9007199254740991
        plan_ends_at: string | null
      }
      | {
        code: "new_owner"
        candidates: Array<{
          id: string  // uuid
          name: string | null
          email: string | null
          avatar_url?: string | null
          role?: string | null
          scope?: string | null
        }>
        previous_owner_options: Array<"admin" | "leave">
        default: "admin" | "leave"
      }>
      workspaces: Array<{
        id: string  // uuid
        name: string | null
        role: string | null
        outcome: "leave" | "close" | "decide" | "transfer" | "member_removed" | "stays" | "reopen"
        people: Array<{
          id: string  // uuid
          name: string | null
          email: string | null
          avatar_url?: string | null
          role?: string | null
          scope?: string | null
        }>
        brands: Array<{
          id: string  // uuid
          name: string | null
          workspace_id: string  // uuid
          state: "active" | "closing" | "closed"
          works_open: integer  // -9007199254740991–9007199254740991
          tasks_open: integer  // -9007199254740991–9007199254740991
          tasks_assigned: integer  // -9007199254740991–9007199254740991
          files: integer  // -9007199254740991–9007199254740991
          connections: integer  // -9007199254740991–9007199254740991
          connections_authorized: integer  // -9007199254740991–9007199254740991
          conversations: integer  // -9007199254740991–9007199254740991
          invoices: integer  // -9007199254740991–9007199254740991
          orders: integer  // -9007199254740991–9007199254740991
          people: Array<{
            id: string  // uuid
            name: string | null
            email: string | null
            avatar_url?: string | null
            role?: string | null
            scope?: string | null
          }>
          commitments: {
            paid_works: Array<{
              id: string  // uuid
              name: string | null
              status: string
              delivery_at: string | null
            }>
            plan_works: integer  // -9007199254740991–9007199254740991
            plans: Array<{
              id: string
              name: string | null
              store: "stripe"
              status: string
              period_end: string | null
              renewal_cancelled: boolean
            }>
            agreements: Array<{
              id: string
              name: string | null
              status: string
            }>
            unsettled_orders: integer  // -9007199254740991–9007199254740991
            unsettled_payments: integer  // -9007199254740991–9007199254740991
            unsettled_quotes: integer  // -9007199254740991–9007199254740991
            reconciliation: integer  // -9007199254740991–9007199254740991
          }
          | null
        }>
        access?: "narrowed" | "brand"
        billing?: {
          name: string | null
          tax_id: string | null
        }
        | null
      }>
      fingerprint: string
    }

    brand.close · Cerrar la marca

    Cierra la marca tal y como la revisaste: queda como archivo de solo lectura, ahora o al terminar lo pagado. El dinero no se borra y el equipo de Nömad puede reabrirla. Solo quien es propietario, con un inicio de sesión reciente.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.close
    Herramienta MCPbrand_close
    Alcancebrand.write
    Rol mínimoPropietario
    Confirmación humanaSí
    PuertasPantallas, Apps
    EstadoDisponible

    Entrada

    {
      fingerprint: string  // ≤ 64 · The `fingerprint` of the review the person saw; a changed situation answers `conflict` `review_changed`.
      confirmation?: string  // ≤ 320 · What the person typed when the review asks for it (`requires.typed`).
      closeWhen?: "now" | "when_commitments_end"
    }

    Salida

    {
      operation: "account.delete" | "workspace.close" | "workspace.transfer" | "workspace.leave" | "workspace.member.remove" | "brand.close" | "brand.leave" | "brand.member.remove" | "brand.reopen" | "workspace.reopen"
      signedOut: boolean  // The person no longer has a session (account deleted): end it on the device.
      next: "stay" | "workspace" | "brands" | "signed_out"  // Where the person lands next.
      operationId: string | null
    }

    brand.team.read · Equipo de la marca

    Todas las personas que llegan a la marca (propietarios y accesos del workspace incluidos) con su papel, y las invitaciones pendientes.

    CampoValor
    TipoLectura
    Método HTTPPOST /api/v1/brand.team.read
    Herramienta MCPbrand_team_read
    Alcancebrand.read
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasPantallas, Apps, API
    EstadoDisponible

    Entrada

    {}

    Salida

    {
      currentUserId: string
      members: Array<{
        userId: string
        role: string  // owner, admin, billing, member, viewer or brand_manager.
        since: string | null
        profile: {
          id: string
          fullName: string | null
          avatarUrl: string | null
          email: string | null
        }
        | null
      }>
      invitations: Array<{
        id: string
        email: string
        role: string  // owner, admin, billing, member, viewer or brand_manager.
        expiresAt: string | null
        createdAt: string | null
      }>
    }

    brand.member.remove · Quitar a alguien de la marca

    Quita a una persona de la marca (aunque su acceso venga del workspace): sus tareas abiertas quedan sin asignar y se le avisa. Con tu propio id, sales de la marca. Nadie quita al propietario.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.member.remove
    Herramienta MCPbrand_member_remove
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaSí
    PuertasPantallas, Apps
    EstadoDisponible

    Entrada

    {
      userId: string  // uuid
    }

    Salida

    {
      ok: true
      left: boolean  // The caller left the brand: it is not theirs to open any more.
    }

    brand.member.role.set · Cambiar el papel en la marca

    Cambia el papel de una persona en esta marca (administración, facturación, miembro, lector). Solo el propietario del workspace; el propietario de la marca se traspasa en la web.

    CampoValor
    TipoEscritura
    Método HTTPPOST /api/v1/brand.member.role.set
    Herramienta MCPbrand_member_role_set
    Alcancebrand.write
    Rol mínimoAdmin
    Confirmación humanaNo
    PuertasPantallas, Apps, API
    EstadoDisponible

    Entrada

    {
      userId: string  // uuid
      role: "admin" | "billing" | "member" | "viewer"
    }

    Salida

    {
      userId: string
      role: string
      changed: boolean
    }

    Actualizado el 1 de enero de 1970

    AnteriorEventos y webhooksSiguienteGenoma

    En esta sección

    • Errores
    • Permisos y roles
    • Eventos y webhooks
    • Genoma
    • Brand Kit
    • Biblioteca
    • Trabajos
    • Calendario
    ¿No encuentras lo que buscas? EscríbenosEscríbenosIr a la app
    © 2026 Nömad · Documentación de NömadLinkedInInstagramThreadsFacebookTikTokYouTubeX
    Ir a nomad.oooVolver arriba

    En esta página

    • brand.overview · Entrar en la marca
    • brand.soul.read · Leer el alma de la marca
    • brand.profile.update · Actualizar el perfil
    • brand.contacts.list · Contacto y redes
    • brand.contacts.save · Guardar un canal
    • brand.connections.save · Guardar un dato de contacto
    • brand.content_focus.update · Editar el foco de contenido
    • brand.content_focus.regenerate · Regenerar el foco de contenido
    • brand.recommendations.dismiss · Descartar una recomendación
    • brand.product_visits.record · Anotar la visita a un producto
    • brand.favorites.list · Tus favoritos de un tipo
    • brand.favorites.toggle · Marcar o quitar un favorito
    • brand.favorites.set · Marcar o quitar varios favoritos
    • brand.offerings.create · Crear una oferta
    • brand.offerings.update · Editar una oferta
    • brand.offerings.delete · Eliminar una oferta
    • brand.offerings.add_image · Añadir una imagen a una oferta
    • brand.heartbeat.update · Ajustar los avisos de Nödo
    • brand.name.set · Poner nombre a la marca
    • brand.setup.start_unnamed · Empezar sin nombre
    • brand.setup.logo_skip · Saltar el logo
    • brand.setup.extraction_start · Leer la web de la marca
    • brand.setup.website_read · Mirar si la web cuenta qué hace la marca
    • brand.setup.logo_accept · Dar el logo por elegido
    • brand.setup.logo_choose · Elegir el logo
    • brand.setup.colors_decide · Decidir la paleta
    • brand.setup.typography_decide · Decidir las tipografías
    • brand.setup.genome_start · Generar el Genoma
    • brand.setup.analysis_retry · Reintentar el análisis
    • brand.setup.dismiss · Cerrar el setup por ahora
    • brand.setup.description_draft · Proponer la descripción
    • brand.setup.attachment_remove · Quitar un archivo de la descripción
    • brand.wizard.feedback_submit · Enviar las respuestas del asistente
    • brand.wizard.cards_generate · Preparar las preguntas del asistente
    • brand.onboarding.abandon · Salir del proceso
    • brand.settings.read · Ajustes de la marca
    • brand.settings.update · Guardar los ajustes de la marca
    • brand.logo.set · Poner un logo de la Biblioteca
    • brand.time_zone.set · Zona horaria de la marca
    • brand.setup.create · Crear una marca
    • brand.setup.profile_read · Perfil de la marca por completar
    • brand.setup.profile_save · Guardar un paso del perfil
    • brand.setup.profile_complete · Terminar el perfil de la marca
    • brand.onboarding.read · Alta de marca a medias
    • brand.onboarding.step_save · Guardar un paso del alta antigua
    • brand.onboarding.complete · Terminar el alta antigua
    • brand.agent_policy.set · Qué pueden cambiar los agentes
    • brand.summary · Resumen de la marca
    • brand.manager.presence · Tu Brand Manager ahora
    • brand.close.review · Revisar el cierre de la marca
    • brand.close · Cerrar la marca
    • brand.team.read · Equipo de la marca
    • brand.member.remove · Quitar a alguien de la marca
    • brand.member.role.set · Cambiar el papel en la marca