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

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

# Interface: RolesBackend

Defined in: [packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts:48](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts#L48)

Common shape of every dual-backend implementation. Each canonical backend
(e.g., `JobsBackend`) extends this so a generic fallback wrapper can read
`name` to know which backend served the last call.

## Extends

- [`BackendBase`](../../../clients/interfaces/BackendBase.md)

## Properties

### name

> `readonly` **name**: `"ocapi"` \| `"scapi"`

Defined in: [packages/b2c-tooling-sdk/src/clients/scapi-backend-utils.ts:36](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/clients/scapi-backend-utils.ts#L36)

#### Inherited from

[`BackendBase`](../../../clients/interfaces/BackendBase.md).[`name`](../../../clients/interfaces/BackendBase.md#name)

## Methods

### createRole()

> **createRole**(`roleId`, `input?`): `Promise`\<[`RoleInfo`](RoleInfo.md)\>

Defined in: [packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts:51](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts#L51)

#### Parameters

##### roleId

`string`

##### input?

[`CreateRoleInput`](CreateRoleInput.md)

#### Returns

`Promise`\<[`RoleInfo`](RoleInfo.md)\>

***

### deleteRole()

> **deleteRole**(`roleId`): `Promise`\<`void`\>

Defined in: [packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts:52](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts#L52)

#### Parameters

##### roleId

`string`

#### Returns

`Promise`\<`void`\>

***

### getPermissions()

> **getPermissions**(`roleId`): `Promise`\<\{ \}\>

Defined in: [packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts:53](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts#L53)

#### Parameters

##### roleId

`string`

#### Returns

`Promise`\<\{ \}\>

***

### getRole()

> **getRole**(`roleId`, `options?`): `Promise`\<[`RoleInfo`](RoleInfo.md)\>

Defined in: [packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts:50](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts#L50)

#### Parameters

##### roleId

`string`

##### options?

###### expand?

(`"users"` \| `"permissions"`)[]

#### Returns

`Promise`\<[`RoleInfo`](RoleInfo.md)\>

***

### grantRole()

> **grantRole**(`roleId`, `login`): `Promise`\<`void`\>

Defined in: [packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts:56](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts#L56)

Assigns a user to a role. Returns void; OCAPI returns the user but we don't surface that.

#### Parameters

##### roleId

`string`

##### login

`string`

#### Returns

`Promise`\<`void`\>

***

### listRoles()

> **listRoles**(`options?`): `Promise`\<[`ListRolesResult`](ListRolesResult.md)\>

Defined in: [packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts:49](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts#L49)

#### Parameters

##### options?

[`ListRolesOptions`](ListRolesOptions.md)

#### Returns

`Promise`\<[`ListRolesResult`](ListRolesResult.md)\>

***

### revokeRole()

> **revokeRole**(`roleId`, `login`): `Promise`\<`void`\>

Defined in: [packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts:57](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts#L57)

#### Parameters

##### roleId

`string`

##### login

`string`

#### Returns

`Promise`\<`void`\>

***

### setPermissions()

> **setPermissions**(`roleId`, `permissions`): `Promise`\<\{ \}\>

Defined in: [packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts:54](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/operations/bm-roles/types.ts#L54)

#### Parameters

##### roleId

`string`

##### permissions

#### Returns

`Promise`\<\{ \}\>
