Skip to content

Role

A Role represents a safety organization role defined in an office. Examples: safety officer (RSPP), workers’ safety representative (RLS), fire warden, first aid officer, supervisor.

Belongs to an office. People are assigned to roles via EntityEmployee. A role can be subject to check actions on the compliance schedule (ActionSubscription with subscriber_type: ROLE).

Use this API to:

  • Define the safety organization roles for an office
  • Get the office_role_id needed to create compliance schedule entries or certificates
  • Browse the roles of an office (filter by office_id)

Supports historicization.

Version
2.0.0
OpenAPI version
3.0.0

Security scheme type: oauth2

Flow type: password

Token URL: https://auth.4hse.com/realms/4hse/protocol/openid-connect/token

Security scheme type: apiKey

Query parameter name: access-token

POST
/v2/role/index

Returns a paginated list of roles.

Most useful filters:

  • office_id: all roles in a specific office
  • name: search by role name

Parameters for searching roles

object
filter
object
office_role_id

Unique identifier. Used as subscriber_id (ROLE) or resource_id.

string format: uuid
office_id
string format: uuid
project_id
string format: uuid
code
string
name
string
description
string
office_name

Name of the office.

string
project_name

Name of the project.

string
project_type
string
Allowed values: safety template
owned_active

Whether this role is currently active.

boolean
nullable
parent_active

Whether the parent office is currently active.

boolean
nullable
per-page
integer
default: 100 >= 1
page
integer
default: 1 >= 1
sort
string
Allowed values: code name office_name project_name
history

If true, includes historicized entries.

boolean
Example
{
"filter": {
"office_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"per-page": 20,
"page": 1,
"sort": "name"
}

List of roles

Array<object>
object
office_role_id

Unique identifier. Used as subscriber_id (ROLE) or resource_id.

string format: uuid
office_id
string format: uuid
project_id
string format: uuid
code
string
name
string
description
string
office_name

Name of the office.

string
project_name

Name of the project.

string
project_type
string
Allowed values: safety template
owned_active

Whether this role is currently active.

boolean
nullable
parent_active

Whether the parent office is currently active.

boolean
nullable
X-Pagination-Current-Page
integer

Current page

X-Pagination-Page-Count
integer

Total number of pages

X-Pagination-Per-Page
integer

Number of items per page

X-Pagination-Total-Count
integer

Total number of items

POST
/v2/role/create

Creates a new safety role in an office.

Requires office_id, project_id, and name. The office_role_id is auto-generated if not provided.

Role to create

object
office_role_id

Unique identifier. Auto-generated if not provided. Used as subscriber_id (with subscriber_type: ROLE) in the compliance schedule and as resource_id in certificates.

string format: uuid
office_id
required

The office this role belongs to. Pass the office_id.

string format: uuid
code

Identifier code.

string
<= 45 characters
name
required

Name of the role.

string
<= 255 characters
description

Optional description.

string
nullable
project_id
required

The project (company). Pass the project_id.

string format: uuid

Role created successfully

object
office_role_id

Unique identifier. Auto-generated if not provided. Used as subscriber_id (with subscriber_type: ROLE) in the compliance schedule and as resource_id in certificates.

string format: uuid
office_id
required

The office this role belongs to. Pass the office_id.

string format: uuid
code

Identifier code.

string
<= 45 characters
name
required

Name of the role.

string
<= 255 characters
description

Optional description.

string
nullable
project_id
required

The project (company). Pass the project_id.

string format: uuid
GET
/v2/role/view/{id}

Retrieves a single role by its ID.

id
required
string format: uuid

The office_role_id to retrieve.

Role found

object
office_role_id

Unique identifier. Used as subscriber_id (ROLE) or resource_id.

string format: uuid
office_id
string format: uuid
project_id
string format: uuid
code
string
name
string
description
string
office_name

Name of the office.

string
project_name

Name of the project.

string
project_type
string
Allowed values: safety template
owned_active

Whether this role is currently active.

boolean
nullable
parent_active

Whether the parent office is currently active.

boolean
nullable

Role not found

PUT
/v2/role/update/{id}

Updates an existing role.

id
required
string format: uuid

The office_role_id to update.

Fields to update

object
office_role_id

Unique identifier. Auto-generated if not provided. Used as subscriber_id (with subscriber_type: ROLE) in the compliance schedule and as resource_id in certificates.

string format: uuid
office_id
required

The office this role belongs to. Pass the office_id.

string format: uuid
code

Identifier code.

string
<= 45 characters
name
required

Name of the role.

string
<= 255 characters
description

Optional description.

string
nullable
project_id
required

The project (company). Pass the project_id.

string format: uuid

Role updated successfully

object
office_role_id

Unique identifier. Auto-generated if not provided. Used as subscriber_id (with subscriber_type: ROLE) in the compliance schedule and as resource_id in certificates.

string format: uuid
office_id
required

The office this role belongs to. Pass the office_id.

string format: uuid
code

Identifier code.

string
<= 45 characters
name
required

Name of the role.

string
<= 255 characters
description

Optional description.

string
nullable
project_id
required

The project (company). Pass the project_id.

string format: uuid

Role not found

DELETE
/v2/role/delete/{id}

Deletes a role.

If force=false (default), the response lists child entities. If force=true, the role and all related entities are deleted.

id
required
string format: uuid

The office_role_id to delete.

force
boolean

If true, deletes the role and all child entities.

Role deleted successfully

Preview of entities that would be deleted (returned when force=false)