Skip to main content
The Users API allows you to manage users in Snipe-IT.

List Users

curl -X GET "https://your-domain.com/api/v1/users" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
limit
integer
default:"50"
Number of results to return
offset
integer
default:"0"
Offset for pagination
Search string to filter results
sort
string
default:"created_at"
Column to sort by. Allowed values: id, first_name, last_name, display_name, username, email, jobtitle, employee_num, company, location, department, manager, assets_count, licenses_count, accessories_count, consumables_count
order
string
default:"desc"
Sort order: asc or desc
company_id
integer
Filter by company ID
location_id
integer
Filter by location ID
department_id
integer
Filter by department ID
activated
boolean
Filter by activation status (1 for active, 0 for inactive)
deleted
string
Set to “true” to show only deleted users
total
integer
Total number of users
rows
array
Array of user objects

Get Current User

curl -X GET "https://your-domain.com/api/v1/users/me" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
Returns information about the currently authenticated user.

Get User by ID

curl -X GET "https://your-domain.com/api/v1/users/{user_id}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
user_id
integer
required
The user ID

Create User

curl -X POST "https://your-domain.com/api/v1/users" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "John",
    "last_name": "Doe",
    "username": "jdoe",
    "email": "[email protected]",
    "password": "SecurePassword123!"
  }'
first_name
string
required
First name
username
string
required
Username (must be unique)
email
string
Email address
last_name
string
Last name
password
string
Password (required unless LDAP user)
employee_num
string
Employee number
jobtitle
string
Job title
phone
string
Phone number
mobile
string
Mobile number
company_id
integer
Company ID
location_id
integer
Location ID
department_id
integer
Department ID
manager_id
integer
Manager’s user ID
activated
boolean
default:"true"
Whether user is activated
address
string
Street address
city
string
City
state
string
State/province
country
string
Country
zip
string
ZIP/postal code
notes
string
User notes

Update User

curl -X PATCH "https://your-domain.com/api/v1/users/{user_id}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "Jane",
    "jobtitle": "Senior Developer"
  }'
user_id
integer
required
The user ID

Delete User

curl -X DELETE "https://your-domain.com/api/v1/users/{user_id}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
user_id
integer
required
The user ID
Users with checked out assets cannot be deleted until all assets are checked in or transferred.

Get User’s Assets

curl -X GET "https://your-domain.com/api/v1/users/{user_id}/assets" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
user_id
integer
required
The user ID
Returns all assets assigned to the specified user.

Get User’s Licenses

curl -X GET "https://your-domain.com/api/v1/users/{user_id}/licenses" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
user_id
integer
required
The user ID
Returns all license seats assigned to the specified user.

Get User’s Accessories

curl -X GET "https://your-domain.com/api/v1/users/{user_id}/accessories" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
user_id
integer
required
The user ID
Returns all accessories assigned to the specified user.

Restore Deleted User

curl -X POST "https://your-domain.com/api/v1/users/{user_id}/restore" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
user_id
integer
required
The deleted user ID
Restores a soft-deleted user.

Build docs developers (and LLMs) love