veil

Leggi le versioni firmate

Scorri record canonici, firme e aperture.

GET/v1/identities/{n}/versions
Accesso
Pubblico; chiave API facoltativa
Client
Fetch dal browser supportato

Parametri#

NomePosizioneSignificato
nObbligatorioPercorsoNumero permanente positivo della scheda.
afterQueryVersione dopo cui continuare, 0 di default.
limitQueryDa 1 a 200. Default 50.
latestQuerytrue restituisce solo l’ultima versione. Non si combina con after diverso da zero.

Esempi di richiesta#

cURL
curl -fsS 'https://veil.rip/v1/identities/1/versions?latest=true&limit=1'
javascript
const response = await fetch("https://veil.rip/v1/identities/1/versions?latest=true&limit=1");
const result = await response.json();

Prova la richiesta#

Risposta#

HTTP 200application/json

versions è ordinato dalla più vecchia. Passa next come prossimo after finché è null. Il budget in byte può restituire meno righe di limit.

CampoTipoSignificato
nintegerNumero permanente della scheda.
tokenstringPseudonimo stabile nel registro.
versionsarray<VersionOpening>Versioni richieste in ordine crescente.
nextinteger | nullPassalo come after per la pagina successiva; null indica la fine.

Apri un oggetto annidato per leggerne i campi. I tipi con null ammettono un valore null; i campi optional possono essere assenti. Gli altri campi sono presenti nell’oggetto.

Apertura di una versione VersionOpening
CampoTipoSignificato
versionintegerNumero della versione.
recordstringTesto JSON canonico esatto che è stato firmato. Non riformattarlo prima della verifica.
saltstringSale dell’impegno in hex.
serverSaltstringContributo del server al sale, in hex.
clientSaltstring | nullContributo del dispositivo al sale, in hex, se usato.
commitmentstringSHA-256 dei byte del sale seguiti dai byte del record, in hex.
signedBystringChiave pubblica di firma.
signaturestringFirma sul prefisso identity-version e sul record esatto.
entrystringTesto canonico esatto della voce del registro.
logIndexinteger | nullIndice nel registro a partire da zero.
logSizeinteger | nullDimensione dell’albero alla pubblicazione.
createdAtstringData e ora di creazione sul server.
publishedAtstring | nullPrima data e ora di controfirma sul primo checkpoint.

Intestazioni della risposta#

IntestazioneValoreSignificato
Content-Typeapplication/jsonUsa il tipo dichiarato per scegliere come leggere il corpo.
DateHTTP dateOra del server. Confrontala con il tuo orologio per firmare le richieste.
Retry-Afterinteger seconds, on rate_limited or busyAttendi almeno questo intervallo prima di riprovare. Altri codici 429/503 non lo includono necessariamente.

Cosa verificare#

Ricalcola gli impegni, verifica le firme e segui prev attraverso tutta la catena.

Note d’uso#

  • Su un registro in formato 2 ogni elemento è una V2Version: label, body, signature, signedBy, logIndex, publishedAt ed entry.

Errori#

Gli errori API restituiscono un oggetto error. Usa error.code nella logica del programma; error.message è un testo inglese per le persone e può cambiare. Guida a risposte ed errori

HTTPCodiceSignificato e cosa fare
400invalid_parameter

Un campo del percorso, della query o del corpo manca, è malformato o fuori intervallo.

Correggi il campo indicato in error.message prima di inviare di nuovo.

404not_found

La scheda, la chiave, l’alias, il codice o la risorsa richiesti non sono stati trovati.

Controlla l’identificatore. Codici e anteprime temporanei potrebbero essere scaduti o già usati.

410erased

La scheda esisteva ed è stata cancellata o rimossa. La risposta contiene anche la ricevuta pubblica di cancellazione.

Smetti di usare questa scheda come autorità corrente. Conserva soltanto la ricevuta pubblica se serve.

Quando usi una chiave API facoltativa
HTTPCodiceSignificato e cosa fare
401invalid_api_key

La credenziale Bearer è malformata, sconosciuta, scaduta o revocata.

Usa una chiave attiva. Per l’accesso pubblico anonimo, rimuovi del tutto Authorization. Credenziali non valide non attivano automaticamente l’accesso anonimo.

403api_key_scope

La chiave API non ha il permesso read o verify, oppure l’endpoint non accetta chiavi Bearer.

Usa il permesso corretto. Le modifiche alle schede e la gestione delle chiavi richiedono una firma del dispositivo.

403api_key_suspended

Questa chiave API è sospesa.

Chiedi allo staff di ripristinarla; un’altra chiave non rimuove la sospensione dell’account.

403developer_suspended

L’account API del titolare è sospeso oppure la scheda titolare non è disponibile.

Controlla l’account titolare e le restrizioni dello staff. Creare un’altra chiave non aggira la sospensione.

Errori comuni delle richieste
HTTPCodiceSignificato e cosa fare
429rate_limited

È stato superato un limite anonimo, delle richieste firmate o della chiave API.

Attendi almeno i secondi indicati da Retry-After. Condividi coda e budget dei tentativi tra i tuoi processi.

500internal_error

Si è verificato un errore imprevisto del server. I dettagli interni non vengono restituiti.

Riprova le letture con attese crescenti e un limite. Controlla l’esito delle scritture prima di inviare una nuova operazione firmata.

503busy

L’applicazione ha raggiunto un limite temporaneo di concorrenza o del database.

Attendi i secondi indicati da Retry-After e riprova con attese crescenti e un limite.