Fabric.co API skill
Create, search, and manage Fabric resources via the Fabric HTTP API (notepads/notes, folders, bookmarks, files, tags).
Create, search, and manage Fabric resources via the Fabric HTTP API (notepads/notes, folders, bookmarks, files, tags).
Real data. Real impact.
Growing
Developers
Per week
Open source
Skills give you superpowers. Install in 30 seconds.
Use this skill when you need to read or write content in a user's Fabric workspace using the Fabric HTTP API (
https://api.fabric.so).
This version avoids bash-only wrapper scripts. It ships cross-platform helpers:
{baseDir}/scripts/fabric.mjs (recommended){baseDir}/scripts/fabric.pyPOST /v2/notes endpoint in the bundled OpenAPI spec. To create a “note”, use POST /v2/notepads.parentId:
@alias::inbox, @alias::binparentIdtext (markdown string) or ydoc (advanced/structured)tags must be an array of objects, each item either:
{ "name": "tag name" } or { "id": "<uuid>" }name (not title). If the user says “title”, map it to name in requests.When the user doesn’t specify a destination folder, default to:
parentId: "@alias::inbox"This skill expects the Fabric API key in:
FABRIC_API_KEYOpenClaw config example (
~/.openclaw/openclaw.json):
{ skills: { entries: { "fabric-api": { enabled: true, apiKey: "YOUR_FABRIC_API_KEY" } } } }
Notes:
apiKey is a convenience for skills that declare primaryEnv; it injects FABRIC_API_KEY for the duration of an agent run.https://api.fabric.so (override with FABRIC_BASE if needed)X-Api-Key: $FABRIC_API_KEYContent-Type: application/jsonnode {baseDir}/scripts/fabric.mjs GET /v2/user/menode {baseDir}/scripts/fabric.mjs POST /v2/notepads --json '{"name":"Test note","text":"Hello","parentId":"@alias::inbox"}'
python3 {baseDir}/scripts/fabric.py GET /v2/user/mepython3 {baseDir}/scripts/fabric.py POST /v2/notepads --json '{"name":"Test note","text":"Hello","parentId":"@alias::inbox"}'
Notes:
HTTP <code> <reason> to stderr and still print the response body, then exit non‑zero (similar to curl --fail-with-body).https://...), the helpers do not attach X-Api-Key unless you explicitly pass --with-key.Endpoint:
POST /v2/notepads
Rules:
nametext for markdown contentparentIdname, then tags.Minimal create:
node {baseDir}/scripts/fabric.mjs POST /v2/notepads --json '{"parentId":"@alias::inbox","text":"Hello"}'
Create with a name:
node {baseDir}/scripts/fabric.mjs POST /v2/notepads --json '{"name":"Calendar Test Note","text":"Created via OpenClaw","parentId":"@alias::inbox"}'
Create with tags (correct shape):
node {baseDir}/scripts/fabric.mjs POST /v2/notepads --json '{"name":"Ideas","text":"# Ideas\\n\\n- First\\n- Second\\n","parentId":"@alias::inbox","tags":[{"name":"ideas"},{"name":"draft"}]}'
If you keep seeing tag validation errors, temporarily omit
tags and create the notepad first.
Endpoint:
POST /v2/folders
node {baseDir}/scripts/fabric.mjs POST /v2/folders --json '{"name":"My new folder","parentId":"@alias::inbox","description":null}'
Endpoint:
POST /v2/bookmarks
node {baseDir}/scripts/fabric.mjs POST /v2/bookmarks --json '{"url":"https://example.com","parentId":"@alias::inbox","name":"Example","tags":[{"name":"reading"}]}'
Endpoint:
POST /v2/resources/filter
Important:
parentId expects a UUID (not an alias).node {baseDir}/scripts/fabric.mjs POST /v2/resources/filter --json '{"parentId":"PARENT_UUID_HERE","limit":50,"order":{"property":"modifiedAt","direction":"DESC"}}'
Endpoint:
POST /v2/search
Use search when the user gives a fuzzy description (“the note about…”).
node {baseDir}/scripts/fabric.mjs POST /v2/search --json '{"queries":[{"mode":"text","text":"meeting notes","filters":{"kinds":["notepad"]}}],"pagination":{"page":1,"pageSize":20},"sort":{"field":"modifiedAt","order":"desc"}}'
tags is [{name}|{id}] not nested.{baseDir}/fabric-api.yaml{baseDir}/references/REFERENCE.md{baseDir}/references/TROUBLESHOOTING.mdNo automatic installation available. Please visit the source repository for installation instructions.
View Installation Instructions1,500+ AI skills, agents & workflows. Install in 30 seconds. Part of the Torly.ai family.
© 2026 Torly.ai. All rights reserved.