Rights & Roles Service


Rights & Roles Service


Get all the available roles
Resource: <team_slug>/roles 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/roles

Examplehttps://api-stage.bimplus.net/v2/best-company/roles

 GET

 Get all the available. Right now, we support only project based roles.

Here is the definition of Bimplus Rights & Roles.

 Account OwnerProject AdminProject EditorProject Viewer
Create projectx   
Admin projectxx  
Delete projectxx  
Edit projectxxx 
View projectxxxx
Create modelxx  
View all modelsxxxx

 

Model rights and roles are not supported yet, the project rights are used instead - meaning e.g. update model requires ProjectEdit rights

Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Status: 200 Ok
[
    {
        "id": "f11d32e2-30b7-4f81-8a74-2165ecc00cf6",
        "name": "Project_Editor",
        "customRole": false,
        "resources": [
            {
                "resource": "UserRightProject",
                "rights": [
                    "Project_Edit",
                    "Project_View",
                    "Model_ViewAll"
                ]
            }
        ]
    },
    {
        "id": "2baca0e4-2eee-4f7c-bc56-22ed54a1859c",
        "name": "Account_Owner",
        "customRole": false,
        "resources": [
            {
                "resource": "UserRightGlobal",
                "rights": [
                    "AllProjects",
                    "AllModels",
                    "Project_Create"
                ]
            }
        ]
    },
    {
        "id": "a298b28d-9711-4a76-9a7d-910cbf144ee5",
        "name": "Project_Admin",
        "customRole": false,
        "resources": [
            {
                "resource": "UserRightProject",
                "rights": [
                    "Project_Admin",
                    "Project_Edit",
                    "Project_Delete",
                    "Project_View",
                    "Model_ViewAll",
                    "Model_Create"
                ]
            }
        ]
    },
    {
        "id": "a618d075-7e4a-4bde-9d58-d2979696fa96",
        "name": "Project_Viewer",
        "customRole": false,
        "resources": [
            {
                "resource": "UserRightProject",
                "rights": [
                    "Project_View",
                    "Model_ViewAll"
                ]
            }
        ]
    }
]

Make a team member part of a project by assigning a role to him
Resource: projects/<project_id>/members 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/members 

Examplehttps://api-stage.bimplus.net/v2/bimplus/projects/b8615afc-99cc-4bcd-b0ca-ff0593ce15c6/members

JSON Structure

Name

Mandatory / Optional

Type

Description

member

mandatory

object

The member who will be assigned a role to the project

id

mandatory

string (guid)

Id of the user

role

mandatory

object

The project role which will be assigned to the team member

id

mandatory

string (guid)

Id of the role

 POST
 Assign a project role to an existing member of a team. Only the user with "Account Owner" or "Project Owner" role can use this API call.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
{
  "member": {
    "id": "bf5b2382-1d14-b8df-8454-947f83b45c25"
  },
  role: {
    id: "f11d32e2-30b7-4f81-8a74-2165ecc00cf6"
}
Status: 201 Created
{
  "member": {
    "id": "bf5b2382-1d14-b8df-8454-947f83b45c25",
    "email": "testuser@bimplus.net",
    "firstname" : "Test",
    "lastname" : "User",
    ...
  },
  "role": {
    "id": "f11d32e2-30b7-4f81-8a74-2165ecc00cf6",
    "name": "Project_Editor"
}

Get the project members along with their respective roles

Resource: projects/<project_id>/members 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/members 

Examplehttps://api-stage.bimplus.net/v2/bimplus/projects/b8615afc-99cc-4bcd-b0ca-ff0593ce15c6/members

 GET
 Get the member list of a project along with their respective project roles.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Status: 200 OK
[
  {
    "member": {
      "id": "bf5b2382-1d14-b8df-8454-947f83b45c25",
      "email": "testuser@bimplus.net",
      "firstname" : "Test",
      "lastname" : "User",
      ...
    },
    "role": {
      "id": "f11d32e2-30b7-4f81-8a74-2165ecc00cf6",
      "name": "Project_Editor"
    },
  {
    "member": {
      "id": "bf5b2382-1d14-b8df-8454-947f83b45c25",
      "email": "customer2@bimplus.net"
      "firstname" : "Some",
      "lastname" : "Customer",
      ...
    },
    "role": {
      "id": "e11d32e2-30b7-4f81-8a74-2165ecc00cf6",
      "name": "Project_Viewer"
    }
  }
]

Update the project role of a team member
Resource: projects/<project_id>/members 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/members 

Examplehttps://api-stage.bimplus.net/v2/bimplus/projects/b8615afc-99cc-4bcd-b0ca-ff0593ce15c6/members

JSON Structure

Name

Mandatory / Optional

Type

Description

member

mandatory

object

The member who will be assigned a role to the project

id

mandatory

string (guid)

Id of the user

role

mandatory

object

The project role which will be assigned to the team member

id

mandatory

string (guid)

Id of the role

 PUT
 Update the project role of a team member. Only the user with "Account Owner" or "Project Owner" role can use this API call.
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
{
  "member": {
    "id": "bf5b2382-1d14-b8df-8454-947f83b45c25"
  },
  "role": {
    "id": "f11d32e2-30b7-4f81-8a74-2165ecc00cf6"
}
Status: 200 OK
{
  "member": {
    "id": "bf5b2382-1d14-b8df-8454-947f83b45c25",
    "email": "customer@bimplus.net",
    "firstname" : "Some",
    "lastname" : "Customer",
    ...
  },
  "role": {
    "id": "f11d32e2-30b7-4f81-8a74-2165ecc00cf6",
    "name": "Project_Viewer"
}

Remove the user from the project   
Resource: projects/<project_id>/members 

URLhttps://api-stage.bimplus.net/v2/<team_slug>/projects/<project_id>/members 

Examplehttps://api-stage.bimplus.net/v2/bimplus/projects/b8615afc-99cc-4bcd-b0ca-ff0593ce15c6/members

 DELETE
 Remove the user from a project
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Status: 200 OK