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.