← 返回
未分类 Key 中文

Manage privypad notes

Interact with the PrivyPad.com API to read, create, update, delete, and organize encrypted notes and groups on behalf of a user. Use this skill whenever the...
与 PrivyPad.com API 交互,代表用户读取、创建、更新、删除及整理加密笔记和分组。
aididmyhomework aididmyhomework 来源
未分类 clawhub v1.0.0 1 版本 100000 Key: 需要
★ 0
Stars
📥 465
下载
💾 0
安装
1
版本
#latest

概述

PrivyPad API Skill

PrivyPad is a zero-knowledge encrypted notes app. This skill covers all interactions

with its public REST API (https://www.privypad.com/api/v1/).


Authentication

All note and group endpoints require a Bearer token in the Authorization header.

Authorization: Bearer pp_<uuid>.<base64url-secret>

The token is created once in PrivyPad Settings and must be supplied by the user.

Never ask the user for their password — the token is self-contained.

Token management endpoints (/api/tokens) use the session cookie instead and

are only available in a browser context; do not attempt to call them from scripts.


Base URL

https://www.privypad.com/api/v1

Endpoints

Notes

List notes

GET /notes

Query parameters (all optional):

ParameterTypeDescription
----------------------------------------------------------
groupstringFilter by group name
pinnedbooleantrue to return only pinned notes
limitintegerMax results to return
offsetintegerPagination offset

Get a single note

GET /notes/:id

Create a note

POST /notes
Content-Type: application/json

{
  "title":    "string",
  "content":  "string",
  "group":    "string",   // optional
  "tags":     ["string"], // optional
  "isPinned": false       // optional
}

Update a note (partial)

PATCH /notes/:id
Content-Type: application/json

{
  "title":    "string",   // any subset of fields
  "content":  "string",
  "group":    "string",
  "tags":     ["string"],
  "isPinned": true
}

Delete / trash a note

DELETE /notes/:id

Add ?permanent=true to hard-delete instead of moving to trash.


Groups

List groups

GET /groups

Returns all group names for the authenticated user. No query parameters.


Code Pattern (JavaScript / fetch)

const PRIVYPAD_TOKEN = "pp_<uuid>.<base64url-secret>"; // supplied by user
const BASE = "https://privypad.com/api/v1";

async function privypad(method, path, body) {
  const res = await fetch(`${BASE}${path}`, {
    method,
    headers: {
      "Authorization": `Bearer ${PRIVYPAD_TOKEN}`,
      "Content-Type": "application/json",
    },
    body: body ? JSON.stringify(body) : undefined,
  });
  if (!res.ok) throw new Error(`PrivyPad ${res.status}: ${await res.text()}`);
  return res.json();
}

// Examples
const notes   = await privypad("GET",   "/notes?pinned=true");
const note    = await privypad("GET",   `/notes/${id}`);
const created = await privypad("POST",  "/notes", { title: "Hello", content: "World" });
const updated = await privypad("PATCH", `/notes/${id}`, { isPinned: true });
await              privypad("DELETE", `/notes/${id}`);
const groups  = await privypad("GET",   "/groups");

Code Pattern (Python / httpx)

import httpx

TOKEN = "pp_<uuid>.<base64url-secret>"  # supplied by user
BASE  = "https://privypad.com/api/v1"
HEADERS = {"Authorization": f"Bearer {TOKEN}"}

def privypad(method, path, **kwargs):
    r = httpx.request(method, BASE + path, headers=HEADERS, **kwargs)
    r.raise_for_status()
    return r.json()

# Examples
notes   = privypad("GET",    "/notes", params={"group": "Work"})
created = privypad("POST",   "/notes", json={"title": "Hi", "content": "There"})
updated = privypad("PATCH",  f"/notes/{note_id}", json={"isPinned": True})
privypad("DELETE", f"/notes/{note_id}?permanent=true")
groups  = privypad("GET",    "/groups")

Important Notes

  • Zero-knowledge: The server stores notes encrypted. The token embeds the

client-side secret needed to decrypt them. Never log or expose the token.

  • Trash vs. hard-delete: DELETE /notes/:id moves to trash by default.

Pass ?permanent=true only when the user explicitly confirms permanent deletion.

  • HTML content: The content field must be HTML, not Markdown. Use

    ,

    ,

, , ,

    /
  • ,
      /
    1. ,
      etc.

      • Partial updates: PATCH accepts any subset of fields — only send what changes.
      • Pagination: Use limit + offset when fetching large note lists to avoid

      oversized responses.

      • Token scope: If the user's token was revoked or expired, all API calls will

      return 401. Prompt the user to generate a new token in PrivyPad Settings.

版本历史

共 1 个版本

  • v1.0.0 当前
    2026-03-30 17:49 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

ai-agent

Find Skills

guipi888
场景驱动+关键词双模式技能发现工具。当用户用自然语言描述场景/需求(如"我想做一个海报""帮我分析股票"),或明确说"安装技能/find skills/找个skill"时,自动从官方内置、本地已安装、SkillHub、虾评、GitHub、C
★ 1,494 📥 558,642
ai-agent

Agent Browser

rez0
用于 AI 代理的浏览器自动化 CLI。当用户需要与网站交互(包括浏览页面、填写表单、点击按钮、截图等)时使用。
★ 844 📥 325,655
ai-agent

Self-Improving + Proactive Agent

ivangdavila
自我反思+自我批评+自我学习+自组织记忆。智能体评估自身工作、发现错误并持续改进。
★ 1,412 📥 325,301