User Management Service


User Management Service


This API handles invitation of new user to Bimplus.

There will be two modes of invitations:

  1. To a team
  2. To a team and one or multiple projects

Both will be handled with the same API.

Any team member can invite user to a team, but to invite to a project, he has to have project admin rights. 

The invitation will not create new user in Bimplus. The user will be created only after he accepts the invitation.

Create and Send invitation to new user


 Resource: <teamslug>/invitations 

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

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

JSON Structure:

Name

Mandatory / Optional

Type

Description

email

mandatory

string

Email of the new user

invitationTextoptionalstringMessage text for an invited user
projectsoptionalobjectList of objects which contains project id, role id, group id and role id of group where the new user is invited to.
Property in the request is optional. If not present, it means that the invitation is just to the team.

status

optional

will be ignored

The status of the account (Active / Disabled)

sender

optional

string

The sender must have a valid Bimplus account and must be member of the team

teamoptionalstringTeam for which the invitation is valid
teamRoleoptionalstringTeam role is optional. If missing default is team member role
statusoptionalstringInvitation status
validTooptionaldateDate the invitation is valid to
createdoptional

date

Creation date of the invitation

changedoptionaldateRecent modification date of the invitation
counteroptionalstringHome phone number of the user


JSON Structure of the projects object 

Name

Mandatory / Optional

Type

Description

projectId

mandatory

string (guid)

The id of the project where the new user is invited to.

roleId

mandatory

string (guid)

The role id for new user.

group

optional

Object

Object which contains pairs of group's id and group's role where the new user is invited to.



 POST


 Creates and sends a new invitation to the new user.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


{
	"email": "newuser@allplan.com",
	"invitationText": "Some text",
	"projects": [{
			"projectId": "e3921c6a-6329-441a-a715-e6c818e05043",
			"roleId": "2baca0e4-2eee-4f7c-bc56-22ed54a1859c",
			"group": {
				"id": "51edc181-b228-4f9e-aa3d-0a30f64695b4",
				"role": "da3c04d7-b593-4017-b6c3-4c9eed7699bb"
			}
		}
	]
}




Status: 201 Created


{
	"id": "55896fad-187e-47da-bdb6-b441607e3de3",
	"email": "newuser@allplan.com",
	"sender": {
		"id": "b664c6d9-d8ab-4257-88b0-d38588d979dc",
		"email": "testadmin@allplan.com",
		"firstname": "Test",
		"lastname": "Admin"
	},
	"team": {
		"id": "d7a504fe-b2ef-4847-bf79-d3733d93e478",
		"slug": "testteam",
		"name": "Test Team"
	},
	"teamRole": "d9946cc8-8bd0-4eae-aeb1-d27b310741d7",
	"invitationText": "Some text",
	"created": "2016-12-01T07:51:20.843",
	"changed": "2016-12-01T07:51:20.843",
	"validTo": "2016-12-08T07:51:20.843",
	"projects": [{
			"projectId": "e3921c6a-6329-441a-a715-e6c818e05043",
			"roleId": "2baca0e4-2eee-4f7c-bc56-22ed54a1859c",
			"group": {
				"id": "51edc181-b228-4f9e-aa3d-0a30f64695b4",
				"role": "da3c04d7-b593-4017-b6c3-4c9eed7699bb"
			}
		}
	]
}



Get information about the invitation


Resource: <teamslug>/invitations/<invitation_id> 

URLhttps://api-stage.bimplus.net/v2/<teamslug>/invitations/<invitation_id> 

Examplehttps://api-stage.bimplus.net/v2/bimplus/invitations/55896fad-187e-47da-bdb6-b441607e3de3


 GET


 Get information about a specified invitation.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK


 {
 	"id": "55896fad-187e-47da-bdb6-b441607e3de3",
 	"email": "newuser@allplan.com",
 	"sender": {
 		"id": "b664c6d9-d8ab-4257-88b0-d38588d979dc",
 		"email": "testadmin@allplan.com",
 		"firstname": "Test",
 		"lastname": "Admin"
 	},
 	"team": {
 		"id": "d7a504fe-b2ef-4847-bf79-d3733d93e478",
 		"slug": "testteam",
 		"name": "Test Team"
 	},
 	"invitationText": "Some text",
 	"created": "2016-12-01T07:51:20.843",
 	"changed": "2016-12-01T07:51:20.843",
 	"validTo": "2016-12-08T07:51:20.843",
 	"projects": [{
 			"projectId": "e3921c6a-6329-441a-a715-e6c818e05043",
 			"roleId": "2baca0e4-2eee-4f7c-bc56-22ed54a1859c",
 			"group": {
 				"id": "51edc181-b228-4f9e-aa3d-0a30f64695b4",
 				"role": "da3c04d7-b593-4017-b6c3-4c9eed7699bb"
 			}
 		}
 	]
 }



Update and Resend invitation to the new user


 Resource: <teamslug>/invitations/<invitation_id>

URLhttps://api-stage.bimplus.net/v2/ <teamslug>/invitations/<invitation_id>

Examplehttps://api-stage.bimplus.net/v2/bimplus/invitations/55896fad-187e-47da-bdb6-b441607e3de3

JSON Structure:

Name

Mandatory / Optional

Type

Description

email

mandatory

string

Email of the new user

invitationTextmandatorystringMessage text for an invited user
projectsoptionalobjectList of objects which contains of project id role id, group id, role id of group where the new user is invited to.
Property in the request is optional. If not present, it means that the invitation is just to the team.

