Skip to content

Role

Roles and permission assignments.

Endpoints

EndpointArgumentsReturns
v3.network.role.createworkspaceRoles: { [workspaceId: string]: Array<{ name: string, description?: string, permits: string[] }> }object
v3.network.role.listworkspaceRoles: { [workspaceId: string]: string[] }object
v3.network.role.removeworkspaceRoles: { [workspaceId: string]: string[] }boolean
v3.network.role.updateworkspaceRoles: { [workspaceId: string]: { [roleId: string]: { name?: string, description?: string, permits?: string[] } } }boolean

v3.network.role.create

Description

Create multiple roles in multiple workspaces at once

Parameters

Argument 1 (Record<WorkspaceId, object[]>, optional):

Example

javascript
const { Client } = require('@hailer/cli');

const client = await Client.create({
  host: 'https://api.hailer.com',
  username: 'you@example.com',
  password: '••••••',
});

const result = await client.request('v3.network.role.create', [
  {
    '507f1f77bcf86cd799439012': [{
      name: 'string', // Role name
    }], // fieldId: value
  },
]);
console.log(result);

Returns

Record<WorkspaceId, Record<roleId, object>>

Auth: requires an authenticated session.

Errors: on failure returns the standard Hailer error object { code, msg, details?, debug? }.

v3.network.role.list

Description

List roles from multiple workspaces

Parameters

Argument 1 (Record<WorkspaceId, roleId[]>, optional):

Example

javascript
const { Client } = require('@hailer/cli');

const client = await Client.create({
  host: 'https://api.hailer.com',
  username: 'you@example.com',
  password: '••••••',
});

const result = await client.request('v3.network.role.list', [
  {
    '507f1f77bcf86cd799439012': ['507f1f77bcf86cd799439011'], // fieldId: value
  },
]);
console.log(result);

Returns

Record<WorkspaceId, Record<roleId, object>>

Auth: requires an authenticated session.

Errors: on failure returns the standard Hailer error object { code, msg, details?, debug? }.

v3.network.role.remove

Description

Remove multiple roles in multiple workspaces at once

Parameters

Argument 1 (Record<WorkspaceId, roleId[]>, optional):

Example

javascript
const { Client } = require('@hailer/cli');

const client = await Client.create({
  host: 'https://api.hailer.com',
  username: 'you@example.com',
  password: '••••••',
});

const result = await client.request('v3.network.role.remove', [
  {
    '507f1f77bcf86cd799439012': ['507f1f77bcf86cd799439011'], // fieldId: value
  },
]);
console.log(result);

Returns

boolean

Auth: requires an authenticated session.

Errors: on failure returns the standard Hailer error object { code, msg, details?, debug? }.

v3.network.role.update

Description

Edit multiple roles in multiple workspaces at once

Parameters

Argument 1 (Record<WorkspaceId, Record<roleId, object>>, optional):

Example

javascript
const { Client } = require('@hailer/cli');

const client = await Client.create({
  host: 'https://api.hailer.com',
  username: 'you@example.com',
  password: '••••••',
});

const result = await client.request('v3.network.role.update', [
  {
    '507f1f77bcf86cd799439012': {
      '507f1f77bcf86cd799439012': { /* ... */ }, // fieldId: value
    }, // fieldId: value
  },
]);
console.log(result);

Returns

boolean

Auth: requires an authenticated session.

Errors: on failure returns the standard Hailer error object { code, msg, details?, debug? }.

Hailer Developer Documentation