{"errors":[{"code":"missing_token","status":401,"title":"Chiave mancante","cause":"La richiesta non ha l'header Authorization.","fix":"Aggiungi \"Authorization: Bearer gk_live_...\" (o la chiave demo_) a ogni richiesta."},{"code":"invalid_token","status":401,"title":"Chiave non valida o revocata","cause":"La chiave non esiste, è stata revocata, oppure il token è stato troncato/copiato male.","fix":"Verifica la chiave nel portale; se revocata, creane una nuova."},{"code":"forbidden","status":403,"title":"Privilegi insufficienti","cause":"Endpoint admin chiamato con una chiave senza privilegi admin.","fix":"Usa la chiave admin di sistema per le operazioni di gestione."},{"code":"bad_request","status":400,"title":"Parametri non validi","cause":"Parametri mancanti (nessun address/code/lat+lon) o valori fuori range.","fix":"Controlla i parametri nella risposta e nella specifica OpenAPI."},{"code":"address_not_found","status":404,"title":"Indirizzo non trovato","cause":"Nessun indirizzo corrisponde; in modalità strict anche quando il civico non esiste o manca.","fix":"Usa l'autocomplete per suggerimenti reali e invia il code; oppure rimuovi strict=1 e leggi notice."},{"code":"not_found","status":404,"title":"Endpoint inesistente","cause":"Percorso URL sbagliato.","fix":"Verifica il percorso nella specifica (es. /coverage/italy, senza /v1)."},{"code":"rate_limit_exceeded","status":429,"title":"Frequenza superata","cause":"Più richieste del limite al minuto (rpm) consentito; il burst è ~5 secondi di margine.","fix":"Rispetta retry_after (o l'header Retry-After) prima di ritentare. Il campo usage/credits mostra i limiti."},{"code":"daily_quota_exceeded","status":429,"title":"Quota giornaliera esaurita","cause":"Superato il tetto giornaliero del piano.","fix":"Attendi il reset UTC di mezzanotte o passa a un piano superiore."},{"code":"monthly_quota_exceeded","status":429,"title":"Quota mensile esaurita","cause":"Superato il tetto mensile del piano.","fix":"Attendi il reset mensile o passa a un piano superiore."},{"code":"credits_rate_limited","status":429,"title":"Endpoint /credits limitato","cause":"Il controllo crediti è limitato a 1 richiesta al secondo per account.","fix":"Metti in cache il risultato di /credits invece di chiamarlo a ogni richiesta."},{"code":"coverage_unavailable","status":503,"title":"Database di copertura non disponibile","cause":"Il servizio sta aggiornando i dati (refresh mensile) o è in manutenzione.","fix":"Riprova tra qualche minuto; durante il refresh il servizio resta in linea quasi sempre."},{"code":"streets_unavailable","status":503,"title":"Indice strade non disponibile","cause":"Indice ANNCSU in fase di rebuild.","fix":"Riprova tra qualche minuto."},{"code":"internal","status":500,"title":"Errore interno","cause":"Errore inatteso del servizio.","fix":"Riprova; se persiste, apri un ticket citando il campo request_id della risposta."}]}