Generi un modello strutturato di lettera di diffida
Una lettera di diffida è più semplice da verificare quando lo scopo e i fatti che la sostengono sono nettamente separati.
Esegui gratis nel browser
Questo generatore organizza le informazioni da Lei fornite in un modello neutro per una fattura insoluta, una controversia sul deposito cauzionale o un inadempimento contrattuale. Presenta prima i fatti, formula la soluzione richiesta, stabilisce un termine di risposta e descrive il passo successivo previsto. Il risultato è una base modificabile, non una consulenza legale né una valutazione sulla validità di una pretesa, di un termine o di un rimedio.
Inizi con fatti specifici e verificabili
Una diffida è più utile quando un'altra persona può ricostruire la vicenda senza formulare ipotesi. Inserisca ogni fatto rilevante come affermazione separata e concisa, possibilmente in ordine cronologico. Indichi date esatte, riferimenti di fatture o accordi, somme pagate o dovute, indirizzi degli immobili, date delle comunicazioni e l'obbligo che ritiene non adempiuto. Descriva i contatti con precisione senza attribuire motivazioni non dimostrabili. Per una fattura insoluta, identifichi fattura, scadenza, saldo e solleciti. Per un deposito cauzionale, specifichi locazione, rilascio, importo, trattenute o rendiconto mancante e comunicazioni con il locatore. Per un contratto, identifichi l'accordo, la promessa pertinente, la propria prestazione e la condotta ritenuta inadempiente. Il generatore conserva i fatti ma non li verifica: controlli nomi, calcoli e documenti prima dell'invio. Eviti dati sensibili non necessari e mantenga il testo leggibile e concentrato sugli elementi che sostengono la richiesta.
Formuli una richiesta concreta e un termine praticabile
Dopo i fatti, dichiari esattamente che cosa risolverebbe la controversia. Può chiedere il pagamento di un saldo, la restituzione di un deposito, la consegna del lavoro promesso, la correzione di una prestazione difettosa o un altro adempimento preciso. Se omette la soluzione richiesta, il generatore propone un testo generale adatto al tipo di disputa; lo sostituisca con dettagli corretti prima dell'invio. Il termine è espresso in giorni di calendario dal ricevimento, perché lo strumento non conosce la data di consegna. Scelga un periodo lecito e ragionevole e verifichi se contratto, legge, regola processuale o avviso preliminare obbligatorio impongano tempi diversi. Non esasperi l'urgenza e non minacci azioni che non può intraprendere. Il modello non calcola interessi, danni, spese o sanzioni. Se sono rilevanti, ne verifichi separatamente base e calcolo e li descriva con trasparenza. Il destinatario deve comprendere senza ambiguità sia l'azione richiesta sia il tempo concesso.
Descriva il passo successivo senza minacce improprie
La sezione sulle conseguenze spiega che cosa Lei intende valutare se il destinatario non adempie. Mantenga il testo accurato, lecito e proporzionato. Può menzionare una procedura contrattuale di risoluzione, un'azione appropriata, il ricorso a un legale o un altro rimedio realmente disponibile. La formulazione predefinita è volutamente neutra, perché le opzioni variano secondo giurisdizione, contratto, valore e tipo di controversia. Non usi minacce di natura penale, esposizione pubblica, molestie o danni estranei come leva. Prima di inviare, controlli tono e coerenza, confermi le parti e verifichi che la richiesta corrisponda ai fatti. Accerti indirizzo di notifica, modalità di consegna, firma, allegati e ogni altro requisito. Conservi la versione finale e prove affidabili della consegna. Lo strumento struttura soltanto le informazioni fornite; non decide se la pretesa è valida, non accerta responsabilità e non sostituisce il parere di un professionista qualificato che conosca i fatti e il diritto applicabile.
Casi d'uso
Richiedere il pagamento di una fattura scaduta
Trasformi date, saldo insoluto e solleciti in una richiesta diretta di pagamento con un termine di risposta.
Chiedere la restituzione di un deposito
Organizzi locazione, rilascio, deposito, trattenute e avvisi prima di richiedere restituzione o rendiconto.
Chiedere di sanare un inadempimento
Esponga accordo, prestazione promessa, inadempimento contestato, rimedio, termine e passo successivo lecito.
Domande frequenti
Si tratta di consulenza legale?
No. È un ausilio deterministico alla redazione che struttura i fatti forniti. Non valuta responsabilità, non sceglie rimedi e non stabilisce requisiti locali.
Che cosa accade se non inserisco fatti rilevanti?
La richiesta restituisce un errore di input non valido, perché è obbligatorio almeno un fatto non vuoto.
Come viene calcolato il termine?
Il modello indica il numero di giorni di calendario dal ricevimento scelto da Lei. Non calcola una data né conferma l'adeguatezza giuridica del periodo.
Posso indicare il passo successivo che preferisco?
Sì. Indichi un'opzione lecita che intende realmente valutare oppure mantenga la formulazione neutra predefinita.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. La versione nel browser può eseguire localmente lo stesso assemblaggio deterministico.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/legal2/demand-letter-structure \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"dispute_type":"unpaid_invoice","key_facts":["Invoice INV-104 for $1,250 was issued on June 2, 2026.","Payment was due on July 2, 2026 and remains unpaid."]}'const res = await fetch("https://api.kit.forhosting.com/legal2/demand-letter-structure", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"dispute_type": "unpaid_invoice",
"key_facts": [
"Invoice INV-104 for $1,250 was issued on June 2, 2026.",
"Payment was due on July 2, 2026 and remains unpaid."
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/legal2/demand-letter-structure",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"dispute_type": "unpaid_invoice",
"key_facts": [
"Invoice INV-104 for $1,250 was issued on June 2, 2026.",
"Payment was due on July 2, 2026 and remains unpaid."
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/legal2/demand-letter-structure", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"dispute_type":"unpaid_invoice","key_facts":["Invoice INV-104 for $1,250 was issued on June 2, 2026.","Payment was due on July 2, 2026 and remains unpaid."]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"dispute_type":"unpaid_invoice","key_facts":["Invoice INV-104 for $1,250 was issued on June 2, 2026.","Payment was due on July 2, 2026 and remains unpaid."]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/legal2/demand-letter-structure", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"dispute_type": "unpaid_invoice",
"key_facts": [
"Invoice INV-104 for $1,250 was issued on June 2, 2026.",
"Payment was due on July 2, 2026 and remains unpaid."
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "legal2.demand_letter_structure",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |