Skip to content

Open API and Remote MCP ​

Dessix provides two external integration surfaces:

  • REST API for scripts, automation, and third-party integrations.
  • Remote MCP for AI clients such as Cursor, Claude Code, and ChatGPT.

Both surfaces share the same backend services, access token authentication, and resource ownership checks.

Available Capabilities ​

Open API and Remote MCP expose Dessix content data operations to external tools:

  • List workspaces, resolve current workspace, create workspace, and update basic workspace metadata.
  • Search blocks by keyword or semantic vector, read, create, update, soft delete, restore, and move blocks.
  • Create, rename, move, delete, and list children for folders.

Access Token ​

REST API and Remote MCP both use:

http
Authorization: Bearer dx_live_xxx

Permission model:

  • A token can only access data owned by the token user.
  • External requests cannot pass or override user_id.
  • workspace_id is only a resource locator, not a permission grant.
  • Cross-user access returns not found style errors to avoid resource enumeration.
  • Tokens can be created, listed, and revoked from the App workspace settings advanced panel.

REST API Examples ​

List workspaces:

bash
curl https://api.dessix.io/v1/open/workspaces \
  -H "Authorization: Bearer dx_live_xxx"

Search blocks semantically:

bash
curl "https://api.dessix.io/v1/open/blocks/search?workspace_id=workspace_xxx&semantic=project%20retro&types=Note&limit=5" \
  -H "Authorization: Bearer dx_live_xxx"

Create a block:

bash
curl https://api.dessix.io/v1/open/blocks \
  -H "Authorization: Bearer dx_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "workspace_id": "workspace_xxx",
    "patch": {
      "type": "Note",
      "title": "API note",
      "content": "Created from REST API"
    }
  }'

Remote MCP ​

Remote MCP endpoint:

text
https://api.dessix.io/v1/mcp

Remote MCP keeps tool names and input schemas compatible with the existing Local MCP. Clients should send the access token as an Authorization header. The semantic argument on dessix_search_blocks uses server-side semantic vector search; query is for keyword search.

Default Workspace ​

If workspace_id is omitted, the server uses the most recently opened workspace:

sql
ORDER BY last_opened_at DESC NULLS LAST, updated_at DESC

If the user has no workspace, read-style requests return NO_WORKSPACE_SELECTED. Content creation flows can explicitly create a workspace first.

Folder Deletion Semantics ​

Folder deletion matches the behavior inside the Dessix App. When deleting a folder:

  • The target folder and its sub-folders are deleted.
  • Content blocks using those folders have their folder reference cleared and are moved to trash.
  • The root folder cannot be deleted.

Content Size Limits ​

  • read_block returns at most 20,000 content characters for one block.
  • Truncated content includes content_truncated, content_limit, and content_original_length.

Error Codes ​

Common error codes:

  • UNAUTHORIZED
  • TOKEN_REVOKED
  • TOKEN_EXPIRED
  • NO_WORKSPACE_SELECTED
  • WORKSPACE_NOT_FOUND
  • BLOCK_NOT_FOUND
  • FOLDER_NOT_FOUND
  • INVALID_ARGUMENT

Build with ❤️ by Dessix