status

optional

will be ignored

The status of the account (Active / Disabled)

sender

optional

string

The sender must have a valid Bimplus account and must be member of the team

teamoptionalstringTeam for which the invitation is valid
teamRoleoptionalstringTeam role is optional. If missing default is team member role
statusoptionalstringInvitation status
validTooptionaldateDate the invitation is valid to
createdoptional

date

Creation date of the invitation

changedoptionaldateRecent modification date of the invitation
counteroptionalstringHome phone number of the user



JSON Structure of the projects object 

Name

Mandatory / Optional

Type

Description

projectId

mandatory

string (guid)

The id of the project where the new user is invited to.

roleId

mandatory

string (guid)

The role id for new user.

group

optional

Object

Object which contains pairs of group's id and group's role where the new user is invited to.


 PUT


 Update invitation information to the new user. Only the Sender is able to Update and Resend the invitation to the new user.
The invitation might change the invitation text and projects.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


{
	"invitationText": "Some text",
	"projects": [{
			"projectId": "e3921c6a-6329-441a-a715-e6c818e05043",
			"roleId": "2baca0e4-2eee-4f7c-bc56-22ed54a1859c",
			"group": {
				"id": "51edc181-b228-4f9e-aa3d-0a30f64695b4",
				"role": "da3c04d7-b593-4017-b6c3-4c9eed7699bb"
			}
		}
	]
}




Status: 200 OK


 {
  "id":"55896fad-187e-47da-bdb6-b441607e3de3",
  "email":"newuser@allplan.com",
  "sender":{
    "id":"b664c6d9-d8ab-4257-88b0-d38588d979dc",
    "email":"testadmin@allplan.com",
    "firstname":"Test",
    "lastname":"Admin"
  },
  "team":{
    "id":"d7a504fe-b2ef-4847-bf79-d3733d93e478",
    "slug":"testteam",
    "name":"Test Team"
  },
  "invitationText":"Some text",
  "created":"2016-12-01T07:51:20.843",
  "changed":"2016-12-01T07:51:20.843",
  "validTo":"2016-12-08T07:51:20.843",
  "projects":[{
      "projectId":"e3921c6a-6329-441a-a715-e6c818e05043",
      "roleId":"2baca0e4-2eee-4f7c-bc56-22ed54a1859c",
	  "group": {
			"id": "51edc181-b228-4f9e-aa3d-0a30f64695b4",
			"role": "da3c04d7-b593-4017-b6c3-4c9eed7699bb"
		}
    }
  ]
}



Cancel invitation


Resource: <teamslug>/invitations/<invitation_id>

URLhttps://api-stage.bimplus.net/v2/users/<teamslug>/invitations/<invitation_id>

Examplehttps://api-stage.bimplus.net/v2/bimplus/invitations/55896fad-187e-47da-bdb6-b441607e3de3


 DELETE


 Delete a specified invitation for new user. Please remember that only the Sender is able to delete the invitation 



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK



Accept invitation


Resource: <teamslug>/invitations/<invitation_id>/accept

URLhttps://api-stage.bimplus.net/v2/users/<teamslug>/invitations/<invitation_id>/accept

Examplehttps://api-stage.bimplus.net/v2/bimplus/invitations/55896fad-187e-47da-bdb6-b441607e3de3/accept


 PUT


 Since this api call will create new user in Bimplus, the request and response json shall be identical with “create user” api call.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json


{
 "email" : "newuser@allplan.com",
 "password" : "test"
}




Status: 201 Created


{
    "teams": [],
    "id": "b8615afc-99cc-4bcd-b0ca-ff0593ce15c6",
    "email": "newuser@allplan.com",
    "status": "Active",
    "firstname": "",
    "lastname": "",
    "company": "",
    "displayname": "",
    "info": "",
    "gender": "",
    "phoneWork": "",
    "phoneHome": "",
    "fax": "",
    "mobile": "",
    "birthDate": "",
    "address": {
        "street": "",
        "streetNr": "",
        "zip": "",
        "city": "",
        "country": ""
    },
    "preferedLanguage": ""
}



Get all pending invitations


Resource: <teamslug>/invitations

URLhttps://api-stage.bimplus.net/v2/<teamslug>/invitations

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


 GET


 Get information about all pending invitations. Response returns list of all ( pending ) invitations.



Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088
Content-Type: application/json




Status: 200 OK


[{
		"id": "55896fad-187e-47da-bdb6-b441607e3de3",
		"email": "newuser@allplan.com",
		"sender": {
			"id": "b664c6d9-d8ab-4257-88b0-d38588d979dc",
			"email": "testadmin@allplan.com",
			"firstname": "Test",
			"lastname": "Admin"
		},
		"team": {
			"id": "d7a504fe-b2ef-4847-bf79-d3733d93e478",
			"slug": "testteam",
			"name": "Test Team"
		},
		"invitationText": "Some text",
		"created": "2016-12-01T07:51:20.843",
		"changed": "2016-12-01T07:51:20.843",
		"validTo": "2016-12-08T07:51:20.843",
		"projects": [{
				"projectId": "e3921c6a-6329-441a-a715-e6c818e05043",
				"roleId": "2baca0e4-2eee-4f7c-bc56-22ed54a1859c",
				"group": {
					"id": "51edc181-b228-4f9e-aa3d-0a30f64695b4",
					"role": "da3c04d7-b593-4017-b6c3-4c9eed7699bb"
				}
			}
		]
	}
]