🔌 API Reference
Base URL: https://api.packbee.dev/v1
Authentication
Public endpoints (GET) don't require authentication. To publish, use a Bearer token:
Authorization: Bearer <your-token>
Get your token via packbee login or in your profile settings.
List Packages
GET
/packages
List all public packages.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| page | integer | Page number (default: 1) |
| limit | integer | Results per page (default: 20, max: 100) |
| sort | string | Sort by: stars, downloads, updated (default: stars) |
Response
{
"packages": [
{
"slug": "notion-sync",
"displayName": "Notion Sync",
"description": "Bidirectional sync with Notion",
"owner": "guillaume",
"version": "1.2.0",
"stats": {
"stars": 45,
"downloads": 1200
},
"keywords": ["notion", "sync"],
"updatedAt": "2026-03-26T10:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 150
}
}
Get Package
GET
/packages/:slug
Get package details.
Path Parameters
| slug required | string | Package slug (e.g., "notion-sync") |
Response
{
"slug": "notion-sync",
"displayName": "Notion Sync",
"description": "Bidirectional sync with Notion API",
"owner": {
"handle": "guillaume",
"avatarUrl": "https://..."
},
"latestVersion": "1.2.0",
"versions": ["1.0.0", "1.1.0", "1.2.0"],
"stats": {
"stars": 45,
"downloads": 1200,
"comments": 5
},
"keywords": ["notion", "sync", "database"],
"capabilities": ["read_database", "write_pages"],
"requires": {
"env": ["NOTION_API_KEY"]
},
"compatible": ["cursor", "copilot", "claude"],
"readme": "# Notion Sync\n\n...",
"license": "MIT",
"createdAt": "2026-01-15T10:00:00Z",
"updatedAt": "2026-03-26T10:00:00Z"
}
Search Packages
GET
/search
Semantic search in packages.
Query Parameters
| q required | string | Search query (natural language) |
| capabilities | string[] | Filter by capabilities |
| compatible | string | Filter by runtime (cursor, copilot, etc.) |
| minStars | integer | Minimum star count |
Example
GET /search?q=sync+with+notion+database&capabilities=read_database
Response
{
"query": "sync with notion database",
"results": [
{
"slug": "notion-sync",
"description": "Bidirectional sync with Notion",
"score": 0.94,
"stats": { "stars": 45, "downloads": 1200 }
}
],
"total": 1,
"searchTime": 45
}
Download Package
GET
/download
Download a package (ZIP).
Query Parameters
| slug required | string | Package slug |
| version | string | Version (default: latest) |
Response
Binary ZIP file with Content-Type: application/zip
Publish Package
POST
/packages
Publish a new package or version. Requires authentication.
Request Body
Multipart form data with:
| files required | files[] | Package files (including HIVE.yaml) |
| changelog | string | Changelog for this version |
Response
{
"success": true,
"package": {
"slug": "notion-sync",
"version": "1.3.0"
},
"message": "Package published successfully"
}
Rate Limits
| Endpoint | Unauthenticated | Authenticated |
|---|---|---|
| GET (read) | 100/min | 1000/min |
| POST (write) | N/A | 60/min |
| Search | 30/min | 300/min |
Errors
{
"error": {
"code": "NOT_FOUND",
"message": "Package 'xyz' not found",
"status": 404
}
}
| Code | Status | Description |
|---|---|---|
| UNAUTHORIZED | 401 | Invalid or missing token |
| FORBIDDEN | 403 | Access denied |
| NOT_FOUND | 404 | Resource not found |
| VALIDATION_ERROR | 422 | Invalid data |
| RATE_LIMITED | 429 | Too many requests |