{"revision":"6ba549855354e504","language":"it","entry":{"id":"read-move","kind":"endpoint","group":"manage","title":"Leggi un trasloco","method":"GET","path":"/v1/moves/{nonce}","paths":[],"summary":"Se un trasloco è ancora aperto, e la sua chiave. Mai la scheda, né se è stato approvato.","response":"200 con nonce, key, open ed expiresAt.","parameters":[{"name":"nonce","description":"Il nonce del trasloco: 22 caratteri in base64url.","in":"path","required":true}],"sample":"/v1/moves/MOVE_NONCE","access":"public","base":"directory","notes":["Spostare un browser dal vecchio indirizzo della rubrica al nuovo (dal 6 novembre 2026): una chiave vive sull’origine che l’ha fatta, quindi il nuovo indirizzo fa una chiave sua e la scheda la aggiunge con una versione firmata al vecchio indirizzo, nello stesso browser. La versione resta da parte finché la chiave nuova non torna con il segreto."],"errors":["400 invalid_parameter","400 wrong_format","404 no_move","404 not_found","500 internal_error","503 busy"],"related":["signed-requests"],"live":false,"responseObjects":[],"errorFormat":"json","errorDetails":[{"status":400,"code":"invalid_parameter","description":"Un campo del percorso, della query o del corpo manca, è malformato o fuori intervallo.","action":"Correggi il campo indicato in `error.message` prima di inviare di nuovo.","scope":"endpoint"},{"status":400,"code":"wrong_format","description":"La richiesta o la lettura appartiene all’altro formato del registro di questo server: un record v1 su un registro in formato 2, o una lettura del formato 2 su un registro in formato 1.","action":"Leggi `format` in GET /v1/log (assente vuol dire 1) e manda la forma di quel formato.","scope":"endpoint"},{"status":404,"code":"no_move","description":"Questa rubrica ha un indirizzo solo, quindi non c’è un browser da spostare.","action":"Fai una scheda o accedi a questo indirizzo.","scope":"endpoint"},{"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":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":"endpoint"},{"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":"endpoint"}],"sections":[{"kind":"code","language":"shell","code":"curl -fsS 'https://veil.pub/v1/moves/MOVE_NONCE'"}],"responses":[{"status":200,"contentType":"application/json","description":"200 con nonce, key, open ed expiresAt.","fields":[{"name":"nonce","type":"string","description":"Il trasloco."},{"name":"key","type":"string","description":"La chiave nuova."},{"name":"open","type":"boolean","description":"Vero finché non è pubblicato o scaduto, approvato o no."},{"name":"expiresAt","type":"string","description":"Quando si chiude."}]}],"responseHeaders":[{"name":"Content-Type","value":"application/json","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."}],"bodyFields":[],"documentationUrl":"https://veil.pub/docs/read-move?lang=it","supportsBrowserFetch":false,"browserMode":"local-or-server"}}