Leggi le versioni firmate
Scorri record canonici, firme e aperture.
/v1/identities/{n}/versions- Accesso
- Pubblico; chiave API facoltativa
- Client
- Fetch dal browser supportato
Parametri#
| Nome | Posizione | Significato |
|---|---|---|
nObbligatorio | Percorso | Numero permanente positivo della scheda. |
after | Query | Versione dopo cui continuare, 0 di default. |
limit | Query | Da 1 a 200. Default 50. |
latest | Query | true restituisce solo l’ultima versione. Non si combina con after diverso da zero. |
Esempi di richiesta#
curl -fsS 'https://veil.rip/v1/identities/1/versions?latest=true&limit=1'const response = await fetch("https://veil.rip/v1/identities/1/versions?latest=true&limit=1");
const result = await response.json();Prova la richiesta#
Risposta#
versions è ordinato dalla più vecchia. Passa next come prossimo after finché è null. Il budget in byte può restituire meno righe di limit.
| Campo | Tipo | Significato |
|---|---|---|
n | integer | Numero permanente della scheda. |
token | string | Pseudonimo stabile nel registro. |
versions | array<VersionOpening> | Versioni richieste in ordine crescente. |
next | integer | null | Passalo 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
| Campo | Tipo | Significato |
|---|---|---|
version | integer | Numero della versione. |
record | string | Testo JSON canonico esatto che è stato firmato. Non riformattarlo prima della verifica. |
salt | string | Sale dell’impegno in hex. |
serverSalt | string | Contributo del server al sale, in hex. |
clientSalt | string | null | Contributo del dispositivo al sale, in hex, se usato. |
commitment | string | SHA-256 dei byte del sale seguiti dai byte del record, in hex. |
signedBy | string | Chiave pubblica di firma. |
signature | string | Firma sul prefisso identity-version e sul record esatto. |
entry | string | Testo canonico esatto della voce del registro. |
logIndex | integer | null | Indice nel registro a partire da zero. |
logSize | integer | null | Dimensione dell’albero alla pubblicazione. |
createdAt | string | Data e ora di creazione sul server. |
publishedAt | string | null | Prima data e ora di controfirma sul primo checkpoint. |
Intestazioni della risposta#
| Intestazione | Valore | Significato |
|---|---|---|
Content-Type | application/json | Usa il tipo dichiarato per scegliere come leggere il corpo. |
Date | HTTP date | Ora del server. Confrontala con il tuo orologio per firmare le richieste. |
Retry-After | integer seconds, on rate_limited or busy | Attendi 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
| HTTP | Codice | Significato e cosa fare |
|---|---|---|
| 400 | invalid_parameter | Un campo del percorso, della query o del corpo manca, è malformato o fuori intervallo. Correggi il campo indicato in |
| 404 | not_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. |
| 410 | erased | 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
| HTTP | Codice | Significato e cosa fare |
|---|---|---|
| 401 | invalid_api_key | La credenziale Bearer è malformata, sconosciuta, scaduta o revocata. Usa una chiave attiva. Per l’accesso pubblico anonimo, rimuovi del tutto |
| 403 | api_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. |
| 403 | api_key_suspended | Questa chiave API è sospesa. Chiedi allo staff di ripristinarla; un’altra chiave non rimuove la sospensione dell’account. |
| 403 | developer_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
| HTTP | Codice | Significato e cosa fare |
|---|---|---|
| 429 | rate_limited | È stato superato un limite anonimo, delle richieste firmate o della chiave API. Attendi almeno i secondi indicati da |
| 500 | internal_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. |
| 503 | busy | L’applicazione ha raggiunto un limite temporaneo di concorrenza o del database. Attendi i secondi indicati da |