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

invitationTextmandatorystringMessage text for an invited user
projectsoptionalobjectList of objects which contains pairs of project id with role id 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
 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"
    }
  ]
}
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"
  },
  "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"
    }
  ]
}

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"
    }
  ]
}

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 pairs of project id with role id 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
 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"
    }
  ]
}
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"
    }
  ]
}
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": "test@bimplus.net",
    "status": "Active",
    "firstname": "",
    "lastname": "",
    "company": "",
    "displayname": "",
    "info": "",
    "gender": "",
    "phoneWork": "",
    "phoneHome": "",
    "fax": "",
    "mobile": "",
    "birthDate": "",
    "address": {
        "street": "",
        "streetNr": "",
        "zip": "",
        "city": "",
        "country": ""
    },
    "preferedLanguage": ""
}