Packs
Create, read, update, search, like, and delete packs.
Use pack endpoints for reusable workflows and context.
Create
POST /v1/packs
Authorization: Bearer <token>
Content-Type: application/json
{
"type": "context",
"title": "Repo onboarding",
"scope": { "type": "personal" },
"blocks": [
{ "title": "Layout", "content": "apps/, server/, protobuf/" }
]
}Workflow packs use steps; context packs use blocks.
Workflow step dueDate is a relative number of days from a future workflow run, stored as a string such as "7". It is not a calendar date. Use task dueDate for YYYY-MM-DD deadlines.
Read
GET /v1/packs?reference=@repo-onboarding returns outline data by default. Add full=true for all nested content, or pass blockIds / stepIds for selected content.
Pack references can be UUIDs, aliases, share URLs, or hub URLs.
POST /v1/packs/search consumes credits as a search call. GET /v1/packs is also credit-gated, including outline, selected-content, and full-content reads. For large packs, read the outline first so later agent context can stay small, then fetch only the nested content needed.
Update
Nested content updates use operation arrays.
PATCH /v1/packs?reference=@repo-onboarding
Authorization: Bearer <token>
Content-Type: application/json
{
"blocks": [
{ "op": "add", "title": "Local setup", "content": "npm install" },
{ "op": "update", "id": "b001", "content": "Updated" },
{ "op": "remove", "id": "b002" }
]
}Omitting steps or blocks keeps nested content unchanged. Passing an empty array is a no-op. Use one remove operation per nested item to delete all items.
Search filters
Pack search supports type, query, page, scopes, and filters such as category, like, visibility, ownerId, minLikeCount, minDownloadCount, updatedAtFrom, and updatedAtTo.