{"openapi":"3.1.0","info":{"title":"uni.api / MCP Platform","version":"0.2.0-vertical-apis-draft","description":"Contrato inicial da uni.api para APIs verticais, agentes, memória, Radar, saúde, jurídico, mídia, desk, WhatsApp e operação controlada."},"servers":[{"url":"https://sitedauni.com","description":"Site uni. / bridges públicas controladas"},{"url":"https://api.sitedauni.com","description":"API Node.js da plataforma uni., quando disponível"}],"paths":{"/apps/api/radar-event.php":{"post":{"summary":"Registrar evento Radar","operationId":"radarEventCreate","tags":["Radar"],"parameters":[{"$ref":"#/components/parameters/XUniClient"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RadarEventInput"}}}},"responses":{"200":{"description":"Evento registrado"}}}},"/apps/api/radar-lead.php":{"post":{"summary":"Criar lead Radar","operationId":"radarLeadCreate","tags":["Radar"],"parameters":[{"$ref":"#/components/parameters/XUniClient"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RadarLeadInput"}}}},"responses":{"200":{"description":"Lead criado"},"422":{"description":"Identificador mínimo ausente"}}}},"/apps/api/radar-score.php":{"post":{"summary":"Calcular score Radar","operationId":"radarScoreCalculate","tags":["Radar"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RadarScoreInput"}}}},"responses":{"200":{"description":"Score calculado"}}}},"/apps/api/radar-webhook.php":{"post":{"summary":"Receber webhook para Radar","operationId":"radarWebhookReceive","tags":["Radar"],"parameters":[{"$ref":"#/components/parameters/XUniClient"},{"$ref":"#/components/parameters/XUniSource"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RadarWebhookInput"}}}},"responses":{"200":{"description":"Webhook recebido"}}}},"/v1/health/clinical-workup":{"post":{"summary":"Gerar raciocínio clínico assistido para revisão médica","operationId":"healthClinicalWorkup","tags":["imuni. API"],"parameters":[{"$ref":"#/components/parameters/XTenantId"},{"$ref":"#/components/parameters/XProfessionalId"}],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClinicalWorkupRequest"}}}},"responses":{"200":{"description":"Rascunho clínico gerado para revisão médica","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClinicalWorkupResponse"}}}},"422":{"description":"Contexto insuficiente ou bloqueado por segurança"}}}},"/v1/juri/search":{"post":{"summary":"Buscar conteúdo jurídico autorizado com memória e fontes","operationId":"juriSearch","tags":["uni.juri API"],"parameters":[{"$ref":"#/components/parameters/XTenantId"},{"$ref":"#/components/parameters/XProfessionalId"}],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JuriSearchRequest"}}}},"responses":{"200":{"description":"Busca jurídica retornada para revisão profissional","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JuriSearchResponse"}}}}}}},"/v1/juri/document/analyze":{"post":{"summary":"Analisar documento jurídico e gerar pontos de atenção","operationId":"juriDocumentAnalyze","tags":["uni.juri API"],"parameters":[{"$ref":"#/components/parameters/XTenantId"},{"$ref":"#/components/parameters/XProfessionalId"}],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JuriDocumentAnalyzeRequest"}}}},"responses":{"200":{"description":"Análise jurídica assistida gerada"}}}},"/v1/media/render-preview":{"post":{"summary":"Gerar prévia de mídia em dry-run","operationId":"mediaRenderPreview","tags":["uni.media API"],"parameters":[{"$ref":"#/components/parameters/XTenantId"}],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MediaRenderPreviewRequest"}}}},"responses":{"200":{"description":"Prévia de mídia gerada ou preparada"}}}},"/v1/memory/search":{"post":{"summary":"Consultar memória por escopo permitido","operationId":"memorySearch","tags":["Memory"],"parameters":[{"$ref":"#/components/parameters/XTenantId"}],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemorySearchRequest"}}}},"responses":{"200":{"description":"Memórias retornadas conforme escopo"}}}},"/v1/desk/status":{"post":{"summary":"Consultar status do desk pareado","operationId":"deskStatus","tags":["uni.desk API"],"security":[{"bearerAuth":[]}],"responses":{"200":{"description":"Status do desk"}}}},"/v1/whatsapp/send-draft":{"post":{"summary":"Criar rascunho de envio WhatsApp sem disparo real","operationId":"whatsappSendDraft","tags":["uni.whatsapp API"],"parameters":[{"$ref":"#/components/parameters/XTenantId"}],"security":[{"bearerAuth":[]}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WhatsAppDraftRequest"}}}},"responses":{"200":{"description":"Rascunho criado para aprovação"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"XUniClient":{"name":"X-Uni-Client","in":"header","required":false,"schema":{"type":"string"}},"XUniSource":{"name":"X-Uni-Source","in":"header","required":false,"schema":{"type":"string"}},"XTenantId":{"name":"X-Tenant-Id","in":"header","required":true,"schema":{"type":"string"},"description":"ID opaco do tenant. Não usar CPF, CNPJ, e-mail, telefone, nome ou dado pessoal."},"XProfessionalId":{"name":"X-Professional-Id","in":"header","required":false,"schema":{"type":"string"},"description":"ID opaco do profissional quando aplicável."}},"schemas":{"RadarEventInput":{"type":"object","properties":{"event_type":{"type":"string","examples":["page_view","click_whatsapp","qr_scan"]},"product":{"type":"string"},"source":{"type":"string"},"visitor_id":{"type":"string"},"session_id":{"type":"string"},"page_url":{"type":"string"},"campaign_id":{"type":"string"},"lead_id":{"type":"string"},"consent":{"type":"string"},"extra":{"type":"object"}}},"RadarLeadInput":{"type":"object","properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"company":{"type":"string"},"interest":{"type":"string"},"message":{"type":"string"},"source":{"type":"string"},"campaign_id":{"type":"string"},"consent":{"type":"string"}}},"RadarScoreInput":{"type":"object","properties":{"events":{"type":"array","items":{"type":"string"}}}},"RadarWebhookInput":{"type":"object","properties":{"event_type":{"type":"string"},"source":{"type":"string"},"lead_id":{"type":"string"},"conversation_id":{"type":"string"},"campaign_id":{"type":"string"},"status":{"type":"string"},"summary":{"type":"string"},"meta":{"type":"object"}}},"ClinicalWorkupRequest":{"type":"object","required":["mode","patient_context","requested_outputs","safety"],"properties":{"mode":{"type":"string","enum":["professional_assisted"]},"country":{"type":"string","default":"BR"},"language":{"type":"string","default":"pt-BR"},"patient_context":{"type":"object","properties":{"age":{"type":"integer"},"sex":{"type":"string"},"chief_complaint":{"type":"string"},"history":{"type":"string"},"vitals":{"type":"object"},"exam":{"type":"string"},"known_conditions":{"type":"array","items":{"type":"string"}},"medications":{"type":"array","items":{"type":"string"}},"allergies":{"type":"array","items":{"type":"string"}}}},"requested_outputs":{"type":"array","items":{"type":"string"}},"memory":{"type":"object","properties":{"use_memory":{"type":"boolean"},"allowed_scopes":{"type":"array","items":{"type":"string","enum":["professional","tenant","case"]}},"case_id":{"type":"string"}}},"safety":{"type":"object","required":["require_medical_review","block_final_diagnosis","block_autonomous_prescription"],"properties":{"require_medical_review":{"type":"boolean","const":true},"block_final_diagnosis":{"type":"boolean","const":true},"block_autonomous_prescription":{"type":"boolean","const":true}}}}},"ClinicalWorkupResponse":{"type":"object","properties":{"request_id":{"type":"string"},"status":{"type":"string","enum":["draft_for_medical_review"]},"risk_level":{"type":"string","enum":["R4"]},"clinical_summary":{"type":"string"},"soap":{"type":"object"},"hypotheses":{"type":"array","items":{"type":"object"}},"red_flags":{"type":"array","items":{"type":"object"}},"suggested_exams":{"type":"array","items":{"type":"object"}},"draft_documents":{"type":"object"},"coding":{"type":"object"},"memory":{"type":"object"},"audit":{"type":"object"},"medical_review_required":{"type":"boolean","const":true},"final_diagnosis_allowed":{"type":"boolean","const":false},"autonomous_prescription_allowed":{"type":"boolean","const":false}}},"JuriSearchRequest":{"type":"object","required":["query"],"properties":{"query":{"type":"string"},"area":{"type":"string"},"jurisdiction":{"type":"string","default":"BR"},"sources":{"type":"array","items":{"type":"string"}},"limit":{"type":"integer","default":10},"memory":{"type":"object"}}},"JuriSearchResponse":{"type":"object","properties":{"request_id":{"type":"string"},"status":{"type":"string","enum":["draft_for_lawyer_review"]},"summary":{"type":"string"},"results":{"type":"array","items":{"type":"object"}},"sources":{"type":"array","items":{"type":"object"}},"legal_points":{"type":"array","items":{"type":"string"}},"risk_level":{"type":"string","enum":["R4"]},"human_review_required":{"type":"boolean","const":true}}},"JuriDocumentAnalyzeRequest":{"type":"object","required":["document_text"],"properties":{"document_text":{"type":"string"},"document_type":{"type":"string"},"requested_outputs":{"type":"array","items":{"type":"string"}},"memory":{"type":"object"}}},"MediaRenderPreviewRequest":{"type":"object","required":["brief"],"properties":{"brief":{"type":"string"},"brandkit_id":{"type":"string"},"formats":{"type":"array","items":{"type":"string"}},"dry_run":{"type":"boolean","const":true}}},"MemorySearchRequest":{"type":"object","required":["query","area","allowed_scopes"],"properties":{"query":{"type":"string"},"area":{"type":"string","enum":["health","juri","media","radar","finance","desk","whatsapp"]},"allowed_scopes":{"type":"array","items":{"type":"string","enum":["professional","tenant","case","product","global_safe"]}},"limit":{"type":"integer","default":10}}},"WhatsAppDraftRequest":{"type":"object","required":["to_ref","message"],"properties":{"to_ref":{"type":"string","description":"Referência opaca do destinatário ou lead; evitar telefone bruto quando possível."},"message":{"type":"string"},"template_name":{"type":"string"},"requires_approval":{"type":"boolean","const":true}}}}},"x-uni-safety":{"no_secrets":true,"dry_run_first":true,"real_actions_need_gate":true,"lgpd_consent_required_for_personal_data":true,"api_keys_by_client_next":true,"sensitive_domains":{"health":{"risk_floor":"R4","human_review_required":true,"final_diagnosis_allowed":false,"autonomous_prescription_allowed":false},"juri":{"risk_floor":"R4","human_review_required":true,"final_legal_opinion_autonomous":false}},"memory_rules":{"tenant_isolation":true,"candidate_before_approved":true,"no_cross_tenant_sensitive_memory":true,"no_health_to_commercial_memory":true,"no_juri_to_media_memory":true}}}