Manage Projects with the VB-OS Node.js SDK
The client.projects namespace provides methods for creating, listing, updating, and managing project membership.
Methods
Section titled “Methods”| Method | Signature | Description |
|---|---|---|
list |
(opts?) |
List all projects |
create |
(kwargs) |
Create a new project |
get |
(projectId) |
Get project details |
update |
(projectId, kwargs) |
Update a project |
archive |
(projectId) |
Archive a project |
delete |
(projectId) |
Delete a project |
listMembers |
(projectId, opts?) |
List project members |
addMember |
(projectId, kwargs) |
Add a member to the project |
removeMember |
(projectId, assignmentId) |
Remove a member |
updateMember |
(projectId, assignmentId, kwargs) |
Update a member’s role |
List Projects
Section titled “List Projects”const projects = await client.projects.list();
for (const p of projects.items) { console.log(p.id, p.name);}With pagination:
const page = await client.projects.list({ limit: 5, cursor: 'abc' });Create a Project
Section titled “Create a Project”const project = await client.projects.create({ name: 'Payment Processing', workspace_id: 'ws_abc123',});Get a Project
Section titled “Get a Project”const project = await client.projects.get('proj_abc123');console.log(project.name);Update a Project
Section titled “Update a Project”await client.projects.update('proj_abc123', { name: 'Payment Processing v2',});Archive and Delete
Section titled “Archive and Delete”// Archive (reversible)await client.projects.archive('proj_abc123');
// Delete (permanent)await client.projects.delete('proj_abc123');Member Management
Section titled “Member Management”// List membersconst members = await client.projects.listMembers('proj_abc123');
// Add a memberawait client.projects.addMember('proj_abc123', { user_id: 'user_xyz', role: 'editor',});
// Update a member's roleawait client.projects.updateMember('proj_abc123', 'assign_xyz', { role: 'viewer',});
// Remove a memberawait client.projects.removeMember('proj_abc123', 'assign_xyz');