Overview
The Users API provides endpoints for managing Faction user accounts, including creating users, setting permissions, and enabling/disabling accounts. This API is restricted to administrators and certain operations are limited by the Faction tier. All endpoints require authentication via theFACTION-API-KEY header and Admin role permissions.
Add User
Authentication
API authentication key (requires Admin role)
Form Parameters
Username for the new account
Email address
First name
Last name
Team name (must already exist in the system)
Authentication method (e.g., “LDAP”, “LOCAL”, “SSO”)
Send verification email to user. If true, sends a registration link to the user’s email address.
Grant Assessor role permissions
Grant Admin role permissions
Grant Remediation role permissions
Grant Engagement/Scheduler role permissions
Grant Manager role permissions
User Roles
Verification Email
Whenverify=true:
- A random password is generated and hashed
- A registration link is sent to the user’s email
- User must click the link to set their password
- Account cannot be accessed until password is set
Status Codes
200- Success: User created400- User already exists, invalid username, or team doesn’t exist401- Not authorized (requires Admin role)
Notes
- This endpoint is not available in the “consultant” tier
- If a user with the same username already exists, the request will fail
- The specified team must exist in the system before creating the user
- Multiple roles can be assigned to a single user
Disable User
Authentication
API authentication key (requires Admin role)
Form Parameters
Username to deactivate
Status Codes
200- Success: User disabled401- Not authorized or multiple users with same username400- Error occurred
Notes
- This endpoint is not available in the “consultant” tier
- Disabled users cannot log in until their account is unlocked
- User data and history are preserved
Unlock User
Authentication
API authentication key (requires Admin role)
Form Parameters
Username to activate
Reset the “use it or lose it” inactivity timer. When true, updates the last login timestamp to prevent the account from being automatically disabled due to inactivity.
Use It or Lose It (UIOLI)
Theuioli parameter controls the inactivity timer:
- When set to
true, the user’s last login date is updated to the current date - This prevents the account from being automatically disabled for inactivity
- Useful when unlocking accounts that have been inactive for extended periods
Status Codes
200- Success: User unlocked401- Not authorized or multiple users with same username400- Error occurred
Notes
- This endpoint is not available in the “consultant” tier
- Unlocking a user immediately allows them to log in
- Use the
uioliparameter to prevent immediate re-locking due to inactivity policies
Authorization Requirements
All Users API endpoints require:- Valid
FACTION-API-KEYheader - Admin role permissions
- Non-consultant tier instance
User Management Workflow
Integration Examples
SSO Integration
When integrating with SSO:- Set
authMethodto your SSO provider (e.g., “SAML”, “OAuth2”) - Set
verify=falseto skip email verification - User account is created with empty password
- Authentication is handled by SSO provider
Automated User Provisioning
For automated provisioning workflows:- Create user with
verify=true - System sends registration email automatically
- User completes self-service registration
- No manual password distribution needed
Error Handling
Common Errors
User Already ExistsBest Practices
- Role Assignment: Only assign roles that users actually need
- Team Organization: Ensure teams are created before adding users
- Email Verification: Use
verify=truefor better security unless using SSO - Regular Audits: Periodically review and disable unused accounts
- UIOLI Management: Use the
uioliparameter when unlocking long-inactive accounts
