{"openapi":"3.1.0","info":{"title":"Auditoria Folha RH API","version":"0.1.0","description":"SaaS multiagente de auditoria de folha de pagamento e RH (spec 001-auditoria-folha-rh)."},"servers":[{"url":"/api/v1"}],"paths":{"/auth/login":{"post":{"summary":"Login por email e senha","tags":["Auth"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LoginRequest"}}}},"responses":{"200":{"description":"Login bem-sucedido","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthResponse"}}}}}}},"/auth/refresh":{"post":{"summary":"Rotaciona o refresh token e emite novo access token","tags":["Auth"],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RefreshRequest"}}}},"responses":{"200":{"description":"Tokens renovados","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AuthResponse"}}}}}}},"/me":{"get":{"summary":"Usuário autenticado e empresas às quais tem acesso","tags":["Auth"],"responses":{"200":{"description":"Perfil do usuário","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeResponse"}}}}}}},"/companies":{"post":{"summary":"Cria empresa","tags":["Empresas"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"202":{"description":"Accepted"},"204":{"description":"No Content"}}},"get":{"summary":"Lista empresas do usuário","tags":["Empresas"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"202":{"description":"Accepted"},"204":{"description":"No Content"}}}},"/companies/{companyId}":{"get":{"summary":"Detalha empresa","tags":["Empresas"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"202":{"description":"Accepted"},"204":{"description":"No Content"}}},"patch":{"summary":"Atualiza empresa","tags":["Empresas"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"202":{"description":"Accepted"},"204":{"description":"No Content"}}},"delete":{"summary":"Remove empresa","tags":["Empresas"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"202":{"description":"Accepted"},"204":{"description":"No Content"}}}},"/companies/{companyId}/enrich-cnpj":{"post":{"summary":"Solicita enriquecimento por CNPJ","tags":["Empresas"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"202":{"description":"Accepted"},"204":{"description":"No Content"}}}},"/companies/{companyId}/enrichments":{"get":{"summary":"Lista enriquecimentos","tags":["Empresas"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"202":{"description":"Accepted"},"204":{"description":"No Content"}}}},"/companies/{companyId}/enrichments/{enrichmentId}/apply":{"post":{"summary":"Aplica enriquecimento","tags":["Empresas"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"202":{"description":"Accepted"},"204":{"description":"No Content"}}}},"/companies/{companyId}/users":{"post":{"summary":"Adiciona usuário à empresa","tags":["Empresas"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"202":{"description":"Accepted"},"204":{"description":"No Content"}}},"get":{"summary":"Lista usuários da empresa","tags":["Empresas"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"202":{"description":"Accepted"},"204":{"description":"No Content"}}}},"/companies/{companyId}/users/{userId}":{"patch":{"summary":"Atualiza vínculo de usuário","tags":["Empresas"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"202":{"description":"Accepted"},"204":{"description":"No Content"}}},"delete":{"summary":"Remove vínculo de usuário","tags":["Empresas"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"202":{"description":"Accepted"},"204":{"description":"No Content"}}}},"/companies/{companyId}/parameters":{"get":{"summary":"Lista parâmetros","tags":["Empresas"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"202":{"description":"Accepted"},"204":{"description":"No Content"}}}},"/companies/{companyId}/parameters/{category}/{key}":{"put":{"summary":"Cria nova versão de parâmetro","tags":["Empresas"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"202":{"description":"Accepted"},"204":{"description":"No Content"}}}},"/companies/{companyId}/parameters/{category}/{key}/history":{"get":{"summary":"Histórico de parâmetro","tags":["Empresas"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"202":{"description":"Accepted"},"204":{"description":"No Content"}}}},"/companies/{companyId}/employees":{"post":{"summary":"Cria funcionário","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}},"get":{"summary":"Lista funcionários","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}}},"/companies/{companyId}/employees/{employeeId}":{"get":{"summary":"Detalha funcionário","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}},"patch":{"summary":"Atualiza funcionário","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}},"delete":{"summary":"Remove funcionário","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}}},"/companies/{companyId}/employees/{employeeId}/history":{"get":{"summary":"Histórico do funcionário","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}}},"/companies/{companyId}/employees/{employeeId}/notes":{"post":{"summary":"Registra anotação manual","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}}},"/companies/{companyId}/employees/{employeeId}/benefits":{"get":{"summary":"Lista benefícios do funcionário","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}},"post":{"summary":"Cria benefício do funcionário","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}}},"/companies/{companyId}/employees/{employeeId}/benefits/{benefitId}":{"patch":{"summary":"Atualiza benefício do funcionário","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}},"delete":{"summary":"Remove benefício do funcionário","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}}},"/companies/{companyId}/employees/{employeeId}/stabilities":{"get":{"summary":"Lista estabilidades do funcionário","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}},"post":{"summary":"Cria estabilidade do funcionário","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}}},"/companies/{companyId}/employees/{employeeId}/stabilities/{stabilityId}":{"patch":{"summary":"Atualiza estabilidade do funcionário","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}},"delete":{"summary":"Remove estabilidade do funcionário","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}}},"/companies/{companyId}/employees/{employeeId}/dependents":{"get":{"summary":"Lista dependentes do funcionário","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}},"post":{"summary":"Cria dependente do funcionário","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}}},"/companies/{companyId}/employees/{employeeId}/dependents/{dependentId}":{"patch":{"summary":"Atualiza dependente do funcionário","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}},"delete":{"summary":"Remove dependente do funcionário","tags":["Funcionários"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"},"204":{"description":"No Content"}}}},"/companies/{companyId}/jobs/{jobId}":{"get":{"summary":"Status de um job assíncrono (agent_jobs)","tags":["Jobs"],"responses":{"200":{"description":"Status do job","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JobStatusResponse"}}}}}}},"/companies/{companyId}/jobs/{jobId}/retry":{"post":{"summary":"Reprocessa job dead","tags":["Jobs"],"responses":{"202":{"description":"Retry enfileirado"}}}},"/companies/{companyId}/audit-logs":{"get":{"summary":"Trilha de auditoria da empresa (admin, aprovador)","tags":["Jobs"],"responses":{"200":{"description":"Lista paginada de eventos de auditoria"}}}},"/companies/{companyId}/payroll/import":{"post":{"summary":"Importa folha por competência","tags":["Folha"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"}}}},"/companies/{companyId}/payroll-periods":{"get":{"summary":"Lista competências de folha","tags":["Folha"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"}}}},"/companies/{companyId}/payroll-periods/{periodId}/items":{"get":{"summary":"Lista itens de folha normalizados","tags":["Folha"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"}}}},"/companies/{companyId}/rubrics":{"get":{"summary":"Lista rubricas da empresa","tags":["Folha"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"}}}},"/companies/{companyId}/rubrics/{rubricId}":{"patch":{"summary":"Atualiza mapeamento de rubrica","tags":["Folha"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"}}}},"/companies/{companyId}/audit-runs":{"post":{"summary":"Dispara auditoria de folha","tags":["Auditoria"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"}}},"get":{"summary":"Lista auditorias","tags":["Auditoria"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"}}}},"/companies/{companyId}/audit-runs/{auditRunId}":{"get":{"summary":"Detalhe da auditoria","tags":["Auditoria"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"}}}},"/companies/{companyId}/audit-runs/{auditRunId}/rerun":{"post":{"summary":"Reexecuta auditoria","tags":["Auditoria"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"}}}},"/companies/{companyId}/documents/upload":{"post":{"summary":"Envia documento para processamento","tags":["Documentos"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"}}}},"/companies/{companyId}/documents/from-url":{"post":{"summary":"Cadastra documento por URL","tags":["Documentos"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"}}}},"/companies/{companyId}/documents":{"get":{"summary":"Lista documentos","tags":["Documentos"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"}}}},"/companies/{companyId}/documents/pending-review":{"get":{"summary":"Lista documentos pendentes de revisão","tags":["Documentos"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"}}}},"/companies/{companyId}/documents/{documentId}":{"get":{"summary":"Detalha documento","tags":["Documentos"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"}}}},"/companies/{companyId}/documents/{documentId}/classify":{"post":{"summary":"Classifica documento manualmente","tags":["Documentos"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"}}}},"/companies/{companyId}/documents/{documentId}/retry":{"post":{"summary":"Reprocessa documento","tags":["Documentos"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"}}}},"/companies/{companyId}/audit-findings":{"get":{"summary":"Lista achados de auditoria","tags":["Achados"],"responses":{"200":{"description":"OK"}}}},"/companies/{companyId}/audit-findings/{findingId}":{"get":{"summary":"Detalhe do achado com evidências","tags":["Achados"],"responses":{"200":{"description":"OK"}}}},"/companies/{companyId}/audit-findings/{findingId}/status":{"patch":{"summary":"Atualiza status do achado","tags":["Achados"],"responses":{"200":{"description":"OK"}}}},"/companies/{companyId}/audit-findings/{findingId}/comments":{"post":{"summary":"Comenta achado","tags":["Achados"],"responses":{"200":{"description":"OK"},"201":{"description":"Created"}}}},"/companies/{companyId}/input-requirements":{"get":{"summary":"Lista o checklist de inputs documentais, agrupado por área","tags":["Checklist"],"responses":{"200":{"description":"OK"}}}},"/companies/{companyId}/input-requirements/{itemId}":{"patch":{"summary":"Atualiza status/observação/responsável de um item do checklist","tags":["Checklist"],"responses":{"200":{"description":"OK"}}}},"/companies/{companyId}/input-requirements/{itemId}/link-document":{"post":{"summary":"Vincula um documento como evidência de um item do checklist","tags":["Checklist"],"responses":{"200":{"description":"OK"}}}},"/companies/{companyId}/reports":{"post":{"summary":"Solicita geração de relatório","tags":["Relatórios"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"},"302":{"description":"Redirect"}}},"get":{"summary":"Lista relatórios","tags":["Relatórios"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"},"302":{"description":"Redirect"}}}},"/companies/{companyId}/reports/{reportId}":{"get":{"summary":"Detalha relatório","tags":["Relatórios"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"},"302":{"description":"Redirect"}}}},"/companies/{companyId}/reports/{reportId}/download":{"get":{"summary":"Baixa relatório em pdf/xlsx/json","tags":["Relatórios"],"responses":{"200":{"description":"OK"},"202":{"description":"Accepted"},"302":{"description":"Redirect"}}}},"/companies/{companyId}/dashboard":{"get":{"summary":"Indicadores de risco, pendências e impacto financeiro da empresa","tags":["Dashboard"],"responses":{"200":{"description":"Indicadores agregados"}}}},"/companies/{companyId}/search":{"get":{"summary":"Busca semântica/estruturada por funcionário, documento, achado, rubrica e competência","tags":["Busca"],"responses":{"200":{"description":"Resultados agrupados por tipo"}}}}},"components":{"schemas":{"LoginRequest":{"type":"object","properties":{"email":{"type":"string","format":"email"},"password":{"type":"string","minLength":1}},"required":["email","password"]},"AuthResponse":{"type":"object","properties":{"accessToken":{"type":"string"},"refreshToken":{"type":"string"},"user":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"email":{"type":"string","format":"email"},"name":{"type":"string"}},"required":["id","email","name"]}},"required":["accessToken","refreshToken"]},"RefreshRequest":{"type":"object","properties":{"refreshToken":{"type":"string","minLength":1}},"required":["refreshToken"]},"MeResponse":{"type":"object","properties":{"user":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"email":{"type":"string","format":"email"},"name":{"type":"string"}},"required":["id","email","name"]},"companies":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":["string","null"]},"role":{"type":"string"}},"required":["id","name","role"]}}},"required":["user","companies"]},"JobStatusResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"queueName":{"type":"string"},"status":{"type":"string","enum":["pending","active","completed","failed","delayed","dead"]},"progress":{"type":"number","minimum":0,"maximum":100},"attempts":{"type":"integer"},"maxAttempts":{"type":"integer"},"createdAt":{"type":"string"},"startedAt":{"type":["string","null"]},"finishedAt":{"type":["string","null"]},"error":{"type":["object","null"],"properties":{"message":{"type":"string"}},"required":["message"]},"resultSummary":{"type":"null"},"correlationId":{"type":"string","format":"uuid"},"retryOfJobId":{"type":["string","null"],"format":"uuid"}},"required":["id","queueName","status","progress","attempts","maxAttempts","createdAt","startedAt","finishedAt","error","correlationId","retryOfJobId"]}}}}