Skip to main content

vaults.setEnabled

Enable or disable your own vault membership.

Request

vaultId
string
required
UUID of the vault
isEnabled
boolean
required
Whether to enable or disable the membership
const result = await trpc.vaults.setEnabled.mutate({
  vaultId: "a1b2c3d4-...",
  isEnabled: false
});

Response

success
literal
required
Always true on success
vaultId
string
required
UUID of the vault
isEnabled
boolean
required
New enabled status

Example

// Disable a vault membership
const result = await trpc.vaults.setEnabled.mutate({
  vaultId: "a1b2c3d4-...",
  isEnabled: false
});
// { success: true, vaultId: "a1b2c3d4-...", isEnabled: false }

vaults.members.list

List all members of an enterprise vault.
Requires owner or admin role in the vault

Request

vaultId
string
required
UUID of the enterprise vault
const members = await trpc.vaults.members.list.query({
  vaultId: "a1b2c3d4-..."
});

Response

Returns an array of member objects.
userId
string
required
User ID of the member
name
string
required
Display name of the member
email
string
required
Email address of the member
role
enum
required
Member’s role. One of: owner, admin, member
isEnabled
boolean
required
Whether the membership is enabled
createdAt
Date
required
When the membership was created
updatedAt
Date
required
When the membership was last updated

Example

const members = await trpc.vaults.members.list.query({
  vaultId: "a1b2c3d4-..."
});
// [
//   {
//     userId: "user123",
//     name: "Alice Johnson",
//     email: "[email protected]",
//     role: "owner",
//     isEnabled: true,
//     createdAt: new Date("2024-01-15T10:30:00Z"),
//     updatedAt: new Date("2024-01-15T10:30:00Z")
//   },
//   {
//     userId: "user456",
//     name: "Bob Smith",
//     email: "[email protected]",
//     role: "admin",
//     isEnabled: true,
//     createdAt: new Date("2024-02-20T14:15:00Z"),
//     updatedAt: new Date("2024-02-20T14:15:00Z")
//   }
// ]

vaults.members.updateRole

Change a member’s role in an enterprise vault.
Requires owner or admin role in the vault

Request

vaultId
string
required
UUID of the enterprise vault
userId
string
required
ID of the user whose role to update
role
enum
required
New role. One of: admin, member
const member = await trpc.vaults.members.updateRole.mutate({
  vaultId: "a1b2c3d4-...",
  userId: "user456",
  role: "admin"
});

Response

Returns the updated member object (same structure as vaults.members.list).

Example

// Promote a member to admin
const member = await trpc.vaults.members.updateRole.mutate({
  vaultId: "a1b2c3d4-...",
  userId: "user789",
  role: "admin"
});
// {
//   userId: "user789",
//   name: "Charlie Brown",
//   email: "[email protected]",
//   role: "admin",
//   isEnabled: true,
//   createdAt: new Date("2024-03-10T09:00:00Z"),
//   updatedAt: new Date("2024-03-15T11:30:00Z")
// }

Validation

  • Owner roles cannot be changed (throws BAD_REQUEST)
  • Membership must exist (throws NOT_FOUND)

vaults.members.remove

Remove a member from an enterprise vault.
Requires owner or admin role in the vault

Request

vaultId
string
required
UUID of the enterprise vault
userId
string
required
ID of the user to remove
const result = await trpc.vaults.members.remove.mutate({
  vaultId: "a1b2c3d4-...",
  userId: "user789"
});

Response

success
literal
required
Always true on success
vaultId
string
required
UUID of the vault
userId
string
required
ID of the removed user

Example

const result = await trpc.vaults.members.remove.mutate({
  vaultId: "a1b2c3d4-...",
  userId: "user789"
});
// { success: true, vaultId: "a1b2c3d4-...", userId: "user789" }

Validation

  • Owner cannot be removed (throws BAD_REQUEST)
  • Membership must exist (throws NOT_FOUND)

vaults.updateColor

Update the color of an enterprise vault.
Requires owner or admin role in the vault

Request

vaultId
string
required
UUID of the enterprise vault
color
string | null
required
New hex color code or null to clear
const result = await trpc.vaults.updateColor.mutate({
  vaultId: "a1b2c3d4-...",
  color: "#ef4444"
});

Response

success
literal
required
Always true on success
vaultId
string
required
UUID of the vault
color
string | null
required
Updated color value

Example

// Set a color
const result1 = await trpc.vaults.updateColor.mutate({
  vaultId: "a1b2c3d4-...",
  color: "#ef4444"
});
// { success: true, vaultId: "a1b2c3d4-...", color: "#ef4444" }

// Clear the color
const result2 = await trpc.vaults.updateColor.mutate({
  vaultId: "a1b2c3d4-...",
  color: null
});
// { success: true, vaultId: "a1b2c3d4-...", color: null }

Build docs developers (and LLMs) love