API
HTTP-API für Projekte, Apps und den Rest der Plattform.
Jede Ressource, die du im Dashboard siehst, hat einen HTTP-Endpoint. Nutz das aus der CLI, CI, Skripten oder jedem Client, der JSON schicken kann.
- Basis:
https://api.nodion.com - Interaktive Docs: api.nodion.com/v2/docs
- OpenAPI: api.nodion.com/v2/openapi.yaml
Authentifizieren
Auf jedem Request einen Bearer-Token schicken:
httpAuthorization: Bearer nodion_… Es gibt zwei Arten von Token:
- Persönliche API-Keys (
nodion_…) handeln als du. Du wählst Scopes und kannst den Key auf bestimmte Projekte begrenzen. Anlegen unter Account → Security. Der Token wird einmal gezeigt. - Projekt-Keys (
nodion_proj_…) gehören zu einem Projekt, nicht zu einer Person, damit CI weiterläuft, wenn jemand geht. Anlegen im Tab API keys des Projekts.
Scopes an einem persönlichen Key:
read: Ressourcen listen und holenwrite: anlegen, ändern und löschendeploy: Deployments auslösenenv:read/env:write: Environment-Variablen-Wertelogs:read: Application-Logs
Reads brauchen read, Writes brauchen write, außer
eine Operation will einen engeren Scope (zum Beispiel deploy).
Projekt-Keys sind nicht scoped. Sie können in diesem Projekt alles.
Billing und 2FA bleiben im Dashboard; API-Keys können das nicht aufrufen.
Ein Projekt wählen
Verschachtelte Routen sehen aus wie /v2/projects/{id}/….
Arbeitest du in einem Projekt, den kurzen Pfad nutzen und die Projekt-
ID als Header schicken:
httpX-Nodion-Project: prj_… Erster Request
bashcurl https://api.nodion.com/v2/applications \
-H "Authorization: Bearer $NODION_TOKEN" \
-H "X-Nodion-Project: $NODION_PROJECT" Ein Deploy auslösen (braucht den Scope deploy an einem persönlichen Key):
bashcurl -X POST https://api.nodion.com/v2/applications/$APP_ID/deployments \
-H "Authorization: Bearer $NODION_TOKEN" Listen, Fehler und Limits
Collection-Antworten sehen aus wie
{ "data": [ … ], "next_cursor": null }.
?limit= und den vorherigen next_cursor
als ?cursor= übergeben, um zu paginieren.
Fehler nutzen RFC 9457 (application/problem+json) mit einem stabilen
code und einer request_id. Diese ID dem
Support nennen. Der öffentliche Katalog ist GET /v2/errors.
Key-authentifizierte Calls sind pro Account rate-limited. Antworten enthalten
RateLimit-Limit, RateLimit-Remaining und
RateLimit-Reset. Ein 429 schickt außerdem
Retry-After. Jede Antwort hat X-Request-Id.
Request-Bodies und eine Try-it-Console stehen in den interaktiven Docs. Die Seiten unten sind dieselben Endpoints, im Look dieser Site.
Endpoints
Generiert aus dem öffentlichen OpenAPI-Dokument. 272 Operationen, gruppiert wie in der Spec.
Identity
Validate a token, discover reachable projects, and list error codes. 4 Endpoints.
Projects
Projects, the container every other resource belongs to. 7 Endpoints.
Applications
Deployable applications and their settings, logs and metrics. 18 Endpoints.
Previews
Ephemeral preview environments for a branch or pull request. 5 Endpoints.
Environment
Application environment variables. 3 Endpoints.
Deployments
Build-and-run deployments and auto-deploy. 7 Endpoints.
Processes
An application's process types and their scaling. 6 Endpoints.
Cron jobs
Scheduled one-shot commands on an application's active release. 9 Endpoints.
Domains
Custom domains for applications. 8 Endpoints.
Databases
Managed databases, replicas, endpoints and attachments. 43 Endpoints.
Volumes
Persistent storage volumes. 11 Endpoints.
Object storage
S3 buckets and access keys. 27 Endpoints.
DNS
Authoritative DNS zones and records. 23 Endpoints.
CDN
CDN zones, custom domains and cache purging. 16 Endpoints.
Email sending domains and relay zones. 21 Endpoints.
Observers
Uptime and metric monitors with notifiers. 16 Endpoints.
Integrations
Git provider integrations and shared repositories. 25 Endpoints.
Registries
Nodion container registries and per-project robot accounts. 11 Endpoints.
AI
Model catalog and per-project usage. Inference itself is the separate OpenAI-compatible API. 3 Endpoints.
Reference
Read-only catalogs (regions, packages, engines, presets). 9 Endpoints.