veil

Leggi la catena delle dichiarazioni

Scorri le dichiarazioni dello staff contate di una scheda dopo la prima pagina di index.statements.

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

Parametri#

NomePosizioneSignificato
nObbligatorioPercorsoNumero permanente positivo della scheda.
fromObbligatorioQueryLa posizione nel registro da cui partire: prev dell'ultima dichiarazione della pagina prima.
sizeObbligatorioQueryLa dimensione del checkpoint del pacchetto d'indice della scheda: le prove di inclusione sono in quell'albero.

Esempi di richiesta#

cURL
curl -fsS 'https://veil.rip/v1/identities/1/statements?from=11&size=412'
javascript
const response = await fetch("https://veil.rip/v1/identities/1/statements?from=11&size=412");
const result = await response.json();

Risposta#

HTTP 200application/json

statements è in ordine dalla più recente. Segui statementsNext finché è null.

CampoTipoSignificato
nintegerIl numero della scheda.
statementsarray<StatementEntry>Fino a 200 voci di dichiarazione, ognuna con i, entry, inclusion e by facoltativo.
statementsNextstring | nullL'indirizzo della pagina dopo; null indica la fine della catena.
sizeintegerLa dimensione dell'albero delle prove di inclusione.

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.

Voce di una dichiarazione StatementEntry
CampoTipoSignificato
iintegerLa posizione della voce nel registro.
entrystringIl testo della voce come lo tiene il registro, firma compresa.
inclusionarray<string>Prova di inclusione in hex, dal fratello più profondo, sul checkpoint del pacchetto d’indice della scheda.
byinteger, optionalNumero della scheda del membro dello staff che ha firmato. Un’indicazione per la pagina: conta il signer della voce.

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#

Ogni voce è inclusa nell'albero di size voci che il checkpoint della scheda ha verificato, è una dichiarazione sulla scheda, e il suo prev è la i della successiva.

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

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.

400wrong_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 format in GET /v1/log (assente vuol dire 1) e manda la forma di quel formato.

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.

503log_unavailable

Al momento il registro pubblico non può essere letto, verificato o usato per pubblicare.

Per le letture, considera il risultato non verificato e riprova più tardi. Prima di ripetere una scrittura, leggi la scheda per controllare se la pubblicazione è terminata.

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.