Skip to content
Back to skills

Obsidian Rest Api

ASecurity

Call the Obsidian Local REST API directly (over HTTP) for vault operations the mcp__obsidian__* tools do NOT expose — move/rename a note, overwrite a whole file atomically (PUT), act on the currently-open active file, run an Obsidian command, open a note in the UI, list all tags, or do date-specific periodic-note CRUD. Prefer the mcp__obsidian__* tools for plain read/append/patch/delete/search; fall back to this skill only when the required method is missing from MCP.

  • 3 stars
  • 0 votes
  • 0 copies
  • 7 views
  • Added September 12, 2026
ai-agentsgobashgitapibackend

Works with

  • api
  • mcp

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 12, 2026

npx -y skills add thedixitjain/the-mega-skill-library --skill obsidian-rest-api --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Obsidian Rest Api?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Obsidian Rest Api
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/thedixitjain-obsidian-rest-api/badge)](https://www.skillsdirectory.com/skills/thedixitjain-obsidian-rest-api)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: obsidian-rest-api
description: "Call the Obsidian Local REST API directly (over HTTP) for vault operations the mcp__obsidian__* tools do NOT expose — move/rename a note, overwrite a whole file atomically (PUT), act on the currently-open active file, run an Obsidian command, open a note in the UI, list all tags, or do date-specific periodic-note CRUD. Prefer the mcp__obsidian__* tools for plain read/append/patch/delete/search; fall back to this skill only when the required method is missing from MCP."
category: backend-and-data
source_repo: davepoon/buildwithclaude
source_path: "plugins/all-skills/skills/obsidian-rest-api/SKILL.md"
source_url: https://github.com/davepoon/buildwithclaude/blob/HEAD/plugins/all-skills/skills/obsidian-rest-api/SKILL.md
---


# Obsidian Local REST API

The connected `obsidian` MCP server exposes only a subset of the Obsidian
[Local REST API](https://coddingtonbear.github.io/obsidian-local-rest-api/)
(plugin `obsidian-local-rest-api`). This skill provides the full API surface plus
an authenticated request wrapper, so a missing MCP method is called over HTTP
instead of being worked around with hacks (e.g. delete+recreate to rename a note).

## When to Use This Skill

Use the `mcp__obsidian__*` tools first for read, append, patch, delete, and search.
Fall back to this skill only for operations that have **no MCP tool**:

- Move / rename a note (preserves history, updates internal links)
- Overwrite a whole file atomically (PUT) instead of delete+recreate
- Act on the currently-open "active" file in the Obsidian UI
- Run an Obsidian command from the command palette
- Open / focus a note in the UI
- List all vault tags with counts
- Create/update/delete date-specific periodic notes

## What This Skill Does

1. Resolves the API host, port, and key from the connected obsidian MCP server
   config (`~/.claude.json`) or `OBSIDIAN_*` env vars — no hardcoded secrets.
2. Handles the plugin's self-signed TLS certificate.
3. Exposes every endpoint of the Local REST API (see `references/api_reference.md`),
   with the header enums (Operation, Target-Type, Target-Scope), the custom
   `MOVE` contract, and the search (JsonLogic/Dataview) formats.

## How to Use

Call the wrapper `scripts/olrapi.sh <METHOD> <path> [curl args...]`:

```bash
S=scripts/olrapi.sh   # adjust to the skill's install path

# rename/move a note (the most common reason to reach for this skill)
"$S" MOVE "/vault/Path/To/Old Name.md" -H 'Destination: Path/To/New Name.md'

# move into a folder, keeping the filename (trailing slash on Destination)
"$S" MOVE "/vault/Inbox/todo.md" -H 'Destination: Archive/'

# atomically overwrite a whole note
"$S" PUT "/vault/Path/Note.md" -H 'Content-Type: text/markdown' --data-binary @/tmp/body.md

# read a note as structured JSON (frontmatter + tags + stat)
"$S" GET "/vault/Path/Note.md" -H 'Accept: application/vnd.olrapi.note+json'

# list tags, run a command, open a note in the UI
"$S" GET /tags/
"$S" POST "/commands/editor:toggle-bold/"
"$S" POST "/open/Path/Note.md?newLeaf=true"
```

The wrapper prints `<<HTTP nnn>>` after the body. Success: `200`/`204`.
On `MOVE`, `409` means the destination exists — add `-H 'Allow-Overwrite: true'` to force.
For non-trivial calls, load `references/api_reference.md`.

### Path & encoding rules

- `{filename}` is vault-relative (no leading slash on the vault path).
- Percent-encode non-ASCII in URL paths and in the `MOVE` `Destination` header
  (e.g. `r%C3%A9sum%C3%A9.md`). `Destination` rejects absolute (`/…`) paths.
- Target a sub-part of a note with `Target-Type` (`heading`|`block`|`frontmatter`)
  + `Target` headers on GET/PATCH/POST.

## Example

**User**: "Rename `3-Resources/Draft.md` to `3-Resources/Final.md` in my vault."

**Output**:
```bash
scripts/olrapi.sh MOVE "/vault/3-Resources/Draft.md" \
  -H 'Destination: 3-Resources/Final.md'
# <<HTTP 204>>  — moved, history preserved, internal links updated
```

## Tips

- Regenerate the reference against the live plugin if it was updated:
  `scripts/olrapi.sh GET /openapi.yaml`. `GET /` shows the plugin version.
- Prefer `PUT` over delete+recreate for whole-file overwrites — it is atomic and
  keeps the file's identity.
- The API serves HTTPS on port 27124 (self-signed → `curl -k`) and HTTP on 27123.

---

**Source:** [`davepoon/buildwithclaude`](https://github.com/davepoon/buildwithclaude) → `plugins/all-skills/skills/obsidian-rest-api/SKILL.md`

Files in this skill

  • SKILL.md4.4 KB
  • references/api_reference.md7.7 KB
  • scripts/olrapi.sh1.9 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.