Skip to main content
Version: v4.6

User Group

Add User Groups#

Endpoints#

POST /passportsvc/api/v1/usergroups

Request#

Body example#

Array of UserGroup objects

[  {    "_description": "File Contributor",    "_name": "File Contributor",    "_shortName": "fileContributor",    "_userAttributes": {      "accessAllCollAndUserGroup": true    }  },  {    "_description": "File Reader",    "_name": "File Reader",    "_shortName": "fileReader",    "_userAttributes": {      "accessAllCollAndUserGroup": true    }  },  {    "_description": "Project admin group",    "_name": "Project admin group",    "_shortName": "prjAdmin",    "_userAttributes": {      "accessAllCollAndUserGroup": true    }  }]

Response#

Response codes#

CodeDescription
201Created
400Bad Request

Response data example#

{  "_offset": 0,  "_pageSize": 3,  "_total": 3,  "_list": [    {      "_id": "5785d332-7928-4cf1-867b-6cf7354068a2",      "_description": "File Contributor",      "_name": "File Contributor",      "_shortName": "fileContributor",      "_namespaces": [        "fileContributor_JV4m6k9z"      ],      "_metadata": {        "_createdAt": 1561008859862,        "_updatedAt": 1561008859924,        "_createdById": "17285382-7f67-4b04-b231-bcdca454ed2c",        "_updatedById": "17285382-7f67-4b04-b231-bcdca454ed2c",        "_createdByName": "xxxxxxx",        "_updatedByName": "xxxxxxx"      },      "_userAttributes": {        "accessAllCollAndUserGroup": true      },      "_isMember": true    },    {      "_id": "7fd3507b-1f1b-42fc-ba0a-9f84c920a0e5",      "_description": "File Reader",      "_name": "File Reader",      "_shortName": "fileReader",      "_namespaces": [        "fileReader_vYi3Jv4B"      ],      "_metadata": {        "_createdAt": 1561008859920,        "_updatedAt": 1561008859962,        "_createdById": "17285382-7f67-4b04-b231-bcdca454ed2c",        "_updatedById": "17285382-7f67-4b04-b231-bcdca454ed2c",        "_createdByName": "xxxxxxx",        "_updatedByName": "xxxxxxx"      },      "_userAttributes": {        "accessAllCollAndUserGroup": true      },      "_isMember": true    },    {      "_id": "d064184e-f807-4799-907a-ea42c8ba3b82",      "_description": "Project admin group",      "_name": "Project admin group",      "_shortName": "prjAdmin",      "_namespaces": [        "prjAdmin_XOPpzlbm"      ],      "_metadata": {        "_createdAt": 1561008859957,        "_updatedAt": 1561008859984,        "_createdById": "17285382-7f67-4b04-b231-bcdca454ed2c",        "_updatedById": "17285382-7f67-4b04-b231-bcdca454ed2c",        "_createdByName": "xxxxxxx",        "_updatedByName": "xxxxxxx"      },      "_userAttributes": {        "accessAllCollAndUserGroup": true      },      "_isMember": true    }  ]}

Edit User Group#

Endpoint#

PUT /passportsvc/api/v1/usergroups/{id}

Request#

Path parameters#

ParameterTypeDescriptionRequired
idStringThe UserGroup's id.Optional

Request body example#

UserUroup object

{  "_description": "Admin Group",  "_name": "Admin Group",  "_shortName": "ag",  "_userAttributes": {    "number": 100,    "privilege": "Supervisor"  }}

Response#

Response codes#

CodeDescription
200Success
403Forbidden
400Bad Request

Response data example#

