{"data":{"endpoints":{"auth":[["POST","/api/v1/auth/register","Registra un nuovo utente","email, name, password"],["POST","/api/v1/auth/login","Login","email, password"],["POST","/api/v1/auth/refresh","Rinnova i token","refresh_token"],["POST","/api/v1/auth/logout","Revoca la sessione","Bearer token"],["GET","/api/v1/me","Profilo + entitlement","Bearer token"]],"catches":[["GET","/api/v1/catches","Lista catture (species, from, to, limit, offset)","Bearer token"],["POST","/api/v1/catches","Crea una cattura","Bearer token + JSON"],["GET","/api/v1/catches/{uuid}","Dettaglio cattura","Bearer token"],["PUT","/api/v1/catches/{uuid}","Aggiorna una cattura","Bearer token + JSON"],["DELETE","/api/v1/catches/{uuid}","Soft-delete di una cattura","Bearer token"],["POST","/api/v1/catches/{uuid}/photo","Upload foto (multipart, campo \"photo\")","Bearer token"],["GET","/api/v1/media/{user}/{file}","Serve una foto caricata","pubblico"]],"sync":[["POST","/api/v1/sync","Sincronizzazione bidirezionale a delta","since, changes[] + Bearer token"],["GET","/api/v1/sync","Pull incrementale (since)","Bearer token"]],"stats":[["GET","/api/v1/stats","Statistiche base (+ blocco advanced per Premium)","Bearer token"]],"subscription":[["GET","/api/v1/subscription/status","Stato abbonamento (attivo/scaduto, mensile/annuale)","Bearer token"],["POST","/api/v1/subscription/validate","Valida un acquisto con Play Developer API","product_id, purchase_token, package_name"],["POST","/api/v1/subscription/ack","Conferma ricezione acquisto","purchase_token, order_id"],["POST","/api/v1/subscription/webhook","Google Play RTDN (Pub/Sub push)","messaggio Pub/Sub"]],"meta":[["GET","/api/v1/health","Stato del servizio"],["GET","/api/v1/docs","Questo elenco"]]}}}