Skip to content

Manage Projects with the VB-OS Node.js SDK

The client.projects namespace provides methods for creating, listing, updating, and managing project membership.

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
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' });
const project = await client.projects.create({
name: 'Payment Processing',
workspace_id: 'ws_abc123',
});
const project = await client.projects.get('proj_abc123');
console.log(project.name);
await client.projects.update('proj_abc123', {
name: 'Payment Processing v2',
});
// Archive (reversible)
await client.projects.archive('proj_abc123');
// Delete (permanent)
await client.projects.delete('proj_abc123');
// List members
const members = await client.projects.listMembers('proj_abc123');
// Add a member
await client.projects.addMember('proj_abc123', {
user_id: 'user_xyz',
role: 'editor',
});
// Update a member's role
await client.projects.updateMember('proj_abc123', 'assign_xyz', {
role: 'viewer',
});
// Remove a member
await client.projects.removeMember('proj_abc123', 'assign_xyz');