{"revision":"0ed62d2c742f8e20","language":"it","entry":{"id":"logo-preview-read","kind":"endpoint","group":"manage","title":"Leggi un’anteprima di immagine","method":"GET","path":"/v1/logo-previews/{hash}.{format}","paths":[],"summary":"Leggi un’immagine temporanea con l’URL di anteprima restituito a chi l’ha creata.","response":"L’immagine controllata oppure 404 dopo la scadenza. Questo percorso non ha un permesso CORS pubblico.","parameters":[{"name":"hash","description":"Lo SHA-256 di 64 caratteri restituito quando crei l’anteprima.","in":"path","required":true},{"name":"format","description":"svg, png o gif. Usa l’estensione dell’URL dell’anteprima.","in":"path","required":true}],"sample":"/v1/logo-previews/PREVIEW_HASH.png","access":"private-code","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/v1/logo-previews/PREVIEW_HASH.png'"}],"live":false,"responses":[{"status":200,"contentType":"image/svg+xml | image/png | image/gif","description":"L’immagine controllata oppure 404 dopo la scadenza. Questo percorso non ha un permesso CORS pubblico.","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":"image/svg+xml | image/png | image/gif","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":"Cache-Control","value":"no-store","description":"Non conservare le risposte private o temporanee in una cache condivisa."},{"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/logo-preview-read?lang=it","supportsBrowserFetch":false,"browserMode":"local-or-server"}}