Genoma
Quién es, qué piensa y cómo se ve.
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.
Quién es, qué piensa y cómo se ve.
Quién es la marca, qué piensa y cómo se ve. Pide solo las secciones que necesitas.
| Campo | Valor |
|---|---|
| Tipo | Lectura |
| Método HTTP | POST /api/v1/genome.read |
| Herramienta MCP | genome_read |
| Alcance | genome.read |
| Rol mínimo | Lector |
| Confirmación humana | No |
| Puertas | Nödo, Voz, MCP, API, Chat, Pantallas, Apps |
| Estado | Disponible |
| Widget | record |
Entrada
{
sections?: Array<"metadata" | "visualIdentity" | "executiveSummary" | "identity" | "positioning" | "audiences" | "archetypes" | "verbalSystem" | "messageArchitecture" | "marketLandscape" | "customerJourney" | "creativeTerritories" | "commercial" | "guardrails" | "localization" | "brandMemory" | "diagnosticPlan"> // ≤ 8 items
format?: "concise" | "detailed" // default "concise" · `concise` returns names and states only; `detailed` adds ids and full fields.
}Salida
{
revision: integer // -9007199254740991–9007199254740991
generatedAt: string
sections: Record<string, unknown>
provenance: {
confidence: "high" | "medium" | "low" | "unknown"
researchAsOf: string
}
}Deja una propuesta para un campo del Genoma (key es la ruta del campo dentro de la sección, por ejemplo purpose en identity). No cambia nada hasta que una persona la acepta en Genoma › Memoria; entonces se escribe en el Genoma.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/genome.propose |
| Herramienta MCP | genome_propose |
| Alcance | genome.write |
| Rol mínimo | Miembro |
| Confirmación humana | No |
| Puertas | Nödo, MCP, API, Chat, Pantallas, Apps |
| Estado | Disponible |
Entrada
{
section: "metadata" | "visualIdentity" | "executiveSummary" | "identity" | "positioning" | "audiences" | "archetypes" | "verbalSystem" | "messageArchitecture" | "marketLandscape" | "customerJourney" | "creativeTerritories" | "commercial" | "guardrails" | "localization" | "brandMemory" | "diagnosticPlan"
key: string
value: string // ≤ 2000
reason: string // ≤ 500
citation: {
conversationId?: string // uuid
messageSequence?: integer // -9007199254740991–9007199254740991
url?: string // uri
}
}Salida
{
ok: true
id?: string
revision?: integer // -9007199254740991–9007199254740991
}Revisa un texto contra las reglas de la marca en el Genoma (palabras prohibidas, «no digas», claims prohibidos, tratamiento, emojis) y las normas de publicidad de su sector (alimentación, salud, finanzas, juego, alegaciones ambientales). Responde además la parte por reglas de la lista de la marca (preguntas de sí o no compiladas del brief) con una puntuación de preguntas cumplidas sobre evaluadas. Sin modelo: misma respuesta siempre. Señala, no decide.
| Campo | Valor |
|---|---|
| Tipo | Lectura |
| Método HTTP | POST /api/v1/genome.check_copy |
| Herramienta MCP | genome_check_copy |
| Alcance | genome.read |
| Rol mínimo | Lector |
| Confirmación humana | No |
| Puertas | Nödo, Voz, MCP, API, Chat, Pantallas, Apps |
| Estado | Disponible |
| Widget | review |
Entrada
{
text: string // ≤ 8000
}Salida
{
ok: boolean // False when any finding is blocking.
findings: Array<{
ruleId: string
source: string // `brand` for the Genome rules, otherwise the sector pack.
severity: "block" | "warn"
match: string
index: integer // -9007199254740991–9007199254740991
message: {
es: string
en: string
}
suggestion?: string
reference: string // Genome path or norm the rule comes from.
}>
packs: Array<{
id: string
law: string
}>
checklist: Array<{
id: string // Stable id of the question within this Genome, e.g. `address`, `forbidden_words`, `pack.food`.
question: {
es: string
en: string
} // Yes/no question compiled from the brand brief.
decidedBy: "rule" // Answered without a model by the checker.
path: string // Genome path or norm the question comes from.
passed: boolean
severity?: "block" | "warn" // Strongest finding behind a failure.
reasons: Array<{
match: string
message: {
es: string
en: string
}
suggestion?: string
}>
}> // The rule-decidable part of the brand checklist, answered for this text. Questions that need a model (voice, tone, proof) are not answered here.
score: {
passed: integer // 0–9007199254740991
evaluated: integer // 0–9007199254740991
value: number // 0–1 · passed / evaluated; 1 when nothing could be evaluated.
} // Checklist questions passed over questions evaluated, for this text only.
}La parte de la lista de la marca que una regla no puede responder (si suena a la marca, el tono, las reglas de escritura, lo que la marca evita, las pruebas y lo inventado), respondida por un modelo que lee el brief: sí o no por pregunta, con las palabras del texto que lo deciden y por qué. Una llamada de modelo con cargo al presupuesto de IA de la marca; para las reglas, genome.check_copy.
| Campo | Valor |
|---|---|
| Tipo | Lectura |
| Método HTTP | POST /api/v1/genome.judge_copy |
| Herramienta MCP | genome_judge_copy |
| Alcance | genome.read |
| Rol mínimo | Lector |
| Confirmación humana | No |
| Puertas | Nödo, Voz, MCP, API, Chat, Pantallas, Apps |
| Estado | Disponible |
Entrada
{
text: string // ≤ 8000
}Salida
{
judged: Array<{
id: string // Stable id of the question within this Genome, e.g. `voice_signature`, `writing_rule.0`, `no_invention`.
question: {
es: string
en: string
}
decidedBy: "judge"
path: string // Genome path the question comes from.
passed: boolean
quote: string // Words of the text the answer rests on; empty when it is about something missing.
reason: string // Why yes or no, in the brand's language.
}> // Judge questions answered, in checklist order. A question the model left unanswered is not listed.
asked: integer // 0–9007199254740991 · Judge questions put to the model.
score: {
passed: integer // 0–9007199254740991
evaluated: integer // 0–9007199254740991
value: number // 0–1
}
}La marca como archivo para otras herramientas: BRAND.md (cómo escribir como la marca, para cualquier agente de IA), DESIGN.md (cómo se ve, con pares de color accesibles), brand.json o tokens de diseño W3C (DTCG).
| Campo | Valor |
|---|---|
| Tipo | Lectura |
| Método HTTP | POST /api/v1/genome.export |
| Herramienta MCP | genome_export |
| Alcance | genome.read |
| Rol mínimo | Lector |
| Confirmación humana | No |
| Puertas | Nödo, Voz, MCP, API, Chat, Pantallas, Apps |
| Estado | Disponible |
| Widget | file |
Entrada
{
format: "brand_md" | "design_md" | "brand_json" | "tokens"
}Salida
{
filename: string
mimeType: string
content: string
}Lo que un estratega objetaría antes de fiarse del Genoma, sin modelo: contradicciones (sus propios ejemplos o claims rompen sus reglas o las de su sector), datos de relleno o vacíos, registro publicitario donde debería haber análisis, las mismas palabras repetidas por todo el documento, partes que faltan, sector sin clasificar, datos que nadie ha confirmado, cambios en la web de la marca e investigación antigua. Sirve para decidir qué preguntar o proponer.
| Campo | Valor |
|---|---|
| Tipo | Lectura |
| Método HTTP | POST /api/v1/genome.audit |
| Herramienta MCP | genome_audit |
| Alcance | genome.read |
| Rol mínimo | Lector |
| Confirmación humana | No |
| Puertas | Nödo, Voz, MCP, API, Chat, Pantallas, Apps |
| Estado | Disponible |
| Widget | review |
Entrada
{}Salida
{
score: integer // 0–100
issues: Array<{
kind: "contradiction" | "placeholder" | "filler" | "ornament" | "fixation" | "repetition" | "missing_part" | "unclassified" | "unconfirmed" | "undecided_tone" | "website_changed" | "refresh_due"
severity: "high" | "medium" | "low"
path: string
detail: string
}>
}La última revisión de lo que responde un asistente de IA con búsqueda web cuando un cliente pregunta por la marca, comparada con el Genoma: qué dice bien, qué dice mal y qué no sabe. Las marcas de pago la reciben cada mes; las gratuitas, una vez de bienvenida.
| Campo | Valor |
|---|---|
| Tipo | Lectura |
| Método HTTP | POST /api/v1/genome.ai_visibility |
| Herramienta MCP | genome_ai_visibility |
| Alcance | genome.read |
| Rol mínimo | Lector |
| Confirmación humana | No |
| Puertas | Nödo, Voz, MCP, API, Chat, Pantallas, Apps |
| Estado | Disponible |
| Widget | review |
Entrada
{}Salida
{
audit: {
assistant: string
createdAt: string
question: string
recognized: boolean
accuracy: integer | null
summary: string
correct: string[]
wrong: Array<{
claim: string
genomeSays: string
}>
missing: string[]
sourceDomains: string[]
}
| null
monthlyAllowance: integer // -9007199254740991–9007199254740991 · Reviews per month on the current plan; 0 means only the welcome review.
}Los competidores de la marca como Genomas ligeros: qué venden, cómo se posicionan, cómo hablan, sus precios, sus movimientos recientes y en qué se diferencian de la marca. Las marcas de pago los tienen al día cada mes; las gratuitas, un vistazo de bienvenida a dos.
| Campo | Valor |
|---|---|
| Tipo | Lectura |
| Método HTTP | POST /api/v1/genome.competitors |
| Herramienta MCP | genome_competitors |
| Alcance | genome.read |
| Rol mínimo | Lector |
| Confirmación humana | No |
| Puertas | Nödo, Voz, MCP, API, Chat, Pantallas, Apps |
| Estado | Disponible |
| Widget | list |
Entrada
{}Salida
{
competitors: Array<{
name: string
website: string | null
origin: "genome" | "discovered"
researchedAt: string
whatItSells: string
positioning: string
voice: string[]
priceSignal: string
strengths: string[]
weaknesses: string[]
recentMoves: string[]
differenceVsBrand: string
}>
tracked: integer // -9007199254740991–9007199254740991 · Competitors the plan keeps current; 0 means only the welcome look.
}Lee un manual de marca en PDF de la Biblioteca y deja en Genoma › Memoria una propuesta por cada campo que el manual define (voz, reglas, tratamiento, posicionamiento, límites…), citando la página y la frase exacta. No cambia nada hasta que una persona acepta cada propuesta.
Consume presupuesto de IA de la marca.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/genome.import_manual |
| Herramienta MCP | genome_import_manual |
| Alcance | genome.write |
| Rol mínimo | Admin |
| Confirmación humana | No |
| Puertas | Nödo, MCP, API, Chat, Pantallas, Apps |
| Estado | Disponible |
| Widget | progress |
Entrada
{
fileId: string // uuid
}Salida
{
ok: true
id?: string
revision?: integer // -9007199254740991–9007199254740991
}Pone en cola la investigación que escribe el informe de marca. Corre en segundo plano; repetirla en cinco minutos no la duplica.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/genome.report.generate |
| Herramienta MCP | genome_report_generate |
| Alcance | genome.write |
| Rol mínimo | Admin |
| Confirmación humana | No |
| Puertas | API, MCP, Pantallas, Apps, Nödo |
| Estado | Disponible |
Entrada
{}Salida
{
ok: true
id?: string
revision?: integer // -9007199254740991–9007199254740991
}Cambia el nombre visible de la marca en el Genoma y en la ficha de la marca, con su rastro en la actividad.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/genome.name.update |
| Herramienta MCP | genome_name_update |
| Alcance | genome.write |
| Rol mínimo | Admin |
| Confirmación humana | Sí |
| Puertas | API, MCP, Pantallas, Apps, Nödo |
| Estado | Disponible |
Entrada
{
name: string // ≤ 200
}Salida
{
ok: true
id?: string
revision?: integer // -9007199254740991–9007199254740991
}Cambia el valor de un campo del Genoma por su ruta (por ejemplo strategy.identity.essence) y guarda una revisión nueva.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/genome.field.update |
| Herramienta MCP | genome_field_update |
| Alcance | genome.write |
| Rol mínimo | Admin |
| Confirmación humana | Sí |
| Puertas | API, MCP, Pantallas, Apps, Nödo |
| Estado | Disponible |
Entrada
{
path: string // ≤ 200
value: unknown
}Salida
{
ok: true
id?: string
revision?: integer // -9007199254740991–9007199254740991
}La persona da por buenos unos campos del Genoma tal como están (lo que propuso la investigación), sin cambiar su valor.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/genome.fields.confirm |
| Herramienta MCP | genome_fields_confirm |
| Alcance | genome.write |
| Rol mínimo | Admin |
| Confirmación humana | No |
| Puertas | API, MCP, Pantallas, Apps, Nödo |
| Estado | Disponible |
Entrada
{
paths: string[] // ≤ 40 items
}Salida
{
ok: true
id?: string
revision?: integer // -9007199254740991–9007199254740991
}Las versiones que ha tenido el Genoma de la marca (cada edición, confirmación, regeneración y restauración), con quién y qué secciones cambiaron. La primera es la foto anterior al Genoma v3.
| Campo | Valor |
|---|---|
| Tipo | Lectura |
| Método HTTP | POST /api/v1/genome.versions.list |
| Herramienta MCP | genome_versions_list |
| Alcance | genome.read |
| Rol mínimo | Lector |
| Confirmación humana | No |
| Puertas | API, MCP, Pantallas, Apps, Nödo |
| Estado | Disponible |
Entrada
{
limit?: integer // 1–60
}Salida
{
versions: Array<{
id: string // uuid
revision: integer // -9007199254740991–9007199254740991
reason: "baseline" | "edit" | "generation" | "restore" | "sync"
label: string | null
createdAt: string
author: string | null // Display name of who made the change; null for research and automation.
restoredFrom: string | null
changedSections: string[] // Strategy sections that changed against the version before it.
current: boolean
}>
}Los campos del Genoma que cambiaron en una versión frente a la anterior de la misma marca, con el valor de antes y el de después en texto corto.
| Campo | Valor |
|---|---|
| Tipo | Lectura |
| Método HTTP | POST /api/v1/genome.version.diff |
| Herramienta MCP | genome_version_diff |
| Alcance | genome.read |
| Rol mínimo | Lector |
| Confirmación humana | No |
| Puertas | API, MCP, Pantallas, Apps, Nödo |
| Estado | Disponible |
Entrada
{
versionId: string // uuid
}Salida
{
versionId: string // uuid
previousId: string | null
changes: Array<{
path: string // Leaf path in the Genome document, e.g. `strategy.verbalSystem.toneSliders.formality`.
section: string | null // Section of the Genome page that shows it (`voice`, `positioning`, `overview`…); null when the page does not draw it.
field: string // The field that names the change: the key under the chapter or under `metadata`.
detail: string // What lies below that field on the path; empty for the field itself.
before: string // The value before, as short text (lists joined, records by their main text); empty when there was none.
after: string // The value after, as short text; empty when it was removed.
change: "added" | "removed" | "changed"
}>
truncated: boolean // True when more fields changed than the 200 returned.
}Vuelve a poner la estrategia y los datos confirmados de una versión anterior como versión nueva. No se pierde nada: la versión actual queda en el historial. El perfil, el Kit y las secciones heredadas se quedan como están.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/genome.version.restore |
| Herramienta MCP | genome_version_restore |
| Alcance | genome.write |
| Rol mínimo | Admin |
| Confirmación humana | Sí |
| Puertas | API, MCP, Pantallas, Apps, Nödo |
| Estado | Disponible |
Entrada
{
versionId: string // uuid
}Salida
{
ok: true
id?: string
revision?: integer // -9007199254740991–9007199254740991
}Rellena con IA lo que le falta a una sección del Genoma (las decisiones de posicionamiento, la voz ejecutable, la oferta concreta o la localización) y devuelve qué completó y con qué fuentes.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/genome.section.complete |
| Herramienta MCP | genome_section_complete |
| Alcance | genome.write |
| Rol mínimo | Admin |
| Confirmación humana | Sí |
| Puertas | API, MCP, Pantallas, Apps, Nödo |
| Estado | Disponible |
Entrada
{
section: "positioning" | "verbalSystem" | "commercial" | "localization"
}Salida
{
completed: string[]
sources: Record<string, unknown>[]
}Activa o desactiva el perfil público (schema.org) de la marca y devuelve lo que se publica o se publicaría.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/genome.public_profile.set |
| Herramienta MCP | genome_public_profile_set |
| Alcance | genome.write |
| Rol mínimo | Admin |
| Confirmación humana | Sí |
| Puertas | API, MCP, Pantallas, Apps, Nödo |
| Estado | Disponible |
Entrada
{
enabled: boolean
}Salida
{
profile: Record<string, unknown> | null
}La persona revisó el cambio detectado en la web de la marca frente al Genoma; deja de avisarse.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/genome.website_change.review |
| Herramienta MCP | genome_website_change_review |
| Alcance | genome.write |
| Rol mínimo | Admin |
| Confirmación humana | No |
| Puertas | API, MCP, Pantallas, Apps, Nödo |
| Estado | Disponible |
Entrada
{}Salida
{
ok: true
id?: string
revision?: integer // -9007199254740991–9007199254740991
}La marca hereda unas secciones del Genoma de otra marca de su organización. Hace falta poder editar las dos marcas.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/genome.inheritance.link |
| Herramienta MCP | genome_inheritance_link |
| Alcance | genome.write |
| Rol mínimo | Admin |
| Confirmación humana | Sí |
| Puertas | API, MCP, Pantallas, Apps, Nödo |
| Estado | Disponible |
Entrada
{
parentBrandId: string // uuid
sections: string[] // ≤ 40 items
}Salida
{
status: string
}La marca deja de heredar el Genoma: conserva su Genoma tal como está y puede volver a editarlo.
| Campo | Valor |
|---|---|
| Tipo | Escritura |
| Método HTTP | POST /api/v1/genome.inheritance.unlink |
| Herramienta MCP | genome_inheritance_unlink |
| Alcance | genome.write |
| Rol mínimo | Admin |
| Confirmación humana | Sí |
| Puertas | API, MCP, Pantallas, Apps, Nödo |
| Estado | Disponible |
Entrada
{}Salida
{
unlinked: boolean
}Estado del Genoma y unas líneas: sector, esencia, posicionamiento, personalidad, datos de la organización y los datos esenciales que nadie ha confirmado todavía.
| Campo | Valor |
|---|---|
| Tipo | Lectura |
| Método HTTP | POST /api/v1/genome.summary |
| Herramienta MCP | genome_summary |
| Alcance | genome.read |
| Rol mínimo | Lector |
| Confirmación humana | No |
| Puertas | API, MCP, Pantallas, Apps, Nödo |
| Estado | Disponible |
Entrada
{}Salida
{
status: string
toConfirm?: Array<{
path: string
review: boolean
}>
}Actualizado el 1 de enero de 1970