{"openapi":"3.0.3","info":{"title":"Solus Proxy — APAS Saúde","version":"0.1.0","description":"Ponte para as APIs Solus. Autentica automaticamente e devolve os dados do beneficiário a partir do CPF. Todas as rotas de dados exigem o header `x-api-key`."},"servers":[{"url":"https://apasapi.healthplatformsuite.com.br","description":"Produção (HTTPS)"}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"x-api-key"}},"schemas":{"Erro":{"type":"object","properties":{"erro":{"type":"string","example":"x-api-key ausente ou invalida"},"detalhe":{"type":"string"},"dica":{"type":"string"}}}}},"security":[{"ApiKey":[]}],"paths":{"/paciente/{cpf}":{"get":{"tags":["Beneficiário"],"summary":"Busca beneficiário por CPF","description":"Consulta de elegibilidade: recebe o CPF e devolve os dados do beneficiário. O CPF pode conter pontuação (é limpo antes de consultar).","parameters":[{"name":"cpf","in":"path","required":true,"schema":{"type":"string","example":"12345678909"},"description":"CPF do beneficiário (11 dígitos)"},{"name":"situacao","in":"query","required":false,"schema":{"type":"string"},"description":"Filtra pela situação do beneficiário"}],"responses":{"200":{"description":"Dados do beneficiário (JSON repassado da Solus)"},"400":{"description":"CPF inválido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}},"401":{"description":"Chave do proxy ausente/errada ou token Solus expirado","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Erro"}}}}}}},"/elegibilidade/{cpf}":{"get":{"tags":["Beneficiário"],"summary":"Elegibilidade por CPF (atalho)","description":"Apelido de /paciente/{cpf} — mesmo resultado.","parameters":[{"name":"cpf","in":"path","required":true,"schema":{"type":"string","example":"12345678909"}}],"responses":{"307":{"description":"Redireciona para /paciente/{cpf}"}}}},"/beneficiario/{id}":{"get":{"tags":["Beneficiário"],"summary":"Dados completos por ID","description":"Dados detalhados pelo ID do beneficiário (o id vem no retorno da busca por CPF).","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","example":"2748"}},{"name":"incluir","in":"query","required":false,"schema":{"type":"string","example":"cobertura,status"},"description":"Blocos extras: cobertura, status (separados por vírgula)"}],"responses":{"200":{"description":"Dados do beneficiário"}}}},"/carteira/{codigo}":{"get":{"tags":["Beneficiário"],"summary":"Busca por número de carteira","parameters":[{"name":"codigo","in":"path","required":true,"schema":{"type":"string"},"description":"Código da carteira"}],"responses":{"200":{"description":"Dados do beneficiário"}}}},"/auth/check":{"get":{"tags":["Diagnóstico"],"summary":"Verifica autenticação na Solus","description":"Retorna ok:true quando o token do software está válido.","responses":{"200":{"description":"Autenticado"},"401":{"description":"Falha de autenticação (token expirado/inválido)"}}}},"/health":{"get":{"tags":["Diagnóstico"],"summary":"Sinal de vida do proxy","description":"Não exige chave e não chama a Solus.","security":[],"responses":{"200":{"description":"Proxy no ar"}}}}}}