API
API HTTP pour les projets, les apps et le reste de la plateforme.
Chaque ressource que vous voyez dans le dashboard a un endpoint HTTP. Utilisez-le depuis la CLI, la CI, des scripts ou tout client capable d'envoyer du JSON.
- URL de base :
https://api.nodion.com - Documentation interactive : api.nodion.com/v2/docs
- OpenAPI : api.nodion.com/v2/openapi.yaml
Authentification
Envoyez un bearer token dans chaque requête :
httpAuthorization: Bearer nodion_… Il existe deux types de token :
-
Les clés d'API personnelles (
nodion_…) agissent en votre nom. Vous choisissez les scopes et pouvez limiter la clé à certains projets. Créez-les sous Account → Security. Le token n'est affiché qu'une seule fois. -
Les clés de projet (
nodion_proj_…) appartiennent à un projet, pas à une personne, pour que la CI continue de fonctionner quand quelqu'un s'en va. Créez-les dans l'onglet API keys du projet.
Scopes d'une clé personnelle :
read: lister et récupérer des ressourceswrite: créer, modifier et supprimerdeploy: déclencher des déploiementsenv:read/env:write: valeurs des variables d'environnementlogs:read: logs des applications
Les lectures nécessitent read, les écritures write, sauf
si une opération demande un scope plus restreint (par exemple deploy).
Les clés de projet n'ont pas de scopes. Elles peuvent tout faire dans ce projet.
La facturation et la 2FA restent dans le dashboard ; les clés d'API ne peuvent pas y accéder.
Choisir un projet
Les routes imbriquées ont la forme /v2/projects/{id}/….
Si vous travaillez dans un seul projet, utilisez le chemin court et envoyez l'ID
du projet dans un en-tête :
httpX-Nodion-Project: prj_… Première requête
bashcurl https://api.nodion.com/v2/applications \
-H "Authorization: Bearer $NODION_TOKEN" \
-H "X-Nodion-Project: $NODION_PROJECT" Déclencher un déploiement (nécessite le scope deploy sur une clé personnelle) :
bashcurl -X POST https://api.nodion.com/v2/applications/$APP_ID/deployments \
-H "Authorization: Bearer $NODION_TOKEN" Listes, erreurs et limites
Les réponses de collection ont la forme
{ "data": [ … ], "next_cursor": null }.
Pour paginer, passez ?limit= et le next_cursor précédent
comme ?cursor=.
Les erreurs suivent la RFC 9457 (application/problem+json) avec un
code stable et un request_id. Communiquez cet ID au
support. Le catalogue public se trouve sur GET /v2/errors.
Les appels authentifiés par clé sont soumis à un rate limit par compte. Les réponses incluent
RateLimit-Limit, RateLimit-Remaining et
RateLimit-Reset. Une réponse 429 envoie aussi
Retry-After. Chaque réponse contient X-Request-Id.
Pour les corps de requête et une console d'essai, utilisez la documentation interactive. Les pages ci-dessous présentent les mêmes endpoints, dans le style de ce site.
Endpoints
Liste générée à partir du document OpenAPI public. 278 opérations, regroupées comme dans la spécification.
Identité
Valider un token, découvrir les projets accessibles et lister les codes d'erreur. 4 endpoints.
Projets
Les projets regroupent toutes les autres ressources. 7 endpoints.
Applications
Applications déployables, avec leurs paramètres, logs et métriques. 19 endpoints.
Previews
Environnements de preview éphémères pour une branche ou une pull request. 5 endpoints.
Variables d'environnement
Variables d'environnement des applications. 3 endpoints.
Déploiements
Déploiements avec build et exécution, et déploiement automatique. 7 endpoints.
Processus
Les types de processus d'une application et leur mise à l'échelle. 6 endpoints.
Tâches cron
Commandes planifiées à exécution unique sur la release active d'une application. 9 endpoints.
Domaines
Domaines personnalisés des applications. 8 endpoints.
Bases de données
Bases de données managées, réplicas, endpoints et rattachements. 43 endpoints.
Volumes
Volumes de stockage persistant. 11 endpoints.
Stockage objet
Buckets S3 et clés d'accès. 27 endpoints.
Domaines enregistrés
5 endpoints.
DNS
Zones DNS faisant autorité et enregistrements. 23 endpoints.
CDN
Zones CDN, domaines personnalisés et purge du cache. 16 endpoints.
Domaines d'envoi d'e-mails et zones de relais. 21 endpoints.
Moniteurs
Moniteurs d'uptime et de métriques avec notifiers. 16 endpoints.
Intégrations
Intégrations de fournisseurs Git et dépôts partagés. 25 endpoints.
Registries
Registries de conteneurs Nodion et comptes robot par projet. 11 endpoints.
IA
Catalogue de modèles et utilisation par projet. L'inférence elle-même passe par l'API distincte compatible OpenAI. 3 endpoints.
Données de référence
Catalogues en lecture seule (régions, packages, moteurs de bases de données, presets). 9 endpoints.