Silo for Safe Access accounts can be managed programmatically via Authentic8's User Management API. Below are quick definitions of available commands, along with example requests and responses
The Active Directory Sync (DirSync) toolkit also utilizes the User Management API for account provisioning
System Requirements
● User Management API token (contact the Authentic8 Support team)
● Org Names — access to a list of Silo organization names for your environment
● Endpoint — all commands should be made by POST to https://extapi.authentic8.com
API Commands
● listusers — lists Silo account information within an org
● adduser — provision a new Silo account
● deleteuser — delete an existing Silo account
● suspenduser — suspend an existing Silo account to prevent access
● unsuspenduser — restores the suspension account back to active
● modifyuser — update Silo account information
List Users
Required parameters
● API token (setauth)
● Org name (org) — name of the target Silo organization
Optional Data
● Command ID — a string which will be echoed back with the response
POST request example:
[
{
"command": "setauth",
"data": "<api_token>"
},
{
"command": "listusers",
"org": "Support Demo",
"command_id": "Support Demo"
}
]
Sample output:
[
{
"result": "setting auth from data"
},
{
"command_id": "Support Demo",
"result": [
{
"email": "test01@supportdemo.com",
"given_name": "Test",
"is_suspended": false,
"phone": [
{
"cc": "1",
"display": "415-555-5555",
"num": "4155555555"
}
],
"surname": "One",
"username": "test01@supportdemo.com"
}
]
}
]
Add Users
Required parameters
● API token (setauth)
● Org name (org) — name of the target Silo organization
● User ID (username) — same as email address (recommended)
● Email (email) — same as username
Optional Data
● Command ID — a string which will be echoed back with the response
● First Name (given_name) — first name
● Last Name (surname) — last name
● Mobile Number (phone) — mobile phone number for receiving SMS verification codes
Important:
By providing your mobile number, you consent to receive 2FA text messages from us. Message and data rates may apply. Reply STOP to opt out or HELP for assistance. Message frequency may vary or be one-time. Carriers are not responsible for delayed or undelivered messages. For more details, please visit our SMS Terms and Conditions
POST request example:
[
{ "command": "setauth", "data": "<api_token>" },
{
"command": "adduser",
"org": "Support Demo",
"username": "test01@supportdemo.com ",
"email": "test01@supportdemo.com ",
"given_name": "Test",
"surname": "One",
"phone": "415-555-1212"
}
]
Sample output:
[
{
"result": "setting auth from data"
},
{
"result": "user added"
}
]
Delete User
Required parameters
● API token (setauth)
● User ID (username) — usually an email address
Optional Data
● Command ID — a string which will be echoed back with the response
POST request example:
[
{
"command": "setauth",
"data": "<api_token>"
},
{
"command": "deleteuser",
"username": "test01@supportdemo.com"
}
]
Sample output:
[
{
"result": "setting auth from data"
},
{
"result": "user deleted"
}
]
Suspend User
Required parameters
● API token (setauth)
● User ID (username) — usually an email address
Optional Data
● Command ID — a string which will be echoed back with the response
POST request example:
[
{
"command": "setauth",
"data": "<api_token>"
},
{
"command": "suspenduser",
"username": "test01@supportdemo.com"
}
]
Sample output:
[
{
"result": "setting auth from data"
},
{
"result": "user suspended"
}
]
Unsuspend User
Required parameters
● API token (setauth)
● User ID (username) — usually an email address
Optional Data
● Command ID — a string which will be echoed back with the response
POST request example:
[
{
"command": "setauth",
"data": "<api_token>"
},
{
"command": "unsuspenduser",
"username": "test01@supportdemo.com"
}
]
Sample output:
[
{
"result": "setting auth from data"
},
{
"result": "user unsuspended"
}
]
Modify User
Required parameters
● API token (setauth)
● Email (email) — email address of existing account
● At least one item to be updated —
○ phone
○ given_name
○ surname
Optional Data
● Command ID — a string which will be echoed back with the response
POST request example:
[
{
"command": "setauth",
"data": "<api_token>"
},
{
"command": "modifyuser",
"email": "test01@supportdemo.com",
"phone": "650-555-5555"
}
]
Sample output:
[
{
"result": "setting auth from data"
},
{
"result": "user modified"
}
]
Multiple Requests example:
[
{
"command": "setauth",
"data": "<api_token>"
},
{
"command": "adduser",
"org": "Support Demo",
"username": "test01@supportdemo.com",
"email": "test01@supportdemo.com",
"given_name": "Test",
"surname": "One",
"phone": "415-555-5555"
},
{
"command": "adduser",
"org": "Support Demo",
"username": "test02@supportdemo.com",
"email": "test02@supportdemo.com",
"given_name": "Test",
"surname": "Two",
"phone": "415-555-5555"
},
{
"command": "adduser",
"org": "Support Demo",
"username": "test03@supportdemo.com",
"email": "test03@supportdemo.com ",
"given_name": "Test",
"surname": "Three",
"phone": "415-555-5555"
},
{
"command": "adduser",
"org": "Support Demo",
"username": "test04@supportdemo.com",
"email": "test04@supportdemo.com",
"given_name": "Test",
"surname": "Four",
"phone": "415-555-5555"
}
]
Sample output:
[
{
"result": "setting auth from data"
},
{
"result": "user added"
},
{
"result": "user added"
},
{
"result": "user added"
},
{
"result": "user added"
}
]
Please contact Support for any additional questions