{"revision":"0ed62d2c742f8e20","language":"it","entry":{"id":"verify-link","kind":"endpoint","group":"share","title":"Condividi un’anteprima di verifica","method":"GET","path":"/v/{n}/{signature}","paths":[],"summary":"Condividi un messaggio firmato con un’anteprima social generata dal server.","response":"La pagina di verifica nel browser con metadati social calcolati dal server. Il messaggio viene mandato al server.","parameters":[{"name":"n","description":"Numero permanente positivo della scheda.","in":"path","required":true},{"name":"signature","description":"Base64url dei 64 byte della firma, senza padding. Le anteprime del server supportano Ed25519.","in":"path","required":true},{"name":"m","description":"Base64url dei byte UTF-8 del messaggio esatto, senza padding. Al massimo 1500 byte decodificati.","in":"query","required":true},{"name":"lang","description":"en o it. L’inglese è la lingua predefinita.","in":"query","required":false}],"sample":"/v/1/SIGNATURE?m=MESSAGE","access":"public","base":"directory","notes":[],"errors":["404 not_found","429 rate_limited","500 internal_error","503 busy"],"related":[],"sections":[{"kind":"code","language":"shell","code":"curl -fsS 'https://veil.rip/v/1/SIGNATURE?m=MESSAGE'"},{"kind":"paragraph","text":"Costruisci i valori codificati dai byte firmati. Il parametro del messaggio non contiene testo in chiaro. Per firme composite o messaggi più lunghi usa il link con frammento su /verify."}],"live":false,"responses":[{"status":200,"contentType":"text/html","description":"La pagina di verifica nel browser con metadati social calcolati dal server. Il messaggio viene mandato al server.","fields":[]}],"responseObjects":[],"errorFormat":"json","errorDetails":[{"status":404,"code":"not_found","description":"La scheda, la chiave, l’alias, il codice o la risorsa richiesti non sono stati trovati.","action":"Controlla l’identificatore. Codici e anteprime temporanei potrebbero essere scaduti o già usati.","scope":"endpoint"},{"status":429,"code":"rate_limited","description":"È stato superato un limite anonimo, delle richieste firmate o della chiave API.","action":"Attendi almeno i secondi indicati da `Retry-After`. Condividi coda e budget dei tentativi tra i tuoi processi.","scope":"common"},{"status":500,"code":"internal_error","description":"Si è verificato un errore imprevisto del server. I dettagli interni non vengono restituiti.","action":"Riprova le letture con attese crescenti e un limite. Controlla l’esito delle scritture prima di inviare una nuova operazione firmata.","scope":"common"},{"status":503,"code":"busy","description":"L’applicazione ha raggiunto un limite temporaneo di concorrenza o del database.","action":"Attendi i secondi indicati da `Retry-After` e riprova con attese crescenti e un limite.","scope":"common"}],"responseHeaders":[{"name":"Content-Type","value":"text/html","description":"Usa il tipo dichiarato per scegliere come leggere il corpo."},{"name":"Date","value":"HTTP date","description":"Ora del server. Confrontala con il tuo orologio per firmare le richieste."},{"name":"Retry-After","value":"integer seconds, on rate_limited or busy","description":"Attendi almeno questo intervallo prima di riprovare. Altri codici 429/503 non lo includono necessariamente."}],"documentationUrl":"https://veil.rip/docs/verify-link?lang=it","supportsBrowserFetch":false,"browserMode":"navigation"}}