Ton premier appel API en 5 minutes
Mis à jour Aug 2026 · API v3Le chemin le plus rapide, c’est un personal access token — pas d’OAuth, pas d’enregistrement d’app. Il lit et écrit tes propres données pon, exactement ce qu’il faut pour des scripts, Home Assistant et les bidouilles homelab.
Installe pon sur ton iPhone
Ton compte et tes listes vivent dans l’app — télécharge pon sur l’App Store et inscris-toi là.
Connecte-toi sur my.pon.app
Utilise ton compte pon. Ton e-mail doit être confirmé — sinon l’activation répond
403 EMAIL_UNVERIFIED.Active le mode développeur
my → Pour les développeurs. Tu acceptes les conditions de l’API une seule fois.
Crée un token
Choisis les scopes dont tu as besoin. Le secret
pon_pat_…ne s’affiche qu’une seule fois — garde-le comme un mot de passe. Expiration : 90 jours par défaut, jusqu’à 365, ou jamais.Appelle l’API
C’est tout — un simple Bearer, aucune cérémonie de signature :
# 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"])Envie d’essayer avant d’écrire du code ? La référence API propose un dialogue Authorize — colle ton token et chaque endpoint devient cliquable.
Référence → Authorize → BearerAjouter un article
POST /v3/lists/{list-id}/items — l’écriture fonctionne
exactement pareil :
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"},
)Chaque réponse utilise la même enveloppe : { "data": …, "meta": … } en cas
de succès, { "errors": [ { "code", "message" } ] } en cas d’échec.
Ne fais pas de polling pour détecter les changements.
Enregistre plutôt un webhook — pon t’appelle quand une liste change. Un polling toutes les 5 minutes compte déjà comme usage intensif sur la jauge fair-use.Étapes suivantes
- Authentification — quand un token suffit, et quand tu veux OAuth.
- Webhooks — réagis aux changements de liste sans polling.
- Limites & fair use — ce qui est généreux, et ce qui est un plafond.