---
editLink: false
lastUpdated: false
---

[@salesforce/b2c-tooling-sdk](../../modules.md) / operations/bm-users

# operations/bm-users

Business Manager user operations for B2C Commerce instances.

Provides functions for querying and managing instance-level users via OCAPI Data API.
These are distinct from Account Manager users managed via @salesforce/b2c-tooling-sdk/operations/users \| operations/users.

On instances using SSO with Account Manager (the default for production), creating local
BM users via the Data API is rejected with `LocalUserCreationException`. These operations
focus on read/search/lifecycle of AM-managed users plus access-key administration.

## Core User Functions

- [listBmUsers](functions/listBmUsers.md) - List all users on an instance
- [getBmUser](functions/getBmUser.md) - Get a user by login
- [whoamiBmUser](functions/whoamiBmUser.md) - Get the currently authenticated user
- [searchBmUsers](functions/searchBmUsers.md) - Search users with filter expressions
- [updateBmUser](functions/updateBmUser.md) - Update user attributes (locale, external_id, disabled)
- [deleteBmUser](functions/deleteBmUser.md) - Delete a user from the instance

## Access Keys (externally-managed users)

- [getBmUserAccessKey](functions/getBmUserAccessKey.md) - Read access key details
- [createBmUserAccessKey](functions/createBmUserAccessKey.md) - Create / rotate an access key
- [setBmUserAccessKeyEnabled](functions/setBmUserAccessKeyEnabled.md) - Enable / disable an access key
- [deleteBmUserAccessKey](functions/deleteBmUserAccessKey.md) - Delete an access key

## Usage

```typescript
import {listBmUsers, searchBmUsers, createBmUserAccessKey} from '@salesforce/b2c-tooling-sdk/operations/bm-users';
import {resolveConfig} from '@salesforce/b2c-tooling-sdk/config';

const config = resolveConfig();
const instance = config.createB2CInstance();

// List all users
const users = await listBmUsers(instance);

// Search for locked users
const locked = await searchBmUsers(instance, {locked: true});

// Provision a WebDAV access key for a user
const key = await createBmUserAccessKey(instance, 'user@example.com', 'WEBDAV');
console.log(key.access_key); // Only returned at creation time
```

## Interfaces

- [ListBmUsersOptions](interfaces/ListBmUsersOptions.md)
- [SearchBmUsersOptions](interfaces/SearchBmUsersOptions.md)
- [UpdateBmUserChanges](interfaces/UpdateBmUserChanges.md)

## Type Aliases

- [AccessKeyScope](type-aliases/AccessKeyScope.md)
- [BmAccessKeyDetails](type-aliases/BmAccessKeyDetails.md)
- [BmUser](type-aliases/BmUser.md)
- [BmUsers](type-aliases/BmUsers.md)
- [BmUserSearchResult](type-aliases/BmUserSearchResult.md)

## Variables

- [ACCESS\_KEY\_SCOPES](variables/ACCESS_KEY_SCOPES.md)

## Functions

- [createBmUserAccessKey](functions/createBmUserAccessKey.md)
- [deleteBmUser](functions/deleteBmUser.md)
- [deleteBmUserAccessKey](functions/deleteBmUserAccessKey.md)
- [getBmUser](functions/getBmUser.md)
- [getBmUserAccessKey](functions/getBmUserAccessKey.md)
- [listBmUsers](functions/listBmUsers.md)
- [searchBmUsers](functions/searchBmUsers.md)
- [setBmUserAccessKeyEnabled](functions/setBmUserAccessKeyEnabled.md)
- [updateBmUser](functions/updateBmUser.md)
- [whoamiBmUser](functions/whoamiBmUser.md)
