developers  · docsKonto
Pobierz token
Dokumentacja · Quickstart

Twoje pierwsze wywołanie API w 5 minut

Zaktualizowano Aug 2026 · API v3

Najszybsza droga do środka to personal access token — bez OAuth, bez rejestracji aplikacji. Czyta i zapisuje Twoje własne dane pon, czyli dokładnie to, czego potrzebujesz do skryptów, Home Assistant i domowego labu.

  1. Zainstaluj pon na iPhonie

    Twoje konto i listy żyją w aplikacji — pobierz pon z App Store i zarejestruj się tam.

    App Store

  2. Zaloguj się na my.pon.app

    Użyj swojego konta pon. Twój e-mail musi być potwierdzony — inaczej aktywacja odpowie 403 EMAIL_UNVERIFIED.

  3. Włącz tryb dewelopera

    my → Dla deweloperów. Warunki API akceptujesz raz.

  4. Utwórz token

    Wybierz scope’y, których potrzebujesz. Sekret pon_pat_… jest pokazywany raz — przechowuj go jak hasło. Wygaśnięcie: domyślnie 90 dni, maksymalnie 365 albo nigdy.

  5. Wywołaj API

    To wszystko — zwykły Bearer, żadnych tańców z podpisami:

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

Chcesz spróbować, zanim napiszesz kod? API Reference ma dialog Authorize — wklej swój token, a każdy endpoint stanie się klikalny.

Reference → Authorize → Bearer

Dodaj produkt

POST /v3/lists/{list-id}/items — strona zapisu działa dokładnie tak samo:

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

Każda odpowiedź używa tej samej koperty: { "data": …, "meta": … } przy sukcesie, { "errors": [ { "code", "message" } ] } przy błędzie.

Nie odpytuj API o zmiany (polling).

Zamiast tego zarejestruj webhook — pon zawoła Cię, gdy lista się zmieni. Polling co 5 minut już liczy się jako intensywne użycie na wskaźniku fair use.

Kolejne kroki