...
Service | API | Method | Data Model | Workflow |
---|
urac | /admin/users/invite | PUT | Users | |
Description
For each user you sent the following happens:
- Get the user by id or email or username where status is active
- if not found add it to failed array in response
- if found continue with the following steps:
- check if already invited to this tenant
- if yes push user to failed array response with reason "User has already been invited."
- if no, generate pin if code is set to yes
- if failed to generate pin push user to failed array response with reason "Failed to generate pin at this."
- invite the user by updating its allowedTenants
- send an email to the user with the generated pin
Input
...
Type: application/json
Name | Source | Mandatory | Type | Special Format | Description |
---|
Usersusers | Body | YES | ObjectArray | includes user object, groups array, and pin object |
|
Name | Source | Mandatory | Type | Special Format | Description |
---|
groups | Body | NO | Array | Array of strings | Groups array | pin | Body | NO | Object | includes code and allowed parameters | Pin Object |
|
Name | Mandatory | Type | Description |
---|
code | YES | Boolean | set to True to create a random generated code | allowed | YES | Boolean | set to True if this user is allowed to start pin code login, and also it will be set to main tenant |
| user | Body | YES | Object | Includes one of id, username, or email | User Object |
| One of the following should exist under the user object:
Name | Mandatory | Type | Special Format | Description |
---|
id | YES | String | N/A | User ID | username | YES | String | N/A | Username | email | YES | String | N/A | User Email |
|
|
Output
...
Response
SOAJS has a unified response. Check out this link to understand more the schema of SOAJS response
Valid Response
Code Block |
---|
language | js |
---|
title | Valid Response Sample |
---|
linenumbers | true |
---|
collapse | true |
---|
|
{
result: true,
data: {
succeeded: [ { id: '%user_id%' } ],
failed: []
}
} |
Code Block |
---|
language | js |
---|
title | Valid Failed Response Sample |
---|
linenumbers | true |
---|
collapse | true |
---|
|
{
"succeeded": [],
"failed": 1 [
{
"id": "%user_id%",
"reason": "User has already been invited."
},
{
"id": "%user_id%",
"reason": "User is already in the tenant tenancy."
},
{
"id": "%user_id%",
"reason": "Failed to generate pin at this."
},
{
"id": "%user_id%",
"reason": "Cannot invite a user without providing its id or username."
}
]
} |
Invalid Response
Code Block |
---|
language | js |
---|
title | Error Response Sample |
---|
linenumbers | true |
---|
collapse | true |
---|
|
{
"result":false,
"errors":{
"codes":[602],
"details":[
{
"code":602,
"message":"Model error: + %model_error%"
}
]
}
} |
Response validation
Name | Mandatory | Type | Special Format | Description |
---|
succeeded | YES | Array | Array of Objects | Succeeded response information |
| One of the following should exist under the succeeded object:
Name | Mandatory | Type | Special Format | Description |
---|
id | YES | String | N/A | User ID | username | YES | String | N/A | Username | email | YES | String | N/A | User Email |
|
failed | YES | String | N/A | Failed response information |
|
Name | Mandatory | Type | Special Format | Description |
---|
reason | YES | String | N/A | Failing reason | One of the following should exist also under the succeeded object:
Name | Mandatory | Type | Special Format | Description |
---|
id | YES | String | N/A | User ID | username | YES | String | N/A | Username | email | YES | String | N/A | User Email |
|
|
Response schema
Follow this link to check out the response JSON response JSON Schema
SOAJS Error Codes
| |
---|
400 | Business logic required data are missing |
520 | Unable to find user |
602 | Model error: + %model_error% |