veil

Chiedi un biglietto per il sale iniziale

Fissa la metà del server del sale iniziale prima che il dispositivo scelga la propria.

POST/v1/salt-tickets
Accesso
Crea dati temporanei
Client
Client locale o server

Esempi di richiesta#

cURL
curl -fsS -X POST 'https://veil.rip/v1/salt-tickets'

Risposta#

HTTP 201application/json

201 con ticket, serverSalt ed expiresAt. Il biglietto dura dieci minuti, si usa una volta sola e può andare perso al riavvio.

CampoTipoSignificato
ticketstringTicket opaco monouso.
serverSaltstringContributo del server al sale di 16 byte, in hex.
expiresAtstringData e ora di scadenza del ticket.

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-storeNon conservare le risposte private o temporanee in una cache condivisa.
Retry-Afterinteger seconds, on rate_limited or busyAttendi almeno questo intervallo prima di riprovare. Altri codici 429/503 non lo includono necessariamente.

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_json

Il corpo non è un oggetto JSON, contiene chiavi duplicate o dati finali.

Invia un solo oggetto JSON valido con Content-Type application/json.

413payload_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.

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.