developers  · docsAccount
Ottieni il tuo token
Docs · Quickstart

La tua prima chiamata API in 5 minuti

Aggiornato Aug 2026 · API v3

La via più rapida è un personal access token — niente OAuth, niente registrazione di app. Legge e scrive i tuoi dati pon, esattamente quello che serve per script, Home Assistant e progetti homelab.

  1. Prendi pon sul tuo iPhone

    Il tuo account e le tue liste vivono nell’app — scarica pon dall’App Store e registrati lì.

    App Store

  2. Accedi su my.pon.app

    Usa il tuo account pon. La tua e-mail deve essere confermata — altrimenti l’attivazione risponde 403 EMAIL_UNVERIFIED.

  3. Attiva la modalità sviluppatore

    my → Per sviluppatori. Accetti i termini dell’API una volta sola.

  4. Crea un token

    Scegli gli scope che ti servono. Il segreto pon_pat_… viene mostrato una sola volta — conservalo come una password. Scadenza: 90 giorni di default, fino a 365, oppure mai.

  5. Chiama l’API

    Tutto qui — un semplice Bearer, nessun rito di firma:

# list your lists
curl https://api.pon.app/v3/lists \
  -H "Authorization: Bearer pon_pat_XXXX"
const res = await fetch("https://api.pon.app/v3/lists", {
  headers: { Authorization: "Bearer pon_pat_XXXX" },
});
const { data } = await res.json();
console.log(data);
import requests

res = requests.get(
    "https://api.pon.app/v3/lists",
    headers={"Authorization": "Bearer pon_pat_XXXX"},
)
print(res.json()["data"])

Vuoi provare prima di scrivere codice? La API Reference ha una finestra Authorize — incolla il tuo token e ogni endpoint diventa cliccabile.

Reference → Authorize → Bearer

Aggiungere un articolo

POST /v3/lists/{list-id}/items — la scrittura funziona allo stesso modo:

curl -X POST https://api.pon.app/v3/lists/LIST_ID/items \
  -H "Authorization: Bearer pon_pat_XXXX" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Oat milk" }'
await fetch(`https://api.pon.app/v3/lists/${listId}/items`, {
  method: "POST",
  headers: {
    Authorization: "Bearer pon_pat_XXXX",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ name: "Oat milk" }),
});
requests.post(
    f"https://api.pon.app/v3/lists/{list_id}/items",
    headers={"Authorization": "Bearer pon_pat_XXXX"},
    json={"name": "Oat milk"},
)

Ogni risposta usa la stessa busta: { "data": …, "meta": … } in caso di successo, { "errors": [ { "code", "message" } ] } in caso di errore.

Non fare polling per rilevare i cambiamenti.

Registra invece un webhook — pon ti chiama quando una lista cambia. Un polling ogni 5 minuti conta già come uso intensivo sull’indicatore fair-use.

Prossimi passi