...
...
...
...
...
...
...
...
General Information
...
Service | API | Method | Data Model | Workflow |
---|---|---|---|---|
urac | /admin/ inviteUsersusers/invite | PUT |
Data Model: 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 |
---|
users |
Body |
YES | Array |
includes user object, groups array, and pin object | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Output
...
Response
SOAJS has a unified response. Check out this link to understand more the schema of SOAJS response
Valid Response
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
{ " result": true, " data": { "..." succeeded: [ { id: '%user_id%' } ], failed: [] } } |
Invalid Response
Code Block | |||||||||
---|---|---|---|---|---|---|---|---|---|
| {
| ||||||||
{ "resultsucceeded":false [], "errorsfailed":{ [ { "codesid":[411] "%user_id%", "detailsreason":[ "User has already been invited." }, { { "id": "%user_id%", "reason": "User is already in the tenant "code":411tenancy." }, { "id": "%user_id%", "messagereason": "invalid user id provided"Failed to generate pin at this." }, { "id": "%user_id%", } ]"reason": "Cannot invite a user without providing its id or username." } ] } |
...
Invalid Response
...
Code Block |
---|
...
Request
Code Block | ||||
---|---|---|---|---|
| ||||
> CURL -X POST http://127.0.0.1:4000/urac/admin/inviteUsers --data '{"users":
[
{
username: "username",
email: "email@email.com",
pin : {
code: true,
allowed: true,
}
groups : ["group"]
}
]
}' |
Response
Code Block | ||||
---|---|---|---|---|
| ||||
|
...
| |||||||
{ "result":false, "errors":{ "codes":[602], "details":[ { "resultcode": true,602, "datamessage":"Model [{ username: "username", email: "email@email.com" }] }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:
| |||||||||||||||||||||||||||||||||||||||
failed | YES | String | N/A | Failed response information | |||||||||||||||||||||||||||||||||||
|
Response schema
Follow this link to check out the response JSON Schema
SOAJS Error Codes
Code | Description |
---|---|
400 | Business logic required data are missing |
520 | Unable to find user |
602 | Model error: + %model_error% |