Notion CLI
Consulte la documentation avant de répondre
Le CLI est auto-documenté. Privilégie toujours l'exécution de ces commandes plutôt que de deviner la syntaxe ou de te fier à des connaissances mémorisées :
ntn api ls— liste tous les endpoints d'API publics.ntn api <path> --help— affiche les méthodes, les liens de documentation et l'utilisation pour un endpoint.ntn api <path> --docs— affiche la documentation officielle complète pour un endpoint.ntn api <path> --spec— affiche un fragment OpenAPI réduit (utile pour comprendre les schémas de requête/réponse).ntn <command> --help— aide pour n'importe quelle commande ou sous-commande.
Installation
curl -fsSL https://ntn.dev | bash
Authentification
- Le CLI utilise automatiquement
NOTION_API_TOKENquand il est défini. - Vérifie d'abord
NOTION_API_TOKEN. S'il est déjà défini, préfère l'utiliser au lieu de demander à l'utilisateur d'exécuterntn login. ntn login/ntn logout— connecte ou déconnecte le CLI (utilise uniquement si tu n'utilises pasNOTION_API_TOKEN).ntn loginoblige l'utilisateur à visiter une URL dans un navigateur web.
ntn api
Exécute ntn api --help pour la syntaxe complète. Résumé rapide :
# GET avec paramètre de requête
ntn api v1/users page_size==100
# POST avec champs de body en ligne
ntn api v1/pages parent[page_id]=abc123
# POST avec body JSON
ntn api v1/pages -d '{"parent":{"page_id":"abc123"}}'
La méthode est déduite (GET par défaut, POST quand un body est présent). Remplace avec -X METHOD.
Markdown pour les pages et les commentaires
Privilégie le champ markdown lors de la création ou de la mise à jour de pages et de commentaires.
# Commentaire avec markdown
ntn api v1/comments -d '{"parent":{"page_id":"abc123"},"markdown":"Here is a [link](https://example.com) and **bold text**."}'
# Page avec body markdown
ntn api v1/pages -d '{"parent":{"page_id":"abc123"},"properties":{"title":[{"text":{"content":"My Page"}}]},"markdown":"## Heading\nSome *formatted* content."}'
Le champ markdown supporte le formatage en ligne (gras, italique, code, liens, etc.). Bascule vers rich_text uniquement si tu as besoin de fonctionnalités que Markdown ne peut pas exprimer (par exemple mentions, emoji personnalisés, ou couleurs).
ntn files
Wrapper de commodité autour de l'API File Uploads.
ntn files create < image.png
ntn files create --external-url https://example.com/photo.png
ntn files list
ntn files get <upload-id>
ntn workers
Gère les Notion workers (déploie, liste, exécute, etc.). Exécute ntn workers --help pour les sous-commandes.
ntn workers new my-worker # crée un nouveau projet
ntn workers deploy # déploie depuis le répertoire courant
ntn workers ls # liste les workers
ntn workers exec <capability> # exécute une capability