API & protocol

The wire-level reference for the JSON-RPC protocol the plugin and daemon speak. Useful if you’re building something against the daemon (a non-Obsidian client, a load test, a port to a different host) or debugging an unexpected error in a normal session.

Stability promise: the protocol is frozen at version 1. Method additions are non-breaking; breaking changes ship as new methods. See Protocol evolution.

Pages

PageWhat it covers
OverviewThe shape of every RPC: framing, versioning, capabilities, the auth handshake, and the method namespace
AuthenticationThe auth and server.info handshake methods + protocol-version check
Filesystemfs.* methods: read / write / list / walk / stat / mkdir / remove / rename / thumbnail
fs.watchThe push-notification subscription model + inotify caveats
ErrorsStandard JSON-RPC error codes + the project’s domain-specific code range
Protocol evolutionHow the v1 contract evolves; what counts as a breaking change
ExamplesCopy-pasteable JSON-RPC requests for every method, ready for nc -U against a Unix socket

Reading order

If you’re new to the protocol:

  1. Overview for the big picture (framing + handshake + namespace).
  2. Authentication to understand what every connection does first.
  3. Filesystem for the methods you’ll actually call.
  4. Errors when something goes wrong.
  5. Examples for copy-paste recipes.

If you’re porting to a new client, also read Protocol evolution before relying on any specific method’s shape.

See also