Leggi una versione
Leggi una versione intera: intestazione, corpo, firma e posizione nel registro.
/v1/identities/{n}/versions/{v}- Accesso
- Pubblico; chiave API facoltativa
- Client
- Fetch dal browser supportato
Parametri#
| Nome | Posizione | Significato |
|---|---|---|
nObbligatorio | Percorso | Numero permanente positivo della scheda. |
vObbligatorio | Percorso | Numero della versione. |
Esempi di richiesta#
curl -fsS 'https://veil.rip/v1/identities/1/versions/1'const response = await fetch("https://veil.rip/v1/identities/1/versions/1");
const result = await response.json();Risposta#
Lo stesso oggetto di ogni elemento di versions.
| Campo | Tipo | Significato |
|---|---|---|
label | string | L’intestazione canonica esattamente come firmata, dopo il prefisso veil-rubrica:identity-version:v2 e un a capo. Per un’organizzazione porta signer, la scheda del membro che firma e la sua versione. Il suo hash è il c che l’indice tiene per la versione. |
body | string | Il corpo canonico: le operazioni fuori da label.auth e il sale. Non porta mai signer. label.body è il suo hash. |
signature | string | La firma sul prefisso e sull’intestazione. |
signedBy | string | La chiave che ha firmato. |
logIndex | integer | null | Posizione della voce della versione nel registro, da zero. |
publishedAt | string | null | Prima controfirma sul primo checkpoint che la conteneva. |
entry | string | La voce della versione nel registro, come testo: key, label, signature e v. L’indice verifica la firma da questa sola voce. |
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#
Calcola l’hash del corpo e confrontalo con label.body; verifica la firma sul prefisso e sull’intestazione.
Note d’uso#
- Solo su un registro in formato 2 (GET /v1/log dice format 2). Un registro in formato 1 risponde 400 wrong_format.
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 |
| 400 | wrong_format | 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. Leggi |
| 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 |