User Management API Reference Guide 
It is possible to manage Silo accounts using the User Management API commands. Below are definitions of each command along with example requests and responses.

Note: These commands are already built into the A8 Dir Sync Module for AD users who want to sync user accounts.


System Requirements 


● API token - Contact Support to obtain a token
● Org Names - You will need to have the names of the Silo orgs that you want to manage handy
● Endpoint - All commands should be made by POST to 
https://extapi.authentic8.com


Details on API calls 


Here is the list of supported user management API requests:


● listusers - lists all information about users in an org
● adduser - adds a user to an org
● deleteuser - deletes a user from an org
● suspenduser - suspends a user which makes the user unable to log in
● unsuspenduser - reverses the suspenduser command
● modifyuser - used to change user information


List Users 

List all users in an org

Required parameters:


● API token (setauth) - provided by Support
● Org name (org) - the Silo org name


Optional Data


● Command ID - a string which will be echoed back with the response

Example usage (delivered via a POST):


[
{ "command": "setauth", "data": "<API Token>" },
{ "command": "listusers",
"org": "Rockers",
"command_id": "Rockers"
}
]

Example output:
[
{
"result": "setting auth from data"
},
{
"command_id": "Rockers",
"result": [
{
"email": "jramone@authentic8.com",
"given_name": "Joey",
"is_suspended": false,
"phone": [
{
"cc": "1",
"display": "415-555-1212",
"num": "4155551212"
}
],
"surname": "Ramone",
"username": "jramone@ramones.com"
}
]
}
]


Add Users 

Add users to an org

Required parameters:


● API token (setauth) - provided by Support
● Org name (org) - the Silo org name
● User ID (username) - usually an email address
● Email (email) - usually the same as User ID


Optional Data 


● Command ID - a string which will be echoed back with the response
● First Name (given_name) - The user’s first name
● Last Name (surname) - The user’s last name
● Mobile Number (phone) - usually a user’s mobile phone for receiving SMS messages


By providing your mobile number, you agree to receive 2FA text messages from us. Message and data rates may apply. Reply STOP to opt out; Reply HELP for help;  Message frequency varies/one time message; Carriers are not liable for delayed or undelivered messages. For more information, please read https://www.authentic8.com/sms-terms-and-conditions



Example usage (delivered via a POST):



[
{ "command": "setauth", "data": "<API Token>" },
{ "command": "adduser",
"org": "Rockers",
"username": "mramone@ramones.com",
"email": "mramone@authentic8.com",
"given_name": "Markey",
"surname": "Ramone",
"phone": "415-555-1212"
}
]

Example output:

[
{
"result": "setting auth from data"
},
{
"result": "user added"
}
]



Delete User 
Deletes a user

Required parameters:


● API token (setauth) - provided by Support
● User ID (username) - usually an email address



Optional Data 


● Command ID - a string which will be echoed back with the response



Example usage (delivered via a POST):



[ { "command": "setauth", "data": "<API Token>" },
{ "command": "deleteuser",
"username": "jramone@ramones.com"
}
]

Example output:

[
{
"result": "setting auth from data"
},
{
"result": "user deleted"
}
]


Suspend User 
Suspends a user

Required parameters:


● API token (setauth) - provided by Support
● User ID (username) - usually an email address



Optional Data 


● Command ID - a string which will be echoed back with the response

Example usage (delivered via a POST):

[ { "command": "setauth", "data": "<API Token>" },
{ "command": "suspenduser",
"username": "jramone@ramones.com"
}
]

Example output: 

[
{
"result": "setting auth from data"
},
{
"result": "user suspended"
}
]


Un-suspend User 
Activates a suspended user

Required parameters:


● API token (setauth) - provided by Support
● User ID (username) - usually an email address


Optional Data 


● Command ID - a string which will be echoed back with the response



Example usage (delivered via a POST):



[ { "command": "setauth", "data": "<API Token>" },
{ "command": "unsuspenduser",
"username": "jramone@ramones.com"
}
]

Example output
:

[
{
"result": "setting auth from data"
},
{
"result": "user unsuspended"
}
]



Modify User 
Modifies some parts of the user object.
Note: username and email can only be modified by Authentic8 Support


Required parameters:


● API token (setauth) - provided by Support
● Email (email) - existing account email
● One item to be updated - should be at least one but can also be a


○ phone
○ given_name
○ surname



Optional Data 


● Command ID - a string which will be echoed back with the response


Example usage (delivered via a POST):



[
{ "command": "setauth", "data": "<API Token>" },
{ "command": "modifyuser",
"email": "jramone@authentic8.com",
"phone": "212-555-1212"
}
]


Example output:

[
{
"result": "setting auth from data"
},
{
"result": "user modified"
}
]


Notes 
● All API calls require a User Sync Token which can be obtained from Authentic8 Support (https://support.authentic8.com/support/tickets/new)

● Multiple items can be sent at once. For example:



[
{ "command": "setauth", "data": "<API Token>" },
{ "command": "adduser",
"org": "Rockers",
"username": "jramone@ramones.com",
"email": "jramone@authentic8.com",
"given_name": "Joey",
"surname": "Ramone",
"phone": "415-555-1212"
},
{ "command": "adduser",
"org": "Rockers",
"username": "ddramone@ramones.com",
"email": "ddramone@authentic8.com",
"given_name": "Dee Dee",
"surname": "Ramone",
"phone": "415-555-1212"
},
{ "command": "adduser",
"org": "Rockers",
"username": "tramone@ramones.com",
"email": "tramone@authentic8.com",
"given_name": "Tommy",
"surname": "Ramone",
"phone": "415-555-1212"
},
{ "command": "adduser",
"org": "Rockers",
"username": "mramone@ramones.com",
"email": "mramone@authentic8.com",
"given_name": "Markey",
"surname": "Ramone",
"phone": "415-555-1212"
}
]
[
{
"result": "setting auth from data"
},
{
"result": "user added"
},
{
"result": "user added"
},
{
"result": "user added"
},
{
"result": "user added"
}
]

Additional Notes  

Please contact Support if you have any additional questions and/or require further information.