{
  "openapi": "3.1.0",
  "info": {
    "title": "the common instruments for agents, with mandate and limits",
    "version": "682855b7",
    "description": "Emporium: the common instruments for agents, with mandate and limits · los instrumentos comunes para agentes, con mandato y límites"
  },
  "servers": [
    {
      "url": "https://emporium.ultravioletadao.xyz"
    }
  ],
  "paths": {
    "/": {
      "get": {
        "operationId": "get_front_page",
        "summary": "The front page in English: HTML for people, with the motto, For developers (/developers), For agents (/llms.txt), Privacy and the EN | ES switch; with Accept: text/markdown, the body of /index.md · La portada en inglés: HTML para personas, con el lema, For developers (/developers), For agents (/llms.txt), Privacy y el selector EN | ES; con Accept: text/markdown, el cuerpo de /index.md",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              },
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/agent-card.json": {
      "get": {
        "operationId": "get_agent_card",
        "summary": "The A2A card: it speaks MCP, not A2A · La tarjeta A2A: habla MCP, no A2A",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TarjetaA2a"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/agent-skills/emporium-business-diagnosis/SKILL.md": {
      "get": {
        "operationId": "get_business_diagnosis_skill",
        "summary": "The business diagnosis skill: measure a business, match it against the offer, the shortest path and the demand · La skill de diagnostico de un negocio: medirlo, matchearlo contra la oferta, el camino mas corto y la demanda",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/agent-skills/index.json": {
      "get": {
        "operationId": "get_agent_skills_index",
        "summary": "The skills index: /skill.md with its sha256 · El indice de skills: /skill.md con su sha256",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IndiceDeSkills"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/agent.json": {
      "get": {
        "operationId": "get_agent_json",
        "summary": "The A2A card at its old location · La tarjeta A2A en su lugar viejo",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TarjetaA2a"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/api-catalog": {
      "get": {
        "operationId": "get_api_catalog",
        "summary": "The API catalog, RFC 9727 · El catalogo de APIs, RFC 9727",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/linkset+json": {
                "schema": {
                  "$ref": "#/components/schemas/Linkset"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/mcp/server-card.json": {
      "get": {
        "operationId": "get_mcp_server_card",
        "summary": "The MCP server card · La tarjeta del servidor MCP",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TarjetaMcp"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses": {
      "get": {
        "operationId": "list_businesses",
        "summary": "Lists the businesses · Lista los negocios",
        "parameters": [
          {
            "name": "desde",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limite",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListaDePublicados"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "create_business",
        "summary": "Creates a business draft · Crea el borrador de un negocio",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CuerpoAlta"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created · Creado",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AltaCreada"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}": {
      "get": {
        "operationId": "get_business",
        "summary": "One business · Un negocio",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VistaDelTenant"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/artifacts": {
      "get": {
        "operationId": "get_business_artifacts",
        "summary": "The artifacts a business installs on its own domain, with its key · Los artefactos que un negocio instala en su dominio, con su clave",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Emporium-Clave",
            "in": "header",
            "description": "The business's draft key: shown once, in the response to POST /api/businesses · La clave de borrador del negocio: se muestra una vez, en la respuesta de POST /api/businesses",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArtefactosDelNegocio"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/channel/resend-confirmation": {
      "post": {
        "operationId": "resend_channel_confirmation",
        "summary": "Resends the channel confirmation · Reenvia la confirmacion del canal",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Emporium-Clave",
            "in": "header",
            "description": "The business's draft key: shown once, in the response to POST /api/businesses · La clave de borrador del negocio: se muestra una vez, en la respuesta de POST /api/businesses",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EstadoDelCanal"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/diagnosis": {
      "get": {
        "operationId": "get_business_diagnosis",
        "summary": "The business's diagnosis and plan, with its key; never public · El diagnóstico y el plan del negocio, con su clave; nunca público",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Emporium-Clave",
            "in": "header",
            "description": "The business's draft key: shown once, in the response to POST /api/businesses · La clave de borrador del negocio: se muestra una vez, en la respuesta de POST /api/businesses",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReporteDelDiagnostico"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      },
      "put": {
        "operationId": "deliver_business_diagnosis",
        "summary": "Swarm only, signed: delivers the measured draft against a pending request · Solo para el enjambre, con firma: entrega el borrador medido contra un pedido pendiente",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Emporium-Enjambre-Firma",
            "in": "header",
            "description": "Swarm only: v1,<exp>,<signature>, an HMAC-SHA256 over the method, the path, exp and the sha256 of the body · Solo para el enjambre: v1,<exp>,<firma>, un HMAC-SHA256 del método, la ruta, exp y el sha256 del cuerpo",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/BorradorV2"
                  },
                  {
                    "$ref": "#/components/schemas/BorradorV1"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiagnosticoEntregado"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/diagnosis/request": {
      "post": {
        "operationId": "request_business_diagnosis",
        "summary": "Requests the business's diagnosis from the swarm, with its key · Le pide al enjambre el diagnóstico del negocio, con su clave",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Emporium-Clave",
            "in": "header",
            "description": "The business's draft key: shown once, in the response to POST /api/businesses · La clave de borrador del negocio: se muestra una vez, en la respuesta de POST /api/businesses",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CuerpoDelPedido"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RespuestaDelPedido"
                }
              }
            }
          },
          "201": {
            "description": "Created · Creado",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RespuestaDelPedido"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/kit": {
      "get": {
        "operationId": "get_business_kit",
        "summary": "The business's kit to give to its agent: an AGENTS.md with the steps to sell and the check for each one, with its key · El kit del negocio para dárselo a su agente: un AGENTS.md con los pasos para vender y la verificación de cada uno, con su clave",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Emporium-Clave",
            "in": "header",
            "description": "The business's draft key: shown once, in the response to POST /api/businesses · La clave de borrador del negocio: se muestra una vez, en la respuesta de POST /api/businesses",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/log": {
      "get": {
        "operationId": "get_business_log",
        "summary": "A business log, read only · La bitacora de un negocio, solo lectura",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "desde",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limite",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BitacoraPublica"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/manifest": {
      "put": {
        "operationId": "put_business_manifest",
        "summary": "Changes a business manifest · Cambia el manifiesto de un negocio",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Emporium-Clave",
            "in": "header",
            "description": "The business's draft key: shown once, in the response to POST /api/businesses · La clave de borrador del negocio: se muestra una vez, en la respuesta de POST /api/businesses",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ManifiestoV1"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VistaDelTenant"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/plan": {
      "post": {
        "operationId": "create_business_plan",
        "summary": "A business's integration plan, with its key · El plan de integración de un negocio, con su clave",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Emporium-Clave",
            "in": "header",
            "description": "The business's draft key: shown once, in the response to POST /api/businesses · La clave de borrador del negocio: se muestra una vez, en la respuesta de POST /api/businesses",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "anyOf": [
                  {
                    "$ref": "#/components/schemas/BorradorV2"
                  },
                  {
                    "$ref": "#/components/schemas/BorradorV1"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Plan"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/preview": {
      "get": {
        "operationId": "preview_business",
        "summary": "How a business's public side will look, before publishing · Cómo va a quedar lo público de un negocio, antes de publicarlo",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Emporium-Clave",
            "in": "header",
            "description": "The business's draft key: shown once, in the response to POST /api/businesses · La clave de borrador del negocio: se muestra una vez, en la respuesta de POST /api/businesses",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VistaPrevia"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/publish": {
      "post": {
        "operationId": "publish_business",
        "summary": "Publishes a business · Publica un negocio",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Emporium-Clave",
            "in": "header",
            "description": "The business's draft key: shown once, in the response to POST /api/businesses · La clave de borrador del negocio: se muestra una vez, en la respuesta de POST /api/businesses",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VistaDelTenant"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/quotes": {
      "get": {
        "operationId": "list_quotes",
        "summary": "Lists a business's quotes, redacted · Lista las cotizaciones de un negocio, redactadas",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "desde",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "estado",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limite",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListaRedactada"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "request_quote",
        "summary": "Requests a quote from a business, no credential; with `datos`, the data the offer's contract asks for, and 422 `faltan_datos` if one needed to quote is missing · Pide una cotizacion a un negocio, sin credencial; con `datos`, los que pide el contrato de la oferta, y 422 `faltan_datos` si falta uno para cotizar",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PedidoDeCotizacion"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created · Creado",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CotizacionCreada"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        },
        "x-emporium-mcp-tool": [
          {
            "tool": "emporium_request_quote",
            "path": "/mcp"
          }
        ]
      }
    },
    "/api/businesses/{slug}/quotes/{quote_id}": {
      "get": {
        "operationId": "get_quote",
        "summary": "One quote, for the agent who asked for it, with the payment block · Una cotizacion, para el agente que la pidio, con el bloque pago",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "quote_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clave",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CotizacionDelPedidor"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        },
        "x-emporium-mcp-tool": [
          {
            "tool": "emporium_read_quote",
            "path": "/mcp"
          }
        ]
      }
    },
    "/api/businesses/{slug}/quotes/{quote_id}/accept": {
      "post": {
        "operationId": "accept_quote",
        "summary": "The requester accepts what the business stated · El pedidor acepta lo que afirmo el negocio",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "quote_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "clave",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CotizacionDelPedidor"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/quotes/{quote_id}/confirm": {
      "post": {
        "operationId": "confirm_quote",
        "summary": "The business confirms what was paid · El negocio confirma lo pagado",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "quote_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Emporium-Clave",
            "in": "header",
            "description": "The business's draft key: shown once, in the response to POST /api/businesses · La clave de borrador del negocio: se muestra una vez, en la respuesta de POST /api/businesses",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CotizacionRedactada"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/quotes/{quote_id}/mark-paid": {
      "post": {
        "operationId": "state_quote_paid",
        "summary": "The business states it was paid; Emporium does not verify it · El negocio afirma que le pagaron; Emporium no lo verifica",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "quote_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Emporium-Clave",
            "in": "header",
            "description": "The business's draft key: shown once, in the response to POST /api/businesses · La clave de borrador del negocio: se muestra una vez, en la respuesta de POST /api/businesses",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CotizacionRedactada"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/terms": {
      "post": {
        "operationId": "accept_terms",
        "summary": "Accepts the terms · Acepta los terminos",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Emporium-Clave",
            "in": "header",
            "description": "The business's draft key: shown once, in the response to POST /api/businesses · La clave de borrador del negocio: se muestra una vez, en la respuesta de POST /api/businesses",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CuerpoTerminos"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VistaDelTenant"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/unpublish": {
      "post": {
        "operationId": "unpublish_business",
        "summary": "Unpublishes a business · Despublica un negocio",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Emporium-Clave-Casa",
            "in": "header",
            "description": "The operator's key; if it comes, it is the one that counts · La clave del operador; si viene, es la que cuenta",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Emporium-Clave",
            "in": "header",
            "description": "The business's draft key: shown once, in the response to POST /api/businesses · La clave de borrador del negocio: se muestra una vez, en la respuesta de POST /api/businesses",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": false,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CuerpoDespublicar"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VistaDelTenant"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/use-cases": {
      "get": {
        "operationId": "get_business_use_cases",
        "summary": "A published business's use cases and the gaps it closes, by category · Los casos de uso de un negocio publicado y los huecos que cierra, por categoría",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CasosPublicados"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/verification/checks": {
      "post": {
        "operationId": "read_domain_proof",
        "summary": "Reads the domain proof · Lee la prueba del dominio",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Emporium-Clave",
            "in": "header",
            "description": "The business's draft key: shown once, in the response to POST /api/businesses · La clave de borrador del negocio: se muestra una vez, en la respuesta de POST /api/businesses",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CuerpoLectura"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LecturaHecha"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/businesses/{slug}/verification/token": {
      "post": {
        "operationId": "renew_verification_token",
        "summary": "Requests a new verification token · Pide un token de verificacion nuevo",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "X-Emporium-Clave",
            "in": "header",
            "description": "The business's draft key: shown once, in the response to POST /api/businesses · La clave de borrador del negocio: se muestra una vez, en la respuesta de POST /api/businesses",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TokenEmitido"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/channel/confirm/{token}": {
      "get": {
        "operationId": "confirm_channel",
        "summary": "Confirms the channel with a single-use link · Confirma el canal con un enlace de un solo uso",
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EstadoDelCanal"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/configuration": {
      "get": {
        "operationId": "get_configuration",
        "summary": "What this deployment has configured: booleans and enums only · Que tiene configurado este despliegue: solo booleanos y enums",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Configuracion"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/directory": {
      "get": {
        "operationId": "search_directory",
        "summary": "Searches the guide for a service; what you search for is stored privately to improve the engine (what is stored and for how long: /privacy?idioma=en) · Busca un servicio en la guia; lo que buscas se guarda en privado para mejorar el motor (que se guarda y por cuanto tiempo: /privacy)",
        "parameters": [
          {
            "name": "categoria",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ciudad",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/IdiomaDeLaConsulta"
            }
          },
          {
            "name": "limite",
            "in": "query",
            "required": false,
            "schema": {
              "format": "uint8",
              "maximum": 20,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": true,
            "schema": {
              "maxLength": 200,
              "minLength": 2,
              "type": "string"
            }
          },
          {
            "name": "red",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "verbose",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RespuestaDeLaBusqueda"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        },
        "x-emporium-blocks": [
          "intenciones"
        ],
        "x-emporium-mcp-tool": [
          {
            "tool": "emporium_search_service",
            "path": "/mcp"
          },
          {
            "tool": "emporium_search_service",
            "path": "/counter/mcp"
          }
        ],
        "x-emporium-cli": [
          "uvd",
          "search"
        ]
      }
    },
    "/api/directory/categories": {
      "get": {
        "operationId": "list_directory_by_category",
        "summary": "The yellow pages, by category: every registered business and every admitted pay-per-use API, with how to call it; registered businesses first · Las paginas amarillas, por categoria: cada negocio dado de alta y cada API de pago por uso admitida, con como llamarla; primero los negocios dados de alta",
        "parameters": [
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PaginasAmarillas"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/flow": {
      "get": {
        "operationId": "get_flow",
        "summary": "The aggregated flow record · El registro de flujo agregado",
        "parameters": [
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ventana",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/Ventana"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Rio"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/flow/chart.svg": {
      "get": {
        "operationId": "get_flow_chart",
        "summary": "The river chart, as SVG · El grafico del rio, en SVG",
        "parameters": [
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ventana",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/Ventana"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "image/svg+xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/offer": {
      "get": {
        "operationId": "get_offer",
        "summary": "The offer by purpose, generated from the catalog: each capability with its business patterns, its state and its tools · La oferta por proposito, generada del catalogo: cada capacidad con sus patrones de negocio, su estado y sus tools",
        "parameters": [
          {
            "name": "hallados",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OfertaServida"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/swarm/requests": {
      "get": {
        "operationId": "list_pending_diagnoses",
        "summary": "Swarm only, signed: the pending diagnosis requests (slug, domain and date) · Solo para el enjambre, con firma: los pedidos de diagnóstico pendientes (slug, dominio y fecha)",
        "parameters": [
          {
            "name": "X-Emporium-Enjambre-Firma",
            "in": "header",
            "description": "Swarm only: v1,<exp>,<signature>, an HMAC-SHA256 over the method, the path, exp and the sha256 of the body · Solo para el enjambre: v1,<exp>,<firma>, un HMAC-SHA256 del método, la ruta, exp y el sha256 del cuerpo",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ColaDelEnjambre"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/api/wallet/onboarding": {
      "get": {
        "operationId": "get_wallet_onboarding",
        "summary": "How to get your agent a wallet with PayBox, the default non-custodial wallet: the four steps, and PayBox's MCP, CLI and TypeScript SDK with what to copy, in English or in Spanish. The same guide as emporium_wallet_onboarding · Como darle a tu agente una billetera con PayBox, la no custodial por omision: los cuatro pasos, y el MCP, la CLI y el SDK de TypeScript de PayBox con lo que se copia; ?idioma=es|en. La misma guia que emporium_wallet_onboarding",
        "parameters": [
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/IdiomaDeLaConsulta"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WalletOnboarding"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        },
        "x-emporium-mcp-tool": [
          {
            "tool": "emporium_wallet_onboarding",
            "path": "/mcp"
          },
          {
            "tool": "emporium_wallet_onboarding",
            "path": "/counter/mcp"
          }
        ],
        "x-emporium-cli": [
          "uvd",
          "call",
          "emporium_wallet_onboarding"
        ]
      }
    },
    "/auth.md": {
      "get": {
        "operationId": "get_auth_md",
        "summary": "Who Emporium authenticates: people who sign in with PayBox, on the website and to use the MCP (OAuth 2.1) · A quién autentica Emporium: a quien entra con PayBox, en la web y para usar el MCP (OAuth 2.1)",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/counter/mcp": {
      "post": {
        "operationId": "call_counter_mcp",
        "summary": "The counter: the read-only tools of the house's surfaces, forwarded, and the house combos · El mostrador: las tools de lectura de las superficies de la casa, reenviadas, y los combos de la casa",
        "parameters": [
          {
            "name": "combos",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "no"
              ],
              "type": "string"
            }
          },
          {
            "name": "modo",
            "in": "query",
            "required": false,
            "schema": {
              "enum": [
                "plugin"
              ],
              "type": "string"
            }
          },
          {
            "name": "superficies",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "MCP-Protocol-Version",
            "in": "header",
            "description": "The MCP protocol version, after initialize · La versión del protocolo MCP, después de initialize",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PeticionJsonRpc"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RespuestaJsonRpc"
                }
              },
              "text/event-stream": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "202": {
            "description": "Accepted, with no body · Aceptado, sin cuerpo"
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SobreDeError"
                    },
                    {
                      "$ref": "#/components/schemas/RespuestaJsonRpc"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/developers": {
      "get": {
        "operationId": "get_developers_page",
        "summary": "The page for developers in English, generated from the catalog and the contract: the blocks with the state of their API, MCP, SDK and CLI, the same call four ways, the kits, the rules and everything in the contract · La página para desarrolladores en inglés, generada del catálogo y del contrato: los bloques con el estado de su API, MCP, SDK y CLI, la misma llamada de cuatro maneras, los kits, las reglas y todo lo del contrato",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/directory": {
      "get": {
        "operationId": "get_directory_page",
        "summary": "The catalog for builders: what each entry does, its protocol, its seller's asking price and its entry point · El catalogo para quien construye: que hace cada entrada, su protocolo, el precio que pide quien la vende y su punto de entrada",
        "parameters": [
          {
            "name": "categoria",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/directory/categories": {
      "get": {
        "operationId": "get_directory_categories_page",
        "summary": "The catalog by category, for whoever looks for a service: the same entries as the search, grouped · El catalogo por categoria, para quien busca un servicio: las mismas entradas que la busqueda, agrupadas",
        "parameters": [
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/directory/categories/en": {
      "get": {
        "operationId": "get_directory_categories_page_en",
        "summary": "The catalog by category, in English · El catalogo por categoria, en ingles",
        "parameters": [
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/directory/en": {
      "get": {
        "operationId": "get_directory_page_en",
        "summary": "The catalog, in English · El catalogo, en ingles",
        "parameters": [
          {
            "name": "categoria",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/docs": {
      "get": {
        "operationId": "get_api_reference",
        "summary": "The API reference for people in English, generated from the contract: every operation with its method, its path, what it does and its state in API, MCP, SDK and CLI · La referencia de la API para personas en inglés, generada del contrato: cada operación con su método, su ruta, qué hace y su estado en API, MCP, SDK y CLI",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/docs/{operation_id}": {
      "get": {
        "operationId": "get_operation_reference",
        "summary": "The reference page of one operation in English, by its operationId: where to reach it, its parameters, its body, its responses and the schemas it names · La página de referencia de una operación en inglés, por su operationId: por dónde se llega, sus parámetros, su cuerpo, sus respuestas y los esquemas que nombra",
        "parameters": [
          {
            "name": "operation_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/es": {
      "get": {
        "operationId": "get_front_page_es",
        "summary": "The front page in Spanish: the same as /, in Spanish; with Accept: text/markdown, the body of /index.md · La portada en castellano: la misma que /, en castellano; con Accept: text/markdown, el cuerpo de /index.md",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              },
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/es/developers": {
      "get": {
        "operationId": "get_developers_page_es",
        "summary": "The page for developers in Spanish: the same as /developers, in Spanish · La página para desarrolladores en castellano: la misma que /developers, en castellano",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/es/docs": {
      "get": {
        "operationId": "get_api_reference_es",
        "summary": "The API reference, in Spanish · La referencia de la API, en castellano",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/es/docs/{operation_id}": {
      "get": {
        "operationId": "get_operation_reference_es",
        "summary": "The reference page of one operation, in Spanish · La página de referencia de una operación, en castellano",
        "parameters": [
          {
            "name": "operation_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/flow": {
      "get": {
        "operationId": "get_flow_page",
        "summary": "The river: what was asked for and what answered · El rio: lo que se pidio y con que se respondio",
        "parameters": [
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/health": {
      "get": {
        "operationId": "get_health",
        "summary": "Service health, no I/O · Salud del servicio, sin I/O",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Salud"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/index.md": {
      "get": {
        "operationId": "get_index_md",
        "summary": "The front page for an agent, in Markdown · La portada para un agente, en Markdown",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/llms-full.txt": {
      "get": {
        "operationId": "get_llms_full_txt",
        "summary": "Every document for agents, in one · Todos los documentos para agentes, en uno",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "operationId": "get_llms_txt",
        "summary": "What Emporium is, for an agent · Que es Emporium, para un agente",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/mcp": {
      "post": {
        "operationId": "call_mcp",
        "summary": "Emporium's MCP, with an OAuth 2.1 token from Emporium (sign in with PayBox): the six house tools, the three for a business by its slug and the person's wallets, read-only · El MCP de Emporium, con un token OAuth 2.1 de Emporium (entrar con PayBox): las seis tools de la casa, las tres de un negocio por su slug y las billeteras de la persona, de lectura",
        "parameters": [
          {
            "name": "MCP-Protocol-Version",
            "in": "header",
            "description": "The MCP protocol version, after initialize · La versión del protocolo MCP, después de initialize",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PeticionJsonRpc"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RespuestaJsonRpc"
                }
              },
              "text/event-stream": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "202": {
            "description": "Accepted, with no body · Aceptado, sin cuerpo"
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SobreDeError"
                    },
                    {
                      "$ref": "#/components/schemas/RespuestaJsonRpc"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/n/{slug}": {
      "get": {
        "operationId": "get_business_profile",
        "summary": "A business's public profile · La ficha publica de un negocio",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/n/{slug}/en": {
      "get": {
        "operationId": "get_business_profile_en",
        "summary": "A business's public profile, in English · La ficha publica de un negocio, en ingles",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/n/{slug}/manifest.json": {
      "get": {
        "operationId": "get_business_manifest",
        "summary": "A business's public manifest · El manifiesto publico de un negocio",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ManifiestoPublico"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/n/{slug}/mcp": {
      "post": {
        "operationId": "call_business_mcp",
        "summary": "The MCP of a published business, at `<EMPORIUM_BASE_URL>/n/<slug>/mcp` with the `slug` that `emporium_search_service` gives: JSON-RPC 2.0 like `/mcp`, with no credential and with the header `Accept: application/json, text/event-stream`; `{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}` lists its three tools, `<slug>_ficha`, `<slug>_catalogo` and `<slug>_pedir_cotizacion` (each `-` of the slug written `_`) · El MCP de un negocio publicado, en `<EMPORIUM_BASE_URL>/n/<slug>/mcp` con el `slug` que da `emporium_search_service`: JSON-RPC 2.0 como `/mcp`, sin credencial y con la cabecera `Accept: application/json, text/event-stream`; `{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}` lista sus tres tools, `<slug>_ficha`, `<slug>_catalogo` y `<slug>_pedir_cotizacion` (cada `-` del slug escrito `_`)",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "MCP-Protocol-Version",
            "in": "header",
            "description": "The MCP protocol version, after initialize · La versión del protocolo MCP, después de initialize",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PeticionJsonRpc"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RespuestaJsonRpc"
                }
              },
              "text/event-stream": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "202": {
            "description": "Accepted, with no body · Aceptado, sin cuerpo"
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/SobreDeError"
                    },
                    {
                      "$ref": "#/components/schemas/RespuestaJsonRpc"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/n/{slug}/offers/{offer_id}/slots": {
      "get": {
        "operationId": "get_offer_slots",
        "summary": "The free time slots of a bookable offer, with active holds respected · Las franjas libres de una oferta reservable, con las retenciones vigentes respetadas",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offer_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "desde",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "dias",
            "in": "query",
            "required": false,
            "schema": {
              "format": "uint32",
              "minimum": 0,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DisponibilidadDeFranjas"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/openapi.json": {
      "get": {
        "operationId": "get_openapi",
        "summary": "This document · Este documento",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "additionalProperties": true,
                  "type": "object"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/privacy": {
      "get": {
        "operationId": "get_privacy_page",
        "summary": "What Emporium keeps from each search in the guide, for how long and who reads it · Que guarda Emporium de cada busqueda en la guia, por cuanto tiempo y quien lo lee",
        "parameters": [
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/r/{token}": {
      "get": {
        "operationId": "get_quote_reply_form",
        "summary": "The business's reply form; does not consume the link · El formulario de respuesta del negocio; no consume el enlace",
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "reply_to_quote",
        "summary": "The business replies and consumes the link · El negocio responde y consume el enlace",
        "parameters": [
          {
            "name": "token",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RespuestaDelNegocio"
              }
            },
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/RespuestaDelNegocioEnFormulario"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CotizacionRedactada"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/robots.txt": {
      "get": {
        "operationId": "get_robots_txt",
        "summary": "What a crawler may read · Que puede leer un rastreador",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/signup": {
      "get": {
        "operationId": "get_signup_page",
        "summary": "Add your business: paste your domain, request your diagnosis and see it, without JSON or JavaScript · Sumá tu negocio: pegá tu dominio, pedí tu diagnóstico y miralo, sin JSON ni JavaScript",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "post": {
        "operationId": "submit_signup_form",
        "summary": "The page's form: creates the draft and shows the key once · El formulario de la página: crea el borrador y muestra la clave una vez",
        "parameters": [
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CamposDelAlta"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/signup/channel": {
      "post": {
        "operationId": "submit_channel_link_form",
        "summary": "The page's form: sends the channel confirmation link to the declared email, with slug and key · El formulario de la página: manda el enlace de confirmación del canal al correo declarado, con slug y clave",
        "parameters": [
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CamposDeLaClave"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/signup/en": {
      "get": {
        "operationId": "get_signup_page_en",
        "summary": "The same page, in English · La misma página, en inglés",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/signup/kit": {
      "post": {
        "operationId": "submit_kit_download_form",
        "summary": "The page's form: downloads the kit, with slug and key · El formulario de la página: baja el kit, con slug y clave",
        "parameters": [
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CamposDelNegocio"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              },
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/signup/publish": {
      "post": {
        "operationId": "submit_publish_form",
        "summary": "The page's form: publishes the business, with slug and key · El formulario de la página: publica el negocio, con slug y clave",
        "parameters": [
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CamposDeLaClave"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/signup/request": {
      "post": {
        "operationId": "submit_diagnosis_request_form",
        "summary": "The page's form: the diagnosis request · El formulario de la página: el pedido del diagnóstico",
        "parameters": [
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CamposDelNegocio"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/signup/status": {
      "post": {
        "operationId": "submit_diagnosis_status_form",
        "summary": "The page's form: the diagnosis report, with slug and key · El formulario de la página: el reporte del diagnóstico, con slug y clave",
        "parameters": [
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CamposDelNegocio"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/signup/terms": {
      "post": {
        "operationId": "submit_terms_form",
        "summary": "The page's form: accepts the current terms, with slug, key and the box ticked · El formulario de la página: acepta los términos vigentes, con slug, clave y la casilla marcada",
        "parameters": [
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CamposDeLosTerminos"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/signup/verification/checks": {
      "post": {
        "operationId": "submit_domain_check_form",
        "summary": "The page's form: reads the domain proof, with slug and key · El formulario de la página: lee la prueba del dominio, con slug y clave",
        "parameters": [
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CamposDeLaLectura"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/signup/verification/token": {
      "post": {
        "operationId": "submit_new_token_form",
        "summary": "The page's form: a new verification token, with slug and key · El formulario de la página: un token de verificación nuevo, con slug y clave",
        "parameters": [
          {
            "name": "idioma",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "$ref": "#/components/schemas/CamposDeLaClave"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/sitemap.xml": {
      "get": {
        "operationId": "get_sitemap",
        "summary": "The public pages and documents · Las paginas y los documentos publicos",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/skill.md": {
      "get": {
        "operationId": "get_skill_md",
        "summary": "The manual for an agent: the flows and the errors · El manual para un agente: los flujos y los errores",
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    },
    "/terms/{version}": {
      "get": {
        "operationId": "get_terms",
        "summary": "The text of a terms version · El texto de una version de los terminos",
        "parameters": [
          {
            "name": "version",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK · Correcto",
            "content": {
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "description": "An error: with JSON, the single envelope, whose error.codigo is one of a closed list · Un error: en JSON, el sobre único, cuyo error.codigo es uno de una lista cerrada",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SobreDeError"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Accion": {
        "oneOf": [
          {
            "properties": {
              "nombre": {
                "type": "string"
              },
              "tipo": {
                "const": "tool",
                "type": "string"
              }
            },
            "required": [
              "nombre",
              "tipo"
            ],
            "type": "object"
          },
          {
            "properties": {
              "medio": {
                "type": "string"
              },
              "tipo": {
                "const": "enlace",
                "type": "string"
              },
              "url": {
                "type": "string"
              }
            },
            "required": [
              "medio",
              "tipo",
              "url"
            ],
            "type": "object"
          }
        ]
      },
      "Actor": {
        "enum": [
          "negocio",
          "sistema",
          "casa"
        ],
        "type": "string"
      },
      "AltaCreada": {
        "properties": {
          "clave_de_borrador": {
            "type": "string"
          },
          "creado_en": {
            "type": "string"
          },
          "dominio": {
            "type": "string"
          },
          "estado": {
            "$ref": "#/components/schemas/EstadoTenant"
          },
          "slug": {
            "type": "string"
          },
          "verificacion": {
            "$ref": "#/components/schemas/VerificacionConToken"
          }
        },
        "required": [
          "clave_de_borrador",
          "creado_en",
          "dominio",
          "estado",
          "slug",
          "verificacion"
        ],
        "type": "object"
      },
      "ArtefactosDelNegocio": {
        "properties": {
          "aviso": {
            "type": "string"
          },
          "instalar_en": {
            "type": "string"
          },
          "jsonld": {
            "type": "string"
          },
          "llms_txt": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "vista_previa": {
            "type": "boolean"
          },
          "webmcp": {
            "$ref": "#/components/schemas/SnippetWebMcp"
          }
        },
        "required": [
          "aviso",
          "instalar_en",
          "jsonld",
          "llms_txt",
          "slug",
          "vista_previa",
          "webmcp"
        ],
        "type": "object"
      },
      "Autenticacion": {
        "properties": {
          "discovery": {
            "type": "string"
          },
          "documentation": {
            "type": "string"
          },
          "schemes": {
            "items": {
              "type": "string"
            },
            "maxItems": 1,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "discovery",
          "documentation",
          "schemes"
        ],
        "type": "object"
      },
      "BitacoraPublica": {
        "properties": {
          "eventos": {
            "items": {
              "$ref": "#/components/schemas/EventoPublico"
            },
            "type": "array"
          },
          "slug": {
            "type": "string"
          },
          "total": {
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "eventos",
          "slug",
          "total"
        ],
        "type": "object"
      },
      "BloqueDeAutopistas": {
        "properties": {
          "como_se_llaman": {
            "type": "string"
          },
          "mostrador_url": {
            "type": "string"
          },
          "necesidades": {
            "items": {
              "$ref": "#/components/schemas/NecesidadEnLaRespuesta"
            },
            "type": "array"
          }
        },
        "required": [
          "como_se_llaman",
          "mostrador_url",
          "necesidades"
        ],
        "type": "object"
      },
      "BloqueDeLaRaiz": {
        "properties": {
          "como_se_lee": {
            "type": "string"
          },
          "frase": {
            "type": "string"
          },
          "piernas": {
            "items": {
              "$ref": "#/components/schemas/PiernaEnLaRespuesta"
            },
            "type": "array"
          },
          "preguntas": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "raiz": {
            "type": "string"
          }
        },
        "required": [
          "como_se_lee",
          "frase",
          "piernas",
          "preguntas",
          "raiz"
        ],
        "type": "object"
      },
      "BorradorV1": {
        "properties": {
          "dominio": {
            "maxLength": 253,
            "minLength": 1,
            "type": "string"
          },
          "esquema": true,
          "faltantes": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "hallazgos": {
            "properties": {
              "hosts_comprimidos": true,
              "json_ld": {
                "properties": {
                  "entidades": {
                    "minimum": 0,
                    "type": "integer"
                  },
                  "ilegibles": {
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "llms_txt": {
                "type": "boolean"
              },
              "mcp": {
                "anyOf": [
                  {
                    "type": "null"
                  },
                  {
                    "properties": {
                      "nombre": {
                        "type": "string"
                      },
                      "url": {
                        "pattern": "^https://\\S+$",
                        "type": "string"
                      }
                    },
                    "required": [
                      "url"
                    ],
                    "type": "object"
                  }
                ]
              },
              "microdatos": {
                "properties": {
                  "entidades": {
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "notas": true,
              "og_producto": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "reintento_comprimido": true,
              "x402_anunciados": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "x402_confirmados": {
                "items": {
                  "properties": {
                    "redes": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "url": {
                      "pattern": "^https://\\S+$",
                      "type": "string"
                    }
                  },
                  "required": [
                    "url"
                  ],
                  "type": "object"
                },
                "type": "array"
              }
            },
            "type": "object"
          },
          "inferencia": true,
          "linea_roja": {
            "type": "array"
          },
          "manifiesto": {
            "type": "object"
          },
          "procedencia": {
            "additionalProperties": {
              "properties": {
                "fuente": {
                  "type": "string"
                },
                "origen": {
                  "enum": [
                    "declarado",
                    "inferido",
                    "vacio"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "origen"
              ],
              "type": "object"
            },
            "type": "object"
          },
          "publicar": true,
          "recorrido": {
            "properties": {
              "enlaces_descartados": true,
              "peticiones": true,
              "rechazos": true,
              "rechazos_omitidos": true,
              "robots": {
                "type": "string"
              },
              "tope": true,
              "visitas": true
            },
            "type": "object"
          },
          "tipo": {
            "const": "emporium-borrador-de-manifiesto",
            "type": "string"
          },
          "validacion": true,
          "version": {
            "const": 1,
            "type": "integer"
          }
        },
        "required": [
          "dominio",
          "hallazgos",
          "manifiesto",
          "procedencia",
          "tipo",
          "version"
        ],
        "type": "object"
      },
      "BorradorV2": {
        "properties": {
          "chequeos": {
            "items": {
              "$ref": "#/components/schemas/BorradorV2Chequeo"
            },
            "maxItems": 20,
            "type": "array"
          },
          "dominio": {
            "maxLength": 253,
            "minLength": 1,
            "type": "string"
          },
          "esquema": true,
          "faltantes": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "hallazgos": {
            "properties": {
              "hosts_comprimidos": true,
              "json_ld": {
                "properties": {
                  "entidades": {
                    "minimum": 0,
                    "type": "integer"
                  },
                  "ilegibles": {
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "llms_txt": {
                "type": "boolean"
              },
              "mcp": {
                "anyOf": [
                  {
                    "type": "null"
                  },
                  {
                    "properties": {
                      "nombre": {
                        "type": "string"
                      },
                      "url": {
                        "pattern": "^https://\\S+$",
                        "type": "string"
                      }
                    },
                    "required": [
                      "url"
                    ],
                    "type": "object"
                  }
                ]
              },
              "microdatos": {
                "properties": {
                  "entidades": {
                    "minimum": 0,
                    "type": "integer"
                  }
                },
                "type": "object"
              },
              "notas": true,
              "og_producto": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "reintento_comprimido": true,
              "x402_anunciados": {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "x402_confirmados": {
                "items": {
                  "properties": {
                    "redes": {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    },
                    "url": {
                      "pattern": "^https://\\S+$",
                      "type": "string"
                    }
                  },
                  "required": [
                    "url"
                  ],
                  "type": "object"
                },
                "type": "array"
              }
            },
            "type": "object"
          },
          "inferencia": true,
          "linea_roja": {
            "type": "array"
          },
          "manifiesto": {
            "type": "object"
          },
          "plataforma": {
            "additionalProperties": false,
            "properties": {
              "nombre": {
                "enum": [
                  "shopify",
                  "wordpress",
                  "otra",
                  "desconocida"
                ],
                "type": "string"
              }
            },
            "required": [
              "nombre"
            ],
            "type": "object"
          },
          "procedencia": {
            "additionalProperties": {
              "properties": {
                "fuente": {
                  "type": "string"
                },
                "origen": {
                  "enum": [
                    "declarado",
                    "inferido",
                    "vacio"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "origen"
              ],
              "type": "object"
            },
            "type": "object"
          },
          "publicar": true,
          "recorrido": {
            "properties": {
              "enlaces_descartados": true,
              "peticiones": true,
              "rechazos": true,
              "rechazos_omitidos": true,
              "robots": {
                "type": "string"
              },
              "tope": true,
              "visitas": true
            },
            "type": "object"
          },
          "tipo": {
            "const": "emporium-borrador-de-manifiesto",
            "type": "string"
          },
          "validacion": true,
          "version": {
            "const": 2,
            "type": "integer"
          }
        },
        "required": [
          "chequeos",
          "dominio",
          "hallazgos",
          "manifiesto",
          "plataforma",
          "procedencia",
          "tipo",
          "version"
        ],
        "type": "object"
      },
      "BorradorV2Chequeo": {
        "additionalProperties": false,
        "properties": {
          "estado": {
            "enum": [
              "hallado",
              "no_hallado",
              "no_medido"
            ],
            "type": "string"
          },
          "evidencia": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "content_type": {
                  "maxLength": 100,
                  "type": "string"
                },
                "status": {
                  "maximum": 599,
                  "minimum": 100,
                  "type": "integer"
                },
                "url": {
                  "maxLength": 2048,
                  "pattern": "^https://\\S+$",
                  "type": "string"
                }
              },
              "required": [
                "content_type",
                "status",
                "url"
              ],
              "type": "object"
            },
            "maxItems": 5,
            "type": "array"
          },
          "nombre": {
            "enum": [
              "robots_bots_ia",
              "texto_sin_js",
              "contacto",
              "json_ld_oferta",
              "microdatos",
              "og_producto",
              "llms_txt",
              "cms_api",
              "carrito",
              "webmcp",
              "mcp_server_card",
              "mcp_endpoint_vivo",
              "a2a_agent_card",
              "openapi",
              "x402_402",
              "cabecera_link"
            ],
            "type": "string"
          }
        },
        "required": [
          "estado",
          "evidencia",
          "nombre"
        ],
        "type": "object"
      },
      "CamposDeLaClave": {
        "properties": {
          "clave": {
            "default": "",
            "type": "string"
          },
          "slug": {
            "default": "",
            "type": "string"
          }
        },
        "type": "object"
      },
      "CamposDeLaLectura": {
        "properties": {
          "clave": {
            "default": "",
            "type": "string"
          },
          "metodo": {
            "default": null,
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "default": "",
            "type": "string"
          }
        },
        "type": "object"
      },
      "CamposDeLosTerminos": {
        "properties": {
          "acepto": {
            "default": null,
            "type": [
              "string",
              "null"
            ]
          },
          "clave": {
            "default": "",
            "type": "string"
          },
          "slug": {
            "default": "",
            "type": "string"
          },
          "version": {
            "default": null,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "CamposDelAlta": {
        "properties": {
          "dominio": {
            "default": "",
            "type": "string"
          }
        },
        "type": "object"
      },
      "CamposDelNegocio": {
        "properties": {
          "clave": {
            "default": "",
            "type": "string"
          },
          "metodo": {
            "default": null,
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "default": "",
            "type": "string"
          }
        },
        "type": "object"
      },
      "CanalHumano": {
        "properties": {
          "tipo": {
            "type": "string"
          },
          "verificado": {
            "type": "boolean"
          }
        },
        "required": [
          "tipo",
          "verificado"
        ],
        "type": "object"
      },
      "CanalPublico": {
        "properties": {
          "tipo": {
            "type": "string"
          },
          "verificado": {
            "type": "boolean"
          }
        },
        "required": [
          "tipo",
          "verificado"
        ],
        "type": "object"
      },
      "Candidato": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/CandidatoTenant"
          },
          {
            "$ref": "#/components/schemas/CandidatoPrestador"
          },
          {
            "$ref": "#/components/schemas/CandidatoTercero"
          }
        ]
      },
      "CandidatoPrestador": {
        "properties": {
          "aviso_datos_del_prestador": {
            "type": "string"
          },
          "declarado_por_el_prestador": {
            "$ref": "#/components/schemas/DeclaradoPorElPrestador"
          },
          "dimensiones": {
            "items": {
              "$ref": "#/components/schemas/Dimension"
            },
            "type": "array"
          },
          "faltan": {
            "items": {
              "$ref": "#/components/schemas/Faltante"
            },
            "type": "array"
          },
          "prestador_id": {
            "type": "string"
          },
          "procedencia": {
            "$ref": "#/components/schemas/ProcedenciaDelCandidato"
          },
          "prueba": {
            "$ref": "#/components/schemas/PruebaEnLaRespuesta"
          },
          "puntaje": {
            "format": "double",
            "type": "number"
          },
          "servicio_id": {
            "type": "string"
          }
        },
        "required": [
          "aviso_datos_del_prestador",
          "declarado_por_el_prestador",
          "dimensiones",
          "faltan",
          "prestador_id",
          "procedencia",
          "prueba",
          "puntaje",
          "servicio_id"
        ],
        "type": "object"
      },
      "CandidatoTenant": {
        "properties": {
          "aviso_datos_del_negocio": {
            "type": "string"
          },
          "declarado_por_el_negocio": {
            "$ref": "#/components/schemas/DeclaradoPorElNegocio"
          },
          "dimensiones": {
            "items": {
              "$ref": "#/components/schemas/Dimension"
            },
            "type": "array"
          },
          "faltan": {
            "items": {
              "$ref": "#/components/schemas/Faltante"
            },
            "type": "array"
          },
          "procedencia": {
            "$ref": "#/components/schemas/ProcedenciaDelCandidato"
          },
          "puntaje": {
            "format": "double",
            "type": "number"
          },
          "slug": {
            "type": "string"
          },
          "url_ficha": {
            "type": "string"
          },
          "url_mcp": {
            "type": "string"
          }
        },
        "required": [
          "aviso_datos_del_negocio",
          "declarado_por_el_negocio",
          "dimensiones",
          "faltan",
          "procedencia",
          "puntaje",
          "slug",
          "url_ficha",
          "url_mcp"
        ],
        "type": "object"
      },
      "CandidatoTercero": {
        "properties": {
          "admision": {
            "type": "string"
          },
          "declarado_por_el_vendedor": {
            "$ref": "#/components/schemas/DeclaradoPorElVendedor"
          },
          "dimensiones": {
            "items": {
              "$ref": "#/components/schemas/Dimension"
            },
            "type": "array"
          },
          "evidencia": {
            "$ref": "#/components/schemas/Evidencia"
          },
          "faltan": {
            "items": {
              "$ref": "#/components/schemas/Faltante"
            },
            "type": "array"
          },
          "host": {
            "type": "string"
          },
          "procedencia": {
            "$ref": "#/components/schemas/ProcedenciaDelCandidato"
          },
          "puntaje": {
            "format": "double",
            "type": "number"
          },
          "rotulo": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "admision",
          "declarado_por_el_vendedor",
          "dimensiones",
          "evidencia",
          "faltan",
          "host",
          "procedencia",
          "puntaje",
          "rotulo",
          "url"
        ],
        "type": "object"
      },
      "CapacidadServida": {
        "properties": {
          "estado": {
            "$ref": "#/components/schemas/EstadoDeCapacidad"
          },
          "id": {
            "type": "string"
          },
          "medido_el": {
            "type": "string"
          },
          "nombre": {
            "$ref": "#/components/schemas/TextoServido"
          },
          "patrones": {
            "items": {
              "$ref": "#/components/schemas/TextoServido"
            },
            "type": "array"
          },
          "proposito": {
            "$ref": "#/components/schemas/Proposito"
          },
          "prueba_viva": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PruebaServida"
              },
              {
                "type": "null"
              }
            ]
          },
          "puertas": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PuertasServidas"
              },
              {
                "type": "null"
              }
            ]
          },
          "que_hace": {
            "$ref": "#/components/schemas/TextoServido"
          },
          "tools": {
            "items": {
              "$ref": "#/components/schemas/ToolServida"
            },
            "type": "array"
          }
        },
        "required": [
          "estado",
          "id",
          "medido_el",
          "nombre",
          "patrones",
          "proposito",
          "prueba_viva",
          "puertas",
          "que_hace",
          "tools"
        ],
        "type": "object"
      },
      "Capacidades": {
        "properties": {
          "logging": {
            "type": "boolean"
          },
          "prompts": {
            "type": "boolean"
          },
          "resources": {
            "type": "boolean"
          },
          "tools": {
            "type": "boolean"
          }
        },
        "required": [
          "logging",
          "prompts",
          "resources",
          "tools"
        ],
        "type": "object"
      },
      "CapacidadesA2a": {
        "properties": {
          "pushNotifications": {
            "type": "boolean"
          },
          "streaming": {
            "type": "boolean"
          }
        },
        "required": [
          "pushNotifications",
          "streaming"
        ],
        "type": "object"
      },
      "Caso": {
        "properties": {
          "accion": {
            "$ref": "#/components/schemas/Accion"
          },
          "alias_aceptados": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "alias_propuestos": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "estado": {
            "$ref": "#/components/schemas/EstadoDelCaso"
          },
          "frase": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "oferta_id": {
            "type": "string"
          },
          "precio": {
            "$ref": "#/components/schemas/PrecioDelCaso"
          },
          "procedencia": {
            "$ref": "#/components/schemas/ProcedenciaDelCaso"
          },
          "via_de_pago": {
            "$ref": "#/components/schemas/ViaDePago"
          }
        },
        "required": [
          "accion",
          "alias_aceptados",
          "alias_propuestos",
          "estado",
          "frase",
          "id",
          "oferta_id",
          "precio",
          "procedencia",
          "via_de_pago"
        ],
        "type": "object"
      },
      "CasosPublicados": {
        "properties": {
          "aviso": {
            "type": "string"
          },
          "casos": {
            "items": {
              "$ref": "#/components/schemas/Caso"
            },
            "type": "array"
          },
          "huecos_cerrados": {
            "items": {
              "$ref": "#/components/schemas/HuecoCerrado"
            },
            "type": "array"
          },
          "rio": {
            "$ref": "#/components/schemas/EstadoDelRio"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "aviso",
          "casos",
          "huecos_cerrados",
          "rio",
          "slug"
        ],
        "type": "object"
      },
      "CategoriaDeLasAmarillas": {
        "properties": {
          "categoria": {
            "type": "string"
          },
          "etiqueta": {
            "type": "string"
          },
          "hosts": {
            "items": {
              "$ref": "#/components/schemas/HostDeLasAmarillas"
            },
            "type": "array"
          },
          "negocios": {
            "items": {
              "$ref": "#/components/schemas/NegocioDeLasAmarillas"
            },
            "type": "array"
          },
          "prestadores": {
            "items": {
              "$ref": "#/components/schemas/PrestadorDeLasAmarillas"
            },
            "type": "array"
          }
        },
        "required": [
          "categoria",
          "etiqueta",
          "hosts",
          "negocios",
          "prestadores"
        ],
        "type": "object"
      },
      "Chequeo": {
        "properties": {
          "estado": {
            "$ref": "#/components/schemas/EstadoDelChequeo"
          },
          "evidencia": {
            "type": [
              "string",
              "null"
            ]
          },
          "nombre": {
            "type": "string"
          }
        },
        "required": [
          "estado",
          "nombre"
        ],
        "type": "object"
      },
      "Cobertura": {
        "enum": [
          "disponible",
          "pronto",
          "sin_oferta"
        ],
        "type": "string"
      },
      "CodigoDeError": {
        "enum": [
          "dominio_invalido",
          "slug_ocupado",
          "tenant_no_encontrado",
          "tenant_no_publicado",
          "tenant_suspendido",
          "clave_invalida",
          "estado_no_permite",
          "ventana_no_cumplida",
          "metodo_invalido",
          "manifiesto_invalido",
          "categoria_prohibida",
          "terminos_no_aceptados",
          "canal_no_confirmado",
          "version_de_terminos_desconocida",
          "pedido_invalido",
          "faltan_datos",
          "respuesta_invalida",
          "firma_invalida",
          "enlace_vencido",
          "enlace_ya_usado",
          "demasiadas_peticiones",
          "parametro_invalido",
          "metodo_no_permitido",
          "firma_no_configurada",
          "correo_no_configurado",
          "terminos_no_configurados",
          "casa_no_configurada",
          "almacen_no_disponible",
          "error_interno",
          "paybox_no_configurado",
          "boveda_no_disponible",
          "sesion_requerida",
          "estado_oauth_invalido",
          "consentimiento_rechazado",
          "concesion_insegura",
          "paybox_no_responde",
          "paybox_rechazo",
          "sin_vinculo",
          "vinculo_revocado",
          "vinculo_vencido",
          "reconexion_requerida",
          "vinculo_ajeno",
          "renovacion_en_curso"
        ],
        "type": "string"
      },
      "ColaDelEnjambre": {
        "properties": {
          "pedidos": {
            "items": {
              "$ref": "#/components/schemas/PedidoEnLaCola"
            },
            "type": "array"
          }
        },
        "required": [
          "pedidos"
        ],
        "type": "object"
      },
      "Columna": {
        "enum": [
          "origen",
          "destino"
        ],
        "type": "string"
      },
      "ComboPropuesto": {
        "properties": {
          "aviso": {
            "type": "string"
          },
          "estado": {
            "$ref": "#/components/schemas/EstadoDelCombo"
          },
          "habilitado_por": {
            "items": {
              "$ref": "#/components/schemas/DatoQueLoHabilita"
            },
            "type": "array"
          },
          "propositos": {
            "items": {
              "$ref": "#/components/schemas/PropositoQueSeJunta"
            },
            "type": "array"
          },
          "tramo": {
            "$ref": "#/components/schemas/TramoDelCombo"
          }
        },
        "required": [
          "aviso",
          "estado",
          "habilitado_por",
          "propositos",
          "tramo"
        ],
        "type": "object"
      },
      "Compromiso": {
        "enum": [
          "N1",
          "N2"
        ],
        "type": "string"
      },
      "Configuracion": {
        "properties": {
          "almacen": {
            "type": [
              "string",
              "null"
            ]
          },
          "correo": {
            "type": [
              "string",
              "null"
            ]
          },
          "entorno": {
            "type": [
              "string",
              "null"
            ]
          },
          "firma": {
            "type": "boolean"
          },
          "flujo": {
            "type": [
              "string",
              "null"
            ]
          },
          "idioma_por_defecto": {
            "type": [
              "string",
              "null"
            ]
          },
          "terminos": {
            "type": "boolean"
          }
        },
        "required": [
          "almacen",
          "correo",
          "entorno",
          "firma",
          "flujo",
          "idioma_por_defecto",
          "terminos"
        ],
        "type": "object"
      },
      "ConsultaRespondida": {
        "properties": {
          "categoria": {
            "type": [
              "string",
              "null"
            ]
          },
          "ciudad": {
            "type": [
              "string",
              "null"
            ]
          },
          "limite": {
            "format": "uint8",
            "maximum": 255,
            "minimum": 0,
            "type": "integer"
          },
          "q": {
            "type": "string"
          },
          "red": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "categoria",
          "ciudad",
          "limite",
          "q",
          "red"
        ],
        "type": "object"
      },
      "ContextoDeEnlaces": {
        "properties": {
          "anchor": {
            "type": "string"
          },
          "api-catalog": {
            "items": {
              "$ref": "#/components/schemas/Enlace"
            },
            "type": "array"
          },
          "item": {
            "items": {
              "$ref": "#/components/schemas/Enlace"
            },
            "type": "array"
          },
          "service-desc": {
            "items": {
              "$ref": "#/components/schemas/Enlace"
            },
            "type": "array"
          },
          "service-doc": {
            "items": {
              "$ref": "#/components/schemas/Enlace"
            },
            "type": "array"
          },
          "service-meta": {
            "items": {
              "$ref": "#/components/schemas/Enlace"
            },
            "type": "array"
          },
          "status": {
            "items": {
              "$ref": "#/components/schemas/Enlace"
            },
            "type": "array"
          }
        },
        "required": [
          "anchor",
          "api-catalog",
          "item",
          "service-desc",
          "service-doc",
          "service-meta",
          "status"
        ],
        "type": "object"
      },
      "CotizacionCreada": {
        "properties": {
          "aviso": {
            "type": "string"
          },
          "clave_de_seguimiento": {
            "type": "string"
          },
          "cotizacion_id": {
            "type": "string"
          },
          "estado": {
            "$ref": "#/components/schemas/EstadoCotizacion"
          },
          "mensaje": {
            "type": "string"
          },
          "sla_horas": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "aviso",
          "clave_de_seguimiento",
          "cotizacion_id",
          "estado",
          "mensaje",
          "sla_horas"
        ],
        "type": "object"
      },
      "CotizacionDelPedidor": {
        "properties": {
          "comprometible": {
            "type": "boolean"
          },
          "cotizacion_id": {
            "type": "string"
          },
          "estado": {
            "$ref": "#/components/schemas/EstadoCotizacion"
          },
          "oferta_id": {
            "type": "string"
          },
          "oferta_no_disponible": {
            "type": [
              "string",
              "null"
            ]
          },
          "origen": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/OrigenCotizacion"
              },
              {
                "type": "null"
              }
            ]
          },
          "origen_del_estado": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/OrigenDelEstado"
              },
              {
                "type": "null"
              }
            ]
          },
          "pago": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Pago"
              },
              {
                "type": "null"
              }
            ]
          },
          "pedida_en": {
            "type": "string"
          },
          "pedidor_es_operador": {
            "type": "boolean"
          },
          "respondida_en": {
            "type": [
              "string",
              "null"
            ]
          },
          "respuesta": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RespuestaPublica"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "comprometible",
          "cotizacion_id",
          "estado",
          "oferta_id",
          "origen",
          "pago",
          "pedida_en",
          "pedidor_es_operador",
          "respondida_en",
          "respuesta"
        ],
        "type": "object"
      },
      "CotizacionRedactada": {
        "properties": {
          "comprometible": {
            "type": "boolean"
          },
          "cotizacion_id": {
            "type": "string"
          },
          "estado": {
            "$ref": "#/components/schemas/EstadoCotizacion"
          },
          "oferta_id": {
            "type": "string"
          },
          "origen": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/OrigenCotizacion"
              },
              {
                "type": "null"
              }
            ]
          },
          "origen_del_estado": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/OrigenDelEstado"
              },
              {
                "type": "null"
              }
            ]
          },
          "pedida_en": {
            "type": "string"
          },
          "pedidor_es_operador": {
            "type": "boolean"
          },
          "respondida_en": {
            "type": [
              "string",
              "null"
            ]
          },
          "respuesta": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/RespuestaPublica"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "comprometible",
          "cotizacion_id",
          "estado",
          "oferta_id",
          "origen",
          "pedida_en",
          "pedidor_es_operador",
          "respondida_en",
          "respuesta"
        ],
        "type": "object"
      },
      "Cuando": {
        "enum": [
          "minutos",
          "24h_o_mas"
        ],
        "type": "string"
      },
      "CuentaDeProcedencia": {
        "properties": {
          "declarado": {
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          },
          "inferido": {
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          },
          "vacio": {
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "declarado",
          "inferido",
          "vacio"
        ],
        "type": "object"
      },
      "CuerpoAlta": {
        "additionalProperties": false,
        "properties": {
          "dominio": {
            "type": "string"
          }
        },
        "required": [
          "dominio"
        ],
        "type": "object"
      },
      "CuerpoDelError": {
        "additionalProperties": false,
        "properties": {
          "codigo": {
            "$ref": "#/components/schemas/CodigoDeError"
          },
          "detalles": {
            "items": {
              "$ref": "#/components/schemas/Detalle"
            },
            "type": "array"
          },
          "mensaje": {
            "type": "string"
          },
          "peticion_id": {
            "type": "string"
          }
        },
        "required": [
          "codigo",
          "detalles",
          "mensaje",
          "peticion_id"
        ],
        "type": "object"
      },
      "CuerpoDelPedido": {
        "additionalProperties": false,
        "properties": {
          "metodo": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MetodoVerificacion"
              },
              {
                "type": "null"
              }
            ],
            "default": null
          }
        },
        "type": "object"
      },
      "CuerpoDespublicar": {
        "additionalProperties": false,
        "properties": {
          "motivo": {
            "default": null,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "CuerpoLectura": {
        "additionalProperties": false,
        "properties": {
          "metodo": {
            "$ref": "#/components/schemas/MetodoVerificacion"
          }
        },
        "required": [
          "metodo"
        ],
        "type": "object"
      },
      "CuerpoTerminos": {
        "additionalProperties": false,
        "properties": {
          "version": {
            "type": "string"
          }
        },
        "required": [
          "version"
        ],
        "type": "object"
      },
      "DatoDelNegocio": {
        "oneOf": [
          {
            "const": "ciudad",
            "type": "string"
          },
          {
            "const": "red_de_cobro",
            "type": "string"
          },
          {
            "const": "enlace_de_pago",
            "type": "string"
          }
        ]
      },
      "DatoDelPedido": {
        "anyOf": [
          {
            "type": "string"
          },
          {
            "format": "int64",
            "type": "integer"
          },
          {
            "type": "boolean"
          }
        ]
      },
      "DatoQueLoHabilita": {
        "properties": {
          "id": {
            "$ref": "#/components/schemas/DatoDelNegocio"
          },
          "que": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "que"
        ],
        "type": "object"
      },
      "DeclaradoEnLasAmarillas": {
        "properties": {
          "nombre": {
            "type": [
              "string",
              "null"
            ]
          },
          "ofertas": {
            "items": true,
            "type": "array"
          }
        },
        "required": [
          "nombre",
          "ofertas"
        ],
        "type": "object"
      },
      "DeclaradoPorElNegocio": {
        "properties": {
          "nombre": {
            "type": [
              "string",
              "null"
            ]
          },
          "oferta": true
        },
        "required": [
          "nombre",
          "oferta"
        ],
        "type": "object"
      },
      "DeclaradoPorElPrestador": {
        "properties": {
          "oferta": true
        },
        "required": [
          "oferta"
        ],
        "type": "object"
      },
      "DeclaradoPorElVendedor": {
        "properties": {
          "categoria": {
            "type": [
              "string",
              "null"
            ]
          },
          "descripcion": {
            "type": [
              "string",
              "null"
            ]
          },
          "etiquetas": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "categoria",
          "descripcion",
          "etiquetas"
        ],
        "type": "object"
      },
      "Descubrimiento": {
        "properties": {
          "apiCatalog": {
            "type": "string"
          }
        },
        "required": [
          "apiCatalog"
        ],
        "type": "object"
      },
      "Detalle": {
        "additionalProperties": false,
        "properties": {
          "campo": {
            "type": "string"
          },
          "problema": {
            "type": "string"
          }
        },
        "required": [
          "campo",
          "problema"
        ],
        "type": "object"
      },
      "Diagnostico": {
        "properties": {
          "chequeos": {
            "items": {
              "$ref": "#/components/schemas/Chequeo"
            },
            "type": "array"
          },
          "dominio": {
            "type": "string"
          },
          "esquema": {
            "type": "string"
          },
          "faltantes": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "fuente": {
            "type": "string"
          },
          "gama": {
            "$ref": "#/components/schemas/GamaDemostrada"
          },
          "linea_roja": {
            "items": true,
            "type": "array"
          },
          "procedencia": {
            "$ref": "#/components/schemas/CuentaDeProcedencia"
          }
        },
        "required": [
          "chequeos",
          "dominio",
          "esquema",
          "faltantes",
          "fuente",
          "gama",
          "linea_roja",
          "procedencia"
        ],
        "type": "object"
      },
      "DiagnosticoEntregado": {
        "properties": {
          "diagnostico": {
            "$ref": "#/components/schemas/Diagnostico"
          },
          "pedido": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PedidoQueSeVe"
              },
              {
                "type": "null"
              }
            ]
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "diagnostico",
          "pedido",
          "slug"
        ],
        "type": "object"
      },
      "Dimension": {
        "properties": {
          "demostrado": {
            "type": "boolean"
          },
          "nombre": {
            "type": "string"
          },
          "peso": {
            "format": "double",
            "type": "number"
          },
          "por_que": {
            "type": "string"
          },
          "puntaje": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "demostrado",
          "nombre",
          "peso",
          "por_que",
          "puntaje"
        ],
        "type": "object"
      },
      "DisponibilidadDeFranjas": {
        "properties": {
          "desde": {
            "type": "string"
          },
          "desfase_utc": {
            "type": "string"
          },
          "dias": {
            "format": "uint32",
            "minimum": 0,
            "type": "integer"
          },
          "duracion_min": {
            "format": "uint32",
            "minimum": 0,
            "type": "integer"
          },
          "franjas": {
            "items": {
              "$ref": "#/components/schemas/FranjaLibre"
            },
            "type": "array"
          },
          "oferta_id": {
            "type": "string"
          },
          "recursos": {
            "items": {
              "$ref": "#/components/schemas/RecursoDeReserva"
            },
            "type": "array"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "desde",
          "desfase_utc",
          "dias",
          "duracion_min",
          "franjas",
          "oferta_id",
          "recursos",
          "slug"
        ],
        "type": "object"
      },
      "DondeEsta": {
        "properties": {
          "chequeos": {
            "items": {
              "$ref": "#/components/schemas/Chequeo"
            },
            "type": "array"
          },
          "gama": {
            "$ref": "#/components/schemas/GamaDemostrada"
          },
          "nivel": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Nivel"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "chequeos",
          "gama",
          "nivel"
        ],
        "type": "object"
      },
      "EndpointDeLasAmarillas": {
        "properties": {
          "declarado_por_el_vendedor": {
            "$ref": "#/components/schemas/DeclaradoPorElVendedor"
          },
          "evidencia": {
            "$ref": "#/components/schemas/Evidencia"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "declarado_por_el_vendedor",
          "evidencia",
          "url"
        ],
        "type": "object"
      },
      "Enlace": {
        "properties": {
          "auth-scheme": {
            "items": {
              "type": "string"
            },
            "maxItems": 1,
            "minItems": 1,
            "type": [
              "array",
              "null"
            ]
          },
          "href": {
            "type": "string"
          },
          "price-model": {
            "items": {
              "type": "string"
            },
            "maxItems": 1,
            "minItems": 1,
            "type": [
              "array",
              "null"
            ]
          },
          "title": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "href",
          "title",
          "type"
        ],
        "type": "object"
      },
      "EnlaceDelRio": {
        "properties": {
          "desde": {
            "type": "string"
          },
          "flujos": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "frase": {
            "type": "string"
          },
          "hasta": {
            "type": "string"
          },
          "motivo": {
            "type": "string"
          },
          "peso": {
            "format": "double",
            "type": "number"
          }
        },
        "required": [
          "desde",
          "flujos",
          "frase",
          "hasta",
          "motivo",
          "peso"
        ],
        "type": "object"
      },
      "EnlacesDePaybox": {
        "properties": {
          "app": {
            "type": "string"
          },
          "docs": {
            "type": "string"
          },
          "mcp": {
            "type": "string"
          },
          "npm_package": {
            "type": "string"
          },
          "site": {
            "type": "string"
          }
        },
        "required": [
          "app",
          "docs",
          "mcp",
          "npm_package",
          "site"
        ],
        "type": "object"
      },
      "EntradaDeSkill": {
        "properties": {
          "description": {
            "type": "string"
          },
          "digest": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "description",
          "digest",
          "name",
          "type",
          "url"
        ],
        "type": "object"
      },
      "ErrorJsonRpc": {
        "properties": {
          "code": {
            "format": "int64",
            "type": "integer"
          },
          "data": true,
          "message": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "message"
        ],
        "type": "object"
      },
      "EstadoCotizacion": {
        "enum": [
          "pendiente",
          "avisada",
          "respondida",
          "aceptada",
          "pagada",
          "confirmada",
          "vencida",
          "anulada"
        ],
        "type": "string"
      },
      "EstadoDeCapacidad": {
        "oneOf": [
          {
            "const": "pronto",
            "type": "string"
          },
          {
            "const": "externa",
            "type": "string"
          },
          {
            "const": "solo_lectura",
            "type": "string"
          },
          {
            "const": "vivo",
            "type": "string"
          }
        ]
      },
      "EstadoDeLaSalud": {
        "enum": [
          "vivo"
        ],
        "type": "string"
      },
      "EstadoDelCanal": {
        "properties": {
          "canal": {
            "$ref": "#/components/schemas/CanalHumano"
          },
          "mensaje": {
            "type": "string"
          }
        },
        "required": [
          "canal",
          "mensaje"
        ],
        "type": "object"
      },
      "EstadoDelCaso": {
        "enum": [
          "propuesto",
          "aceptado"
        ],
        "type": "string"
      },
      "EstadoDelChequeo": {
        "enum": [
          "hallado",
          "no_hallado",
          "no_medido"
        ],
        "type": "string"
      },
      "EstadoDelCombo": {
        "enum": [
          "propuesto"
        ],
        "type": "string"
      },
      "EstadoDelPaso": {
        "enum": [
          "hecho",
          "pendiente",
          "bloqueado"
        ],
        "type": "string"
      },
      "EstadoDelRio": {
        "anyOf": [
          {
            "$ref": "#/components/schemas/VentanaAplicada"
          },
          {
            "const": "no_disponible",
            "type": "string"
          }
        ]
      },
      "EstadoQueSeVe": {
        "enum": [
          "pendiente",
          "entregado",
          "vencido"
        ],
        "type": "string"
      },
      "EstadoTenant": {
        "enum": [
          "borrador",
          "manifiesto_valido",
          "verificacion_pendiente",
          "verificado",
          "publicado",
          "despublicado",
          "suspendido",
          "rechazado_por_categoria",
          "verificacion_fallida"
        ],
        "type": "string"
      },
      "EstadoVivo": {
        "enum": [
          "alive",
          "auth_gated"
        ],
        "type": "string"
      },
      "EventoPublico": {
        "properties": {
          "actor": {
            "$ref": "#/components/schemas/Actor"
          },
          "actor_es_operador": {
            "type": "boolean"
          },
          "detalle": {
            "additionalProperties": true,
            "type": "object"
          },
          "evento": {
            "type": "string"
          },
          "seq": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "ts": {
            "type": "string"
          }
        },
        "required": [
          "actor",
          "actor_es_operador",
          "detalle",
          "evento",
          "seq",
          "ts"
        ],
        "type": "object"
      },
      "Evidencia": {
        "properties": {
          "liquido": {
            "$ref": "#/components/schemas/Liquido"
          },
          "precio": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PrecioLeido"
              },
              {
                "type": "null"
              }
            ]
          },
          "reputacion": {
            "$ref": "#/components/schemas/ReputacionDelTercero"
          },
          "sin_precio_por": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MotivoSinPrecio"
              },
              {
                "type": "null"
              }
            ]
          },
          "sin_vivo_por": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/MotivoSinVivo"
              },
              {
                "type": "null"
              }
            ]
          },
          "vivo": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Vivo"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "liquido",
          "precio",
          "reputacion",
          "vivo"
        ],
        "type": "object"
      },
      "Extraido": {
        "properties": {
          "faltantes": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "procedencia": {
            "$ref": "#/components/schemas/CuentaDeProcedencia"
          }
        },
        "required": [
          "faltantes",
          "procedencia"
        ],
        "type": "object"
      },
      "Faltante": {
        "properties": {
          "como_se_consigue": {
            "type": "string"
          },
          "por_que_importa": {
            "type": "string"
          },
          "que": {
            "type": "string"
          }
        },
        "required": [
          "como_se_consigue",
          "por_que_importa",
          "que"
        ],
        "type": "object"
      },
      "FranjaLibre": {
        "properties": {
          "fin": {
            "type": "string"
          },
          "inicio": {
            "type": "string"
          },
          "recursos": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "fin",
          "inicio",
          "recursos"
        ],
        "type": "object"
      },
      "Gama": {
        "enum": [
          "G0",
          "G1",
          "G2",
          "G3",
          "G4",
          "G5",
          "G6"
        ],
        "type": "string"
      },
      "GamaDemostrada": {
        "properties": {
          "clave_del_motivo": {
            "type": "string"
          },
          "minima_demostrada": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Gama"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "clave_del_motivo",
          "minima_demostrada"
        ],
        "type": "object"
      },
      "HabilidadA2a": {
        "properties": {
          "description": {
            "type": "string"
          },
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "tags": {
            "items": {
              "type": "string"
            },
            "maxItems": 2,
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "description",
          "id",
          "name",
          "tags"
        ],
        "type": "object"
      },
      "HostDeLasAmarillas": {
        "properties": {
          "admision": {
            "type": "string"
          },
          "endpoints": {
            "items": {
              "$ref": "#/components/schemas/EndpointDeLasAmarillas"
            },
            "type": "array"
          },
          "endpoints_total": {
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          },
          "host": {
            "type": "string"
          },
          "rotulo": {
            "type": "string"
          }
        },
        "required": [
          "admision",
          "endpoints",
          "endpoints_total",
          "host",
          "rotulo"
        ],
        "type": "object"
      },
      "HuecoCerrado": {
        "properties": {
          "busquedas_sin_candidatos": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "categoria": {
            "type": "string"
          },
          "ciudad": {
            "type": [
              "string",
              "null"
            ]
          },
          "etiqueta": {
            "type": "string"
          },
          "frase": {
            "type": "string"
          }
        },
        "required": [
          "busquedas_sin_candidatos",
          "categoria",
          "ciudad",
          "etiqueta",
          "frase"
        ],
        "type": "object"
      },
      "HuecoDelRio": {
        "properties": {
          "etiqueta": {
            "type": "string"
          },
          "flujos": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "peso": {
            "format": "double",
            "type": "number"
          },
          "por_que_no_hay": {
            "type": "string"
          },
          "prospecto": {
            "type": "string"
          },
          "que_se_pidio": {
            "type": "string"
          }
        },
        "required": [
          "etiqueta",
          "flujos",
          "peso",
          "por_que_no_hay",
          "prospecto",
          "que_se_pidio"
        ],
        "type": "object"
      },
      "HuecoPlan": {
        "properties": {
          "por_que_no_hay": {
            "$ref": "#/components/schemas/PorQueNoHay"
          },
          "prospecto": {
            "type": "string"
          },
          "que_se_pidio": {
            "type": "string"
          }
        },
        "required": [
          "por_que_no_hay",
          "prospecto",
          "que_se_pidio"
        ],
        "type": "object"
      },
      "IdJsonRpc": {
        "anyOf": [
          {
            "format": "int64",
            "type": "integer"
          },
          {
            "type": "string"
          }
        ]
      },
      "IdiomaDeLaConsulta": {
        "enum": [
          "es",
          "en"
        ],
        "type": "string"
      },
      "IndiceDeSkills": {
        "properties": {
          "skills": {
            "items": {
              "$ref": "#/components/schemas/EntradaDeSkill"
            },
            "maxItems": 2,
            "minItems": 2,
            "type": "array"
          }
        },
        "required": [
          "skills"
        ],
        "type": "object"
      },
      "InfoDelServidor": {
        "properties": {
          "description": {
            "type": "string"
          },
          "documentation": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "vendor": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "description",
          "documentation",
          "name",
          "title",
          "vendor",
          "version"
        ],
        "type": "object"
      },
      "InterfazConEnlace": {
        "properties": {
          "protocolBinding": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "protocolBinding",
          "url"
        ],
        "type": "object"
      },
      "InterfazConTransporte": {
        "properties": {
          "transport": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "transport",
          "url"
        ],
        "type": "object"
      },
      "LecturaHecha": {
        "properties": {
          "detalle": {
            "type": [
              "string",
              "null"
            ]
          },
          "estado_tenant": {
            "$ref": "#/components/schemas/EstadoTenant"
          },
          "lectura": {
            "format": "uint32",
            "minimum": 0,
            "type": "integer"
          },
          "lecturas": {
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          },
          "leido_en": {
            "type": "string"
          },
          "metodo": {
            "$ref": "#/components/schemas/MetodoVerificacion"
          },
          "proxima_habilitada_desde": {
            "type": [
              "string",
              "null"
            ]
          },
          "resultado": {
            "$ref": "#/components/schemas/ResultadoDeLaLectura"
          }
        },
        "required": [
          "detalle",
          "estado_tenant",
          "lectura",
          "lecturas",
          "leido_en",
          "metodo",
          "proxima_habilitada_desde",
          "resultado"
        ],
        "type": "object"
      },
      "Linkset": {
        "properties": {
          "linkset": {
            "items": {
              "$ref": "#/components/schemas/ContextoDeEnlaces"
            },
            "maxItems": 1,
            "minItems": 1,
            "type": "array"
          }
        },
        "required": [
          "linkset"
        ],
        "type": "object"
      },
      "Liquido": {
        "oneOf": [
          {
            "properties": {
              "estado": {
                "const": "sin_evidencia_de_liquidacion",
                "type": "string"
              }
            },
            "required": [
              "estado"
            ],
            "type": "object"
          },
          {
            "properties": {
              "estado": {
                "const": "evidencia_de_liquidacion_sin_leer",
                "type": "string"
              }
            },
            "required": [
              "estado"
            ],
            "type": "object"
          }
        ]
      },
      "ListaDePublicados": {
        "properties": {
          "negocios": {
            "items": {
              "$ref": "#/components/schemas/Publicado"
            },
            "type": "array"
          },
          "siguiente": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "negocios",
          "siguiente"
        ],
        "type": "object"
      },
      "ListaRedactada": {
        "properties": {
          "cotizaciones": {
            "items": {
              "$ref": "#/components/schemas/CotizacionRedactada"
            },
            "type": "array"
          },
          "siguiente": {
            "type": [
              "string",
              "null"
            ]
          },
          "total": {
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "cotizaciones",
          "siguiente",
          "total"
        ],
        "type": "object"
      },
      "ListoEn": {
        "properties": {
          "24h_o_mas": {
            "items": {
              "type": "string"
            },
            "maxItems": 2,
            "minItems": 2,
            "type": "array"
          },
          "minutos": {
            "items": {
              "type": "string"
            },
            "maxItems": 5,
            "minItems": 5,
            "type": "array"
          }
        },
        "required": [
          "24h_o_mas",
          "minutos"
        ],
        "type": "object"
      },
      "ManifiestoPublico": {
        "additionalProperties": false,
        "properties": {
          "canal_humano": {
            "additionalProperties": false,
            "properties": {
              "tipo": {
                "enum": [
                  "correo"
                ],
                "type": "string"
              },
              "verificado": {
                "type": "boolean"
              }
            },
            "required": [
              "tipo",
              "verificado"
            ],
            "type": "object"
          },
          "esquema": {
            "const": "emporium-manifiesto-v1",
            "type": "string"
          },
          "marca": {
            "additionalProperties": false,
            "properties": {
              "color_primario": {
                "pattern": "^#[0-9a-fA-F]{6}$",
                "type": "string"
              },
              "color_secundario": {
                "pattern": "^#[0-9a-fA-F]{6}$",
                "type": "string"
              },
              "logo_url": {
                "maxLength": 512,
                "pattern": "^https://",
                "type": "string"
              }
            },
            "required": [
              "color_primario",
              "color_secundario"
            ],
            "type": "object"
          },
          "medios_de_pago": {
            "items": {
              "additionalProperties": false,
              "oneOf": [
                {
                  "properties": {
                    "proveedor": false,
                    "tipo": {
                      "const": "x402"
                    }
                  },
                  "required": [
                    "activo",
                    "red",
                    "tipo"
                  ]
                },
                {
                  "properties": {
                    "activo": false,
                    "red": false,
                    "tipo": {
                      "const": "enlace_externo"
                    }
                  },
                  "required": [
                    "proveedor",
                    "tipo"
                  ]
                }
              ],
              "properties": {
                "activo": {
                  "pattern": "^[A-Z0-9]{2,12}$",
                  "type": "string"
                },
                "etiqueta": {
                  "maxLength": 48,
                  "minLength": 2,
                  "type": "string"
                },
                "proveedor": {
                  "maxLength": 48,
                  "minLength": 2,
                  "type": "string"
                },
                "red": {
                  "pattern": "^[a-z0-9-]{2,32}$",
                  "type": "string"
                },
                "tipo": {
                  "enum": [
                    "x402",
                    "enlace_externo"
                  ],
                  "type": "string"
                },
                "url": {
                  "maxLength": 512,
                  "pattern": "^https://[^\\s]+$",
                  "type": "string"
                }
              },
              "required": [
                "etiqueta",
                "tipo",
                "url"
              ],
              "type": "object"
            },
            "maxItems": 5,
            "minItems": 0,
            "type": "array"
          },
          "negocio": {
            "additionalProperties": false,
            "properties": {
              "alcance": {
                "enum": [
                  "local",
                  "nacional",
                  "regional",
                  "global"
                ],
                "type": "string"
              },
              "descripcion": {
                "maxLength": 1000,
                "minLength": 10,
                "type": "string"
              },
              "dominio": {
                "maxLength": 253,
                "minLength": 3,
                "pattern": "^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)+$",
                "type": "string"
              },
              "idioma": {
                "enum": [
                  "es",
                  "en",
                  "pt"
                ],
                "type": "string"
              },
              "nombre": {
                "maxLength": 120,
                "minLength": 2,
                "type": "string"
              },
              "resumen_corto": {
                "maxLength": 80,
                "minLength": 0,
                "pattern": "^[^\\n\\r]*$",
                "type": "string"
              },
              "sector": {
                "additionalProperties": false,
                "properties": {
                  "codigo": {
                    "maxLength": 16,
                    "minLength": 0,
                    "type": "string"
                  },
                  "sistema": {
                    "enum": [
                      "CIIU",
                      "NAICS",
                      "ninguno"
                    ],
                    "type": "string"
                  },
                  "texto": {
                    "maxLength": 120,
                    "minLength": 2,
                    "type": "string"
                  }
                },
                "required": [
                  "codigo",
                  "sistema",
                  "texto"
                ],
                "type": "object"
              },
              "ubicacion": {
                "additionalProperties": false,
                "properties": {
                  "ciudad": {
                    "maxLength": 80,
                    "minLength": 2,
                    "type": "string"
                  },
                  "pais": {
                    "pattern": "^[A-Z]{2}$",
                    "type": "string"
                  }
                },
                "required": [
                  "ciudad",
                  "pais"
                ],
                "type": "object"
              },
              "zona_horaria": {
                "maxLength": 64,
                "minLength": 3,
                "type": "string"
              }
            },
            "required": [
              "alcance",
              "descripcion",
              "dominio",
              "idioma",
              "nombre",
              "sector"
            ],
            "type": "object"
          },
          "ofertas": {
            "items": {
              "additionalProperties": false,
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "forma_de_oferta": {
                        "const": "servicio_digital_por_uso"
                      }
                    },
                    "required": [
                      "forma_de_oferta"
                    ]
                  },
                  "then": {
                    "properties": {
                      "unidad": {
                        "enum": [
                          "llamada",
                          "segundo"
                        ]
                      }
                    }
                  }
                }
              ],
              "properties": {
                "categoria": {
                  "enum": [
                    "alimentos_y_bebidas",
                    "transporte_y_logistica",
                    "alojamiento_y_turismo",
                    "eventos_y_entretenimiento",
                    "deporte_y_recreacion",
                    "salud_y_bienestar",
                    "educacion_y_formacion",
                    "servicios_profesionales",
                    "servicios_para_el_hogar",
                    "comercio_minorista",
                    "moda_y_belleza",
                    "tecnologia_y_software",
                    "inmuebles",
                    "agro_y_alimentos_primarios",
                    "arte_y_artesania",
                    "otros_servicios",
                    "computo_para_agentes_autonomos",
                    "persistencia_o_replicacion_de_agentes",
                    "resistencia_a_apagado",
                    "identidades_o_credenciales_para_agentes",
                    "armas_y_explosivos",
                    "sustancias_controladas",
                    "farmacos_con_receta",
                    "apuestas_y_juegos_de_azar",
                    "contenido_sexual",
                    "documentos_falsos_y_suplantacion",
                    "datos_personales_y_vigilancia",
                    "servicios_de_intrusion_o_hackeo",
                    "servicios_financieros_regulados",
                    "fauna_y_especies_protegidas"
                  ],
                  "type": "string"
                },
                "contrato": {
                  "additionalProperties": false,
                  "properties": {
                    "esquema": {
                      "const": "contrato-intencion/v0",
                      "type": "string"
                    },
                    "slots": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "etiqueta": {
                            "additionalProperties": false,
                            "minProperties": 1,
                            "properties": {
                              "en": {
                                "maxLength": 80,
                                "minLength": 1,
                                "pattern": "^[^\\n\\r]*$",
                                "type": "string"
                              },
                              "es": {
                                "maxLength": 80,
                                "minLength": 1,
                                "pattern": "^[^\\n\\r]*$",
                                "type": "string"
                              },
                              "pt": {
                                "maxLength": 80,
                                "minLength": 1,
                                "pattern": "^[^\\n\\r]*$",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "id": {
                            "not": {
                              "pattern": "telefono|celular|whatsapp|telegram|email|correo|direccion|contacto|(^|_)(tel|telf|tlf|cel|movil|mobile|phone|wa|wsp|sms|mail|address|contact)s?(_|$)"
                            },
                            "pattern": "^[a-z][a-z0-9_]{0,31}$",
                            "type": "string"
                          },
                          "requerido_para": {
                            "items": {
                              "enum": [
                                "proponer",
                                "cotizar",
                                "ejecutar"
                              ],
                              "type": "string"
                            },
                            "maxItems": 3,
                            "minItems": 1,
                            "type": "array",
                            "uniqueItems": true
                          },
                          "supuesto": {
                            "maxLength": 200,
                            "type": [
                              "integer",
                              "string",
                              "boolean"
                            ]
                          },
                          "tipo": {
                            "enum": [
                              "entero",
                              "fecha",
                              "hora",
                              "duracion_min",
                              "enum",
                              "texto",
                              "lugar",
                              "si_no"
                            ],
                            "type": "string"
                          },
                          "validacion": {
                            "additionalProperties": false,
                            "minProperties": 1,
                            "properties": {
                              "max": {
                                "type": "integer"
                              },
                              "max_largo": {
                                "maximum": 200,
                                "minimum": 1,
                                "type": "integer"
                              },
                              "min": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "valores": {
                            "items": {
                              "pattern": "^[a-z0-9_]{1,32}$",
                              "type": "string"
                            },
                            "maxItems": 20,
                            "minItems": 2,
                            "type": "array",
                            "uniqueItems": true
                          }
                        },
                        "required": [
                          "etiqueta",
                          "id",
                          "requerido_para",
                          "tipo"
                        ],
                        "type": "object"
                      },
                      "maxItems": 20,
                      "minItems": 1,
                      "type": "array"
                    }
                  },
                  "required": [
                    "esquema",
                    "slots"
                  ],
                  "type": "object"
                },
                "descripcion": {
                  "maxLength": 1000,
                  "minLength": 10,
                  "type": "string"
                },
                "disponibilidad_texto": {
                  "maxLength": 280,
                  "minLength": 0,
                  "type": "string"
                },
                "etiquetas": {
                  "items": {
                    "maxLength": 32,
                    "minLength": 1,
                    "pattern": "^[a-z0-9-]+$",
                    "type": "string"
                  },
                  "maxItems": 10,
                  "minItems": 0,
                  "type": "array"
                },
                "forma_de_oferta": {
                  "enum": [
                    "producto_fisico",
                    "servicio_agendado",
                    "servicio_a_medida",
                    "alquiler_por_tiempo",
                    "suscripcion",
                    "servicio_digital_por_uso"
                  ],
                  "type": "string"
                },
                "id": {
                  "pattern": "^of-[a-z0-9-]{1,28}$",
                  "type": "string"
                },
                "medios_de_pago": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "activo": {
                        "pattern": "^[A-Z0-9]{2,12}$",
                        "type": "string"
                      },
                      "proveedor": {
                        "maxLength": 48,
                        "minLength": 2,
                        "type": "string"
                      },
                      "red": {
                        "pattern": "^[a-z0-9-]{2,32}$",
                        "type": "string"
                      },
                      "tipo": {
                        "enum": [
                          "x402",
                          "enlace_externo"
                        ],
                        "type": "string"
                      },
                      "url": {
                        "maxLength": 512,
                        "pattern": "^https://[^\\s]+$",
                        "type": "string"
                      }
                    },
                    "required": [
                      "tipo"
                    ],
                    "type": "object"
                  },
                  "maxItems": 5,
                  "minItems": 1,
                  "type": "array"
                },
                "precio": {
                  "additionalProperties": false,
                  "oneOf": [
                    {
                      "properties": {
                        "modo": {
                          "const": "publicado"
                        }
                      },
                      "required": [
                        "modo",
                        "moneda",
                        "monto"
                      ]
                    },
                    {
                      "properties": {
                        "modo": {
                          "const": "a_cotizar"
                        },
                        "moneda": false,
                        "monto": false
                      },
                      "required": [
                        "modo"
                      ]
                    }
                  ],
                  "properties": {
                    "modo": {
                      "enum": [
                        "publicado",
                        "a_cotizar"
                      ],
                      "type": "string"
                    },
                    "moneda": {
                      "pattern": "^[A-Z]{3}$",
                      "type": "string"
                    },
                    "monto": {
                      "pattern": "^\\d{1,9}(\\.\\d{1,6})?$",
                      "type": "string"
                    }
                  },
                  "required": [
                    "modo"
                  ],
                  "type": "object"
                },
                "reserva": {
                  "additionalProperties": false,
                  "properties": {
                    "desfase_utc": {
                      "pattern": "^[+-](0[0-9]|1[0-4]):[0-5][0-9]$",
                      "type": "string"
                    },
                    "duracion_min": {
                      "maximum": 1440,
                      "minimum": 5,
                      "type": "integer"
                    },
                    "esquema": {
                      "const": "reserva-franja/v0",
                      "type": "string"
                    },
                    "horario": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "desde": {
                            "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
                            "type": "string"
                          },
                          "dias": {
                            "items": {
                              "enum": [
                                "lun",
                                "mar",
                                "mie",
                                "jue",
                                "vie",
                                "sab",
                                "dom"
                              ],
                              "type": "string"
                            },
                            "maxItems": 7,
                            "minItems": 1,
                            "type": "array",
                            "uniqueItems": true
                          },
                          "hasta": {
                            "pattern": "^(([01][0-9]|2[0-3]):[0-5][0-9]|24:00)$",
                            "type": "string"
                          }
                        },
                        "required": [
                          "desde",
                          "dias",
                          "hasta"
                        ],
                        "type": "object"
                      },
                      "maxItems": 14,
                      "minItems": 1,
                      "type": "array"
                    },
                    "horizonte_dias": {
                      "maximum": 90,
                      "minimum": 1,
                      "type": "integer"
                    },
                    "recursos": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "pattern": "^[a-z0-9-]{1,32}$",
                            "type": "string"
                          },
                          "nombre": {
                            "maxLength": 80,
                            "minLength": 1,
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "nombre"
                        ],
                        "type": "object"
                      },
                      "maxItems": 20,
                      "minItems": 1,
                      "type": "array"
                    },
                    "retencion_min": {
                      "maximum": 60,
                      "minimum": 1,
                      "type": "integer"
                    }
                  },
                  "required": [
                    "desfase_utc",
                    "duracion_min",
                    "esquema",
                    "horario",
                    "horizonte_dias",
                    "recursos",
                    "retencion_min"
                  ],
                  "type": "object"
                },
                "titulo": {
                  "maxLength": 120,
                  "minLength": 2,
                  "type": "string"
                },
                "unidad": {
                  "maxLength": 32,
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "categoria",
                "descripcion",
                "forma_de_oferta",
                "id",
                "precio",
                "titulo",
                "unidad"
              ],
              "type": "object"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          },
          "politica_de_compra": {
            "additionalProperties": false,
            "properties": {
              "cancelacion": {
                "enum": [
                  "sin_cargo",
                  "con_cargo",
                  "no_admite"
                ],
                "type": "string"
              },
              "detalle": {
                "maxLength": 500,
                "minLength": 0,
                "type": "string"
              },
              "disputa": {
                "additionalProperties": false,
                "oneOf": [
                  {
                    "properties": {
                      "tipo": {
                        "const": "correo"
                      },
                      "valor": {
                        "maxLength": 320,
                        "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$"
                      }
                    },
                    "required": [
                      "tipo"
                    ]
                  },
                  {
                    "properties": {
                      "tipo": {
                        "const": "url"
                      },
                      "valor": {
                        "pattern": "^https://[^\\s]+$"
                      }
                    },
                    "required": [
                      "tipo"
                    ]
                  }
                ],
                "properties": {
                  "tipo": {
                    "enum": [
                      "correo",
                      "url"
                    ],
                    "type": "string"
                  },
                  "valor": {
                    "maxLength": 512,
                    "minLength": 3,
                    "type": "string"
                  }
                },
                "required": [
                  "tipo",
                  "valor"
                ],
                "type": "object"
              },
              "reembolso": {
                "enum": [
                  "total",
                  "parcial",
                  "sin_reembolso"
                ],
                "type": "string"
              },
              "ventana_horas": {
                "maximum": 8760,
                "minimum": 0,
                "type": "integer"
              }
            },
            "required": [
              "cancelacion",
              "disputa",
              "reembolso",
              "ventana_horas"
            ],
            "type": "object"
          },
          "terminos_del_negocio": {
            "maxLength": 2000,
            "minLength": 0,
            "type": "string"
          }
        },
        "required": [
          "canal_humano",
          "esquema",
          "marca",
          "negocio",
          "ofertas"
        ],
        "type": "object"
      },
      "ManifiestoV1": {
        "additionalProperties": false,
        "properties": {
          "canal_humano": {
            "additionalProperties": false,
            "properties": {
              "tipo": {
                "enum": [
                  "correo"
                ],
                "type": "string"
              },
              "valor": {
                "maxLength": 320,
                "minLength": 3,
                "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$",
                "type": "string"
              }
            },
            "required": [
              "tipo",
              "valor"
            ],
            "type": "object"
          },
          "esquema": {
            "const": "emporium-manifiesto-v1",
            "type": "string"
          },
          "marca": {
            "additionalProperties": false,
            "properties": {
              "color_primario": {
                "pattern": "^#[0-9a-fA-F]{6}$",
                "type": "string"
              },
              "color_secundario": {
                "pattern": "^#[0-9a-fA-F]{6}$",
                "type": "string"
              },
              "logo_url": {
                "maxLength": 512,
                "pattern": "^https://",
                "type": "string"
              }
            },
            "required": [
              "color_primario",
              "color_secundario"
            ],
            "type": "object"
          },
          "medios_de_pago": {
            "items": {
              "additionalProperties": false,
              "oneOf": [
                {
                  "properties": {
                    "proveedor": false,
                    "tipo": {
                      "const": "x402"
                    }
                  },
                  "required": [
                    "activo",
                    "red",
                    "tipo"
                  ]
                },
                {
                  "properties": {
                    "activo": false,
                    "red": false,
                    "tipo": {
                      "const": "enlace_externo"
                    }
                  },
                  "required": [
                    "proveedor",
                    "tipo"
                  ]
                }
              ],
              "properties": {
                "activo": {
                  "pattern": "^[A-Z0-9]{2,12}$",
                  "type": "string"
                },
                "etiqueta": {
                  "maxLength": 48,
                  "minLength": 2,
                  "type": "string"
                },
                "proveedor": {
                  "maxLength": 48,
                  "minLength": 2,
                  "type": "string"
                },
                "red": {
                  "pattern": "^[a-z0-9-]{2,32}$",
                  "type": "string"
                },
                "tipo": {
                  "enum": [
                    "x402",
                    "enlace_externo"
                  ],
                  "type": "string"
                },
                "url": {
                  "maxLength": 512,
                  "pattern": "^https://[^\\s]+$",
                  "type": "string"
                }
              },
              "required": [
                "etiqueta",
                "tipo",
                "url"
              ],
              "type": "object"
            },
            "maxItems": 5,
            "minItems": 0,
            "type": "array"
          },
          "negocio": {
            "additionalProperties": false,
            "properties": {
              "alcance": {
                "enum": [
                  "local",
                  "nacional",
                  "regional",
                  "global"
                ],
                "type": "string"
              },
              "descripcion": {
                "maxLength": 1000,
                "minLength": 10,
                "type": "string"
              },
              "dominio": {
                "maxLength": 253,
                "minLength": 3,
                "pattern": "^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?)+$",
                "type": "string"
              },
              "idioma": {
                "enum": [
                  "es",
                  "en",
                  "pt"
                ],
                "type": "string"
              },
              "nombre": {
                "maxLength": 120,
                "minLength": 2,
                "type": "string"
              },
              "resumen_corto": {
                "maxLength": 80,
                "minLength": 0,
                "pattern": "^[^\\n\\r]*$",
                "type": "string"
              },
              "sector": {
                "additionalProperties": false,
                "properties": {
                  "codigo": {
                    "maxLength": 16,
                    "minLength": 0,
                    "type": "string"
                  },
                  "sistema": {
                    "enum": [
                      "CIIU",
                      "NAICS",
                      "ninguno"
                    ],
                    "type": "string"
                  },
                  "texto": {
                    "maxLength": 120,
                    "minLength": 2,
                    "type": "string"
                  }
                },
                "required": [
                  "codigo",
                  "sistema",
                  "texto"
                ],
                "type": "object"
              },
              "ubicacion": {
                "additionalProperties": false,
                "properties": {
                  "ciudad": {
                    "maxLength": 80,
                    "minLength": 2,
                    "type": "string"
                  },
                  "pais": {
                    "pattern": "^[A-Z]{2}$",
                    "type": "string"
                  }
                },
                "required": [
                  "ciudad",
                  "pais"
                ],
                "type": "object"
              },
              "zona_horaria": {
                "maxLength": 64,
                "minLength": 3,
                "type": "string"
              }
            },
            "required": [
              "alcance",
              "descripcion",
              "dominio",
              "idioma",
              "nombre",
              "sector"
            ],
            "type": "object"
          },
          "ofertas": {
            "items": {
              "additionalProperties": false,
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "forma_de_oferta": {
                        "const": "servicio_digital_por_uso"
                      }
                    },
                    "required": [
                      "forma_de_oferta"
                    ]
                  },
                  "then": {
                    "properties": {
                      "unidad": {
                        "enum": [
                          "llamada",
                          "segundo"
                        ]
                      }
                    }
                  }
                }
              ],
              "properties": {
                "categoria": {
                  "enum": [
                    "alimentos_y_bebidas",
                    "transporte_y_logistica",
                    "alojamiento_y_turismo",
                    "eventos_y_entretenimiento",
                    "deporte_y_recreacion",
                    "salud_y_bienestar",
                    "educacion_y_formacion",
                    "servicios_profesionales",
                    "servicios_para_el_hogar",
                    "comercio_minorista",
                    "moda_y_belleza",
                    "tecnologia_y_software",
                    "inmuebles",
                    "agro_y_alimentos_primarios",
                    "arte_y_artesania",
                    "otros_servicios",
                    "computo_para_agentes_autonomos",
                    "persistencia_o_replicacion_de_agentes",
                    "resistencia_a_apagado",
                    "identidades_o_credenciales_para_agentes",
                    "armas_y_explosivos",
                    "sustancias_controladas",
                    "farmacos_con_receta",
                    "apuestas_y_juegos_de_azar",
                    "contenido_sexual",
                    "documentos_falsos_y_suplantacion",
                    "datos_personales_y_vigilancia",
                    "servicios_de_intrusion_o_hackeo",
                    "servicios_financieros_regulados",
                    "fauna_y_especies_protegidas"
                  ],
                  "type": "string"
                },
                "contrato": {
                  "additionalProperties": false,
                  "properties": {
                    "esquema": {
                      "const": "contrato-intencion/v0",
                      "type": "string"
                    },
                    "slots": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "etiqueta": {
                            "additionalProperties": false,
                            "minProperties": 1,
                            "properties": {
                              "en": {
                                "maxLength": 80,
                                "minLength": 1,
                                "pattern": "^[^\\n\\r]*$",
                                "type": "string"
                              },
                              "es": {
                                "maxLength": 80,
                                "minLength": 1,
                                "pattern": "^[^\\n\\r]*$",
                                "type": "string"
                              },
                              "pt": {
                                "maxLength": 80,
                                "minLength": 1,
                                "pattern": "^[^\\n\\r]*$",
                                "type": "string"
                              }
                            },
                            "type": "object"
                          },
                          "id": {
                            "not": {
                              "pattern": "telefono|celular|whatsapp|telegram|email|correo|direccion|contacto|(^|_)(tel|telf|tlf|cel|movil|mobile|phone|wa|wsp|sms|mail|address|contact)s?(_|$)"
                            },
                            "pattern": "^[a-z][a-z0-9_]{0,31}$",
                            "type": "string"
                          },
                          "requerido_para": {
                            "items": {
                              "enum": [
                                "proponer",
                                "cotizar",
                                "ejecutar"
                              ],
                              "type": "string"
                            },
                            "maxItems": 3,
                            "minItems": 1,
                            "type": "array",
                            "uniqueItems": true
                          },
                          "supuesto": {
                            "maxLength": 200,
                            "type": [
                              "integer",
                              "string",
                              "boolean"
                            ]
                          },
                          "tipo": {
                            "enum": [
                              "entero",
                              "fecha",
                              "hora",
                              "duracion_min",
                              "enum",
                              "texto",
                              "lugar",
                              "si_no"
                            ],
                            "type": "string"
                          },
                          "validacion": {
                            "additionalProperties": false,
                            "minProperties": 1,
                            "properties": {
                              "max": {
                                "type": "integer"
                              },
                              "max_largo": {
                                "maximum": 200,
                                "minimum": 1,
                                "type": "integer"
                              },
                              "min": {
                                "type": "integer"
                              }
                            },
                            "type": "object"
                          },
                          "valores": {
                            "items": {
                              "pattern": "^[a-z0-9_]{1,32}$",
                              "type": "string"
                            },
                            "maxItems": 20,
                            "minItems": 2,
                            "type": "array",
                            "uniqueItems": true
                          }
                        },
                        "required": [
                          "etiqueta",
                          "id",
                          "requerido_para",
                          "tipo"
                        ],
                        "type": "object"
                      },
                      "maxItems": 20,
                      "minItems": 1,
                      "type": "array"
                    }
                  },
                  "required": [
                    "esquema",
                    "slots"
                  ],
                  "type": "object"
                },
                "descripcion": {
                  "maxLength": 1000,
                  "minLength": 10,
                  "type": "string"
                },
                "disponibilidad_texto": {
                  "maxLength": 280,
                  "minLength": 0,
                  "type": "string"
                },
                "etiquetas": {
                  "items": {
                    "maxLength": 32,
                    "minLength": 1,
                    "pattern": "^[a-z0-9-]+$",
                    "type": "string"
                  },
                  "maxItems": 10,
                  "minItems": 0,
                  "type": "array"
                },
                "forma_de_oferta": {
                  "enum": [
                    "producto_fisico",
                    "servicio_agendado",
                    "servicio_a_medida",
                    "alquiler_por_tiempo",
                    "suscripcion",
                    "servicio_digital_por_uso"
                  ],
                  "type": "string"
                },
                "id": {
                  "pattern": "^of-[a-z0-9-]{1,28}$",
                  "type": "string"
                },
                "medios_de_pago": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "activo": {
                        "pattern": "^[A-Z0-9]{2,12}$",
                        "type": "string"
                      },
                      "proveedor": {
                        "maxLength": 48,
                        "minLength": 2,
                        "type": "string"
                      },
                      "red": {
                        "pattern": "^[a-z0-9-]{2,32}$",
                        "type": "string"
                      },
                      "tipo": {
                        "enum": [
                          "x402",
                          "enlace_externo"
                        ],
                        "type": "string"
                      },
                      "url": {
                        "maxLength": 512,
                        "pattern": "^https://[^\\s]+$",
                        "type": "string"
                      }
                    },
                    "required": [
                      "tipo"
                    ],
                    "type": "object"
                  },
                  "maxItems": 5,
                  "minItems": 1,
                  "type": "array"
                },
                "precio": {
                  "additionalProperties": false,
                  "oneOf": [
                    {
                      "properties": {
                        "modo": {
                          "const": "publicado"
                        }
                      },
                      "required": [
                        "modo",
                        "moneda",
                        "monto"
                      ]
                    },
                    {
                      "properties": {
                        "modo": {
                          "const": "a_cotizar"
                        },
                        "moneda": false,
                        "monto": false
                      },
                      "required": [
                        "modo"
                      ]
                    }
                  ],
                  "properties": {
                    "modo": {
                      "enum": [
                        "publicado",
                        "a_cotizar"
                      ],
                      "type": "string"
                    },
                    "moneda": {
                      "pattern": "^[A-Z]{3}$",
                      "type": "string"
                    },
                    "monto": {
                      "pattern": "^\\d{1,9}(\\.\\d{1,6})?$",
                      "type": "string"
                    }
                  },
                  "required": [
                    "modo"
                  ],
                  "type": "object"
                },
                "reserva": {
                  "additionalProperties": false,
                  "properties": {
                    "desfase_utc": {
                      "pattern": "^[+-](0[0-9]|1[0-4]):[0-5][0-9]$",
                      "type": "string"
                    },
                    "duracion_min": {
                      "maximum": 1440,
                      "minimum": 5,
                      "type": "integer"
                    },
                    "esquema": {
                      "const": "reserva-franja/v0",
                      "type": "string"
                    },
                    "horario": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "desde": {
                            "pattern": "^([01][0-9]|2[0-3]):[0-5][0-9]$",
                            "type": "string"
                          },
                          "dias": {
                            "items": {
                              "enum": [
                                "lun",
                                "mar",
                                "mie",
                                "jue",
                                "vie",
                                "sab",
                                "dom"
                              ],
                              "type": "string"
                            },
                            "maxItems": 7,
                            "minItems": 1,
                            "type": "array",
                            "uniqueItems": true
                          },
                          "hasta": {
                            "pattern": "^(([01][0-9]|2[0-3]):[0-5][0-9]|24:00)$",
                            "type": "string"
                          }
                        },
                        "required": [
                          "desde",
                          "dias",
                          "hasta"
                        ],
                        "type": "object"
                      },
                      "maxItems": 14,
                      "minItems": 1,
                      "type": "array"
                    },
                    "horizonte_dias": {
                      "maximum": 90,
                      "minimum": 1,
                      "type": "integer"
                    },
                    "recursos": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "pattern": "^[a-z0-9-]{1,32}$",
                            "type": "string"
                          },
                          "nombre": {
                            "maxLength": 80,
                            "minLength": 1,
                            "type": "string"
                          }
                        },
                        "required": [
                          "id",
                          "nombre"
                        ],
                        "type": "object"
                      },
                      "maxItems": 20,
                      "minItems": 1,
                      "type": "array"
                    },
                    "retencion_min": {
                      "maximum": 60,
                      "minimum": 1,
                      "type": "integer"
                    }
                  },
                  "required": [
                    "desfase_utc",
                    "duracion_min",
                    "esquema",
                    "horario",
                    "horizonte_dias",
                    "recursos",
                    "retencion_min"
                  ],
                  "type": "object"
                },
                "titulo": {
                  "maxLength": 120,
                  "minLength": 2,
                  "type": "string"
                },
                "unidad": {
                  "maxLength": 32,
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "categoria",
                "descripcion",
                "forma_de_oferta",
                "id",
                "precio",
                "titulo",
                "unidad"
              ],
              "type": "object"
            },
            "maxItems": 50,
            "minItems": 1,
            "type": "array"
          },
          "politica_de_compra": {
            "additionalProperties": false,
            "properties": {
              "cancelacion": {
                "enum": [
                  "sin_cargo",
                  "con_cargo",
                  "no_admite"
                ],
                "type": "string"
              },
              "detalle": {
                "maxLength": 500,
                "minLength": 0,
                "type": "string"
              },
              "disputa": {
                "additionalProperties": false,
                "oneOf": [
                  {
                    "properties": {
                      "tipo": {
                        "const": "correo"
                      },
                      "valor": {
                        "maxLength": 320,
                        "pattern": "^[^@\\s]+@[^@\\s]+\\.[^@\\s]+$"
                      }
                    },
                    "required": [
                      "tipo"
                    ]
                  },
                  {
                    "properties": {
                      "tipo": {
                        "const": "url"
                      },
                      "valor": {
                        "pattern": "^https://[^\\s]+$"
                      }
                    },
                    "required": [
                      "tipo"
                    ]
                  }
                ],
                "properties": {
                  "tipo": {
                    "enum": [
                      "correo",
                      "url"
                    ],
                    "type": "string"
                  },
                  "valor": {
                    "maxLength": 512,
                    "minLength": 3,
                    "type": "string"
                  }
                },
                "required": [
                  "tipo",
                  "valor"
                ],
                "type": "object"
              },
              "reembolso": {
                "enum": [
                  "total",
                  "parcial",
                  "sin_reembolso"
                ],
                "type": "string"
              },
              "ventana_horas": {
                "maximum": 8760,
                "minimum": 0,
                "type": "integer"
              }
            },
            "required": [
              "cancelacion",
              "disputa",
              "reembolso",
              "ventana_horas"
            ],
            "type": "object"
          },
          "terminos_del_negocio": {
            "maxLength": 2000,
            "minLength": 0,
            "type": "string"
          },
          "textos": {
            "additionalProperties": false,
            "patternProperties": {
              "^(es|en|pt)$": {
                "additionalProperties": false,
                "properties": {
                  "negocio": {
                    "additionalProperties": false,
                    "properties": {
                      "descripcion": {
                        "maxLength": 1000,
                        "minLength": 10,
                        "type": "string"
                      },
                      "nombre": {
                        "maxLength": 120,
                        "minLength": 2,
                        "type": "string"
                      },
                      "resumen_corto": {
                        "maxLength": 80,
                        "minLength": 0,
                        "pattern": "^[^\\n\\r]*$",
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "ofertas": {
                    "additionalProperties": false,
                    "patternProperties": {
                      "^of-[a-z0-9-]{1,28}$": {
                        "additionalProperties": false,
                        "properties": {
                          "descripcion": {
                            "maxLength": 1000,
                            "minLength": 10,
                            "type": "string"
                          },
                          "titulo": {
                            "maxLength": 120,
                            "minLength": 2,
                            "type": "string"
                          }
                        },
                        "type": "object"
                      }
                    },
                    "propertyNames": {
                      "pattern": "^of-[a-z0-9-]{1,28}$"
                    },
                    "type": "object"
                  }
                },
                "type": "object"
              }
            },
            "propertyNames": {
              "enum": [
                "es",
                "en",
                "pt"
              ]
            },
            "type": "object"
          }
        },
        "required": [
          "canal_humano",
          "esquema",
          "marca",
          "negocio",
          "ofertas"
        ],
        "type": "object"
      },
      "Matcheo": {
        "properties": {
          "carencias": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "demanda": {
            "items": {
              "$ref": "#/components/schemas/NecesidadDemandada"
            },
            "type": "array"
          },
          "disponibles": {
            "items": {
              "$ref": "#/components/schemas/Recomendacion"
            },
            "type": "array"
          },
          "esquema": {
            "type": "string"
          },
          "pronto": {
            "items": {
              "$ref": "#/components/schemas/Recomendacion"
            },
            "type": "array"
          },
          "sin_oferta": {
            "items": {
              "$ref": "#/components/schemas/Recomendacion"
            },
            "type": "array"
          }
        },
        "required": [
          "carencias",
          "demanda",
          "disponibles",
          "esquema",
          "pronto",
          "sin_oferta"
        ],
        "type": "object"
      },
      "MedioConMonto": {
        "properties": {
          "activo": {
            "type": [
              "string",
              "null"
            ]
          },
          "host": {
            "type": [
              "string",
              "null"
            ]
          },
          "moneda": {
            "type": "string"
          },
          "monto": {
            "type": "string"
          },
          "red": {
            "type": [
              "string",
              "null"
            ]
          },
          "referencia": {
            "type": "string"
          },
          "tipo": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "host",
          "moneda",
          "monto",
          "referencia",
          "tipo",
          "url"
        ],
        "type": "object"
      },
      "MedioLeido": {
        "properties": {
          "activo": {
            "type": "string"
          },
          "decimales": {
            "format": "uint32",
            "minimum": 0,
            "type": "integer"
          },
          "monto_atomico": {
            "type": "string"
          },
          "red": {
            "type": "string"
          }
        },
        "required": [
          "activo",
          "decimales",
          "monto_atomico",
          "red"
        ],
        "type": "object"
      },
      "MetodoArchivo": {
        "properties": {
          "contenido": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "contenido",
          "url"
        ],
        "type": "object"
      },
      "MetodoDns": {
        "properties": {
          "nombre": {
            "type": "string"
          },
          "tipo": {
            "type": "string"
          },
          "valor": {
            "type": "string"
          }
        },
        "required": [
          "nombre",
          "tipo",
          "valor"
        ],
        "type": "object"
      },
      "MetodoVerificacion": {
        "enum": [
          "dns",
          "archivo"
        ],
        "type": "string"
      },
      "Metodos": {
        "properties": {
          "archivo": {
            "$ref": "#/components/schemas/MetodoArchivo"
          },
          "dns": {
            "$ref": "#/components/schemas/MetodoDns"
          }
        },
        "required": [
          "archivo",
          "dns"
        ],
        "type": "object"
      },
      "MotivoSinPrecio": {
        "oneOf": [
          {
            "enum": [
              "conflict",
              "unknown",
              "stale"
            ],
            "type": "string"
          },
          {
            "const": "sin_frescura",
            "type": "string"
          },
          {
            "const": "otra",
            "type": "string"
          },
          {
            "const": "sin_fecha",
            "type": "string"
          },
          {
            "const": "sin_medios",
            "type": "string"
          },
          {
            "const": "esquema_upto",
            "type": "string"
          }
        ]
      },
      "MotivoSinVivo": {
        "oneOf": [
          {
            "const": "sin_salud",
            "type": "string"
          },
          {
            "const": "otra_salud",
            "type": "string"
          },
          {
            "const": "sin_fecha",
            "type": "string"
          },
          {
            "const": "sondeo_en_el_futuro",
            "type": "string"
          }
        ]
      },
      "MotorDeLaRespuesta": {
        "properties": {
          "paarce": {
            "type": "string"
          },
          "politica": {
            "type": "string"
          }
        },
        "required": [
          "paarce",
          "politica"
        ],
        "type": "object"
      },
      "NecesidadDemandada": {
        "properties": {
          "capacidad": {
            "type": [
              "string",
              "null"
            ]
          },
          "clave": {
            "type": "string"
          },
          "proposito": {
            "$ref": "#/components/schemas/Proposito"
          }
        },
        "required": [
          "capacidad",
          "clave",
          "proposito"
        ],
        "type": "object"
      },
      "NecesidadEnLaRespuesta": {
        "properties": {
          "necesidad": {
            "type": "string"
          },
          "que_resuelve": {
            "type": "string"
          },
          "tools": {
            "items": {
              "$ref": "#/components/schemas/PiezaEnLaRespuesta"
            },
            "type": "array"
          }
        },
        "required": [
          "necesidad",
          "que_resuelve",
          "tools"
        ],
        "type": "object"
      },
      "NegocioDeLasAmarillas": {
        "properties": {
          "declarado_por_el_negocio": {
            "$ref": "#/components/schemas/DeclaradoEnLasAmarillas"
          },
          "slug": {
            "type": "string"
          },
          "tools": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "url_ficha": {
            "type": "string"
          },
          "url_mcp": {
            "type": "string"
          }
        },
        "required": [
          "declarado_por_el_negocio",
          "slug",
          "tools",
          "url_ficha",
          "url_mcp"
        ],
        "type": "object"
      },
      "Nivel": {
        "properties": {
          "compromiso": {
            "$ref": "#/components/schemas/Compromiso"
          },
          "via_de_pago": {
            "$ref": "#/components/schemas/ViaDePago"
          }
        },
        "required": [
          "compromiso",
          "via_de_pago"
        ],
        "type": "object"
      },
      "NivelDePrueba": {
        "oneOf": [
          {
            "const": "con_venta_externa",
            "type": "string"
          },
          {
            "const": "sin_venta_externa_demostrada",
            "type": "string"
          }
        ]
      },
      "NodoDelRio": {
        "properties": {
          "color": {
            "type": "string"
          },
          "columna": {
            "$ref": "#/components/schemas/Columna"
          },
          "etiqueta": {
            "type": "string"
          },
          "explicacion": {
            "type": "string"
          },
          "flujos": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "id": {
            "type": "string"
          },
          "peso": {
            "format": "double",
            "type": "number"
          },
          "tipo": {
            "type": "string"
          }
        },
        "required": [
          "color",
          "columna",
          "etiqueta",
          "explicacion",
          "flujos",
          "id",
          "peso",
          "tipo"
        ],
        "type": "object"
      },
      "OfertaServida": {
        "properties": {
          "capacidades": {
            "items": {
              "$ref": "#/components/schemas/CapacidadServida"
            },
            "type": "array"
          },
          "esquema": {
            "type": "string"
          },
          "matcheo": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Matcheo"
              },
              {
                "type": "null"
              }
            ]
          },
          "propositos": {
            "items": {
              "$ref": "#/components/schemas/PropositoServido"
            },
            "type": "array"
          }
        },
        "required": [
          "capacidades",
          "esquema",
          "propositos"
        ],
        "type": "object"
      },
      "Operador": {
        "properties": {
          "nombre": {
            "type": "string"
          },
          "rol": {
            "type": "string"
          }
        },
        "required": [
          "nombre",
          "rol"
        ],
        "type": "object"
      },
      "OrigenCotizacion": {
        "enum": [
          "afirmado_por_negocio"
        ],
        "type": "string"
      },
      "OrigenDelEstado": {
        "enum": [
          "afirmado_por_negocio",
          "afirmado_por_pedidor"
        ],
        "type": "string"
      },
      "PaginasAmarillas": {
        "properties": {
          "aviso": {
            "type": "string"
          },
          "aviso_datos_del_negocio": {
            "type": "string"
          },
          "aviso_datos_del_prestador": {
            "type": "string"
          },
          "categorias": {
            "items": {
              "$ref": "#/components/schemas/CategoriaDeLasAmarillas"
            },
            "type": "array"
          },
          "entradas_sin_mostrar": {
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "aviso",
          "aviso_datos_del_negocio",
          "aviso_datos_del_prestador",
          "categorias",
          "entradas_sin_mostrar"
        ],
        "type": "object"
      },
      "Pago": {
        "properties": {
          "aviso": {
            "type": "string"
          },
          "medios": {
            "items": {
              "$ref": "#/components/schemas/MedioConMonto"
            },
            "type": "array"
          },
          "moneda": {
            "type": "string"
          },
          "monto": {
            "type": "string"
          },
          "origen": {
            "$ref": "#/components/schemas/OrigenCotizacion"
          },
          "referencia": {
            "type": "string"
          },
          "vence_en": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "aviso",
          "medios",
          "moneda",
          "monto",
          "origen",
          "referencia",
          "vence_en"
        ],
        "type": "object"
      },
      "ParcheDeOferta": {
        "properties": {
          "etiquetas": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "oferta_id": {
            "type": "string"
          }
        },
        "required": [
          "etiquetas",
          "oferta_id"
        ],
        "type": "object"
      },
      "Paso": {
        "properties": {
          "bloqueado_por": {
            "type": [
              "string",
              "null"
            ]
          },
          "como_se_verifica": {
            "type": "string"
          },
          "cuando": {
            "$ref": "#/components/schemas/Cuando"
          },
          "enlace": {
            "type": [
              "string",
              "null"
            ]
          },
          "estado": {
            "$ref": "#/components/schemas/EstadoDelPaso"
          },
          "id": {
            "type": "string"
          },
          "opcional": {
            "type": "boolean"
          },
          "que": {
            "type": "string"
          },
          "quien": {
            "$ref": "#/components/schemas/Quien"
          }
        },
        "required": [
          "bloqueado_por",
          "como_se_verifica",
          "cuando",
          "estado",
          "id",
          "opcional",
          "que",
          "quien"
        ],
        "type": "object"
      },
      "PasoDelOnboarding": {
        "properties": {
          "id": {
            "type": "string"
          },
          "step": {
            "format": "uint8",
            "maximum": 255,
            "minimum": 0,
            "type": "integer"
          },
          "text": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "step",
          "text",
          "title"
        ],
        "type": "object"
      },
      "PedidoDeCotizacion": {
        "additionalProperties": false,
        "properties": {
          "cantidad": {
            "default": null,
            "format": "uint32",
            "maximum": 999,
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          },
          "contacto": {
            "maxLength": 320,
            "minLength": 1,
            "pattern": "\\S",
            "type": "string"
          },
          "datos": {
            "additionalProperties": {
              "$ref": "#/components/schemas/DatoDelPedido"
            },
            "maxProperties": 20,
            "type": [
              "object",
              "null"
            ]
          },
          "descripcion": {
            "maxLength": 2000,
            "minLength": 1,
            "pattern": "\\S",
            "type": "string"
          },
          "fecha_deseada": {
            "default": null,
            "pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}$",
            "type": [
              "string",
              "null"
            ]
          },
          "nombre": {
            "default": null,
            "maxLength": 120,
            "type": [
              "string",
              "null"
            ]
          },
          "notas": {
            "default": null,
            "maxLength": 1000,
            "type": [
              "string",
              "null"
            ]
          },
          "oferta_id": {
            "maxLength": 32,
            "minLength": 1,
            "pattern": "\\S",
            "type": "string"
          }
        },
        "required": [
          "contacto",
          "descripcion",
          "oferta_id"
        ],
        "type": "object"
      },
      "PedidoEnLaCola": {
        "properties": {
          "creado_en": {
            "type": "string"
          },
          "dominio": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "creado_en",
          "dominio",
          "slug"
        ],
        "type": "object"
      },
      "PedidoQueSeVe": {
        "properties": {
          "creado_en": {
            "type": "string"
          },
          "entregado_en": {
            "type": [
              "string",
              "null"
            ]
          },
          "estado": {
            "$ref": "#/components/schemas/EstadoQueSeVe"
          }
        },
        "required": [
          "creado_en",
          "entregado_en",
          "estado"
        ],
        "type": "object"
      },
      "PeticionJsonRpc": {
        "properties": {
          "id": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/IdJsonRpc"
              },
              {
                "type": "null"
              }
            ]
          },
          "jsonrpc": {
            "$ref": "#/components/schemas/VersionJsonRpc"
          },
          "method": {
            "type": "string"
          },
          "params": {
            "additionalProperties": true,
            "default": null,
            "type": [
              "object",
              "null"
            ]
          }
        },
        "required": [
          "jsonrpc",
          "method"
        ],
        "type": "object"
      },
      "PiernaEnLaRespuesta": {
        "properties": {
          "candidatos": {
            "items": {
              "$ref": "#/components/schemas/Candidato"
            },
            "type": "array"
          },
          "nombre": {
            "type": "string"
          },
          "numero": {
            "format": "uint32",
            "minimum": 0,
            "type": "integer"
          },
          "para_una_persona": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PiezaEnLaRespuesta"
              },
              {
                "type": "null"
              }
            ]
          },
          "se_busca": {
            "type": "boolean"
          }
        },
        "required": [
          "candidatos",
          "nombre",
          "numero",
          "se_busca"
        ],
        "type": "object"
      },
      "PiezaEnLaRespuesta": {
        "properties": {
          "forma": {
            "type": "string"
          },
          "nombre": {
            "type": "string"
          },
          "superficies": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "tramo": {
            "type": "string"
          }
        },
        "required": [
          "forma",
          "nombre",
          "superficies",
          "tramo"
        ],
        "type": "object"
      },
      "Plan": {
        "properties": {
          "casos": {
            "items": {
              "$ref": "#/components/schemas/Caso"
            },
            "type": "array"
          },
          "combos_propuestos": {
            "items": {
              "$ref": "#/components/schemas/ComboPropuesto"
            },
            "type": "array"
          },
          "dominio": {
            "type": "string"
          },
          "donde_esta": {
            "$ref": "#/components/schemas/DondeEsta"
          },
          "esquema": {
            "type": "string"
          },
          "estado": {
            "type": "string"
          },
          "extraido": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Extraido"
              },
              {
                "type": "null"
              }
            ]
          },
          "listo_en": {
            "$ref": "#/components/schemas/ListoEn"
          },
          "lo_que_no_se_promete": {
            "type": "string"
          },
          "parche": {
            "items": {
              "$ref": "#/components/schemas/ParcheDeOferta"
            },
            "type": "array"
          },
          "pasos": {
            "items": {
              "$ref": "#/components/schemas/Paso"
            },
            "type": "array"
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "casos",
          "combos_propuestos",
          "dominio",
          "donde_esta",
          "esquema",
          "estado",
          "extraido",
          "listo_en",
          "lo_que_no_se_promete",
          "parche",
          "pasos",
          "slug"
        ],
        "type": "object"
      },
      "PorQueNoHay": {
        "enum": [
          "INPUT_MISSING",
          "CATALOG_COVERAGE_UNKNOWN",
          "DISCOVERY_MISMATCH",
          "ADAPTER_GAP",
          "AVAILABILITY_GAP",
          "CONSTRAINT_CONFLICT",
          "CAPABILITY_GAP_CONFIRMED_IN_SCOPE",
          "OUTCOME_GAP",
          "sin_clasificar",
          "fuera_de_alcance",
          "sin_oferta",
          "sin_superficie",
          "sin_credencial"
        ],
        "type": "string"
      },
      "PrecioDelCaso": {
        "oneOf": [
          {
            "properties": {
              "comprometible": {
                "type": "boolean"
              },
              "modo": {
                "const": "publicado",
                "type": "string"
              },
              "moneda": {
                "type": "string"
              },
              "monto": {
                "type": "string"
              }
            },
            "required": [
              "comprometible",
              "modo",
              "moneda",
              "monto"
            ],
            "type": "object"
          },
          {
            "properties": {
              "modo": {
                "const": "a_cotizar",
                "type": "string"
              }
            },
            "required": [
              "modo"
            ],
            "type": "object"
          }
        ]
      },
      "PrecioLeido": {
        "properties": {
          "leido_el": {
            "type": "string"
          },
          "medios": {
            "items": {
              "$ref": "#/components/schemas/MedioLeido"
            },
            "type": "array"
          },
          "rotulo": {
            "type": "string"
          }
        },
        "required": [
          "leido_el",
          "medios",
          "rotulo"
        ],
        "type": "object"
      },
      "PrestadorDeLasAmarillas": {
        "properties": {
          "prestador_id": {
            "type": "string"
          },
          "procedencia": {
            "$ref": "#/components/schemas/ProcedenciaDelCandidato"
          },
          "prueba": {
            "$ref": "#/components/schemas/PruebaEnLaRespuesta"
          },
          "servicios": {
            "items": {
              "$ref": "#/components/schemas/ServicioDeLasAmarillas"
            },
            "type": "array"
          },
          "servicios_total": {
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "prestador_id",
          "procedencia",
          "prueba",
          "servicios",
          "servicios_total"
        ],
        "type": "object"
      },
      "ProcedenciaDelCandidato": {
        "enum": [
          "tenant",
          "prestador",
          "tercero"
        ],
        "type": "string"
      },
      "ProcedenciaDelCaso": {
        "properties": {
          "accion": {
            "type": "string"
          },
          "alias": {
            "type": "string"
          },
          "frase": {
            "type": "string"
          },
          "precio": {
            "type": "string"
          }
        },
        "required": [
          "accion",
          "alias",
          "frase",
          "precio"
        ],
        "type": "object"
      },
      "Proposito": {
        "enum": [
          "comunicaciones",
          "trabajos_sin_confianza",
          "reputacion_e_identidad",
          "enjambre",
          "endpoints_x402",
          "pagos",
          "persistencia",
          "billetera"
        ],
        "type": "string"
      },
      "PropositoQueSeJunta": {
        "properties": {
          "id": {
            "$ref": "#/components/schemas/Proposito"
          },
          "nombre": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "nombre"
        ],
        "type": "object"
      },
      "PropositoServido": {
        "properties": {
          "capacidades": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "id": {
            "$ref": "#/components/schemas/Proposito"
          },
          "nombre": {
            "$ref": "#/components/schemas/TextoServido"
          }
        },
        "required": [
          "capacidades",
          "id",
          "nombre"
        ],
        "type": "object"
      },
      "Proveedor": {
        "properties": {
          "organization": {
            "type": "string"
          },
          "url": {
            "type": "string"
          }
        },
        "required": [
          "organization",
          "url"
        ],
        "type": "object"
      },
      "PruebaEnLaRespuesta": {
        "properties": {
          "compradores_distintos": {
            "format": "uint64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "compradores_externos": {
            "format": "uint64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "marca": {
            "type": "string"
          },
          "nivel": {
            "$ref": "#/components/schemas/NivelDePrueba"
          },
          "reputacion": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "trabajos_completados": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "compradores_distintos",
          "compradores_externos",
          "marca",
          "nivel",
          "reputacion",
          "trabajos_completados"
        ],
        "type": "object"
      },
      "PruebaServida": {
        "properties": {
          "en": {
            "type": "string"
          },
          "es": {
            "type": "string"
          },
          "fecha": {
            "type": "string"
          }
        },
        "required": [
          "en",
          "es",
          "fecha"
        ],
        "type": "object"
      },
      "Publicado": {
        "properties": {
          "dominio": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "url_ficha": {
            "type": "string"
          },
          "url_mcp": {
            "type": "string"
          }
        },
        "required": [
          "dominio",
          "slug",
          "url_ficha",
          "url_mcp"
        ],
        "type": "object"
      },
      "PuertaDePaybox": {
        "oneOf": [
          {
            "const": "mcp",
            "type": "string"
          },
          {
            "const": "cli",
            "type": "string"
          },
          {
            "const": "sdk_typescript",
            "type": "string"
          }
        ]
      },
      "PuertaDeTool": {
        "oneOf": [
          {
            "const": "mcp",
            "type": "string"
          },
          {
            "const": "mostrador",
            "type": "string"
          },
          {
            "const": "directa",
            "type": "string"
          },
          {
            "const": "paybox",
            "type": "string"
          }
        ]
      },
      "PuertaDelOnboarding": {
        "properties": {
          "code": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "docs": {
            "type": "string"
          },
          "id": {
            "$ref": "#/components/schemas/PuertaDePaybox"
          },
          "name": {
            "type": "string"
          },
          "text": {
            "type": "string"
          }
        },
        "required": [
          "code",
          "docs",
          "id",
          "name",
          "text"
        ],
        "type": "object"
      },
      "PuertasServidas": {
        "properties": {
          "api": {
            "type": "string"
          },
          "bloque": {
            "type": "string"
          },
          "cli": {
            "type": "string"
          },
          "mcp": {
            "type": "string"
          },
          "sdk": {
            "type": "string"
          },
          "sdk_lenguajes": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "api",
          "bloque",
          "cli",
          "mcp",
          "sdk",
          "sdk_lenguajes"
        ],
        "type": "object"
      },
      "Quien": {
        "enum": [
          "negocio_en_emporium",
          "negocio_en_su_dominio",
          "nadie_todavia"
        ],
        "type": "string"
      },
      "Recomendacion": {
        "properties": {
          "capacidad": {
            "type": "string"
          },
          "cobertura": {
            "$ref": "#/components/schemas/Cobertura"
          },
          "estado": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/EstadoDeCapacidad"
              },
              {
                "type": "null"
              }
            ]
          },
          "necesidad": {
            "type": "string"
          },
          "proposito": {
            "$ref": "#/components/schemas/Proposito"
          },
          "razones": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "capacidad",
          "cobertura",
          "estado",
          "necesidad",
          "proposito",
          "razones"
        ],
        "type": "object"
      },
      "RecursoDeReserva": {
        "properties": {
          "id": {
            "type": "string"
          },
          "nombre": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "nombre"
        ],
        "type": "object"
      },
      "ReporteDelDiagnostico": {
        "properties": {
          "diagnostico": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Diagnostico"
              },
              {
                "type": "null"
              }
            ]
          },
          "dominio": {
            "type": "string"
          },
          "matcheo": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Matcheo"
              },
              {
                "type": "null"
              }
            ]
          },
          "pedido": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PedidoQueSeVe"
              },
              {
                "type": "null"
              }
            ]
          },
          "plan": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/Plan"
              },
              {
                "type": "null"
              }
            ]
          },
          "propiedad_probada_en": {
            "type": [
              "string",
              "null"
            ]
          },
          "recibido_en": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "diagnostico",
          "dominio",
          "pedido",
          "propiedad_probada_en",
          "recibido_en",
          "slug"
        ],
        "type": "object"
      },
      "Reputacion": {
        "properties": {
          "estado": {
            "type": "string"
          }
        },
        "required": [
          "estado"
        ],
        "type": "object"
      },
      "ReputacionDelTercero": {
        "oneOf": [
          {
            "properties": {
              "estado": {
                "const": "no_disponible_en_emporium",
                "type": "string"
              }
            },
            "required": [
              "estado"
            ],
            "type": "object"
          }
        ]
      },
      "RespuestaDeLaBusqueda": {
        "properties": {
          "autopistas": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BloqueDeAutopistas"
              },
              {
                "type": "null"
              }
            ]
          },
          "aviso": {
            "type": "string"
          },
          "candidatos": {
            "items": {
              "$ref": "#/components/schemas/Candidato"
            },
            "type": "array"
          },
          "consulta": {
            "$ref": "#/components/schemas/ConsultaRespondida"
          },
          "hueco": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/HuecoPlan"
              },
              {
                "type": "null"
              }
            ]
          },
          "motor": {
            "$ref": "#/components/schemas/MotorDeLaRespuesta"
          },
          "raiz": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/BloqueDeLaRaiz"
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "autopistas",
          "aviso",
          "candidatos",
          "consulta",
          "hueco",
          "motor",
          "raiz"
        ],
        "type": "object"
      },
      "RespuestaDelNegocio": {
        "additionalProperties": false,
        "properties": {
          "mensaje": {
            "default": null,
            "maxLength": 1000,
            "type": [
              "string",
              "null"
            ]
          },
          "moneda": {
            "default": null,
            "pattern": "^[A-Z]{3}$",
            "type": [
              "string",
              "null"
            ]
          },
          "monto": {
            "default": null,
            "pattern": "^[0-9]{1,9}(\\.[0-9]{1,2})?$",
            "type": [
              "string",
              "null"
            ]
          },
          "precio_texto": {
            "default": null,
            "maxLength": 280,
            "type": [
              "string",
              "null"
            ]
          },
          "validez_horas": {
            "default": null,
            "format": "uint32",
            "maximum": 9999,
            "minimum": 1,
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "RespuestaDelNegocioEnFormulario": {
        "additionalProperties": false,
        "properties": {
          "mensaje": {
            "default": null,
            "type": [
              "string",
              "null"
            ]
          },
          "moneda": {
            "default": null,
            "type": [
              "string",
              "null"
            ]
          },
          "monto": {
            "default": null,
            "type": [
              "string",
              "null"
            ]
          },
          "precio_texto": {
            "default": null,
            "type": [
              "string",
              "null"
            ]
          },
          "validez_horas": {
            "default": null,
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "RespuestaDelPedido": {
        "properties": {
          "aviso": {
            "type": "string"
          },
          "dominio": {
            "type": "string"
          },
          "pedido": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/PedidoQueSeVe"
              },
              {
                "type": "null"
              }
            ]
          },
          "propiedad_probada_en": {
            "type": [
              "string",
              "null"
            ]
          },
          "slug": {
            "type": "string"
          }
        },
        "required": [
          "aviso",
          "dominio",
          "pedido",
          "propiedad_probada_en",
          "slug"
        ],
        "type": "object"
      },
      "RespuestaJsonRpc": {
        "properties": {
          "error": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ErrorJsonRpc"
              },
              {
                "type": "null"
              }
            ]
          },
          "id": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/IdJsonRpc"
              },
              {
                "type": "null"
              }
            ]
          },
          "jsonrpc": {
            "$ref": "#/components/schemas/VersionJsonRpc"
          },
          "result": {
            "additionalProperties": true,
            "type": [
              "object",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "jsonrpc"
        ],
        "type": "object"
      },
      "RespuestaPublica": {
        "properties": {
          "mensaje": {
            "type": [
              "string",
              "null"
            ]
          },
          "moneda": {
            "type": [
              "string",
              "null"
            ]
          },
          "monto": {
            "type": [
              "string",
              "null"
            ]
          },
          "precio_texto": {
            "type": [
              "string",
              "null"
            ]
          },
          "validez_horas": {
            "format": "uint32",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          }
        },
        "required": [
          "mensaje",
          "moneda",
          "monto",
          "precio_texto",
          "validez_horas"
        ],
        "type": "object"
      },
      "ResultadoDeLaLectura": {
        "enum": [
          "ok",
          "token_no_encontrado",
          "token_distinto",
          "dominio_no_resuelve",
          "destino_no_permitido",
          "tiempo_agotado",
          "respuesta_no_valida"
        ],
        "type": "string"
      },
      "Rio": {
        "properties": {
          "asientos_perdidos": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "aviso": {
            "type": "string"
          },
          "desde": {
            "type": "string"
          },
          "enlaces": {
            "items": {
              "$ref": "#/components/schemas/EnlaceDelRio"
            },
            "type": "array"
          },
          "esquema": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "generado_el": {
            "type": "string"
          },
          "hasta": {
            "type": "string"
          },
          "huecos": {
            "items": {
              "$ref": "#/components/schemas/HuecoDelRio"
            },
            "type": "array"
          },
          "nodos": {
            "items": {
              "$ref": "#/components/schemas/NodoDelRio"
            },
            "type": "array"
          },
          "politicas": {
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "total_asientos": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "total_flujos": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          },
          "ventana": {
            "type": "string"
          }
        },
        "required": [
          "asientos_perdidos",
          "aviso",
          "desde",
          "enlaces",
          "esquema",
          "generado_el",
          "hasta",
          "huecos",
          "nodos",
          "politicas",
          "total_asientos",
          "total_flujos",
          "ventana"
        ],
        "type": "object"
      },
      "Salud": {
        "additionalProperties": false,
        "properties": {
          "estado": {
            "$ref": "#/components/schemas/EstadoDeLaSalud"
          },
          "ts": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "estado",
          "ts",
          "version"
        ],
        "type": "object"
      },
      "ServicioDeLasAmarillas": {
        "properties": {
          "declarado_por_el_prestador": {
            "$ref": "#/components/schemas/DeclaradoPorElPrestador"
          },
          "servicio_id": {
            "type": "string"
          }
        },
        "required": [
          "declarado_por_el_prestador",
          "servicio_id"
        ],
        "type": "object"
      },
      "SnippetWebMcp": {
        "properties": {
          "contenido": {
            "type": "string"
          },
          "tipo": {
            "type": "string"
          }
        },
        "required": [
          "contenido",
          "tipo"
        ],
        "type": "object"
      },
      "SobreDeError": {
        "additionalProperties": false,
        "properties": {
          "error": {
            "$ref": "#/components/schemas/CuerpoDelError"
          }
        },
        "required": [
          "error"
        ],
        "type": "object"
      },
      "TarjetaA2a": {
        "properties": {
          "additionalInterfaces": {
            "items": {
              "$ref": "#/components/schemas/InterfazConTransporte"
            },
            "type": "array"
          },
          "capabilities": {
            "$ref": "#/components/schemas/CapacidadesA2a"
          },
          "defaultInputModes": {
            "items": {
              "type": "string"
            },
            "maxItems": 1,
            "minItems": 1,
            "type": "array"
          },
          "defaultOutputModes": {
            "items": {
              "type": "string"
            },
            "maxItems": 1,
            "minItems": 1,
            "type": "array"
          },
          "description": {
            "type": "string"
          },
          "documentationUrl": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "preferredTransport": {
            "type": "string"
          },
          "provider": {
            "$ref": "#/components/schemas/Proveedor"
          },
          "skills": {
            "items": {
              "$ref": "#/components/schemas/HabilidadA2a"
            },
            "type": "array"
          },
          "supportedInterfaces": {
            "items": {
              "$ref": "#/components/schemas/InterfazConEnlace"
            },
            "type": "array"
          },
          "url": {
            "type": "string"
          },
          "version": {
            "type": "string"
          }
        },
        "required": [
          "additionalInterfaces",
          "capabilities",
          "defaultInputModes",
          "defaultOutputModes",
          "description",
          "documentationUrl",
          "name",
          "preferredTransport",
          "provider",
          "skills",
          "supportedInterfaces",
          "url",
          "version"
        ],
        "type": "object"
      },
      "TarjetaMcp": {
        "properties": {
          "authentication": {
            "$ref": "#/components/schemas/Autenticacion"
          },
          "capabilities": {
            "$ref": "#/components/schemas/Capacidades"
          },
          "discovery": {
            "$ref": "#/components/schemas/Descubrimiento"
          },
          "serverInfo": {
            "$ref": "#/components/schemas/InfoDelServidor"
          },
          "transport": {
            "$ref": "#/components/schemas/Transporte"
          }
        },
        "required": [
          "authentication",
          "capabilities",
          "discovery",
          "serverInfo",
          "transport"
        ],
        "type": "object"
      },
      "TerminosPublicos": {
        "properties": {
          "aceptados_en": {
            "type": [
              "string",
              "null"
            ]
          },
          "version": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "aceptados_en",
          "version"
        ],
        "type": "object"
      },
      "TextoServido": {
        "properties": {
          "en": {
            "type": "string"
          },
          "es": {
            "type": "string"
          }
        },
        "required": [
          "en",
          "es"
        ],
        "type": "object"
      },
      "TokenEmitido": {
        "properties": {
          "estado": {
            "$ref": "#/components/schemas/EstadoTenant"
          },
          "slug": {
            "type": "string"
          },
          "verificacion": {
            "$ref": "#/components/schemas/VerificacionConToken"
          }
        },
        "required": [
          "estado",
          "slug",
          "verificacion"
        ],
        "type": "object"
      },
      "ToolAnnotations": {
        "properties": {
          "destructiveHint": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "idempotentHint": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "openWorldHint": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "readOnlyHint": {
            "type": [
              "boolean",
              "null"
            ]
          },
          "title": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "type": "object"
      },
      "ToolDeLaVistaPrevia": {
        "properties": {
          "anotaciones": {
            "$ref": "#/components/schemas/ToolAnnotations"
          },
          "descripcion": {
            "type": "string"
          },
          "nombre": {
            "type": "string"
          },
          "titulo": {
            "type": "string"
          }
        },
        "required": [
          "anotaciones",
          "descripcion",
          "nombre",
          "titulo"
        ],
        "type": "object"
      },
      "ToolServida": {
        "properties": {
          "clase": {
            "type": [
              "string",
              "null"
            ]
          },
          "credencial": {
            "type": [
              "string",
              "null"
            ]
          },
          "nombre": {
            "type": "string"
          },
          "puerta": {
            "$ref": "#/components/schemas/PuertaDeTool"
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "clase",
          "credencial",
          "nombre",
          "puerta",
          "url"
        ],
        "type": "object"
      },
      "TramoDelCombo": {
        "enum": [
          "A",
          "C",
          "D"
        ],
        "type": "string"
      },
      "Transporte": {
        "properties": {
          "endpoint": {
            "type": "string"
          },
          "type": {
            "type": "string"
          }
        },
        "required": [
          "endpoint",
          "type"
        ],
        "type": "object"
      },
      "Ventana": {
        "enum": [
          "1h",
          "24h",
          "7d",
          "30d"
        ],
        "type": "string"
      },
      "VentanaAplicada": {
        "properties": {
          "desde": {
            "type": "string"
          },
          "hasta": {
            "type": "string"
          },
          "horas": {
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "desde",
          "hasta",
          "horas"
        ],
        "type": "object"
      },
      "VerificacionConToken": {
        "properties": {
          "estado": {
            "type": "string"
          },
          "expira_en": {
            "type": "string"
          },
          "lecturas": {
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          },
          "metodos": {
            "$ref": "#/components/schemas/Metodos"
          },
          "separacion_minima_horas": {
            "format": "int64",
            "type": "integer"
          },
          "token": {
            "type": "string"
          }
        },
        "required": [
          "estado",
          "expira_en",
          "lecturas",
          "metodos",
          "separacion_minima_horas",
          "token"
        ],
        "type": "object"
      },
      "VerificacionPublica": {
        "properties": {
          "estado": {
            "type": "string"
          },
          "lecturas": {
            "format": "uint",
            "minimum": 0,
            "type": "integer"
          },
          "metodos_usados": {
            "items": {
              "$ref": "#/components/schemas/MetodoVerificacion"
            },
            "type": "array"
          },
          "primera_lectura": {
            "type": [
              "string",
              "null"
            ]
          },
          "separacion_horas": {
            "format": "double",
            "type": [
              "number",
              "null"
            ]
          },
          "ultima_lectura": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "estado",
          "lecturas",
          "metodos_usados",
          "primera_lectura",
          "separacion_horas",
          "ultima_lectura"
        ],
        "type": "object"
      },
      "VersionJsonRpc": {
        "enum": [
          "2.0"
        ],
        "type": "string"
      },
      "ViaDePago": {
        "enum": [
          "x402",
          "enlace_tarjeta",
          "fuera_de_banda",
          "ninguna"
        ],
        "type": "string"
      },
      "VistaDelTenant": {
        "properties": {
          "actualizado_en": {
            "type": "string"
          },
          "aviso": {
            "type": "string"
          },
          "canal_humano": {
            "$ref": "#/components/schemas/CanalPublico"
          },
          "dominio": {
            "type": "string"
          },
          "estado": {
            "$ref": "#/components/schemas/EstadoTenant"
          },
          "manifiesto": {
            "anyOf": [
              {
                "$ref": "#/components/schemas/ManifiestoPublico"
              },
              {
                "type": "null"
              }
            ]
          },
          "medios_de_pago": {
            "items": true,
            "type": "array"
          },
          "operador": {
            "$ref": "#/components/schemas/Operador"
          },
          "publicado_por_negocio": {
            "type": "boolean"
          },
          "reputacion": {
            "$ref": "#/components/schemas/Reputacion"
          },
          "slug": {
            "type": "string"
          },
          "terminos": {
            "$ref": "#/components/schemas/TerminosPublicos"
          },
          "url_ficha": {
            "type": "string"
          },
          "url_mcp": {
            "type": "string"
          },
          "verificacion": {
            "$ref": "#/components/schemas/VerificacionPublica"
          },
          "version": {
            "format": "uint64",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "actualizado_en",
          "aviso",
          "canal_humano",
          "dominio",
          "estado",
          "manifiesto",
          "medios_de_pago",
          "operador",
          "publicado_por_negocio",
          "reputacion",
          "slug",
          "terminos",
          "url_ficha",
          "url_mcp",
          "verificacion",
          "version"
        ],
        "type": "object"
      },
      "VistaPrevia": {
        "properties": {
          "cuando_es_publico": {
            "type": "string"
          },
          "estado": {
            "$ref": "#/components/schemas/EstadoTenant"
          },
          "jsonld": true,
          "manifiesto_publico": {
            "$ref": "#/components/schemas/ManifiestoPublico"
          },
          "publico": {
            "type": "boolean"
          },
          "slug": {
            "type": "string"
          },
          "tools": {
            "items": {
              "$ref": "#/components/schemas/ToolDeLaVistaPrevia"
            },
            "type": "array"
          },
          "url_ficha": {
            "type": "string"
          },
          "url_mcp": {
            "type": "string"
          }
        },
        "required": [
          "cuando_es_publico",
          "estado",
          "jsonld",
          "manifiesto_publico",
          "publico",
          "slug",
          "tools",
          "url_ficha",
          "url_mcp"
        ],
        "type": "object"
      },
      "Vivo": {
        "properties": {
          "estado": {
            "$ref": "#/components/schemas/EstadoVivo"
          },
          "latencia_ms": {
            "format": "uint64",
            "minimum": 0,
            "type": [
              "integer",
              "null"
            ]
          },
          "ultimo_sondeo": {
            "type": "string"
          }
        },
        "required": [
          "estado",
          "latencia_ms",
          "ultimo_sondeo"
        ],
        "type": "object"
      },
      "WalletOnboarding": {
        "properties": {
          "custody": {
            "type": "string"
          },
          "doors": {
            "items": {
              "$ref": "#/components/schemas/PuertaDelOnboarding"
            },
            "type": "array"
          },
          "emporium_holds_your_keys": {
            "type": "boolean"
          },
          "language": {
            "type": "string"
          },
          "links": {
            "$ref": "#/components/schemas/EnlacesDePaybox"
          },
          "read_on": {
            "type": "string"
          },
          "steps": {
            "items": {
              "$ref": "#/components/schemas/PasoDelOnboarding"
            },
            "type": "array"
          },
          "summary": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "wallet_provider": {
            "type": "string"
          }
        },
        "required": [
          "custody",
          "doors",
          "emporium_holds_your_keys",
          "language",
          "links",
          "read_on",
          "steps",
          "summary",
          "title",
          "wallet_provider"
        ],
        "type": "object"
      }
    }
  }
}
