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

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

# operations/bm-roles

Business Manager role operations for B2C Commerce instances.

This module provides functions for managing instance-level access roles
on B2C Commerce instances via the OCAPI Data API. These are distinct from
Account Manager roles managed via @salesforce/b2c-tooling-sdk/operations/roles \| operations/roles.

## Core Role Functions

- [listBmRoles](functions/listBmRoles.md) - List all access roles on an instance
- [getBmRole](functions/getBmRole.md) - Get role details with optional expansion
- [createBmRole](functions/createBmRole.md) - Create a new access role
- [deleteBmRole](functions/deleteBmRole.md) - Delete an access role

## User Assignment

- [grantBmRole](functions/grantBmRole.md) - Assign a user to a role
- [revokeBmRole](functions/revokeBmRole.md) - Unassign a user from a role

## Permissions

- [getBmRolePermissions](functions/getBmRolePermissions.md) - Get permissions for a role
- [setBmRolePermissions](functions/setBmRolePermissions.md) - Replace all permissions for a role

## Usage

```typescript
import {listBmRoles, grantBmRole, getBmRolePermissions} from '@salesforce/b2c-tooling-sdk/operations/bm-roles';
import {resolveConfig} from '@salesforce/b2c-tooling-sdk/config';

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

// List all roles
const roles = await listBmRoles(instance);

// Grant a role to a user
await grantBmRole(instance, 'Administrator', 'user@example.com');

// Get permissions for a role
const permissions = await getBmRolePermissions(instance, 'Administrator');
```

## Authentication

BM role operations require OAuth authentication with appropriate OCAPI permissions
for the `/roles` resource.

## Classes

- [OcapiRolesBackend](classes/OcapiRolesBackend.md)
- [ScapiRolesBackend](classes/ScapiRolesBackend.md)

## Interfaces

- [CreateRoleInput](interfaces/CreateRoleInput.md)
- [GetBmRoleOptions](interfaces/GetBmRoleOptions.md)
- [ListBmRolesOptions](interfaces/ListBmRolesOptions.md)
- [ListRolesOptions](interfaces/ListRolesOptions.md)
- [ListRolesResult](interfaces/ListRolesResult.md)
- [RoleInfo](interfaces/RoleInfo.md)
- [RolesBackend](interfaces/RolesBackend.md)
- [ScapiRolesBackendConfig](interfaces/ScapiRolesBackendConfig.md)

## Type Aliases

- [BmRole](type-aliases/BmRole.md)
- [BmRolePermissions](type-aliases/BmRolePermissions.md)
- [BmRoles](type-aliases/BmRoles.md)
- [RolePermissionsInfo](type-aliases/RolePermissionsInfo.md)
- [RolesBackendConfig](type-aliases/RolesBackendConfig.md)

## Functions

- [createBmRole](functions/createBmRole.md)
- [createRolesBackend](functions/createRolesBackend.md)
- [deleteBmRole](functions/deleteBmRole.md)
- [getBmRole](functions/getBmRole.md)
- [getBmRolePermissions](functions/getBmRolePermissions.md)
- [grantBmRole](functions/grantBmRole.md)
- [listBmRoles](functions/listBmRoles.md)
- [revokeBmRole](functions/revokeBmRole.md)
- [setBmRolePermissions](functions/setBmRolePermissions.md)
