Files
obsidian-api/packages/n8n-nodes-obsidian-api
daniel156161 3bda4002fe
Build and Push Docker Container / build-and-push (push) Successful in 4m29s
fix: allow vault info under path scope and clarify API errors
- Allow vault and vaults commands when a token has path restrictions

- Treat vault/vaults as pathless metadata commands in policy checks

- Add allowed commands, vaults and paths to 403 permission errors

- Surface real JWT failure reason in 401 instead of generic Unauthorized

- Report missing, malformed and empty Bearer tokens distinctly

- Catch httpRequest failures in the n8n node to avoid circular JSON

- Map API errors to clean NodeApiError with status code and detail

- Support continueOnFail with per-item error output in the n8n node

- Push a versioned image tag from pyproject in the CI workflow

- Bump server to 1.0.2 and n8n node package to 0.2.1

- Add tests for vault info access and richer auth error messages
2026-06-24 11:41:18 +02:00
..
2026-06-24 09:11:13 +02:00
2026-06-24 10:27:13 +02:00

n8n-nodes-obsidian-cli-api

n8n community-node package for the Obsidian API Docker service.

It talks to the HTTP API, which then runs the official Obsidian CLI against mounted vaults. The node sends structured args arrays only. It does not send shell commands.

Nodes

Obsidian API

Resources:

  • Note
    • Create
    • Read
    • Append
    • Prepend
    • Delete
    • Rename
    • List Files
  • Daily Note
    • Append
    • Prepend
    • Read
    • Path
  • Search
    • Search
    • Search With Context
  • Vault
    • Info
    • List Vaults
  • Raw Command
    • Safe args-array escape hatch for any official CLI command

Credentials

Credential type: Obsidian API

Fields:

  • Base URL: URL of your Obsidian API service, e.g. http://localhost:8080
  • API Token: JWT created with scripts/create_jwt.py
  • Default Vault: optional, e.g. work

Multi-vault

Set the Vault field on a node to override the credential default vault.

The node sends this as the official CLI prefix:

vault=work

Raw command example:

["vault=work", "read", "path=Inbox/Note.md"]

Local install in self-hosted n8n

From this repo:

cd packages/n8n-nodes-obsidian-api
npm install --ignore-scripts
npm run build
npm pack

Then install the generated .tgz in your n8n custom extensions setup.

For Docker-based n8n, one common setup is mounting this package into n8n's custom extensions directory and setting:

N8N_CUSTOM_EXTENSIONS=/home/node/.n8n/custom

Exact installation depends on your n8n deployment.

Development

npm install --ignore-scripts
npm run typecheck
npm run build

--ignore-scripts avoids local native builds from n8n transitive dependencies on unsupported bleeding-edge Node versions. Use the Node version recommended by your n8n release for production builds.