{"openapi":"3.0.0","info":{"title":"Íris-IA Enterprise API • Donizetti Santos Soldadura (DSS-TECH)","version":"1.2.0","description":"\n**Íris-IA REST API Industrial v1.2** — API Soberana de Alta Engenharia Mecânica, Caldeiraria Pesada, Tubagens Industriais (Piping), Metalurgia da Soldadura, Segurança Ocupacional (HSE), Estruturas Metálicas & Olhais de Içamento, Gestão Operacional de Campo e Geração Vetorial CAD DXF 1:1.\n\n### Arquitetura de Autenticação:\nTodas as rotas sob o prefixo `/v1` exigem a chave de API enviada através do cabeçalho HTTP:\n```http\nx-iris-api-key: SUA_CHAVE_AQUI\n```\nou\n```http\nAuthorization: Bearer SUA_CHAVE_AQUI\n```\n    ","contact":{"name":"Donizetti Santos Soldadura (DSS-TECH)","url":"https://dss-tech.eu","email":"suporte@dss-tech.eu"}},"servers":[{"url":"http://localhost:4000","description":"Servidor Local Industrial (Porta 4000)"},{"url":"https://api.dss-tech.eu","description":"Servidor Cloud de Produção (HTTPS)"}],"tags":[{"name":"Saúde & Diagnóstico","description":"Monitorização e status da API"},{"name":"Gestão de Conta & Licenciamento","description":"Consulta de cota, consumo e emissão de chaves B2B"},{"name":"Tubagem & Isometria (ASME B31.3 / B16.5)","description":"Rolling Offset 3D, avanços de curva, peso, torque e teste hidrostático"},{"name":"Caldeiraria & Planificação 1:1","description":"Virolas, curvas de gomos, bocas de lobo e transições cônicas"},{"name":"Soldadura & Metalurgia (EN 1011 / ISO 5817)","description":"Aporte térmico, carbono equivalente, NDT e alívio de tensões PWHT"},{"name":"Vasos de Pressão & Reservatórios","description":"Casco ASME UG-27, tampos ASME UG-32 e tanques API 650"},{"name":"HSE & Segurança Industrial","description":"Avaliação de espaços confinados e barreira de exclusão ALARA"},{"name":"Estruturas Metálicas & Içamento","description":"Perfis europeus IPE/HEA/HEB/UPN e dimensionamento de Pad Eyes"},{"name":"Operações & Ponto Digital","description":"Cerca eletrônica Geofence anti-fraude e cálculo de jornada"},{"name":"Orçamentação & Propostas B2B","description":"Cálculo de custos industriais, fabricação de spools, caldeiraria, soldadura, NDT e emissão de propostas PDF"},{"name":"Geração Vetorial CAD & PDF","description":"Geração de arquivos DXF R12 1:1 e Memoriais de Cálculo A4"},{"name":"Processamento em Lote (Batch)","description":"Execução massiva de peças industriais em paralelo"},{"name":"Inteligência Artificial & Tutoria","description":"Motor cognitivo industrial da IA Íris"}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-iris-api-key","description":"Chave de API corporativa Íris-IA"},"BearerAuth":{"type":"http","scheme":"bearer","description":"Token Bearer com a chave de API"}}},"security":[{"ApiKeyAuth":[]},{"BearerAuth":[]}],"paths":{"/health":{"get":{"summary":"Verificação de Saúde da API","tags":["Saúde & Diagnóstico"],"security":[],"description":"Retorna o status operacional, latência e versão da API.","responses":{"200":{"description":"API operando normalmente","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"ONLINE"},"service":{"type":"string","example":"Iris-AI-API"},"version":{"type":"string","example":"1.2.0"},"uptimeSeconds":{"type":"number","example":120.45},"timestamp":{"type":"string","example":"2026-09-18T19:30:00.000Z"},"empresa":{"type":"string","example":"Donizetti Santos Soldadura (DSS-TECH)"}}}}}}}}},"/v1/account/usage":{"get":{"summary":"Consulta de Consumo e Status do Plano","tags":["Gestão de Conta & Licenciamento"],"responses":{"200":{"description":"Dados de consumo e limites da chave autenticada"}}}},"/v1/account/generate-key":{"post":{"summary":"Criação de Nova Chave de API Corporativa","tags":["Gestão de Conta & Licenciamento"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["empresa"],"properties":{"empresa":{"type":"string","example":"Empresa Parceira de Engenharia"},"tier":{"type":"string","enum":["free","pro","enterprise"],"example":"pro"},"emailContato":{"type":"string","example":"contato@empresa-parceira.com"}}}}}},"responses":{"201":{"description":"Chave de API gerada com sucesso"}}}},"/v1/piping/rolling-offset":{"post":{"summary":"Cálculo de Rolling Offset 3D","tags":["Tubagem & Isometria (ASME B31.3 / B16.5)"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["desvioHorizontalMm","desvioVerticalMm"],"properties":{"desvioHorizontalMm":{"type":"number","example":400},"desvioVerticalMm":{"type":"number","example":300},"diametroNominalPol":{"type":"number","example":4},"tipoRaio":{"type":"string","enum":["1.5D","1.0D"],"example":"1.5D"}}}}}},"responses":{"200":{"description":"Cálculo geométrico com deduções de curva e niple de corte"}}}},"/v1/piping/curve-advance":{"post":{"summary":"Avanço de Curva em Qualquer Grau","tags":["Tubagem & Isometria (ASME B31.3 / B16.5)"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["anguloGraus"],"properties":{"diametroNominalPol":{"type":"number","example":6},"anguloGraus":{"type":"number","example":90},"tipoRaio":{"type":"string","enum":["1.5D","1.0D","3D","5D","personalizado"],"example":"1.5D"}}}}}},"responses":{"200":{"description":"Avanço unitário e desenvolvimento de arco"}}}},"/v1/piping/pipe-weight":{"post":{"summary":"Peso Linear e Volume de Fluido de Tubos (ASME B36.10M)","tags":["Tubagem & Isometria (ASME B31.3 / B16.5)"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["diametroNominalPol","comprimentoMetros"],"properties":{"diametroNominalPol":{"type":"string","example":"4"},"schedule":{"type":"string","example":"40"},"comprimentoMetros":{"type":"number","example":12},"densidadeFluidoKgM3":{"type":"number","example":1000}}}}}},"responses":{"200":{"description":"Massa do tubo vazio, fluido interno e total montado"}}}},"/v1/piping/flange-torque":{"post":{"summary":"Torque e Sequência em Cruz para Flanges (ASME B16.5 / PCC-1)","tags":["Tubagem & Isometria (ASME B31.3 / B16.5)"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["diametroNominalPol","classePressao"],"properties":{"diametroNominalPol":{"type":"string","example":"4"},"classePressao":{"type":"string","enum":["150","300","600","900","1500"],"example":"150"},"materialEstojo":{"type":"string","enum":["B7","B8","L7"],"example":"B7"},"tipoLubrificante":{"type":"string","enum":["anti_seize","oleo_leve","seco"],"example":"anti_seize"}}}}}},"responses":{"200":{"description":"Valores de torque em N·m, lbf·ft e ordem sequencial cruzada"}}}},"/v1/piping/pipe-span":{"post":{"summary":"Vão Máximo entre Suportes de Tubagem (MSS SP-69 / ASME B31.3)","tags":["Tubagem & Isometria (ASME B31.3 / B16.5)"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["diametroNominalPol"],"properties":{"diametroNominalPol":{"type":"string","example":"6"},"schedule":{"type":"string","example":"40"},"conteudoFluido":{"type":"string","enum":["agua","gas_ar","oleo_leve"],"example":"agua"},"comIsolamentoTermico":{"type":"boolean","example":false}}}}}},"responses":{"200":{"description":"Distância recomendada e critério limitante (flecha ou tensão)"}}}},"/v1/piping/hydrostatic-test":{"post":{"summary":"Teste Hidrostático com Proteção Anti-Cedência (ASME B31.3 §345.4)","tags":["Tubagem & Isometria (ASME B31.3 / B16.5)"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["pressaoProjetoBar","diametroExternoMm","espessuraParedeMm","tensaoAdmissivelProjetoMpa","tensaoAdmissivelTesteMpa","limiteEscoamentoMpa"],"properties":{"pressaoProjetoBar":{"type":"number","example":20},"diametroExternoMm":{"type":"number","example":114.3},"espessuraParedeMm":{"type":"number","example":6.02},"tensaoAdmissivelProjetoMpa":{"type":"number","example":138},"tensaoAdmissivelTesteMpa":{"type":"number","example":138},"limiteEscoamentoMpa":{"type":"number","example":240},"eficienciaJuntaE":{"type":"number","example":1},"fatorAntiCedenciaMaximo":{"type":"number","example":0.9}}}}}},"responses":{"200":{"description":"Pressão de ensaio hidrostático segura e verificação anti-deformação"}}}},"/v1/piping/pressure-drop":{"post":{"summary":"Perda de Carga e Hidráulica Industrial (Darcy-Weisbach & Colebrook-White)","tags":["Tubagem & Isometria (ASME B31.3 / B16.5)"],"description":"\nCalcula a perda de carga contínua (tubo reto) e perdas localizadas (curvas, tês, válvulas) para fluidos líquidos e gasosos.\n\n#### Exemplo em cURL:\n```bash\ncurl -X POST https://api.dss-tech.eu/v1/piping/pressure-drop \\\n  -H \"x-iris-api-key: SUA_CHAVE\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"diametroNominalPol\": \"4\", \"schedule\": \"40\", \"comprimentoTuboMetros\": 50, \"vazaoM3PorHora\": 30, \"tipoFluido\": \"agua_20C\"}'\n```\n\n#### Exemplo em TypeScript:\n```typescript\nconst res = await fetch('https://api.dss-tech.eu/v1/piping/pressure-drop', {\n  method: 'POST',\n  headers: { 'x-iris-api-key': 'SUA_CHAVE', 'Content-Type': 'application/json' },\n  body: JSON.stringify({\n    diametroNominalPol: '4',\n    schedule: '40',\n    comprimentoTuboMetros: 50,\n    vazaoM3PorHora: 30,\n    acessorios: [{ tipo: 'curva_90_raio_longo', quantidade: 4 }]\n  })\n});\nconst dados = await res.json();\n```\n        ","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["comprimentoTuboMetros","vazaoM3PorHora"],"properties":{"diametroNominalPol":{"type":"string","example":"4"},"schedule":{"type":"string","example":"40"},"diametroInternoMm":{"type":"number","example":102.26},"comprimentoTuboMetros":{"type":"number","example":50},"vazaoM3PorHora":{"type":"number","example":30},"tipoFluido":{"type":"string","enum":["agua_20C","agua_80C","ar_comprimido_7bar","oleo_iso_vg46","personalizado"],"example":"agua_20C"},"rugosidadeAbsolutaMm":{"type":"number","example":0.045},"acessorios":{"type":"array","items":{"type":"object","properties":{"tipo":{"type":"string","enum":["curva_90_raio_longo","curva_90_raio_curto","curva_45","te_passagem_direta","te_saida_lateral","valvula_gaveta_aberta","valvula_esfera_aberta","valvula_globo_aberta","valvula_retencao_portinhola","reducao_concentrica"],"example":"curva_90_raio_longo"},"quantidade":{"type":"number","example":4}}}}}}}}},"responses":{"200":{"description":"Velocidade, Reynolds, fator de atrito, perda de carga em mca e queda de pressão em bar"}}}},"/v1/caldeiraria/virola":{"post":{"summary":"Linha Neutra e Perímetro de Corte de Virola","tags":["Caldeiraria & Planificação 1:1"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["diametroInternoMm","espessuraChapaMm","alturaVirolaMm"],"properties":{"diametroInternoMm":{"type":"number","example":1500},"espessuraChapaMm":{"type":"number","example":10},"alturaVirolaMm":{"type":"number","example":2000}}}}}},"responses":{"200":{"description":"Perímetro neutro de corte, massa e diagonais de esquadro"}}}},"/v1/caldeiraria/miter-bend":{"post":{"summary":"Curva de Gomos (Miter Bend) em Qualquer Ângulo e Partições","tags":["Caldeiraria & Planificação 1:1"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["diametroExternoMm","anguloTotalCurvaGraus","quantidadeGomosTotal"],"properties":{"diametroExternoMm":{"type":"number","example":323.8},"anguloTotalCurvaGraus":{"type":"number","example":90},"quantidadeGomosTotal":{"type":"number","example":4},"raioCurvaturaMm":{"type":"number","example":457.2},"quantidadeGeratrizes":{"type":"number","example":16}}}}}},"responses":{"200":{"description":"Gabarito completo de alturas e coordenadas para traçagem"}}}},"/v1/caldeiraria/boca-de-lobo":{"post":{"summary":"Interseção Boca de Lobo 90° e Angular (ASME B31.3)","tags":["Caldeiraria & Planificação 1:1"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["diametroExternoTroncoMm","diametroExternoRamalMm"],"properties":{"diametroExternoTroncoMm":{"type":"number","example":219.1},"diametroExternoRamalMm":{"type":"number","example":114.3},"anguloDerivacaoGraus":{"type":"number","example":90},"espessuraRamalMm":{"type":"number","example":6.02},"quantidadeGeratrizes":{"type":"number","example":16}}}}}},"responses":{"200":{"description":"Traçado de corte do ramal e coordenadas do furo no tronco"}}}},"/v1/caldeiraria/cone-concentrico":{"post":{"summary":"Planificação de Tronco Cônico Concêntrico","tags":["Caldeiraria & Planificação 1:1"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["diametroMaiorBaseMm","diametroMenorTopoMm","alturaVerticalMm","espessuraChapaMm"],"properties":{"diametroMaiorBaseMm":{"type":"number","example":800},"diametroMenorTopoMm":{"type":"number","example":400},"alturaVerticalMm":{"type":"number","example":600},"espessuraChapaMm":{"type":"number","example":6}}}}}},"responses":{"200":{"description":"Raios interno e externo de traçado e ângulo de abertura"}}}},"/v1/caldeiraria/cone-excentrico":{"post":{"summary":"Triangulação 1:1 de Tronco Cônico Excêntrico","tags":["Caldeiraria & Planificação 1:1"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["diametroMaiorBaseMm","diametroMenorTopoMm","alturaVerticalMm","deslocamentoEixoMm","espessuraChapaMm"],"properties":{"diametroMaiorBaseMm":{"type":"number","example":800},"diametroMenorTopoMm":{"type":"number","example":400},"alturaVerticalMm":{"type":"number","example":600},"deslocamentoEixoMm":{"type":"number","example":200},"espessuraChapaMm":{"type":"number","example":6}}}}}},"responses":{"200":{"description":"Triangulação de geratrizes verdadeiras para corte de chapa"}}}},"/v1/caldeiraria/branch-reinforcement":{"post":{"summary":"Reforço de Aberturas / Ramais (ASME VIII UG-37 & ASME B31.3 §304.3.2)","tags":["Caldeiraria & Planificação 1:1"],"description":"\nCalcula a necessidade de Anel de Reforço (Reinforcement Pad) para derivações, bocais e bocas de visita sob pressão interna conforme o Método de Substituição de Área (*Area Replacement Method*).\n\n#### Exemplo em cURL:\n```bash\ncurl -X POST https://api.dss-tech.eu/v1/caldeiraria/branch-reinforcement \\\n  -H \"x-iris-api-key: SUA_CHAVE\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"diametroExternoCascoMm\": 610, \"espessuraCascoMm\": 12.7, \"diametroExternoRamalMm\": 219.1, \"espessuraRamalMm\": 8.18, \"pressaoProjetoBar\": 25, \"tensaoAdmissivelCascoMpa\": 138, \"tensaoAdmissivelRamalMpa\": 138}'\n```\n        ","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["diametroExternoCascoMm","espessuraCascoMm","diametroExternoRamalMm","espessuraRamalMm","pressaoProjetoBar","tensaoAdmissivelCascoMpa","tensaoAdmissivelRamalMpa"],"properties":{"diametroExternoCascoMm":{"type":"number","example":610},"espessuraCascoMm":{"type":"number","example":12.7},"diametroExternoRamalMm":{"type":"number","example":219.1},"espessuraRamalMm":{"type":"number","example":8.18},"pressaoProjetoBar":{"type":"number","example":25},"tensaoAdmissivelCascoMpa":{"type":"number","example":138},"tensaoAdmissivelRamalMpa":{"type":"number","example":138},"eficienciaJuntaCasco":{"type":"number","example":1},"eficienciaJuntaRamal":{"type":"number","example":1},"sobreespessuraCorrosaoMm":{"type":"number","example":1.5}}}}}},"responses":{"200":{"description":"Área requerida vs disponível, dimensionamento do anel de reforço e especificação do furo tell-tale"}}}},"/v1/welding/heat-input":{"post":{"summary":"Cálculo de Aporte Térmico (Heat Input - EN 1011-1 / ASME IX)","tags":["Soldadura & Metalurgia (EN 1011 / ISO 5817)"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["tensaoVolts","correnteAmperes","velocidadeSoldaduraMmPorMin","processo"],"properties":{"tensaoVolts":{"type":"number","example":24},"correnteAmperes":{"type":"number","example":180},"velocidadeSoldaduraMmPorMin":{"type":"number","example":250},"processo":{"type":"string","enum":["141_TIG","135_MAG","131_MIG","111_SMAW","121_SAW"],"example":"135_MAG"}}}}}},"responses":{"200":{"description":"Aporte térmico em kJ/mm, fator de eficiência térmica e diagnóstico da ZAC"}}}},"/v1/welding/carbon-equivalent":{"post":{"summary":"Carbono Equivalente CEV IIW & PCM e Pré-Aquecimento","tags":["Soldadura & Metalurgia (EN 1011 / ISO 5817)"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["carbonoPct","manganesPct"],"properties":{"carbonoPct":{"type":"number","example":0.16},"manganesPct":{"type":"number","example":1.2},"cromoPct":{"type":"number","example":0.15},"molibdenioPct":{"type":"number","example":0.05},"vanadioPct":{"type":"number","example":0.02},"niquelPct":{"type":"number","example":0.2},"cobrePct":{"type":"number","example":0.15}}}}}},"responses":{"200":{"description":"Índice de soldabilidade e temperatura recomendada de pré-aquecimento"}}}},"/v1/welding/ndt-criteria":{"post":{"summary":"Critérios de Aceitação NDT (ISO 5817 Níveis B, C, D)","tags":["Soldadura & Metalurgia (EN 1011 / ISO 5817)"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["tipoDefeito","dimensaoDefeitoMm","espessuraParedeMm"],"properties":{"tipoDefeito":{"type":"string","enum":["poro_isolado","mordedura","falta_penetracao","trinca","inclusao_escoria"],"example":"poro_isolado"},"dimensaoDefeitoMm":{"type":"number","example":1.5},"espessuraParedeMm":{"type":"number","example":10},"nivelExigido":{"type":"string","enum":["B_Rigoroso","C_Medio","D_Moderado"],"example":"B_Rigoroso"}}}}}},"responses":{"200":{"description":"Parecer técnico normativo de aprovação ou rejeição da junta"}}}},"/v1/welding/pwht-schedule":{"post":{"summary":"Tratamento Térmico Pós-Solda PWHT (ASME VIII UCS-56)","tags":["Soldadura & Metalurgia (EN 1011 / ISO 5817)"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["material","espessuraNominalMm"],"properties":{"material":{"type":"string","enum":["P1_AcoCarbono","P4_CrMo_1_1_4Cr","P5A_CrMo_2_1_4Cr","P8_Austenitico"],"example":"P1_AcoCarbono"},"espessuraNominalMm":{"type":"number","example":38.1}}}}}},"responses":{"200":{"description":"Patamar de temperatura, tempo de retenção e taxas de aquecimento"}}}},"/v1/welding/consumables":{"post":{"summary":"Consumo de Consumíveis de Soldadura, Gás e Produtividade (EN 1011 / ASME IX)","tags":["Soldadura & Metalurgia (EN 1011 / ISO 5817)"],"description":"\nCalcula a massa líquida e bruta de consumíveis de soldadura (kg por metro de junta para arame e elétrodos), número de passes, volume de gás de proteção (m³ e garrafas 50L) e tempos de arco aberto.\n\n#### Exemplo em cURL:\n```bash\ncurl -X POST https://api.dss-tech.eu/v1/welding/consumables \\\n  -H \"x-iris-api-key: SUA_CHAVE\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"processo\": \"135_MAG\", \"tipoChanfro\": \"V\", \"espessuraChapaMm\": 12, \"comprimentoJuntaMetros\": 50, \"anguloChanfroGraus\": 60}'\n```\n        ","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["processo","tipoChanfro","espessuraChapaMm","comprimentoJuntaMetros"],"properties":{"processo":{"type":"string","enum":["141_TIG","135_MAG","131_MIG","111_SMAW","121_SAW","136_FCAW"],"example":"135_MAG"},"tipoChanfro":{"type":"string","enum":["V","X_DuploV","Meio_V","I_Topo","Filete_Angulo"],"example":"V"},"espessuraChapaMm":{"type":"number","example":12},"comprimentoJuntaMetros":{"type":"number","example":50},"anguloChanfroGraus":{"type":"number","example":60},"aberturaRaizMm":{"type":"number","example":2.5},"alturaNarizMm":{"type":"number","example":2},"reforcoSoldaMm":{"type":"number","example":2},"pernaFileteMm":{"type":"number","example":10}}}}}},"responses":{"200":{"description":"Massa necessária em kg, número de passes, horas de arco e volume de gás"}}}},"/v1/physics/asme-ug27":{"post":{"summary":"Espessura de Casco Cilíndrico sob Pressão (ASME VIII UG-27)","tags":["Vasos de Pressão & Reservatórios"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["pressaoInternaBar","raioInternoMm","tensaoAdmissivelMaterialMpa"],"properties":{"pressaoInternaBar":{"type":"number","example":15},"raioInternoMm":{"type":"number","example":750},"tensaoAdmissivelMaterialMpa":{"type":"number","example":138},"eficienciaJuntaSoldada":{"type":"number","example":0.85},"sobreEspessuraCorrosaoMm":{"type":"number","example":1.5}}}}}},"responses":{"200":{"description":"Espessura mínima calculada e pressão máxima de trabalho MAWP"}}}},"/v1/physics/asme-ug32-tampos":{"post":{"summary":"Dimensionamento de Tampos Sob Pressão (ASME VIII UG-32)","tags":["Vasos de Pressão & Reservatórios"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["tipoTampo","pressaoInternaBar","diametroInternoMm","tensaoAdmissivelMaterialMpa"],"properties":{"tipoTampo":{"type":"string","enum":["semi_eliptico_2_1","torisferico_padrao","hemisferico"],"example":"semi_eliptico_2_1"},"pressaoInternaBar":{"type":"number","example":15},"diametroInternoMm":{"type":"number","example":1500},"tensaoAdmissivelMaterialMpa":{"type":"number","example":138},"eficienciaJuntaSoldada":{"type":"number","example":1}}}}}},"responses":{"200":{"description":"Espessura do tampo e volume volumétrico"}}}},"/v1/physics/api-650":{"post":{"summary":"Dimensionamento de Tanques de Armazenamento (API 650 1-Foot Method)","tags":["Vasos de Pressão & Reservatórios"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["diametroTanqueMetros","alturaTotalMetros"],"properties":{"diametroTanqueMetros":{"type":"number","example":18},"alturaTotalMetros":{"type":"number","example":12},"densidadeRelativaLiquido":{"type":"number","example":1},"tensaoAdmissivelOperacaoMpa":{"type":"number","example":160},"tensaoAdmissivelTesteMpa":{"type":"number","example":171},"sobreEspessuraCorrosaoMm":{"type":"number","example":1.5}}}}}},"responses":{"200":{"description":"Espessuras anel a anel do costado, capacidade cúbica e massa total de aço"}}}},"/v1/hse/confined-space":{"post":{"summary":"Avaliação de Atmosfera em Espaços Confinados (OSHA 1910.146 / NR-33)","tags":["HSE & Segurança Industrial"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["oxigenioPct","lelPct","coPpm","h2sPpm"],"properties":{"oxigenioPct":{"type":"number","example":20.9},"lelPct":{"type":"number","example":0},"coPpm":{"type":"number","example":5},"h2sPpm":{"type":"number","example":0},"trabalhoAFogo":{"type":"boolean","example":false}}}}}},"responses":{"200":{"description":"Diagnóstico dos 4 gases, autorização de entrada e requisitos de EPI/Vigia"}}}},"/v1/hse/alara-radiation":{"post":{"summary":"Isolamento Radiológico ALARA para Gamagrafia (ISO 3999 / EURATOM)","tags":["HSE & Segurança Industrial"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["atividadeCurie","isotopo"],"properties":{"atividadeCurie":{"type":"number","example":50},"isotopo":{"type":"string","enum":["Ir-192","Se-75","Co-60"],"example":"Ir-192"},"taxaDoseLimiteMicroSvPorHora":{"type":"number","example":20},"espessuraBlindagemChumboMm":{"type":"number","example":0}}}}}},"responses":{"200":{"description":"Raio da barreira de isolamento perimetral em metros e atenuação por blindagem"}}}},"/v1/structural/profiles":{"get":{"summary":"Catálogo de Perfis Estruturais Europeus Padronizados","tags":["Estruturas Metálicas & Içamento"],"parameters":[{"name":"tipo","in":"query","required":false,"schema":{"type":"string","enum":["IPE","HEA","HEB","UPN"]},"description":"Filtrar por família de perfis"}],"responses":{"200":{"description":"Lista de perfis estruturais com dimensões e propriedades mecânicas"}}}},"/v1/structural/profiles/{designation}":{"get":{"summary":"Propriedades de Perfil Estrutural Específico","tags":["Estruturas Metálicas & Içamento"],"parameters":[{"name":"designation","in":"path","required":true,"schema":{"type":"string","example":"IPE 200"},"description":"Designação do perfil (ex: IPE 200, HEA 160)"}],"responses":{"200":{"description":"Propriedades geométricas, área, peso linear e momentos de inércia"}}}},"/v1/structural/pad-eyes":{"post":{"summary":"Dimensionamento de Olhais de Içamento Pad Eye (AISC 360 / DNV-GL)","tags":["Estruturas Metálicas & Içamento"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["cargaTrabalhoKg","diametroPinoManilhaMm"],"properties":{"cargaTrabalhoKg":{"type":"number","example":5000},"diametroPinoManilhaMm":{"type":"number","example":35},"anguloIcamGraus":{"type":"number","example":30},"fatorDinamicoIcamDAF":{"type":"number","example":1.3},"limiteEscoamentoAcoMpa":{"type":"number","example":355}}}}}},"responses":{"200":{"description":"Espessura da chapa, verificações de esmagamento/tração e garganta de solda"}}}},"/v1/operations/geofence-validate":{"post":{"summary":"Cerca Eletrônica Geofence com Assinatura Anti-Fraude (Portaria 671 / REP-P)","tags":["Operações & Ponto Digital"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["latitudeColaborador","longitudeColaborador","latitudeObra","longitudeObra"],"properties":{"latitudeColaborador":{"type":"number","example":38.722252},"longitudeColaborador":{"type":"number","example":-9.139337},"latitudeObra":{"type":"number","example":38.7223},"longitudeObra":{"type":"number","example":-9.1394},"raioPermitidoMetros":{"type":"number","example":150}}}}}},"responses":{"200":{"description":"Validação de presença, distância real em metros e hash criptográfico SHA-256"}}}},"/v1/operations/work-hours":{"post":{"summary":"Cálculo de Jornada, Horas Extras (50%/100%) e Horas Noturnas","tags":["Operações & Ponto Digital"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["horaEntrada","horaSaida"],"properties":{"horaEntrada":{"type":"string","example":"08:00"},"horaSaida":{"type":"string","example":"18:00"},"minutosIntervaloAlmoco":{"type":"number","example":60},"jornadaPadraoDiariaHoras":{"type":"number","example":8},"tipoDia":{"type":"string","enum":["dia_util","sabado","domingo_feriado"],"example":"dia_util"},"valorHoraBaseEur":{"type":"number","example":20}}}}}},"responses":{"200":{"description":"Carga horária líquida, discriminação de adicionais e estimativa de custo"}}}},"/v1/ai/tutor":{"post":{"summary":"Inteligência Industrial & Tutoria da IA Íris","tags":["Inteligência Artificial & Tutoria"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["pergunta"],"properties":{"pergunta":{"type":"string","example":"Como planificar uma curva de gomos de 90 graus em 4 partes?"},"contextoIndustrial":{"type":"string","example":"Tubagem 12 polegadas aço carbono Sch 40"}}}}}},"responses":{"200":{"description":"Resposta técnica estruturada com normas e boas práticas de caldeiraria"}}}},"/v1/quotations/calculate":{"post":{"summary":"Cálculo de Estimativa & Orçamento Industrial B2B","tags":["Orçamentação & Propostas B2B"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["cliente","projeto","itens"],"properties":{"codigoProposta":{"type":"string","example":"DSS-PROP-2026-001"},"cliente":{"type":"string","example":"Refinaria / Empresa Contratante"},"projeto":{"type":"string","example":"Fabricação de Spools e Skids Industriais"},"taxaHorariaOficinaEur":{"type":"number","example":35},"taxaHorariaCampoEur":{"type":"number","example":45},"prazoDias":{"type":"number","example":45},"regimeIva":{"type":"string","enum":["AUTOLIQUIDACAO_REGRA_INVERSA","IVA_NORMAL_23","ISENTO_ARTIGO_9"],"example":"AUTOLIQUIDACAO_REGRA_INVERSA"},"incluiDossierQualidadeDataBook":{"type":"boolean","example":true},"itens":{"type":"array","items":{"type":"object","required":["descricao","tipo","quantidade","unidade"],"properties":{"descricao":{"type":"string","example":"Fabricação e Soldadura de Spools DN 6\" Sch 40"},"tipo":{"type":"string","enum":["fabricacao_spool","caldeiraria","soldadura_campo","montagem_industrial","ensaio_ndt","material","servico_geral"],"example":"fabricacao_spool"},"quantidade":{"type":"number","example":12},"unidade":{"type":"string","enum":["un","m","kg","hora","junta_polegada","lote"],"example":"un"},"diametroPol":{"type":"number","example":6},"espessuraMm":{"type":"number","example":7.11},"processoSolda":{"type":"string","enum":["141_TIG","135_MAG","131_MIG","111_SMAW","121_SAW","misto_TIG_MAG"],"example":"141_TIG"}}}}}}}}},"responses":{"200":{"description":"Discriminação de horas-homem, custos de materiais, margens e condições comerciais"}}}},"/v1/quotations/generate-pdf":{"post":{"summary":"Emissão de Proposta Comercial Oficial em PDF A4 com Timbre","tags":["Orçamentação & Propostas B2B"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["cliente","projeto","itens"],"properties":{"codigoProposta":{"type":"string","example":"DSS-PROP-2026-001"},"cliente":{"type":"string","example":"Cliente Industrial Homologado"},"projeto":{"type":"string","example":"Obra de Caldeiraria e Tubagem"},"itens":{"type":"array","items":{"type":"object","properties":{"descricao":{"type":"string","example":"Fabricação de Virola em Aço Carbono"},"tipo":{"type":"string","example":"caldeiraria"},"quantidade":{"type":"number","example":2},"unidade":{"type":"string","example":"un"}}}}}}}}},"responses":{"200":{"description":"Documento PDF comercial emitido em Base64 ou binário"}}}},"/v1/export/dxf-virola":{"post":{"summary":"Geração Vetorial de DXF R12 1:1 para Chapa de Virola","tags":["Geração Vetorial CAD & PDF"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["diametroInternoMm","espessuraChapaMm","alturaVirolaMm"],"properties":{"diametroInternoMm":{"type":"number","example":1200},"espessuraChapaMm":{"type":"number","example":8},"alturaVirolaMm":{"type":"number","example":1500}}}}}},"responses":{"200":{"description":"Download direto do arquivo DXF ou payload vetorial ASCII"}}}},"/v1/export/dxf-miter-bend":{"post":{"summary":"Geração Vetorial de DXF R12 1:1 para Gomo de Curva","tags":["Geração Vetorial CAD & PDF"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["diametroExternoMm","anguloTotalCurvaGraus","quantidadeGomosTotal"],"properties":{"diametroExternoMm":{"type":"number","example":323.8},"anguloTotalCurvaGraus":{"type":"number","example":90},"quantidadeGomosTotal":{"type":"number","example":4}}}}}},"responses":{"200":{"description":"Arquivo DXF vetorial da planificação do gomo para corte CNC"}}}},"/v1/export/dxf-boca-de-lobo":{"post":{"summary":"Geração Vetorial de DXF R12 1:1 para Gabarito de Boca de Lobo","tags":["Geração Vetorial CAD & PDF"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["perimetroGabaritoMm","pontosGabarito"],"properties":{"perimetroGabaritoMm":{"type":"number","example":359.1},"pontosGabarito":{"type":"array","items":{"type":"object","properties":{"indice":{"type":"number","example":0},"distanciaXMm":{"type":"number","example":0},"alturaCorteZMm":{"type":"number","example":15.2}}}},"anguloInsercaoGraus":{"type":"number","example":90}}}}}},"responses":{"200":{"description":"Arquivo DXF 1:1 com linhas de divisão e curva de corte"}}}},"/v1/export/dxf-quadrado-redondo":{"post":{"summary":"Geração Vetorial de DXF R12 1:1 de Transição Quadrado para Redondo","tags":["Geração Vetorial CAD & PDF"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["larguraBaseMm","comprimentoBaseMm","diametroTopoMm","alturaMm"],"properties":{"larguraBaseMm":{"type":"number","example":500},"comprimentoBaseMm":{"type":"number","example":500},"diametroTopoMm":{"type":"number","example":300},"alturaMm":{"type":"number","example":400},"espessuraMm":{"type":"number","example":6}}}}}},"responses":{"200":{"description":"Arquivo DXF 1:1 com camadas de CORTE, DOBRA e CENTRO para quinadora"}}}},"/v1/export/dxf-cone":{"post":{"summary":"Geração Vetorial de DXF R12 1:1 de Tronco Cônico","tags":["Geração Vetorial CAD & PDF"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["diametroMaiorBaseMm","diametroMenorTopoMm","alturaVerticalMm","espessuraChapaMm"],"properties":{"diametroMaiorBaseMm":{"type":"number","example":800},"diametroMenorTopoMm":{"type":"number","example":400},"alturaVerticalMm":{"type":"number","example":600},"espessuraChapaMm":{"type":"number","example":6}}}}}},"responses":{"200":{"description":"Arquivo DXF com arcos circulares exatos prontos para corte CNC"}}}},"/v1/export/dxf-pad-eye":{"post":{"summary":"Geração Vetorial de DXF R12 1:1 de Olhal de Içamento (Pad-Eye)","tags":["Geração Vetorial CAD & PDF"],"description":"\nGera e faz o download direto do arquivo vetorial DXF 1:1 para corte CNC (laser/plasma/oxicorte) de olhais de içamento com furo central para manilha e chanfro de base.\n\n#### Exemplo em cURL:\n```bash\ncurl -X POST \"https://api.dss-tech.eu/v1/export/dxf-pad-eye?download=true\" \\\n  -H \"x-iris-api-key: SUA_CHAVE\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"larguraBaseMm\": 200, \"alturaCentroFuroMm\": 140, \"raioCabecaMm\": 70, \"diametroFuroMm\": 38, \"capacidadeCargaToneladas\": 5.0}' \\\n  -o PAD_EYE_5T.dxf\n```\n        ","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["larguraBaseMm","alturaCentroFuroMm","raioCabecaMm","diametroFuroMm"],"properties":{"larguraBaseMm":{"type":"number","example":200},"alturaCentroFuroMm":{"type":"number","example":140},"raioCabecaMm":{"type":"number","example":70},"diametroFuroMm":{"type":"number","example":38},"espessuraChapaMm":{"type":"number","example":25},"capacidadeCargaToneladas":{"type":"number","example":5}}}}}},"responses":{"200":{"description":"Arquivo vetorial DXF ou download com camadas de CORTE e CENTRO"}}}},"/v1/export/memorial-pdf":{"post":{"summary":"Emissão de Memorial de Cálculo Oficial em PDF A4","tags":["Geração Vetorial CAD & PDF"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["tituloDocumento","cliente","dadosCalculo"],"properties":{"tituloDocumento":{"type":"string","example":"Memorial de Cálculo de Vaso de Pressão"},"cliente":{"type":"string","example":"Cliente Industrial XYZ"},"responsavelTecnico":{"type":"string","example":"Responsável Técnico / Engenharia"},"numeroProjeto":{"type":"string","example":"DSS-ENG-2026-001"},"dadosCalculo":{"type":"object"}}}}}},"responses":{"200":{"description":"Arquivo PDF binário emitido com carimbo técnico e timbre"}}}},"/v1/batch/process":{"post":{"summary":"Processamento Industrial em Lote com Suporte Multi-Motor","tags":["Processamento em Lote (Batch)"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["itens"],"properties":{"nomeLote":{"type":"string","example":"Lote de Fabricação Skid Industrial #01"},"itens":{"type":"array","items":{"type":"object","required":["id","tipo","dados"],"properties":{"id":{"type":"string","example":"PECA-01"},"tipo":{"type":"string","enum":["rolling_offset","curve_advance","pipe_weight","flange_torque","pipe_span","hydrostatic_test","pressure_drop","virola","miter_bend","boca_de_lobo","cone_concentrico","cone_excentrico","branch_reinforcement","asme_ug27","asme_ug32","api_650","heat_input","carbon_equivalent","ndt_criteria","pwht_schedule","consumables","confined_space","alara_radiation","pad_eye","geofence_validate","work_hours"],"example":"rolling_offset"},"dados":{"type":"object"},"gerarDxf":{"type":"boolean","example":true}}}},"webhookUrl":{"type":"string","example":"https://sua-empresa.com/api/webhook-dss"}}}}}},"responses":{"200":{"description":"Lote processado com sumário de peças, consolidação de pesos e DXFs"}}}}}}