Skip to content

Workspace Members

Manage the team members of a workspace. All endpoints require workspace membership; mutations additionally require a role permission.

Member Roles

RoleDescription
adminFull access including member management and workspace settings
memberCan manage projects, templates, passes, campaigns, and segments

List Members

GET /wallethero-api/workspace/:workspaceId/members

Lists all members of a workspace with their resolved roles.

Auth: Bearer token — workspace member.

Path Parameters

ParameterTypeDescription
workspaceIdstring (UUID)Workspace identifier

Response (200)

json
{
  "members": [
    {
      "id": "22222222-2222-2222-2222-222222222222",
      "email": "[email protected]",
      "first_name": "John",
      "last_name": "Admin",
      "role": "admin",
      "status": "active",
      "joined_at": "2024-01-15T10:30:00Z",
      "last_active": "2024-02-01T08:12:00Z"
    }
  ]
}

Response Fields

FieldTypeDescription
idstring (UUID)User identifier
emailstringUser's email address
first_namestringUser's first name
last_namestringUser's last name
rolestringOne of admin, member
statusstringOne of active, suspended
joined_atstring (ISO 8601)When the user joined
last_activestring (ISO 8601) | nullLast activity timestamp

SDK

typescript
const { members } = await wh.workspaces.getMembers("WORKSPACE_ID");

Add Member

POST /wallethero-api/workspace/:workspaceId/members

Adds an existing user (by user_id) to the workspace. Idempotent — re-adding an existing member is a no-op and does not downgrade their role. For inviting people by email, use Invite User instead.

Auth: Bearer token — requires the manage_members permission.

Path Parameters

ParameterTypeDescription
workspaceIdstring (UUID)Workspace identifier

Request Body

FieldTypeRequiredDefaultDescription
user_idstring (UUID)YesUser to add
rolestringNomemberOne of admin, member

Example Request

bash
curl -X POST "https://api.wallethero.app/wallethero-api/workspace/WORKSPACE_ID/members" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "user_id": "44444444-4444-4444-4444-444444444444", "role": "member" }'

Response (201 new, 200 already a member)

json
{
  "message": "User added to workspace",
  "member": { "user_id": "44444444-4444-4444-4444-444444444444", "role": "member" },
  "already_member": false
}

If the user is already a member, the status is 200 and already_member is true.

SDK

typescript
const result = await wh.workspaces.addMember(
  "WORKSPACE_ID",
  "44444444-4444-4444-4444-444444444444",
  { role: "member" },
);

Remove Member

DELETE /wallethero-api/workspace/:workspaceId/members/:userId

Removes a user from the workspace. You cannot remove yourself.

Auth: Bearer token — requires the remove_members permission.

Path Parameters

ParameterTypeDescription
workspaceIdstring (UUID)Workspace identifier
userIdstring (UUID)User to remove

Example Request

bash
curl -X DELETE "https://api.wallethero.app/wallethero-api/workspace/WORKSPACE_ID/members/USER_ID" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response (200)

json
{ "message": "User removed from workspace successfully" }

SDK

typescript
await wh.workspaces.removeMember("WORKSPACE_ID", "USER_ID");

Change Member Role

PATCH /wallethero-api/workspace/:workspaceId/members/:userId/role

Changes a member's role. You cannot change your own role.

Auth: Bearer token — requires the manage_members permission.

Path Parameters

ParameterTypeDescription
workspaceIdstring (UUID)Workspace identifier
userIdstring (UUID)User whose role is changing

Request Body

FieldTypeRequiredDescription
rolestringYesOne of admin, member

Example Request

bash
curl -X PATCH "https://api.wallethero.app/wallethero-api/workspace/WORKSPACE_ID/members/USER_ID/role" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "role": "admin" }'

Response (200)

json
{ "message": "Member role updated successfully", "role": "admin" }

SDK

No SDK method — call the REST endpoint directly.


Get Member Role

GET /wallethero-api/workspace/:workspaceId/members/:userId/role

Returns a single member's role information.

Auth: Bearer token — workspace member.

Path Parameters

ParameterTypeDescription
workspaceIdstring (UUID)Workspace identifier
userIdstring (UUID)User to look up

Response (200)

json
{
  "role": "admin",
  "role_id": "55555555-5555-5555-5555-555555555555",
  "is_creator": true
}

Response Fields

FieldTypeDescription
rolestringOne of admin, member
role_idstring (UUID) | nullInternal role identifier
is_creatorbooleanWhether this user created the workspace

SDK

No SDK method — call the REST endpoint directly.

WalletHero Documentation