Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Rights & Roles Service

...

Rights & Roles Service

...

Anchor
getAllRoles
getAllRoles

...

Deck of Cards
idbimGetAllRoles
Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: <team_slug>/roles 

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

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

Card
labelHTTP Method
 GET
 
Card
labelDescription

 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

Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 200 Ok
Code Block
borderColorRed
langxml
titleJSON
[
    {
        "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"
                ]
            }
        ]
    }
]


Anchor
createNewRole
createNewRole

Create a new role
Deck of Cards
idbimCreateNewRole
Card
defaulttrue
labelURL / Resource / JSON Structure
Resource: <team_slug>/roles 

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

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


JSON Structure

Name

Mandatory / Optional

Type

Description

id

optional

string (guid)

Id of the role

name

mandatory

string

The name of the role

parent

optional

string (guid)

The Id of the parent role

customRole

mandatory

boolean

When this flag is true the role is custom role otherwise will role is 'built in' role

resources

mandatory

JSON Array

Array of the resource definition objects for which the role is valid


JSON Structure of the resource definition object

Name

Mandatory / Optional

Type

Description

resource

mandatory

string

Describe kind of right e.g. "UserRightGlobal" or "UserRightLayer"

rights

mandatory

JSON Array

Array of the strings of rights e.g.: "FreeAttributeView", "MEP: 2", "MEPEdit"

Card
labelHTTP Method
 POST
Card
labelDescription
 Creates a new role with defined properties and resources to be valid for.
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Code Block
borderColorRed
langxml
titleJSON
{
    "parent": "213becc0-ad48-4cd0-aef2-b922b21bbfd7",
    "name": "TestRole",
    "customRole": true,
    "resources": [
        {
            "resource": "UserRightGlobal",
            "rights": [
                "FreeAttributeView",
                "FreeAttributeGroupView",
                "AttributeTemplateView",
                "ProjectAttributeTemplateView"
            ]
        },
        {
            "resource": "UserRightLayer",
            "rights": [
                "MEP: 2"
            ]
        }
    ]
}
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 201 Created
Code Block
borderColorRed
langxml
titleJSON
{
    "id": "118898b6-0b86-4876-bb05-bf5294e392d6",
    "parent": "213becc0-ad48-4cd0-aef2-b922b21bbfd7",
    "name": "TestRole",
    "customRole": true,
    "resources": [
        {
            "resource": "UserRightGlobal",
            "rights": [
                "FreeAttributeView",
                "FreeAttributeGroupView",
                "AttributeTemplateView",
                "ProjectAttributeTemplateView"
            ]
        },
        {
            "resource": "UserRightLayer",
            "rights": [
                "MEPEdit"
            ]
        }
    ]
}


Anchor
assignProjectRole
assignProjectRole

...

Deck of Cards
idbimassignProjectRole
Card
defaulttrue
labelURL / Resource / JSON Structure
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

Card
labelHTTP Method
 POST
Card
labelDescription
 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.
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Code Block
borderColorRed
langxml
titleJSON
{
  "member": {
    "id": "bf5b2382-1d14-b8df-8454-947f83b45c25"
  },
  role: {
    id: "f11d32e2-30b7-4f81-8a74-2165ecc00cf6"
}
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 201 Created
Code Block
borderColorRed
langxml
titleJSON
{
  "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"
}

...

Deck of Cards
idbimUpdateProject
Card
defaulttrue
labelURL / Resource / JSON Structure
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

Card
labelHTTP Method
 PUT
Card
labelDescription
 Update the project role of a team member. Only the user with "Account Owner" or "Project Owner" role can use this API call.
Card
labelRequest
Code Block
borderColorGreen
langxml
titleHeaders
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json
Code Block
borderColorRed
langxml
titleJSON
{
  "member": {
    "id": "bf5b2382-1d14-b8df-8454-947f83b45c25"
  },
  "role": {
    "id": "f11d32e2-30b7-4f81-8a74-2165ecc00cf6"
}
Card
labelResponse
Code Block
borderColorGreen
langxml
titleStatus
Status: 200 OK
Code Block
titleJSON
{
  "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"
}

...