{  "_id": "27515e32-c115-4ed4-846b-9ab443bf69a8",  "_description": "Admin Group",  "_name": "Admin Group",  "_shortName": "ag",  "_namespaces": [    "ag_lsrBUvMV"  ],  "_userAttributes": {    "number": 200,    "privilege": "Supervisor"  },  "_metadata": {    "_createdAt": 1523275922144,    "_updatedAt": 1523275922162,    "_createdById": "cfd0bc81-d9b7-4892-a83f-47af96a48c96",    "_updatedById": "cfd0bc81-d9b7-4892-a83f-47af96a48c96",    "_createdByName": "xxxxxxx",    "_updatedByName": "xxxxxxx"  },  "_isMember": true}

Get User Groups#

Retrieve all the user groups that the user is a member of by default. Use includeAll as true to retrieve both the user groups of which the user is a part and those for which the user has 'READ' access.

Endpoints#

GET /passportsvc/api/v1/usergroups

Request#

Body parameters#

ParameterTypeDescriptionRequired
idStringThe UserGroup's id.Optional
_nameStringReadable long-form nameRequired
_shortNameStringAn abbreviated name up to 22 characters that is used for referenceRequired
_offsetStringPage response offsetOptional
_pageSizeStringPage response sizeRequired
_userTypeStringA user-defined type for the UserGroup that you can use to distinguish or group it by.Required
_userAttributes.<attribute_name>ObjectQuery by user attribute property and value, for example, _userAttributes._name=myUserGroupName. The _id, _name and _shortName properties accept multiple values, for example, _shortName=shortname1&_shortName=shortname2Optional
includeAllObjectSet to true to retrieve UserGroups that the user has 'READ' access to as well as UserGroups that the user is part of.Optional
queryObjectWild card search on name, short name and description properties, for example, ?query=admin.Optional
_orgIdStringGet organization level user groupsOptional

Response#

Response codes#

CodeDescription
200Success

Response data#

{  "_offset": 3,  "_pageSize": 1,  "_total": 4,  "_list": [  {    "_id": "19f4056c-84d4-4f14-bb87-65615ab11ce0",    "_description": "Admin Group",    "_name": "Admin Group",    "_shortName": "ag",    "_namespaces": [      "ag_kjqrbbGP"    ],    "_userAttributes": {      "number": 200,      "privilege": "Supervisor"    },    "_metadata": {      "_createdAt": 1523275922144,      "_updatedAt": 1523275922162,      "_createdById": "cfd0bc81-d9b7-4892-a83f-47af96a48c96",      "_updatedById": "cfd0bc81-d9b7-4892-a83f-47af96a48c96",      "_createdByName": "xxxxxxx",      "_updatedByName": "xxxxxxx"    },    "_isMember": true  }]}

Get User Group By Id#

Endpoints#

GET /passportsvc/api/v1/usergroups/{id}

Request#

Path parameters#

ParameterTypeDescriptionRequired
idStringThe UserGroup's id.Optional

Response#

Response codes#

CodeDescription
200Success
400Bad Request

Response data example#

{  "_id": "27515e32-c115-4ed4-846b-9ab443bf69a8",  "_description": "Admin Group",  "_name": "Admin Group",  "_shortName": "ag",  "_namespaces": [    "ag_lsrBUvMV"  ],  "_userAttributes": {    "number": 200,    "privilege": "Supervisor"  },  "_metadata": {    "_createdAt": 1523275922144,    "_updatedAt": 1523275922162,    "_createdById": "cfd0bc81-d9b7-4892-a83f-47af96a48c96",    "_updatedById": "cfd0bc81-d9b7-4892-a83f-47af96a48c96",    "_createdByName": "xxxxxxx",    "_updatedByName": "xxxxxxx"  },  "_isMember": true}

Get Users in User Group#

Endpoints#

GET /passportsvc/api/v1/usergroups/{id}/users

Request#

Path parameters#

ParameterTypeDescriptionRequired
idStringThe UserGroup's id.Optional

Response#

Response codes#

CodeDescription
200Success
400Bad Request

Response data example#

