User Management Service
- Create and Send invitation to new user
- Get information about the invitation
- Update and Resend invitation to the new use
- Cancel invitation
- Accept invitation
- Get all pending invitations
User Management Service
This API handles invitation of new user to Bimplus.
There will be two modes of invitations:
- To a team
- 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
URL: https://api-stage.bimplus.net/v2/<team_slug>/invitations
Example: https://api-stage.bimplus.net/v2/bimplus/invitations
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
mandatory |
string |
Email of the new user |
|
invitationText | optional | string | Message text for an invited user |
projects | optional | object | List 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 |
team | optional | string | Team for which the invitation is valid |
teamRole | optional | string | Team role is optional. If missing default is team member role |
status | optional | string | Invitation status |
validTo | optional | date | Date the invitation is valid to |
created | optional | date |
Creation date of the invitation |
changed | optional | date | Recent modification date of the invitation |
counter | optional | string | Home 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. |
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
URL: https://api-stage.bimplus.net/v2/<teamslug>/invitations/<invitation_id>
Example: https://api-stage.bimplus.net/v2/bimplus/invitations/55896fad-187e-47da-bdb6-b441607e3de3
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
URL: https://api-stage.bimplus.net/v2/ <teamslug>/invitations/<invitation_id>
Example: https://api-stage.bimplus.net/v2/bimplus/invitations/55896fad-187e-47da-bdb6-b441607e3de3
JSON Structure:
Name |
Mandatory / Optional |
Type |
Description |
---|---|---|---|
mandatory |
string |
Email of the new user |
|
invitationText | mandatory | string | Message text for an invited user |
projects | optional | object | List 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 |
team | optional | string | Team for which the invitation is valid |
teamRole | optional | string | Team role is optional. If missing default is team member role |
status | optional | string | Invitation status |
validTo | optional | date | Date the invitation is valid to |
created | optional | date |
Creation date of the invitation |
changed | optional | date | Recent modification date of the invitation |
counter | optional | string | Home 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. |
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
URL: https://api-stage.bimplus.net/v2/users/<teamslug>/invitations/<invitation_id>
Example: https://api-stage.bimplus.net/v2/bimplus/invitations/55896fad-187e-47da-bdb6-b441607e3de3
Authorization: BimPlus 9c1874a62c974dcfa75e0132c423a088 Content-Type: application/json
Status: 200 OK
Accept invitation
URL: https://api-stage.bimplus.net/v2/users/<teamslug>/invitations/<invitation_id>/accept
Example: https://api-stage.bimplus.net/v2/bimplus/invitations/55896fad-187e-47da-bdb6-b441607e3de3/accept
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
URL: https://api-stage.bimplus.net/v2/<teamslug>/invitations
Example: https://api-stage.bimplus.net/v2/bimplus/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" } } ] } ]