### Install and Build Dependencies Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/README.md Commands to install project dependencies and start the development watch mode. ```shell pnpm install ``` ```shell npm install ``` ```shell pnpm dev ``` ```shell npm run dev ``` -------------------------------- ### Run Development Server (npm) Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/installation.md Compiles the project and starts a development server that watches for file changes. Use this command after installing dependencies with npm. ```bash npm run dev ``` -------------------------------- ### Run Development Server (pnpm) Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/installation.md Compiles the project and starts a development server that watches for file changes. Use this command after installing dependencies with pnpm. ```bash pnpm dev ``` -------------------------------- ### Example Actions URI Structure Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/anatomy.md This example shows the basic structure of an Actions URI, highlighting the host and path components. ```uri obsidian://actions-uri/daily-note/get-current?parameter=value ``` -------------------------------- ### Install Dependencies (npm) Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/installation.md Installs project dependencies using npm. This is a prerequisite for running the development server. ```bash npm install ``` -------------------------------- ### Install Dependencies (pnpm) Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/installation.md Installs project dependencies using pnpm. This is an alternative to npm for dependency management and is a prerequisite for running the development server. ```bash pnpm install ``` -------------------------------- ### GET /file/open Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/file.md Opens a specified file within Obsidian. ```APIDOC ## GET /file/open ### Description Opens a specific file in Obsidian. ### Method GET ### Endpoint `/file/open` ### Parameters #### Query Parameters - **Base Parameters**: See section ["Parameters required in/ accepted by all calls"](../parameters.md). - **file** (string) - Required - The path of the file, relative from the vault's root. ### Response #### Success Response (200) - **result-message** (string) - A short summary of what was done. #### Response Example ```json { "result-message": "File opened successfully." } ``` #### Error Response (e.g., 400) - **errorCode** (integer) - A HTTP status code. - **errorMessage** (string) - A short summary of what went wrong. #### Error Response Example ```json { "errorCode": 400, "errorMessage": "File not found." } ``` ``` -------------------------------- ### GET /command/execute Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/command.md Triggers one or more Obsidian commands in sequence. ```APIDOC ## GET /command/execute ### Description Triggers the passed-in command or commands in sequence, in the specified vault. ### Method GET ### Endpoint obsidian://actions-uri/command/execute ### Parameters #### Query Parameters - **commands** (string) - Required - Comma-separated list of command IDs. - **pause-in-secs** (number) - Optional - Length of the pause in seconds between commands. Default: 0.2. - **x-success** (string) - Optional - base URL for on-success callbacks - **x-error** (string) - Optional - base URL for on-error callbacks ### Response #### Failure Response - **errorCode** (number) - A HTTP status code. - **errorMessage** (string) - A short summary of what went wrong. ``` -------------------------------- ### Create a note with content Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/note.md Examples of creating a note with specific content, demonstrating both explicit and implicit apply parameters. ```text file=new%20note.md&apply=content&content=Hello%20world! ``` ```text file=new%20note.md&content=Hello%20world! ``` -------------------------------- ### GET /note/prepend Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Prepends text to the beginning of a note or below a specific headline. ```APIDOC ## GET /note/prepend ### Description Prepends content to a note, optionally skipping frontmatter. ### Method GET ### Endpoint obsidian://actions-uri/note/prepend ### Parameters #### Query Parameters - **vault** (string) - Required - The name of the vault. - **file** (string) - Required - The path to the file. - **content** (string) - Required - The content to prepend. - **below-headline** (string) - Optional - The headline to prepend under. - **ignore-front-matter** (boolean) - Optional - Prepend before frontmatter. - **create-if-not-found** (boolean) - Optional - Create note if it doesn't exist. ``` -------------------------------- ### GET /file Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/file.md The root /file route provides a simple 'hello' response and supports base parameters. ```APIDOC ## GET /file ### Description Does nothing but say hello. Supports base parameters. ### Method GET ### Endpoint `/file` ### Parameters #### Query Parameters - **Base Parameters**: See section ["Parameters required in/ accepted by all calls"](../parameters.md). ### Response #### Success Response (200) - **result-message** (string) - A short summary of what was done. #### Response Example ```json { "result-message": "Hello!" } ``` ``` -------------------------------- ### Create a note with templates Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/note.md Examples of creating a note using either the Templater community plugin or the core Templates plugin. ```text file=new%20note.md&apply=templater&template-file=Templates/Meeting%20notes.md ``` ```text file=new%20note.md&apply=templates&template-file=Templates/Meeting%20notes.md ``` -------------------------------- ### GET /folder/create Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Creates a new folder or nested folder structure in the vault. ```APIDOC ## GET /folder/create ### Description Creates a new folder or folder structure. ### Method GET ### Endpoint obsidian://actions-uri/folder/create ### Parameters #### Query Parameters - **vault** (string) - Required - The name of the vault - **folder** (string) - Required - The path of the folder to create - **x-success** (string) - Optional - Callback URL on success - **x-error** (string) - Optional - Callback URL on error ``` -------------------------------- ### GET /info Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/info.md Retrieves information about the Obsidian Actions URI plugin and the current Obsidian instance. ```APIDOC ## GET /info ### Description Returns information about the plugin and the current Obsidian instance. ### Method GET ### Endpoint `obsidian://actions-uri/info` ### Query Parameters - **x-success** (string) - Optional - base URL for on-success callbacks - **x-error** (string) - Optional - base URL for on-error callbacks ### Response #### Success Response (200) - **result-plugin-version** (string) - The version of the responding Action URI plugin - **result-plugin-released-at** (string) - The release timestamp of the responding Action URI plugin (ISO 8601) - **result-api-version** (string) - The API version of the app, which follows the release cycle of the desktop app - **result-node-version** (string) - The version of Node running the plugin, e.g. "16.13.2" - **result-os** (string) - OS information gathered from Obsidian's user agent string, e.g. "Macintosh; Intel Mac OS X 10_15_7" - **result-platform** (string) - Returns "macOS", "Windows/Linux" "iOS" or "Android" ### Response Example { "result-plugin-version": "1.0.0", "result-plugin-released-at": "2023-01-01T10:00:00Z", "result-api-version": "1.2.0", "result-node-version": "16.13.2", "result-os": "Macintosh; Intel Mac OS X 10_15_7", "result-platform": "macOS" } ``` -------------------------------- ### GET /note Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/note.md A root endpoint for the note module that returns a greeting. ```APIDOC ## GET /note ### Description Does nothing but say hello. ### Method GET ### Endpoint obsidian://actions-uri/note/ ### Response #### Success Response (200) - **result-message** (string) - A short summary of what was done. ``` -------------------------------- ### GET /file/list Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/file.md Retrieves a list of all files within the Obsidian vault. ```APIDOC ## GET /file/list ### Description Returns a list of all files (i.e. everything, not just notes) in the vault. ### Method GET ### Endpoint `/file/list` ### Parameters #### Query Parameters - **Base Parameters**: See section ["Parameters required in/ accepted by all calls"](../parameters.md). ### Response #### Success Response (200) - **result-paths** (array of strings) - Array containing all file paths encoded as JSON string. #### Response Example ```json { "result-paths": [ "path/to/file1.md", "path/to/image.png" ] } ``` #### Error Response (e.g., 400) - **errorCode** (integer) - A HTTP status code. - **errorMessage** (string) - A short summary of what went wrong. #### Error Response Example ```json { "errorCode": 400, "errorMessage": "Invalid request" } ``` ``` -------------------------------- ### GET /file/list Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Lists all file paths within the specified vault. ```APIDOC ## GET /file/list ### Description Returns paths of all files (not just notes) in the vault. ### Method GET ### Endpoint obsidian://actions-uri/file/list ### Parameters #### Query Parameters - **vault** (string) - Required - The name of the vault - **x-success** (string) - Optional - Callback URL on success - **x-error** (string) - Optional - Callback URL on error ``` -------------------------------- ### GET /command/list Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/command.md Retrieves a list of all available Obsidian commands within the vault. ```APIDOC ## GET /command/list ### Description Returns a list of all Obsidian Commands available in the queried vault. ### Method GET ### Endpoint obsidian://actions-uri/command/list ### Parameters #### Query Parameters - **x-success** (string) - Required - base URL for on-success callbacks - **x-error** (string) - Required - base URL for on-error callbacks ### Response #### Success Response (200) - **result-commands** (string) - JSON-encoded array of objects ({id: string, name: string}) #### Failure Response - **errorCode** (number) - A HTTP status code. - **errorMessage** (string) - A short summary of what went wrong. ``` -------------------------------- ### GET /folder Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/folder.md A root endpoint for the folder route that returns a confirmation message. ```APIDOC ## GET /folder ### Description Does nothing but say hello. ### Method GET ### Endpoint obsidian://actions-uri/folder/ ### Response #### Success Response (200) - **result-message** (string) - A short summary of what was done. ``` -------------------------------- ### GET /dataview/list-query Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Executes a Dataview LIST query and returns the results. ```APIDOC ## GET /dataview/list-query ### Description Executes a Dataview LIST query and returns results. Requires Dataview plugin. ### Method GET ### Endpoint obsidian://actions-uri/dataview/list-query ### Parameters #### Query Parameters - **vault** (string) - Required - The name of the vault. - **dql** (string) - Required - The Dataview Query Language string. - **x-success** (string) - Optional - Callback URL on success. - **x-error** (string) - Optional - Callback URL on error. ``` -------------------------------- ### GET /note/create Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Creates a new note in the vault with support for templates and conditional creation. ```APIDOC ## GET /note/create ### Description Creates a new note with optional content, Templates, or Templater template support. ### Method GET ### Endpoint obsidian://actions-uri/note/create ### Parameters #### Query Parameters - **vault** (string) - Required - The name of the vault. - **file** (string) - Required - Path for the new note. - **content** (string) - Optional - Initial content. - **apply** (string) - Optional - Template engine to use (templates or templater). - **template-file** (string) - Optional - Path to the template file. - **if-exists** (string) - Optional - Behavior if note exists (e.g., skip). - **x-success** (string) - Optional - Callback URL on success. - **x-error** (string) - Optional - Callback URL on error. ``` -------------------------------- ### GET /note/open Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Opens a specific note in Obsidian by path, UID, or periodic note type. ```APIDOC ## GET /note/open ### Description Opens a note in the Obsidian workspace. ### Method GET ### Endpoint obsidian://actions-uri/note/open ### Parameters #### Query Parameters - **vault** (string) - Required - The name of the vault. - **file** (string) - Optional - The path to the file. - **uid** (string) - Optional - The unique identifier of the note. - **periodic-note** (string) - Optional - Type of periodic note (e.g., 'daily', 'recent-daily'). ``` -------------------------------- ### GET /note/create Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Creates a new note or overwrites an existing one in the specified vault. ```APIDOC ## GET /note/create ### Description Creates a new note or overwrites an existing one. Supports daily notes and silent creation. ### Method GET ### Endpoint obsidian://actions-uri/note/create ### Parameters #### Query Parameters - **vault** (string) - Required - The name of the vault. - **file** (string) - Optional - The path to the file. - **content** (string) - Optional - The content to write to the note. - **if-exists** (string) - Optional - Action if file exists (e.g., 'overwrite'). - **periodic-note** (string) - Optional - Type of periodic note (e.g., 'daily'). - **silent** (boolean) - Optional - If true, creates the note without opening it. - **x-success** (string) - Optional - Callback URL on success. - **x-error** (string) - Optional - Callback URL on error. ``` -------------------------------- ### GET /vault/list-all-files Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/vault.md Returns a list of all files within the vault. Requires v0.14+. ```APIDOC ## GET /vault/list-all-files ### Description Returns a list of all files in the vault. Requires v0.14+. ### Method GET ### Endpoint `obsidian://actions-uri/vault/list-all-files` ### Parameters Only supports the base parameters (see section ["Parameters required in/ accepted by all calls"](../parameters.md)). ### Response #### Success Response (200) - **result-paths** (array of strings) - Array containing all file paths encoded as JSON string. #### Failure Response - **errorCode** (number) - A HTTP status code. - **errorMessage** (string) - A short summary of what went wrong. #### Response Example (Success) ```json { "result-paths": [ "Notes/Meeting 2023-10-27.md", "Daily Notes/2023-10-27.md", "Attachments/image.png" ] } ``` #### Response Example (Failure) ```json { "errorCode": 500, "errorMessage": "Failed to list files" } ``` ``` -------------------------------- ### Requesting data with callback URLs Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/callbacks.md Example of an Obsidian Actions URI call including x-success and x-error parameters for handling responses. ```text obsidian://actions-uri/note/get ?vault=My%20Vault &file=My%20super%20note &x-success=my-app%3A%2F%2Fsuccess%3Frequest-id%3D123456789 &x-error=my-app%3A%2F%2Ferror ``` -------------------------------- ### GET /vault/info Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/vault.md Retrieves filesystem paths for the vault, its media folder, and the new note folder. Requires v0.13+. ```APIDOC ## GET /vault/info ### Description Returns the full filesystem paths for the vault, its media folder and the "new note" folder. Requires v0.13+. ### Method GET ### Endpoint `obsidian://actions-uri/vault/info` ### Parameters Only supports the base parameters (see section ["Parameters required in/ accepted by all calls"](../parameters.md)). ### Response #### Success Response (200) - **result-base-path** (string) - The full filesystem path to the vault. - **result-attachment-folder-path** (string) - The full filesystem path to the vault's media folder. - **result-new-file-folder-path** (string) - The full filesystem path to the vault's "new note" folder. #### Failure Response - **errorCode** (number) - A HTTP status code. - **errorMessage** (string) - A short summary of what went wrong. #### Response Example (Success) ```json { "result-base-path": "/Users/user/Documents/ObsidianVault", "result-attachment-folder-path": "/Users/user/Documents/ObsidianVault/Attachments", "result-new-file-folder-path": "/Users/user/Documents/ObsidianVault/Notes" } ``` #### Response Example (Failure) ```json { "errorCode": 400, "errorMessage": "Invalid vault specified" } ``` ``` -------------------------------- ### GET /tags Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/tags.md The root /tags endpoint does nothing but return a success message. ```APIDOC ## GET /tags ### Description This endpoint serves as a basic health check or a starting point for tag-related operations. It returns a simple success message. ### Method GET ### Endpoint `obsidian://actions-uri/tags` ### Parameters This endpoint only supports the base parameters documented in the general parameters section. ### Response #### Success Response (200) - **result-message** (string) - A short summary of what was done. #### Response Example ```json { "result-message": "Hello from the tags endpoint!" } ``` ``` -------------------------------- ### GET /omnisearch/open Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/omnisearch.md Opens the Omnisearch interface in Obsidian with a specified query. Supports base parameters. ```APIDOC ## GET /omnisearch/open ### Description Opens Omnisearch for a given query in Obsidian. ### Method GET ### Endpoint `obsidian://actions-uri/omnisearch/open` ### Parameters #### Query Parameters - **query** (string) - Required - A valid Omnisearch query - **x-success** (string) - Optional - base URL for on-success callbacks - **x-error** (string) - Optional - base URL for on-error callbacks ### Response #### Success Response (200) - **result-message** (string) - A short summary of what was done. #### Response Example ```json { "result-message": "Omnisearch opened with query: example query" } ``` ``` -------------------------------- ### GET /command Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/command.md The root endpoint for the command route, used to verify connectivity. ```APIDOC ## GET /command ### Description Does nothing but say hello to verify the endpoint is reachable. ### Method GET ### Endpoint obsidian://actions-uri/command ### Response #### Success Response (200) - **result-message** (string) - A short summary of what was done. ``` -------------------------------- ### GET /search/all-notes Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Returns file paths matching a search query using Obsidian's built-in search. ```APIDOC ## GET /search/all-notes ### Description Returns file paths matching a search query using Obsidian's built-in search. Desktop only. ### Method GET ### Endpoint obsidian://actions-uri/search/all-notes ### Parameters #### Query Parameters - **vault** (string) - Required - The name of the vault. - **query** (string) - Required - The search query string. - **x-success** (string) - Optional - Callback URL on success. - **x-error** (string) - Optional - Callback URL on error. ``` -------------------------------- ### Get Note Content with Actions URI Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Retrieve the content, frontmatter, and properties of a specific note. Notes can be identified by their file path, a unique identifier (UID) stored in the frontmatter, or by their periodic note type. The 'silent=true' parameter can be used to fetch note content without opening the note in Obsidian. ```bash open "obsidian://actions-uri/note/get?vault=My%20Vault&file=Projects%2Fmy-project.md&x-success=myapp://callback&x-error=myapp://error" ``` ```bash open "obsidian://actions-uri/note/get?vault=My%20Vault&uid=01ARZ3NDEKTSV4RRFFQ69G5FAV&x-success=myapp://callback&x-error=myapp://error" ``` ```bash open "obsidian://actions-uri/note/get?vault=My%20Vault&periodic-note=daily&x-success=myapp://callback&x-error=myapp://error" ``` ```bash open "obsidian://actions-uri/note/get?vault=My%20Vault&file=notes%2Fsecret.md&silent=true&x-success=myapp://callback&x-error=myapp://error" ``` -------------------------------- ### Get First Note by Name with Actions URI Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Find and retrieve the first note that matches a given name. This endpoint supports optional sorting criteria, allowing you to specify how the note should be selected if multiple notes share the same name. Supported sort options include 'best-guess', 'path-asc', 'path-desc', 'ctime-asc', 'ctime-desc', 'mtime-asc', and 'mtime-desc'. ```bash open "obsidian://actions-uri/note/get-first-named?vault=My%20Vault&file=Meeting%20Notes&x-success=myapp://callback&x-error=myapp://error" ``` ```bash open "obsidian://actions-uri/note/get-first-named?vault=My%20Vault&file=Meeting%20Notes&sort-by=ctime-asc&x-success=myapp://callback&x-error=myapp://error" ``` -------------------------------- ### GET /note/trash Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Moves a note to the trash, following Obsidian's local or system trash settings. ```APIDOC ## GET /note/trash ### Description Moves a note to trash (vault-local or system trash based on Obsidian settings). ### Method GET ### Endpoint obsidian://actions-uri/note/trash ### Parameters #### Query Parameters - **vault** (string) - Required - The name of the vault - **file** (string) - Required - The path to the note - **x-success** (string) - Optional - Callback URL on success - **x-error** (string) - Optional - Callback URL on error ``` -------------------------------- ### GET /note/get Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Retrieves content, frontmatter, and properties for a specific note identified by path, UID, or periodic note type. ```APIDOC ## GET /note/get ### Description Returns a specific note's content, body, frontmatter, and properties. ### Method GET ### Endpoint obsidian://actions-uri/note/get ### Parameters #### Query Parameters - **vault** (string) - Required - The name of the vault. - **file** (string) - Optional - Relative file path. - **uid** (string) - Optional - Unique identifier stored in frontmatter. - **periodic-note** (string) - Optional - Periodic note type. - **silent** (boolean) - Optional - If true, does not open the note in Obsidian. - **x-success** (string) - Optional - Callback URL on success. - **x-error** (string) - Optional - Callback URL on error. ### Response #### Success Response (200) - **result-content** (string) - Full file content - **result-body** (string) - Content without frontmatter - **result-front-matter** (object) - YAML frontmatter - **result-properties** (object) - JSON-encoded properties - **result-filepath** (string) - Relative file path - **result-uid** (string) - Note UID - **result-uri-path** (string) - Obsidian URI by path - **result-uri-uid** (string) - Obsidian URI by UID ``` -------------------------------- ### GET /note/get-active Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/note.md Retrieves the currently focused note in Obsidian. Returns an error 404 if no note is open or the focused file is not a note. ```APIDOC ## GET /note/get-active ### Description Returns the currently focussed note. If there is no open note or the currently focussed file is not a note, an error 404 is returned. ### Method GET ### Endpoint /note/get-active ### Parameters #### Query Parameters - **x-success** (string) - Required - base URL for on-success callbacks - **x-error** (string) - Required - base URL for on-error callbacks ### Response #### Success Response (Callback Parameters) - **result-body** (string) - The note body, i.e. the note file content minus possible front matter. - **result-content** (string) - The entire content of the note file. - **result-filepath** (string) - The file path of the note, relative from the vault root folder. - **result-front-matter** (string) - The note's front matter, i.e. the note file content minus the note body. - **result-properties** (object) - The note's properties (v1.4+). - **result-uid** (string) - The note's UID, if available (v1.6+). - **result-uri-path** (string) - The note's URI, by path (v1.8+). - **result-uri-uid** (string) - The note's URI, by UID (v1.8+). #### Failure Response (Callback Parameters) - **errorCode** (integer) - A HTTP status code. - **errorMessage** (string) - A short summary of what went wrong. ``` -------------------------------- ### Return Values Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/note.md These parameters are added to callbacks for getting data back from Actions URI. They include success and failure scenarios. ```APIDOC ## Return Values ### On Success | Parameter | Description | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | `result-body` | The note body, i.e. the note file content minus possible front matter. | `result-content` | The entire content of the note file. | `result-filepath` | The file path of the note, relative from the vault root folder. | `result-front-matter` | The note's front matter, i.e. the note file content minus the note body. | `result-properties` | (v1.4+) The note's [properties](https://help.obsidian.md/Editing+and+formatting/Properties). *Note: `result-properties` might be empty if Obsidian can't process the note's front matter (malformed or not YAML front matter). | `result-uid` | (v1.6+) The note's UID, if available | `result-uri-path` | (v1.8+) The note's URI, by path. Can be used to link to the note from other places on the same device. | `result-uri-uid` | (v1.8+) The note's URI, by UID (if available). Can be used to link to the note from other places on the same device. ### On Failure | Parameter | Description | -------------- | ----------------------------------- | `errorCode` | A HTTP status code. | `errorMessage` | A short summary of what went wrong. ``` -------------------------------- ### GET /omnisearch/all-notes Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/omnisearch.md Retrieves file paths for a given search query using the Omnisearch plugin. Supports success and error callbacks. ```APIDOC ## GET /omnisearch/all-notes ### Description Returns Omnisearch results (file paths) for a given search query. ### Method GET ### Endpoint `obsidian://actions-uri/omnisearch/all-notes` ### Parameters #### Query Parameters - **query** (string) - Required - A valid Omnisearch query - **x-success** (string) - Optional - base URL for on-success callbacks - **x-error** (string) - Optional - base URL for on-error callbacks ### Response #### Success Response (200) - **result-hits** (string) - Array with found file paths encoded as JSON string. #### Error Response (4xx/5xx) - **errorCode** (string) - A HTTP status code. - **errorMessage** (string) - A short summary of what went wrong. #### Response Example (Success) ```json { "result-hits": "[\"path/to/file1.md\", \"path/to/file2.md\"]" } ``` #### Response Example (Error) ```json { "errorCode": "400", "errorMessage": "Invalid query provided." } ``` ``` -------------------------------- ### GET /note/get-first-named Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/note.md Returns the first note with the specified name. ```APIDOC ## GET /note/get-first-named ### Description Returns the first note with the specified name. ### Method GET ### Endpoint /note/get-first-named ``` -------------------------------- ### Development and Build Commands Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/CLAUDE.md Commands for building, developing, and testing the plugin. ```bash pnpm dev ``` ```bash npm run dev ``` ```bash pnpm build ``` ```bash npm run build ``` ```bash pnpm test ``` ```bash npm test ``` -------------------------------- ### GET /folder/delete Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Permanently deletes a folder from the specified vault. ```APIDOC ## GET /folder/delete ### Description Permanently deletes a folder from the specified vault. ### Method GET ### Endpoint obsidian://actions-uri/folder/delete ### Parameters #### Query Parameters - **vault** (string) - Required - The name of the vault. - **folder** (string) - Required - The path of the folder to delete. - **x-success** (string) - Optional - Callback URL on success. - **x-error** (string) - Optional - Callback URL on error. ``` -------------------------------- ### GET /note-properties/get Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Retrieves the frontmatter properties of a note as JSON. ```APIDOC ## GET /note-properties/get ### Description Returns a note's frontmatter properties as JSON. ### Method GET ### Endpoint obsidian://actions-uri/note-properties/get ### Parameters #### Query Parameters - **vault** (string) - Required - The name of the vault - **file** (string) - Required - The path to the note - **x-success** (string) - Optional - Callback URL on success - **x-error** (string) - Optional - Callback URL on error ### Response #### Success Response (200) - **result-properties** (json) - The frontmatter properties of the note ``` -------------------------------- ### GET /note/delete Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Permanently deletes a specified note from the vault. ```APIDOC ## GET /note/delete ### Description Permanently deletes a note. ### Method GET ### Endpoint obsidian://actions-uri/note/delete ### Parameters #### Query Parameters - **vault** (string) - Required - The name of the vault - **file** (string) - Required - The path to the note - **x-success** (string) - Optional - Callback URL on success - **x-error** (string) - Optional - Callback URL on error ``` -------------------------------- ### POST /folder/create Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/folder.md Creates a new folder or folder structure at the specified path. ```APIDOC ## POST /folder/create ### Description Creates a new folder or folder structure. In case the folder already exists, nothing will happen. ### Method POST ### Endpoint obsidian://actions-uri/folder/create ### Parameters #### Query Parameters - **folder** (string) - Required - The folder path, relative from the vault's root. ### Response #### Success Response (200) - **result-message** (string) - A short summary of what was done. #### Failure Response - **errorCode** (number) - A HTTP status code. - **errorMessage** (string) - A short summary of what went wrong. ``` -------------------------------- ### POST /search/open Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/search.md Opens the search interface in Obsidian with the specified query. ```APIDOC ## POST /search/open ### Description Opens the search for a given query in Obsidian. ### Method POST ### Endpoint `obsidian://actions-uri/search/open` ### Parameters #### Query Parameters - **query** (string) - Required - A valid Obsidian search query. ### Response #### Success Response (200) - **result-message** (string) - A short summary of what was done. #### Response Example { "result-message": "Search opened successfully." } ``` -------------------------------- ### Open Note by Path Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Opens a specific note in Obsidian using its file path. Ensure the path is URL-encoded. ```bash open "obsidian://actions-uri/note/open?vault=My%20Vault&file=Projects%2Fmain.md" ``` -------------------------------- ### Prepend to Note, Create if Not Found Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Prepends content to a note. If the note does not exist, it will be created first. Use 'create-if-not-found=true'. ```bash open "obsidian://actions-uri/note/prepend?vault=My%20Vault&file=scratch.md&content=Quick%20note&create-if-not-found=true&x-success=myapp://callback&x-error=myapp://error" ``` -------------------------------- ### Prepend Content to Beginning of Note Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Prepends text to the beginning of a note, after any frontmatter. Use 'content' for the text to prepend. ```bash open "obsidian://actions-uri/note/prepend?vault=My%20Vault&file=inbox.md&content=Priority%20item%0A&x-success=myapp://callback&x-error=myapp://error" ``` -------------------------------- ### POST /create Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/note.md Creates a new note in the Obsidian vault with optional content or template application. ```APIDOC ## POST /create ### Description Creates a new note in the vault. Supports defining content directly or applying templates via Templater or Obsidian templates. ### Method POST ### Parameters #### Query Parameters - **file** (string) - Required - The file path of the note, relative from the vault's root. The extension .md can be omitted. - **apply** (string) - Optional - What to add to the note after creation. Options: content, templater, templates. - **content** (string) - Optional - The initial body of the note. Prerequisite: no apply parameter or apply=content. - **template-file** (string) - Optional - The path of the template file to apply. Prerequisite: apply=templater or apply=templates. - **periodic-note** (string) - Optional - Specifies a periodic note type (daily, weekly, monthly, etc.). - **if-exists** (string) - Optional - Behavior if note exists: skip or overwrite. - **silent** (boolean) - Optional - If true, does not open the note in Obsidian after creation. Defaults to false. ``` -------------------------------- ### GET /note/rename Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Renames or moves a note, updating links automatically. ```APIDOC ## GET /note/rename ### Description Renames a file or moves it to a new folder path. ### Method GET ### Endpoint obsidian://actions-uri/note/rename ### Parameters #### Query Parameters - **vault** (string) - Required - The name of the vault. - **file** (string) - Required - The current file path. - **new-filename** (string) - Required - The new file path or name. ``` -------------------------------- ### GET /note/append Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Appends text to the end of a note or below a specific headline. ```APIDOC ## GET /note/append ### Description Appends content to a note. Can target specific headlines or create the note if missing. ### Method GET ### Endpoint obsidian://actions-uri/note/append ### Parameters #### Query Parameters - **vault** (string) - Required - The name of the vault. - **file** (string) - Optional - The path to the file. - **content** (string) - Required - The content to append. - **below-headline** (string) - Optional - The headline to append under. - **create-if-not-found** (boolean) - Optional - Create note if it doesn't exist. - **if-headline-missing** (string) - Optional - Action if headline is missing (e.g., 'add-headline'). - **periodic-note** (string) - Optional - Target a periodic note. - **ensure-newline** (boolean) - Optional - Ensure the note ends with a newline. ``` -------------------------------- ### Prepend at Very Beginning (Before Frontmatter) Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Prepends text at the absolute beginning of a note, before any frontmatter. Use 'ignore-front-matter=true'. ```bash open "obsidian://actions-uri/note/prepend?vault=My%20Vault&file=note.md&content=HEADER%0A&ignore-front-matter=true&x-success=myapp://callback&x-error=myapp://error" ``` -------------------------------- ### POST /search/all-notes Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/search.md Returns file paths for a given search query. This endpoint is only available on Desktop. ```APIDOC ## POST /search/all-notes ### Description Returns search results (file paths) for a given search query. Desktop only. ### Method POST ### Endpoint `obsidian://actions-uri/search/all-notes` ### Parameters #### Query Parameters - **query** (string) - Required - The search query. - **x-success** (string) - Optional - Base URL for on-success callbacks. - **x-error** (string) - Optional - Base URL for on-error callbacks. ### Response #### Success Response (200) - **result-hits** (string) - Array with found file paths encoded as JSON string. #### Response Example { "result-hits": "[\"path/to/note1.md\", \"path/to/note2.md\"]" } #### Error Response - **errorCode** (string) - A HTTP status code. - **errorMessage** (string) - A short summary of what went wrong. ``` -------------------------------- ### GET /folder/list Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/folder.md Retrieves a list of all folder paths within the vault. ```APIDOC ## GET /folder/list ### Description Returns a list of folder paths. ### Method GET ### Endpoint obsidian://actions-uri/folder/list ### Parameters #### Query Parameters - **x-success** (string) - Optional - base URL for on-success callbacks - **x-error** (string) - Optional - base URL for on-error callbacks ### Response #### Success Response (200) - **result-paths** (array) - Array containing all folder paths encoded as JSON string. #### Failure Response - **errorCode** (number) - A HTTP status code. - **errorMessage** (string) - A short summary of what went wrong. ``` -------------------------------- ### Open Search Pane Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Open the Obsidian search interface with a pre-filled query. ```bash open "obsidian://actions-uri/search/open?vault=My%20Vault&query=TODO" ``` -------------------------------- ### Root /note-properties Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/note-properties.md The root `/note-properties` endpoint serves as a basic entry point and returns a simple greeting. It accepts standard base parameters. ```APIDOC ## GET /note-properties ### Description Does nothing but say hello. ### Method GET ### Endpoint `obsidian://actions-uri/note-properties/` ### Parameters Only supports the base parameters (see section [Parameters required in/ accepted by all calls](../parameters.md)). ### Response #### Success Response (200) - **result-message** (string) - A short summary of what was done. #### Response Example ```json { "result-message": "Hello!" } ``` ``` -------------------------------- ### GET /vault Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/vault.md The root /vault endpoint. It currently does nothing but acknowledge its existence. ```APIDOC ## GET /vault ### Description Does nothing but say hello. Supports base parameters. ### Method GET ### Endpoint `obsidian://actions-uri/vault` ### Parameters Only supports the base parameters (see section ["Parameters required in/ accepted by all calls"](../parameters.md)). ### Response #### Success Response (200) - **result-message** (string) - A short summary of what was done. #### Response Example ```json { "result-message": "Hello from the vault endpoint!" } ``` ``` -------------------------------- ### Create Today's Daily Note Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Create today's daily note using the periodic-note parameter. Includes success and error callback URIs. ```bash open "obsidian://actions-uri/note/create?vault=My%20Vault&periodic-note=daily&x-success=myapp://callback&x-error=myapp://error" ``` -------------------------------- ### GET /file/get-active Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/file.md Fetches the path of the currently active or focused file in Obsidian. ```APIDOC ## GET /file/get-active ### Description Returns the currently active/focussed file. If there is no open file, an error 404 is returned. ### Method GET ### Endpoint `/file/get-active` ### Parameters #### Query Parameters - **Base Parameters**: See section ["Parameters required in/ accepted by all calls"](../parameters.md). ### Response #### Success Response (200) - **result-filepath** (string) - The path to the file relative from the vault's root folder. #### Response Example ```json { "result-filepath": "path/to/active/file.md" } ``` #### Error Response (e.g., 404) - **errorCode** (integer) - A HTTP status code. - **errorMessage** (string) - A short summary of what went wrong. #### Error Response Example ```json { "errorCode": 404, "errorMessage": "No active file found" } ``` ``` -------------------------------- ### Open Current Daily Note Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Opens the current daily note in Obsidian. Use 'periodic-note=daily'. ```bash open "obsidian://actions-uri/note/open?vault=My%20Vault&periodic-note=daily" ``` -------------------------------- ### GET /tags/list Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/tags.md Retrieves a list of all tags present in the queried Obsidian vault. ```APIDOC ## GET /tags/list ### Description Returns a JSON-encoded string array of all tags used in the queried vault, sorted alphabetically. Tags are returned with their leading '#' symbol. ### Method GET ### Endpoint `obsidian://actions-uri/tags/list` ### Parameters #### Query Parameters - **x-success** (string) - Required - Base URL for on-success callbacks. - **x-error** (string) - Required - Base URL for on-error callbacks. ### Response #### Success Response (200) - **result-tags** (string) - JSON-encoded string array, sorted alphabetically. The tags are returned as-is, i.e. including the leading `#`. #### Response Example ```json { "result-tags": "[\"#tag1\", \"#tag2\", \"#tag3\"]" } ``` #### Error Response - **errorCode** (string) - A HTTP status code. - **errorMessage** (string) - A short summary of what went wrong. #### Error Response Example ```json { "errorCode": "404", "errorMessage": "Vault not found" } ``` ``` -------------------------------- ### Dataview Root Route Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/dataview.md The root /dataview route serves as a basic entry point and currently does nothing more than acknowledge the request. It supports standard base parameters. ```APIDOC ## GET /dataview ### Description This is the root endpoint for Dataview operations. It currently performs no specific action other than a basic acknowledgment. ### Method GET ### Endpoint `obsidian://actions-uri/dataview` ### Parameters Supports only the base parameters documented in the general parameters section. ### Response #### Success Response (200) - **result-message** (string) - A short summary of what was done. #### Response Example ```json { "result-message": "Hello from Dataview!" } ``` ``` -------------------------------- ### GET /note-properties/set Source: https://context7.com/czottmann/obsidian-actions-uri/llms.txt Updates or overwrites frontmatter properties for a note or the current daily note. ```APIDOC ## GET /note-properties/set ### Description Overwrites or updates a note's properties. ### Method GET ### Endpoint obsidian://actions-uri/note-properties/set ### Parameters #### Query Parameters - **vault** (string) - Required - The name of the vault - **file** (string) - Optional - The path to the note - **periodic-note** (string) - Optional - Use 'daily' for current daily note - **properties** (json) - Required - The properties to set - **mode** (string) - Optional - Set to 'update' to merge properties - **x-success** (string) - Optional - Callback URL on success - **x-error** (string) - Optional - Callback URL on error ``` -------------------------------- ### POST /note/create Source: https://github.com/czottmann/obsidian-actions-uri/blob/main/docs/routes/note.md Creates a new note in Obsidian. Supports targeting via file path or periodic note settings, with options to apply content or templates. ```APIDOC ## POST /note/create ### Description Creates a new note. If a note with the same name exists, the file name is suffixed with a number. This route supports either `file` or `periodic-note` as mutually exclusive targeting parameters. ### Method POST ### Endpoint /note/create ### Parameters #### Query Parameters - **file** (string) - Optional - Path to the new note. - **periodic-note** (string) - Optional - Targets a current periodic note (daily, weekly, etc.). Requires Daily Notes or Periodic Notes plugin. - **apply** (string) - Optional - Method to apply content: 'content' (default), 'templates', or 'templater'. - **content** (string) - Optional - Initial body of the note when apply=content. - **template-file** (string) - Optional - Path of the template file when apply=templates or apply=templater. ### Response #### Success Response (200) - **result-message** (string) - A short summary of what was done. #### Error Response - **errorCode** (integer) - A HTTP status code. - **errorMessage** (string) - A short summary of what went wrong. ```