{  "_offset": 0,  "_pageSize": 2,  "_total": 2,  "_list": [    {      "_id": "2edbafe9-ca29-4b67-938e-d2c2711fa2f6",      "_username": "devtest12",      "_firstname": "Developer12",      "_lastname": "Test12",      "_eusa": false,      "_privacy": false,      "_type": {        "accType": "demo"      },      "_email": "[email protected]",      "_socialProfile": {},      "_isSocial": false    },    {      "_id": "760e5b93-22ed-4d9d-bf1a-b313270ecf62",      "_username": "xxxxxxx",      "_firstname": "xxx",      "_lastname": "xxxx",      "_eusa": false,      "_privacy": false,      "_type": {        "accType": "demo"      },      "_socialUserId": "dbid:AABw1pLvzCuAHGmvWn8WXzH_d4JprHpt_SE",      "_email": "[email protected]",      "_socialProfile": {        "socialdata": [          {            "provider": "dropbox",            "data": {              "name": {                "surname": "xxx",                "given_name": "xxxx",                "display_name": "xxxxxxx",                "familiar_name": "xxxxxxx",                "abbreviated_name": "xx"              },              "email": "[email protected]",              "locale": "en-GB",              "country": "IN",              "disabled": false,              "is_paired": false,              "root_info": {                ".tag": "user",                "home_namespace_id": "2303258944",                "root_namespace_id": "2303258944"              },              "account_id": "dbid:AABw1pLvzCuAHGmvWn8WXzH_d4JprHpt_SE",              "account_type": {                ".tag": "basic"              },              "referral_link": "https://db.tt/FrukYW4wFO",              "email_verified": true            }          }        ]      },      "_isSocial": true    }  ]}

Add Users to User Group#

Endpoints#

POST /passportsvc/api/v1/usergroups/{id}/users

Request#

Path parameters#

ParameterTypeDescriptionRequired
idStringThe UserGroup's id.Optional

Body example#

Array of user ids

[  "14e63426-e664-44bc-a85e-697fbf00b01f" ,  "650d9886-3534-445c-b514-0f0a426078a9",  "cfd0bc81-d9b7-4892-a83f-47af96a48c96"]

Response#

Response codes#

CodeDescription
200Success
400Bad Request
403Forbidden

Response data example#

[  {    "_id": "14e63426-e664-44bc-a85e-697fbf00b01f",    "_username": "doe",    "_firstname": "john",    "_lastname": "doe",    "_eusa": false,    "_privacy": false,    "_type": {      "accType": "demo"    },    "_email": "[email protected]",    "_isSocial": false  },  {    "_id": "650d9886-3534-445c-b514-0f0a426078a9",    "_username": "xxxxxxx",    "_firstname": "xxx",    "_lastname": "xxxx",    "_eusa": false,    "_privacy": false,    "_type": {      "accType": "demo"    },    "_socialUserId": "_nkRQEpYvo",    "_email": "[email protected]",    "_socialProfile": {      "socialdata": [        {          "provider": "linkedin",          "data": {            "id": "_nkRQEpYvo",            "lastName": "xxx",            "firstName": "xxxx",            "emailAddress": "[email protected]",            "formattedName": "xxxxxxx"          }        }      ]    },    "_isSocial": true  },  {    "_id": "cfd0bc81-d9b7-4892-a83f-47af96a48c96",    "_username": "doe",    "_firstname": "john",    "_lastname": "doe",    "_eusa": false,    "_privacy": false,    "_type": {      "accType": "demo"    },    "_email": "[email protected]",    "_isSocial": false  }]

Remove Users from User Group#

Endpoints#

DELETE /passportsvc/api/v1/usergroups/{id}/users

Request#

Path parameters#

ParameterTypeDescriptionRequired
idStringThe UserGroup's id.Optional

Body example#

Array of user ids

[  "14e63426-e664-44bc-a85e-697fbf00b01f" ,  "650d9886-3534-445c-b514-0f0a426078a9",  "cfd0bc81-d9b7-4892-a83f-47af96a48c96"]

Response#

Response codes#

