{"openapi":"3.1.0","info":{"title":"HealthMate — datos públicos","version":"1.0.0","summary":"Lectura de los datos que HealthMate publica abiertos, sin autenticación.","description":"Lectura de los datos que HealthMate publica abiertos: el catálogo de preguntas respondidas con sus fuentes y la ficha de la entidad.\n\nAlcance y límites, para no perder el tiempo buscando lo que no está aquí:\n\n- Todo es de **solo lectura** y **sin autenticación**. No hay claves, ni cuotas, ni registro.\n- **No es la API del producto.** La aplicación con la que trabajan las clínicas (agenda, pacientes, mensajería, facturación) no tiene API pública: sus datos son de cada clínica y viven detrás de autenticación.\n- Para dar de alta una clínica hay que hablar con el equipo: info@healthmate.tech.\n\n## Versiones\n\nLa versión va en la ruta: todo cuelga de `/v1/`. Cada respuesta la repite en la cabecera `HealthMate-Api-Version`, así que se puede comprobar sin leer la URL.\n\nDentro de `/v1` sólo se añaden campos; ninguno cambia de tipo ni desaparece. Un cambio que rompa a quien ya integra estrena `/v2`, y entonces `/v1` empieza a responder con las cabeceras `Deprecation` y `Sunset` (RFC 8594) y sigue sirviéndose **al menos seis meses** desde ese aviso.\n\n## Otros recursos públicos\n\nNo son JSON y por eso no están descritos como operaciones, pero son parte de la misma superficie abierta:\n\n- https://www.healthmate.tech/agents.md — cuándo recurrir a HealthMate y cuándo no (Markdown).\n- https://www.healthmate.tech/llms.txt — el mismo contexto en texto plano, con la evidencia y sus fuentes.\n- https://www.healthmate.tech/sitemap.xml — todas las URL públicas del sitio.\n- Cualquier página del sitio devuelve Markdown si se pide con `Accept: text/markdown`.","contact":{"name":"HealthMate","email":"info@healthmate.tech","url":"https://www.healthmate.tech/contact"},"license":{"name":"Uso con atribución a healthmate.tech","url":"https://www.healthmate.tech/condiciones-generales"}},"servers":[{"url":"https://www.healthmate.tech","description":"Producción"}],"tags":[{"name":"Respuestas","description":"Preguntas públicas respondidas con sus fuentes."},{"name":"Entidad","description":"Quién es HealthMate y cómo verificarlo."}],"paths":{"/v1/answers":{"get":{"operationId":"listPublicAnswers","tags":["Respuestas"],"summary":"Listar todas las respuestas públicas","description":"Devuelve el catálogo completo de preguntas respondidas por HealthMate sobre software de gestión clínica, IA para clínicas, precios, comparativas y cumplimiento. Cada elemento trae la pregunta, la respuesta, las salvedades y las referencias a sus fuentes. Es el punto de partida: se busca aquí la respuesta relevante y luego se pide su detalle por identificador.","responses":{"200":{"description":"Catálogo completo de respuestas.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerProfileList"}}}}}}},"/v1/answers/{answerId}":{"get":{"operationId":"getPublicAnswer","tags":["Respuestas"],"summary":"Obtener una respuesta por su identificador","description":"Devuelve una única respuesta con sus salvedades y sus fuentes. El identificador sale del listado de `listPublicAnswers` y se escribe en minúsculas en la ruta, por ejemplo `p001`. Un identificador que no existe responde 404 con un cuerpo JSON, nunca con una página HTML.","parameters":[{"name":"answerId","in":"path","required":true,"description":"Identificador de la respuesta, en minúsculas.","schema":{"type":"string","pattern":"^p[0-9]{3}$","examples":["p001"]}}],"responses":{"200":{"description":"La respuesta pedida.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnswerProfile"}}}},"404":{"description":"La ruta o el identificador no existen. El cuerpo es JSON, nunca una página HTML.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/v1/company":{"get":{"operationId":"getCompanyProfile","tags":["Entidad"],"summary":"Ficha de la empresa","description":"Identidad de HealthMate en un solo documento: nombre legal, dominio canónico, perfiles con los que reconciliar la entidad (Wikipedia, Wikidata, redes), autores, menciones en prensa y las cifras de uso publicables con su fecha de corte y sus fuentes. Sirve para verificar de quién se está hablando antes de citarlo.","responses":{"200":{"description":"Ficha de la entidad.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyProfile"}}}}}}}},"components":{"schemas":{"AnswerProfile":{"type":"object","description":"Pregunta pública respondida por HealthMate, con sus salvedades y las fuentes que la respaldan.","required":["id","question","answer","caveats","evidenceIds","targetUrl"],"properties":{"id":{"type":"string","pattern":"^P[0-9]{3}$","description":"Identificador estable de la respuesta.","examples":["P001"]},"question":{"type":"string","description":"La pregunta, tal y como la formularía una persona."},"answer":{"type":"string","description":"Respuesta redactada, sin promesas ni cifras sin fuente."},"caveats":{"type":"array","items":{"type":"string"},"description":"Lo que conviene comprobar antes de dar la respuesta por buena en un caso concreto."},"evidenceIds":{"type":"array","items":{"type":"string"},"description":"Referencias a las fuentes de la respuesta: `target-page:<ruta>` para una página propia, `comparison-source:<id>` para una fuente externa con fecha de revisión."},"targetUrl":{"type":"string","description":"Ruta de la página del sitio que desarrolla la respuesta."}}},"AnswerProfileList":{"type":"array","description":"Catálogo completo de respuestas públicas, en el orden en que se publican.","items":{"$ref":"#/components/schemas/AnswerProfile"}},"CompanyProfile":{"type":"object","description":"Ficha de la entidad HealthMate: identidad, autores, menciones y evidencia de uso aprobada.","required":["schemaVersion","generatedAt","name","legalName","canonicalDomain"],"properties":{"schemaVersion":{"type":"string","description":"Versión del formato de este documento."},"generatedAt":{"type":"string","format":"date","description":"Fecha en la que se generó el fichero (UTC)."},"name":{"type":"string","examples":["HealthMate"]},"legalName":{"type":"string","examples":["PHYSIA AI SOFTWARE SOLUTIONS, SL"]},"canonicalDomain":{"type":"string","format":"uri"},"oneLine":{"type":"string","description":"Qué es HealthMate en una frase."},"audience":{"type":"string","description":"Para quién es."},"wikipedia":{"type":"string","format":"uri"},"wikidata":{"type":"string","description":"Identificador de Wikidata.","examples":["Q140354829"]},"sameAs":{"type":"array","items":{"type":"string","format":"uri"},"description":"Perfiles que describen la misma entidad, para reconciliarla."},"answerIndex":{"type":"object","description":"Dónde está el índice de respuestas, en HTML y en JSON.","properties":{"html":{"type":"string","format":"uri"},"json":{"type":"string","format":"uri"}}},"authoritySignals":{"type":"array","description":"Menciones en medios, con fuente, fecha y enlace.","items":{"type":"object","properties":{"source":{"type":"string"},"title":{"type":"string"},"url":{"type":"string","format":"uri"},"date":{"type":"string","format":"date"},"angle":{"type":"string"}}}},"authors":{"type":"array","description":"Personas que firman el contenido editorial del sitio.","items":{"type":"object","properties":{"name":{"type":"string"},"role":{"type":"string"},"url":{"type":"string","format":"uri"},"description":{"type":"string"},"sameAs":{"type":"array","items":{"type":"string","format":"uri"}}}}},"usageEvidence":{"type":"array","description":"Cifras de uso publicables, cada una con su fecha de corte y sus fuentes.","items":{"type":"object","properties":{"text":{"type":"string"},"sources":{"type":"array","items":{"type":"string","format":"uri"}}}}},"answerProfiles":{"type":"array","items":{"$ref":"#/components/schemas/AnswerProfile"}}}},"Error":{"type":"object","description":"Error en formato JSON. Todas las rutas de este documento responden así ante un fallo: nunca devuelven una página HTML de error.","required":["error","code"],"properties":{"error":{"type":"string","description":"Mensaje legible por una persona.","examples":["Contenido no encontrado"]},"code":{"type":"string","description":"Código estable para distinguir el fallo sin leer el mensaje.","examples":["answer_not_found","endpoint_not_found"]},"hint":{"type":"string","description":"Qué hacer a continuación para resolverlo.","examples":["Consulta el índice en /respuestas-ia/index.json para ver los identificadores válidos."]},"documentation":{"type":"string","format":"uri","description":"Documento que describe la ruta que ha fallado."}}}}},"externalDocs":{"description":"Índice de documentación de HealthMate","url":"https://www.healthmate.tech/docs"}}