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

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

# Class: OcapiRolesBackend

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

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.

## Implements

- [`RolesBackend`](../interfaces/RolesBackend.md)

## Constructors

### Constructor

> **new OcapiRolesBackend**(`instance`): `OcapiRolesBackend`

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

#### Parameters

##### instance

[`B2CInstance`](../../../instance/classes/B2CInstance.md)

#### Returns

`OcapiRolesBackend`

## Properties

### name

> `readonly` **name**: `"ocapi"`

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

#### Implementation of

[`RolesBackend`](../interfaces/RolesBackend.md).[`name`](../interfaces/RolesBackend.md#name)

## Methods

### createRole()

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

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

#### Parameters

##### roleId

`string`

##### input?

[`CreateRoleInput`](../interfaces/CreateRoleInput.md)

#### Returns

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

#### Implementation of

[`RolesBackend`](../interfaces/RolesBackend.md).[`createRole`](../interfaces/RolesBackend.md#createrole)

***

### deleteRole()

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

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

#### Parameters

##### roleId

`string`

#### Returns

`Promise`\<`void`\>

#### Implementation of

[`RolesBackend`](../interfaces/RolesBackend.md).[`deleteRole`](../interfaces/RolesBackend.md#deleterole)

***

### getPermissions()

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

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

#### Parameters

##### roleId

`string`

#### Returns

`Promise`\<\{ \}\>

#### Implementation of

[`RolesBackend`](../interfaces/RolesBackend.md).[`getPermissions`](../interfaces/RolesBackend.md#getpermissions)

***

### getRole()

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

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

#### Parameters

##### roleId

`string`

##### options?

###### expand?

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

#### Returns

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

#### Implementation of

[`RolesBackend`](../interfaces/RolesBackend.md).[`getRole`](../interfaces/RolesBackend.md#getrole)

***

### grantRole()

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

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

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`\>

#### Implementation of

[`RolesBackend`](../interfaces/RolesBackend.md).[`grantRole`](../interfaces/RolesBackend.md#grantrole)

***

### listRoles()

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

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

#### Parameters

##### options

[`ListRolesOptions`](../interfaces/ListRolesOptions.md) = `{}`

#### Returns

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

#### Implementation of

[`RolesBackend`](../interfaces/RolesBackend.md).[`listRoles`](../interfaces/RolesBackend.md#listroles)

***

### revokeRole()

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

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

#### Parameters

##### roleId

`string`

##### login

`string`

#### Returns

`Promise`\<`void`\>

#### Implementation of

[`RolesBackend`](../interfaces/RolesBackend.md).[`revokeRole`](../interfaces/RolesBackend.md#revokerole)

***

### setPermissions()

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

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

#### Parameters

##### roleId

`string`

##### permissions

#### Returns

`Promise`\<\{ \}\>

#### Implementation of

[`RolesBackend`](../interfaces/RolesBackend.md).[`setPermissions`](../interfaces/RolesBackend.md#setpermissions)