CodeDescription
204No Content
400Bad Request
403Forbidden

Response data#

None

Delete User Group#

Endpoints#

DELETE /passportsvc/api/v1/usergroups/{id}

Request#

Path parameters#

ParameterTypeDescriptionRequired
idStringThe UserGroup's id.Optional

Response#

Response codes#

CodeDescription
204No Content

Response data#

None


Create User Group Invites#

Endpoints#

POST /passportsvc/api/v1/usergroups/{id}invites

Request#

Path parameters#

ParameterTypeDescriptionRequired
idStringThe UserGroup's id.Optional

Body parameters#

ParameterTypeDescriptionRequired
_emailStringThe invited user's emailRequired
_paramsStringPlaceholder values to be replaced in the email template
_params.invite_linkStringRelative path of the callback URL the invitee clicks in the email. The web app's base URL must be registered with Passport Sservice and prepended while sending the notification.
_params.typeStringType of inviting entity for example, a project or account.
_params.nameStringThe name of inviting entity.
_params.inviter_nameStringThe inviter's name.
_params.base_urlStringWeb app's base URL.Required
_params.localeStringThe language locale value to use in notification templates. If you do not pass a value, the default value of en (English) is used.
[  {    "_email": "[email protected]",    "_params": {      "base_url": "https://xxxxxxxxxx.com",      "invite_link": "/digitaltwin",      "type": "Project",      "name": "Kingspan IKON",      "inviter_name": "Srinivas SP",      "body_header": "",      "body_content": "Srinivas SP has invited you to join the Project Kingspan IKON.",      "subject": "Invitation to join  Project: Kingspan IKON",      "locale": "en"    }  }]

Response#

Response codes#

CodeDescriptionExample
201Created
400Bad Request
403ForbiddenThe user doesn't have 'EDIT' permission for the UserGroup

Response data example#

{  "_offset": 0,  "_pageSize": 1,  "_total": 1,  "_list": [    {      "_email": "[email protected]",      "_expireTime": 1662970445947,      "_id": "5b5aaff4-e146-41f1-8987-41968f0f9c47",      "_userExists": false,      "_params": {        "base_url": "https://xxxxxxxxxx.com",        "invite_link": "https://xxxxxxxxxx.com/digitaltwin?inviteId=5b5aaff4-e146-41f1-8987-41968f0f9c47",        "type": "Project",        "name": "Kingspan IKON",        "inviter_name": "Srinivas SP",        "body_header": "",        "body_content": "Srinivas SP has invited you to join the Project Kingspan IKON.",        "subject": "Invitation to join  Project: Kingspan IKON",        "host": "https://xxxxxxxxxx.com/passportsvc/api",        "fromUserName": "Srinivas SP",        "APP_ID": "0f02c817-8655-423e-9d22-5439187078f9"      },      "_usergroup": {        "_id": "c24f70fd-d8ea-45d1-bdca-03d437811020",        "_description": "Solutions User Group",        "_name": "Solutions Mgmt",        "_shortName": "sol_man",        "_namespaces": [          "solman_feuQqHSZ"        ],        "_metadata": {          "_createdAt": 1566234364029,          "_updatedAt": 1566234408713,          "_createdById": "6a8d7971-a2c6-428d-8ef7-0ba604366f2f",          "_updatedById": "6a8d7971-a2c6-428d-8ef7-0ba604366f2f"        },        "_userAttributes": {          "userConfigs": [            {              "_id": "5d5ad728240bc05d81d4c040",              "_name": "DBM Solution Admin"            }          ],          "permissions": {            "accessAll": true          },          "project": {            "_id": "d7083dd6-329c-4123-943c-a7a2fbddf7dd",            "_namespaces": [              "ks_weG9Hlxk"            ]          },          "UserConfig": [            "5d5ad728240bc05d81d4c040"          ]        },        "_userType": "user_group",        "_isMember": true,        "_appId": "0f02c817-8655-423e-9d22-5439187078f9"      },      "_status": "PENDING",      "_metadata": {        "_createdAt": 1662365645949,        "_updatedAt": 1662365645949,        "_createdById": "cf512118-f08c-4bfd-98d2-76a3ef6f6876",        "_updatedById": "cf512118-f08c-4bfd-98d2-76a3ef6f6876"      }    }  ]}

