Relationships
#1365 Collective management API for extension-based automation
Opened by webframp · 7/23/2026· Shipped 8/15/2026
Request
Expose a REST API (with OpenAPI spec) for managing swamp-club collectives programmatically. The goal is building a swamp model extension (@webframp/swamp-club or similar) that manages collective membership, settings, and extension inventory — swamp managing swamp.
Use Case
As a collective owner with multiple team members and published extensions, I want to:
- List collective members — who has access, what roles
- Add/remove members — invite by username/email, assign roles
- List collective extensions — published packages, versions, download counts
- Manage extension settings — deprecate, transfer ownership, update metadata
- Audit — who published what, when, activity log
All of this stored as swamp data (versioned, queryable via CEL), so I can build workflows around collective governance — approval gates for new members, automated extension audits, onboarding workflows.
Current State — Technical Findings
Probed the swamp-club.com API surface with an authenticated bearer token:
Stub/placeholder routes (200 but no real data)
GET /api/collectives→Hello, Collectives!GET /api/me→Hello, Me!GET /api/user→Hello, User!GET /api/account→Hello, Account!GET /api/organizations→Hello, Organizations!GET /api/teams→Hello, Teams!GET /api/extensions?collective=webframp→Hello, Extensions!GET /api/openapi.json→Hello, Openapi.json!GET /api/swagger.json→Hello, Swagger.json!GET /api/docs→Hello, Docs!
404 routes (no endpoint at all)
GET /api/v1/collectivesGET /api/collectives/webframpGET /api/orgs/webframpGET /api/collective/webframp/membersGET /api/extensions/search?q=webframpGET /api/extensions/@webframp/dynamodb-datastore
What works via the CLI but has no discoverable HTTP API
swamp auth whoami --jsonreturns collective membershipswamp extension search/info/pushoperates on extensions- These likely use an internal RPC protocol or a non-public API hostname
Conclusion
The extension registry's data operations (search, info, push, pull) appear to use a mechanism not exposed as a standard REST API. The /api/* routes are placeholder stubs. There's no public OpenAPI spec, no functional collective management endpoints, and no way to programmatically manage membership or settings beyond what the CLI provides.
Desired API Surface
At minimum:
GET /api/collectives/:name— collective detailsGET /api/collectives/:name/members— list members with rolesPOST /api/collectives/:name/members— invite/add memberDELETE /api/collectives/:name/members/:userId— remove memberGET /api/collectives/:name/extensions— list published extensionsPATCH /api/collectives/:name— update collective settingsGET /api/openapi.json— machine-readable spec for all the above
Authentication via existing bearer token from swamp auth login.
Why This Matters
Without a management API, collective administration requires manual web UI interaction — which means it can't be automated, audited, or governed via the same swamp primitives that manage everything else. The meta-use-case (swamp managing swamp) is a strong proof point for the platform.
Shipped
No activity in this phase yet.
Sign in to post a ripple.