Chiedi l’accoppiamento di un dispositivo
Crea un codice temporaneo di accoppiamento per la chiave pubblica di un nuovo dispositivo.
/v1/device-requests- Accesso
- Crea dati temporanei
- Client
- Client locale o server
Corpo JSON#
| Nome | Posizione | Significato |
|---|---|---|
keyObbligatorio | JSON | La chiave pubblica del nuovo dispositivo. |
alg | JSON | ed25519 oppure mldsa65-ed25519. |
deviceObbligatorio | JSON | Nome del dispositivo da 1 a 40 caratteri. |
Esempi di richiesta#
curl -fsS -X POST 'https://veil.rip/v1/device-requests' --json @request.jsonRisposta#
201 con code, display, key, alg, device, createdAt ed expiresAt. Il codice dura dieci minuti.
| Campo | Tipo | Significato |
|---|---|---|
code | string | Codice privato di accoppiamento di otto caratteri. |
display | string | Codice raggruppato per la digitazione. |
key | string | Chiave pubblica in attesa. |
alg | string | Identificatore dell’algoritmo di firma. |
ed25519 | string | Chiave Ed25519 o metà composita, in hex. |
device | string | Etichetta richiesta del dispositivo. |
createdAt | string | Data e ora di creazione. |
expiresAt | string | Scadenza, dieci minuti dopo la creazione. |
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. |
Cache-Control | no-store | Non conservare le risposte private o temporanee in una cache condivisa. |
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#
- La creazione dei codici è limitata a 10 all’ora per IP. La lettura dei codici è limitata a 5 al minuto per IP e richiede una chiave attiva di una persona.
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_name | Un nome contiene caratteri invisibili, controlli di direzione o caratteri di formato non ammessi. Usa un nome visibile nella forma Unicode ammessa e firma la richiesta corretta. |
| 400 | invalid_parameter | Un campo del percorso, della query o del corpo manca, è malformato o fuori intervallo. Correggi il campo indicato in |
| 409 | key_already_used | Una chiave del dispositivo appartiene già a un’identità e non può essere riusata da un’altra. Usa la scheda esistente oppure genera una nuova chiave del dispositivo. |
| 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. |
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 |