Add Users to User Group By Invite Id#

Endpoints#

POST /passportsvc/api/v1/usergroups/{id}/users?inviteId={inviteId}

Request#

Path parameters#

ParameterTypeDescriptionRequired
idStringThe UserGroup's id.Optional

Query parameters#

ParameterTypeDescriptionRequired
inviteIdStringThe Invite's id.Optional

Response#

Response codes#

CodeDescriptionExample
200Success
400Bad RequestThe email in the Invite doesn't match the current user's email; the UserGroup id doesn't match the UserGroup id in the request

Response data example#

[  {    "_id": "e6743e65-c67b-4220-aa4f-e440424a66ad",    "_username": "doe",    "_firstname": "john",    "_lastname": "doe",    "_eusa": false,    "_privacy": false,    "_type": {      "accType": "demo"    },    "_email": "[email protected]",    "_isSocial": false  }]

Get Invites for User Group#

Endpoints#

GET /passportsvc/api/v1/usergroups/{id}/invites

Request#

Path parameters#

ParameterTypeDescriptionRequired
idStringThe UserGroup's id.Optional

Query parameters#

ParameterTypeDescriptionRequired
_statusStringFilter by the following invite statuses: PENDING, EXPIRED, ACCEPTED, CANCELLED, REJECTEDOptional
GET /passportsvc/api/v1/usergroups/{id}/invites?_status=PENDING

Response#

Response codes#

CodeDescriptionExample
200Success
403Not AuthorizedThe user doesn't have READ permission to the UserGroup

Response data example#

{  "_offset": 0,  "_pageSize": 1,  "_total": 1,  "_list": [    {      "_email": "[email protected]",      "_expireTime": 1592303525337,      "_id": "ecf7793c-60ce-4a7a-bb24-b567313f304f",      "_userExists": true,      "_params": {        "inviter_name": "xxxxxxx",        "name": "FreshProj",        "base_url": "https://dt-dev.xxxxxx.com",        "type": "Project",        "invite_link": "/ipa-dt/"      },      "_usergroup": {        "_id": "35aba78e-6d95-4e79-a210-5e1bc91f98a5",        "_description": "Solutions User Group",        "_name": "Solutions Mgmt",        "_shortName": "sol_man",        "_namespaces": [          "solman_58n9eCL5"        ],        "_metadata": {          "_createdAt": 1591683481978,          "_updatedAt": 1591683794793,          "_createdById": "bd292f15-10b1-429f-a0ed-b61c56c7c866",          "_updatedById": "bd292f15-10b1-429f-a0ed-b61c56c7c866"        },        "_userType": "user_group",        "_isMember": true      },      "_status": "ACCEPTED",      "_metadata": {        "_createdAt": 1591698725347,        "_updatedAt": 1591699611950,        "_createdById": "bd292f15-10b1-429f-a0ed-b61c56c7c866",        "_updatedById": "67b24ac1-3f8b-46ae-9161-35e147d554b7"      }    }  ]}

Reject or Cancel User Group Invite#

Endpoint#

PUT /passportsvc/api/v1/usergroups/{id}/invites/{inviteId}

Request#

Path parameters#

ParameterTypeDescriptionRequired
idStringThe UserGroup's id.Optional
inviteIdStringThe Invite's id.Optional

Body parameters#

ParameterTypeDescriptionRequired
_statusStringEither REJECTED or CANCELLEDOptional

Response#

Response codes#

CodeDescriptionExample
204No Content
400Bad RequestSuch as status is not in PENDING state
403Unauthorizedprincipal user, and invitee should be same

Response data#

None