Leggi un account API titolare
Leggi limiti condivisi, saldi delle quote, uso, chiavi e attività privata.
/v1/developer/accounts/{n}- Accesso
- Richiesta firmata
- Client
- Client locale o server
Parametri#
| Nome | Posizione | Significato |
|---|---|---|
nObbligatorio | Percorso | Numero permanente della persona o organizzazione titolare della quota. |
Manda le intestazioni comuni di firma, inclusi X-Nonce e X-Timestamp. Una GET firmata non ha corpo JSON. Firma delle richieste
Esempi di richiesta#
curl -fsS \
-H "X-Public-Key: $PUBLIC_KEY" -H "X-Signature: $REQUEST_SIGNATURE" \
-H "X-Nonce: $NONCE" -H "X-Timestamp: $TIMESTAMP" \
"https://veil.rip/v1/developer/accounts/1"Risposta#
owner, suspended, limits, quota, usage, history, keys, next, audit e permissions. La storia copre gli ultimi 31 giorni. La prima pagina ha al massimo 50 chiavi e 20 eventi di attività.
| Campo | Tipo | Significato |
|---|---|---|
owner | integer | Numero permanente della scheda titolare. |
suspended | boolean | Indica se l’intero account API è sospeso. |
limits | object | requestsPerMinute, verificationPerMinute ed eventuale dailyLimit. |
quota | Quota | Disponibilità correnti delle quote condivise e aggiuntive. |
usage | Usage | Uso nel giorno UTC corrente. |
history | array<Usage> | Righe giornaliere degli ultimi 31 giorni. |
keys | array<ApiKey> | Prima pagina con al massimo 50 righe di metadati delle chiavi. |
next | integer | null | Passalo come before all’endpoint delle chiavi per le precedenti. |
audit | AuditPage | Ricevute private più recenti, inizialmente al massimo 20. |
permissions | array<string> | Azioni consentite a chi ha firmato la richiesta. |
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.
Metadati della chiave API ApiKey
| Campo | Tipo | Significato |
|---|---|---|
id | string | ID pubblico di gestione della chiave, non il segreto Bearer. |
owner | integer | Numero permanente della scheda titolare. |
label | string | Etichetta dell’integrazione scelta dal titolare. |
prefix | string | Prefisso visualizzato non segreto. |
scopes | array<string> | read e/o verify. |
state | string | active, expired, suspended o revoked. La sospensione dell’account è indicata separatamente. |
createdAt | string | Data e ora di creazione in ISO 8601 UTC. |
expiresAt | string | Scadenza in ISO 8601 UTC. |
revokedAt | string | null | Data e ora della revoca permanente. |
suspended | boolean | Indica se questa chiave è sospesa. |
requestsPerMinute | integer | null | Limite aggiuntivo della chiave, oppure null. |
lastUsedAt | string | null | Ultimo uso ammesso, oppure null se mai usata. |
requests | integer | Richieste ammesse durante la vita della chiave. |
Quote condivise e aggiuntive Quota
| Campo | Tipo | Significato |
|---|---|---|
requests | Bucket | Quota di richieste condivisa dal titolare. |
verification | Bucket | Quota di verifica condivisa aggiuntiva. Una verifica consuma entrambe le quote. |
daily | Bucket | null | Limite giornaliero aggiuntivo, se impostato. |
key | Bucket | null | Limite aggiuntivo della singola chiave, se impostato. |
Quota Bucket
| Campo | Tipo | Significato |
|---|---|---|
limit | integer | Capacità della quota, oppure limite del giorno UTC per la quota giornaliera. |
remaining | integer | Richieste intere disponibili al momento. |
resetAt | integer | Secondi Unix in cui la quota sarà piena, oppure la prossima mezzanotte UTC per il limite giornaliero. |
Uso nel giorno UTC Usage
| Campo | Tipo | Significato |
|---|---|---|
day | string | Data UTC nel formato YYYY-MM-DD. |
requests | integer | Richieste ammesse durante il giorno. |
verifications | integer | Verifiche ammesse, già incluse in requests. |
rejected | integer | Richieste rifiutate per quota durante il giorno. |
Pagina delle ricevute private AuditPage
| Campo | Tipo | Significato |
|---|---|---|
owner | integer | Numero della scheda titolare. |
events | array<AuditEvent> | Ricevute dalla più recente. |
next | integer | null | Passalo come before per leggere le ricevute precedenti. Null indica la fine. |
Ricevuta privata di gestione AuditEvent
| Campo | Tipo | Significato |
|---|---|---|
id | integer | Cursore della ricevuta. |
owner | integer | Numero permanente della scheda titolare. |
keyId | string | null | Chiave interessata, oppure null per una modifica dell’account. |
actor | integer | Scheda che ha firmato la richiesta di gestione. |
action | string | Azione di gestione, per esempio create, revoke o account_limits. |
reason | string | Motivo dello staff, oppure stringa vuota per un’azione del titolare. |
details | object | Metadati dell’azione, inclusi i valori prima e dopo per i limiti. Non contiene il segreto Bearer. |
proof | object | method, path, body, key pubblica, alg e signature esatti della richiesta firmata. |
createdAt | string | Data e ora della ricevuta in ISO 8601 UTC. |
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#
- Il titolare firma con una chiave di dispositivo attiva. Per l’organizzazione serve un proprietario con appartenenza accettata. Le chiavi API Bearer non autorizzano questa chiamata.
- La risposta è privata e usa Cache-Control no-store.
- Le scritture di gestione accettano al massimo 8 KiB e rifiutano i campi sconosciuti. nonce e timestamp sono i campi comuni della firma.
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_parameter | Un campo del percorso, della query o del corpo manca, è malformato o fuori intervallo. Correggi il campo indicato in |
| 403 | identity_banned | La scheda che agisce è sospesa dallo staff di Veil. Attendi la fine della restrizione o chiedi allo staff di riesaminarla. |
| 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. |
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 |