veil

Leggi un logo o una foto pubblicati

Leggi l’immagine attualmente pubblicata sulla scheda di una persona o organizzazione.

GET/{kind}/{n}/logo.{format}
Accesso
Pubblico; chiave API facoltativa
Client
Fetch dal browser supportato

Parametri#

NomePosizioneSignificato
kindObbligatorioPercorsou oppure o.
nObbligatorioPercorsoNumero permanente positivo della scheda.
formatObbligatorioPercorsosvg, png oppure gif. Usa logo.url della scheda.
vQueryHash corrente dell’immagine indicato da logo.url. Se corrisponde, permette un giorno di cache pubblica.
sizeQuerySolo PNG, 64 o 128. Richiede una miniatura proporzionata quando riduce i byte. PNG piccoli e APNG animati mantengono i byte originali. Ometti per l’immagine pubblicata esatta.

Esempi di richiesta#

cURL
curl -fsS 'https://veil.rip/o/2/logo.svg'

Risposta#

HTTP 200image/svg+xml | image/png | image/gif

L’SVG, PNG o GIF pubblicato esatto quando size è omesso. Con size=64 oppure size=128 su un PNG può essere restituita una miniatura più piccola. Immagini assenti o nascoste restituiscono 404.

Intestazioni della risposta#

IntestazioneValoreSignificato
Content-Typeimage/svg+xml | image/png | image/gifUsa il tipo dichiarato per scegliere come leggere il corpo.
DateHTTP dateOra del server. Confrontala con il tuo orologio per firmare le richieste.
Cache-Controlno-cache or public, max-age=86400Una query v corrispondente al prefisso dell’hash corrente consente un giorno di cache.
Retry-Afterinteger seconds, on rate_limited or busyAttendi almeno questo intervallo prima di riprovare. Altri codici 429/503 non lo includono necessariamente.

Note d’uso#

  • Questi percorsi usano il numero permanente. Le anteprime non ancora pubblicate hanno requisiti di accesso diversi.
  • La risposta è un’immagine. Usala in un elemento img oppure leggi i byte con response.blob().
  • Le miniature servono alla visualizzazione. Verifica i byte originali nel record firmato. SVG, GIF e animazioni APNG restano disponibili integralmente; size su SVG/GIF o un valore diverso da 64/128 restituisce 400 invalid_parameter. Visibilità corrente e hash v sono controllati prima di servire una miniatura.

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.

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.

422not_a_person

La scheda è un’organizzazione dove è richiesta una persona.

Usa l’endpoint delle organizzazioni oppure la scheda di una persona idonea.

422not_an_organization

La scheda è una persona dove è richiesta un’organizzazione.

Usa l’endpoint delle persone oppure la scheda di un’organizzazione.

Quando usi una chiave API facoltativa
HTTPCodiceSignificato e cosa fare
401invalid_api_key

La credenziale Bearer è malformata, sconosciuta, scaduta o revocata.

Usa una chiave attiva. Per l’accesso pubblico anonimo, rimuovi del tutto Authorization. Credenziali non valide non attivano automaticamente l’accesso anonimo.

403api_key_scope

La chiave API non ha il permesso read o verify, oppure l’endpoint non accetta chiavi Bearer.

Usa il permesso corretto. Le modifiche alle schede e la gestione delle chiavi richiedono una firma del dispositivo.

403api_key_suspended

Questa chiave API è sospesa.

Chiedi allo staff di ripristinarla; un’altra chiave non rimuove la sospensione dell’account.

403developer_suspended

L’account API del titolare è sospeso oppure la scheda titolare non è disponibile.

Controlla l’account titolare e le restrizioni dello staff. Creare un’altra chiave non aggira la sospensione.

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.