Skip to main content

pb-api

Operate PocketBase via its REST API. Use for CRUD operations on collections, authentication, querying records with filters, and managing PocketBase data.

跳到安装

来源信息

仓库
spinspire/pocketbase-sveltekit-starter
最近来源活动
2026年8月21日 19:18
检测到的 SKILL.md 语言
英语
星标
508
分支
76

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
pb-api
description
Operate PocketBase via its REST API. Use for CRUD operations on collections, authentication, querying records with filters, and managing PocketBase data.
license
MIT
authors
SpinSpire Team
allowed-tools
Bash, curl
# PocketBase API Reference: https://pocketbase.io/docs/ Operate PocketBase via its REST API. ## Credentials Create `.env` from `.env.example` (never commit `.env`): ```bash PB_URL=http://localhost:8090 PB_SUPERUSER_EMAIL=admin@example.com PB_SUPERUSER_PASSWORD=your-password ``` If credentials aren't available via env vars, ask user explicitly before proceeding. ## Quick Start ```bash # Auth curl -X POST http://localhost:8090/api/collections/_superusers/auth \ -H 'Content-Type: application/json' \ -d '{"identity":"admin@example.com","password":"secret"}' # List records curl http://localhost:8090/api/collections/posts/records \ -H 'Authorization: Bearer TOKEN' # Filter records curl "http://localhost:8090/api/collections/posts/records?filter=status='published'&sort=-created&expand=author" ``` ## Key Endpoints | Method | Endpoint | Purpose | |--------|----------|---------| | POST | `/api/collections/:collection/auth` | Auth with password | | POST | `/api/collections/:collection/auth-with-password` | Login | | GET | `/api/collections/:collection/records` | List records | | POST | `/api/collections/:collection/records` | Create record | | PATCH | `/api/collections/:collection/records/:id` | Update record | | DELETE | `/api/collections/:collection/records/:id` | Delete record | ## Filter Syntax ``` status = 'published' author.id = 'abc123' created >= '2024-01-01' user.name ~ 'john*' ``` Use `@collection.name.field` for cross-collection filters. ## SDK Usage ```typescript import PocketBase from 'pocketbase' const pb = new PocketBase('http://localhost:8090') await pb.collection('posts').authWithPassword('user@test.com', 'secret') // List with filter const records = await pb.collection('posts').getList(1, 50, { filter: "status = 'published'", sort: '-created', expand: 'author,tags' }) ``` ## API Rules - `null` → superuser only - `""` → public access - Start locked, open selectively - Use `@request.auth`, `@collection`, `@now` in rules
在 GitHub 查看