developers  · docsKonto
Hent tokenet ditt
Docs · Quickstart

Ditt første API-kall på 5 minutter

Oppdatert Aug 2026 · API v3

Den raskeste veien inn er et Personal Access Token — ingen OAuth, ingen app-registrering. Det leser og skriver dine egne pon-data, og det er akkurat det du trenger for skript, Home Assistant og homelab-prosjekter.

  1. Hent pon på iPhonen din

    Kontoen og listene dine bor i appen — last ned pon fra App Store og registrer deg der.

    App Store

  2. Logg inn på my.pon.app

    Bruk pon-kontoen din. E-postadressen din må være bekreftet — ellers svarer aktiveringen med 403 EMAIL_UNVERIFIED.

  3. Slå på utviklermodus

    my → For utviklere. Du godtar API-vilkårene én gang.

  4. Opprett et token

    Velg de scopene du trenger. Hemmeligheten pon_pat_… vises én gang — ta vare på den som et passord. Utløp: 90 dager som standard, opptil 365, eller aldri.

  5. Kall API-et

    Det var alt — vanlig Bearer, ingen signeringsdans:

# 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"])

Vil du prøve før du skriver kode? API-referansen har en Authorize-dialog — lim inn tokenet ditt, og alle endepunkter blir klikkbare.

Referanse → Authorize → Bearer

Legg til en vare

POST /v3/lists/{list-id}/items — skrivesiden fungerer på samme måte:

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"},
)

Hvert svar bruker samme konvolutt: { "data": …, "meta": … } ved suksess, { "errors": [ { "code", "message" } ] } ved feil.

Ikke poll etter endringer.

Registrer en webhook i stedet — pon kaller deg når en liste endres. Polling hvert 5. minutt regnes allerede som tung bruk på fair-use-måleren.

Neste steg