{"name":"ETN Transfer Pricing Document Generator","version":"1.1.0","endpoints":{"GET  /api/config":"Group configuration","GET  /api/documents":"List available documents","POST /api/generate":"Generate a document","POST /api/generate/all":"Generate all documents as ZIP","PUT  /api/config/services/:id":"Update service markup/baseAmount","POST /api/loss-support/calculate":"Calculate loss support","POST /api/loss-support/generate-letter":"Generate Loss Support Letter","POST /api/loss-support/generate-delibera":"Generate Delibera CdA (loss support)","POST /api/loss-support/generate-all":"Generate all loss support docs (ZIP)","POST /api/cost-pool/compute":"Cost Pool Engine (indirect charge method), stateless: body { costPool, revenueMap }. Risponde CostPoolResult.","POST /api/loss-support/generate-nota-credito":"Genera Documento di Supporto alla Nota di Credito Loss Support (Strada 2). Query: ?format=pdf|docx. Body: NotaCreditoLossSupportInput.","POST /api/shareholder-activity/generate-delibera":"Genera Delibera CdA — Riqualificazione come Shareholder Activity (Opzione A). Body: ShareholderActivityInput. Restituisce .pdf o .docx.","POST /api/preflight":"Pre-flight check: body { documentTypes: [...], ...stato }. Per ogni documento la lista dei dati mancanti (M16.4).","POST /api/contracts/licenza-ip":"Contratto licenza d'uso piattaforme Axonforce → ETN (Flusso 3). Query ?format=pdf|docx. Body: ContrattoLicenzaIpInput.","POST /api/contracts/riaddebito-formazione":"Contratto riaddebito servizi formativi ETN School → ETN (Flusso 4). Query ?format=pdf|docx. Body: ContrattoRiaddebitoFormazioneInput.","POST /api/conguaglio/generate":"Documento di conguaglio annuale (true-up bidirezionale). Query ?format=pdf|docx. Body: DocumentoConguaglioInput.","POST /api/inbound/generate-analisi-cup":"Analisi di comparabilità CUP inbound ETN School/Travel Vision (Flusso 5). Query ?format=pdf|docx. Body: AnalisiCupInboundInput."}}