Chiedi la cancellazione della scheda
Una chiave attiva della persona o un proprietario dell’organizzazione firma la richiesta. Ci sono 24 ore per annullarla.
/v1/identities/{n}/erase- Accesso
- Richiesta firmata
- Client
- Client locale o server
Parametri#
| Nome | Posizione | Significato |
|---|---|---|
nObbligatorio | Percorso | Numero permanente positivo della scheda. |
Corpo JSON#
| Nome | Posizione | Significato |
|---|---|---|
timeObbligatorio | JSON | Secondi Unix entro cinque minuti dall’orologio del server. Fa parte anche della dichiarazione di cancellazione. |
signatureObbligatorio | JSON | La firma della dichiarazione di cancellazione con la stessa chiave di X-Public-Key. |
closing | JSON | Formato 2, e lì obbligatorio: la voce di chiusura {text, signature} firmata con la stessa chiave. text è la voce canonica senza la firma, con key, kind closed, latest (l’hash dell’intestazione corrente della scheda), signer, time, token e v. signature copre veil-rubrica:close-entry:v2 e un a capo seguiti da text. |
Questa chiamata richiede anche le intestazioni comuni di firma, nonce e timestamp. Prepara e firma request.json prima di usare l’esempio. Firma delle richieste
Esempi di richiesta#
curl -fsS -X POST \
-H "X-Public-Key: $PUBLIC_KEY" \
-H "X-Signature: $REQUEST_SIGNATURE" --json @request.json \
"https://veil.rip/v1/identities/1/erase"veil-rubrica:erase:v1
<CARD_TOKEN>
<TIME_UNIX_SECONDS>veil-rubrica:close-entry:v2
{"key":"<PUBLIC_KEY>","kind":"closed","latest":"<CURRENT_LABEL_HASH>","signer":{"identity":"<SIGNER_TOKEN>","n":<SIGNER_VERSION>},"time":<TIME_UNIX_SECONDS>,"token":"<CARD_TOKEN>","v":2}Risposta#
202 con n, requestedAt, executesAt e key. Dopo il periodo di annullamento la cancellazione elimina le aperture dei record e lascia gli impegni nel registro pubblico.
| Campo | Tipo | Significato |
|---|---|---|
n | integer | Scheda di cui è prevista la cancellazione. |
requestedAt | string | Data e ora della richiesta. |
executesAt | string | Data e ora prevista di esecuzione dopo il periodo di attesa. |
key | string | Chiave pubblica che ha firmato la richiesta di cancellazione. |
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. |
Note d’uso#
- Su un registro in formato 2 il signer della chiusura è la scheda stessa per una persona, e la scheda del proprietario che la chiede per un’organizzazione. Il server scrive la chiusura nel registro quando la cancellazione si esegue, e la scheda chiusa risponde poi 410 con closed.
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_json | Il corpo non è un oggetto JSON, contiene chiavi duplicate o dati finali. Invia un solo oggetto JSON valido con |
| 400 | invalid_parameter | Un campo del percorso, della query o del corpo manca, è malformato o fuori intervallo. Correggi il campo indicato in |
| 403 | key_mismatch | La chiave di firma non è autorizzata per questa scheda o operazione. Usa una chiave di dispositivo attiva con il ruolo di titolare o membro richiesto. |
| 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. |
| 409 | erase_already_requested | Una cancellazione è già in attesa. Leggi sulla scheda la data e ora di esecuzione prevista. |
| 409 | signer_stale | Su un registro in formato 2 Rileggi la scheda che firma e firma di nuovo la voce con la sua versione corrente in |
| 409 | version_conflict | Su un registro in formato 2 una versione di questa scheda è ancora in viaggio verso il registro. La chiusura deve nominare la versione corrente della scheda. Aspetta che la versione sia nel registro, rileggi la scheda e firma una nuova chiusura. |
| 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. |
| 413 | payload_too_large | Il corpo della richiesta supera il limite in byte dell’endpoint. Riduci il corpo codificato. La gestione delle chiavi API ammette al massimo 8 KiB. |
| 422 | bad_entry | Su un registro in formato 2 Correggi il campo indicato, firma di nuovo la voce con la chiave della richiesta e manda una nuova richiesta firmata. |
| 422 | closing_required | Su un registro in formato 2 una cancellazione è arrivata senza la sua voce di chiusura firmata in Firma la voce di chiusura con la stessa chiave e mandala come |
| 422 | invalid_statement_signature | La firma della dichiarazione di cancellazione non è valida. Firma i byte esatti della dichiarazione con prefisso e chiave richiesti. |
| 422 | last_owner | La modifica lascerebbe un’organizzazione senza un proprietario accettato. Aggiungi o accetta un altro proprietario prima di rimuovere l’ultimo. |
| 422 | staff_org_target | Questa operazione non può riguardare l’organizzazione dello staff di Veil. Scegli un destinatario idoneo. |
Errori comuni delle richieste
| HTTP | Codice | Significato e cosa fare |
|---|---|---|
| 400 | invalid_nonce | Il nonce della richiesta firmata ha un formato errato. Genera un nuovo nonce da 16 a 128 caratteri usando lettere, cifre, _ o -. |
| 400 | invalid_signature_alg |
Usa un algoritmo di firma supportato e la codifica corretta per chiave e firma. |
| 400 | invalid_timestamp | Il timestamp della richiesta firmata non è espresso in millisecondi Unix. Usa un timestamp Unix intero in millisecondi e firma la richiesta corretta. |
| 401 | invalid_signature | La firma della richiesta HTTP non è valida. Firma metodo, percorso e byte del corpo esatti, senza modificarli dopo. |
| 401 | missing_signature | La richiesta richiede una firma del dispositivo e le intestazioni mancano o non sono leggibili. Invia |
| 401 | stale_timestamp | Il timestamp firmato è fuori dalla finestra temporale ammessa. Confronta l’intestazione Date del server con il tuo orologio, poi genera nuovi nonce, timestamp e firma. |
| 403 | key_banned | La chiave del dispositivo che firma è sospesa dallo staff di Veil. Usa una chiave attiva autorizzata o chiedi allo staff di riesaminare la restrizione. |
| 409 | replayed_nonce | La chiave di firma ha già usato questo nonce. Controlla se la richiesta precedente è riuscita prima di crearne una nuova firmata. |
| 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 |