veil

Leggi gli avvisi sugli account di una scheda

Gli avvisi in vigore sugli account della scheda, uno per account, e tutti gli avvisi nel registro, ognuno con quello che serve a un client per controllarlo.

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

Parametri#

NomePosizioneSignificato
nObbligatorioPercorsoNumero permanente positivo della scheda.

Esempi di richiesta#

cURL
curl -fsS 'https://veil.rip/v1/identities/1/alerts'

Risposta#

HTTP 200application/json

Gli avvisi della scheda.

CampoTipoSignificato
cardobjectn, type, name, token e url della scheda.
inForcearray<object>Gli avvisi in vigore, uno per account (l’ultimo, se non è regained).
alertsarray<object>Tutti gli avvisi della scheda nel registro, dal più recente, al più 200.

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.

Avviso
CampoTipoSignificato
idintegerLa posizione della voce nel registro: l’id permanente della dichiarazione.
kindstringstatement oppure alert.
nintegerLa scheda che fa la dichiarazione.
signerobjectn e token della scheda di persona la cui chiave ha firmato: la scheda stessa, o un proprietario o amministratore di un’organizzazione.
statementstringLa dichiarazione come è stata firmata, in JSON canonico. I suoi campi sono ripetuti sotto per mostrarli.
saltstring32 byte in hex: c della voce è SHA-256(salt ‖ statement).
entrystringLa voce del registro con la firma, come il registro la tiene.
iintegerLa posizione della voce nel registro (la stessa di id).
publishedAtstring | nullLa prima controfirma sul primo checkpoint che contiene la voce.
checkpointobject | nullsize e note del checkpoint controfirmato che data la voce. Null quando il registro non si legge.
inclusionarray<string> | nullLa prova di inclusione RFC 6962 della voce in quel checkpoint, in hex, dal più profondo.
platformstringLa piattaforma dell’account.
subjectstringL’id stabile dell’account, come lo prende GET /v1/lookup.
displaystringIl nome che la scheda mostra per l’account.
statestringstolen, abandoned, moved oppure regained.
sincestring | nullPer stolen: la data del furto, AAAA-MM-GG.
toobject | nullPer moved: handle, e subject quando il nuovo account è collegato alla scheda.
logIndexintegerLa posizione della voce nel registro.

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.
Cache-Controlno-cacheRichiedila ogni volta: una dichiarazione o un avviso nuovi si vedono subito.

Cosa verificare#

Controlla ogni elemento prima di mostrarlo come della scheda: dichiarazione canonica, c = SHA-256(salt ‖ statement), la firma della voce su "veil-rubrica:card-entry:v2\n" e la voce senza firma, con una chiave attiva per chi firma alla posizione i (dalle sue versioni di autorità), e l’inclusione in un checkpoint firmato dal registro e controfirmato da un quorum. L’elenco in sé è la parola del server: può tralasciare una voce.

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.

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.

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.