Device Management · Beta
Snipe-IT
API integration
Ship Device Management features without building the integration. Full Snipe-IT API access via Proxy, normalized data through Unified APIs, and 140+ MCP-ready tools for AI agents — all extensible to your exact use case.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with Snipe-IT
Common scenarios for SaaS companies building Snipe-IT integrations for their customers.
Enrich helpdesk tickets with asset context
Ticketing and ITSM platforms can pull a requester's assigned hardware, model, serial, and warranty status into every ticket, so agents troubleshoot without asking users what device they're on.
Automate onboarding and offboarding hardware flows
HRIS and IAM products can provision Snipe-IT users, check out standard-issue laptops and accessories on day one, and generate return checklists from a departing employee's asset list on their last day.
Continuously collect SOC 2 asset evidence
Compliance platforms can match active users to checked-out devices, surface overdue audits, and log completed audits back to Snipe-IT — turning ITAM data into audit-ready evidence without manual exports.
Reclaim unused software license seats
SaaS spend management tools can read license inventories and free seat counts from Snipe-IT to visualize idle licenses and recommend downgrades on renewal.
Sync device inventory into MSP dashboards
Managed Service Providers running multi-tenant tools can pull hardware, accessories, and consumables across client Snipe-IT instances into a single pane of glass for reporting and lifecycle tracking.
What You Can Build
Ship these features with Truto + Snipe-IT
Concrete product features your team can ship faster by leveraging Truto’s Snipe-IT integration instead of building from scratch.
Assigned-device sidebar for support tickets
Show every asset a user has checked out — including model, serial, category, and status — next to any ticket or conversation.
One-click checkout and check-in actions
Trigger hardware, accessory, and consumable checkouts or check-ins to a user directly from your product UI without leaving the workflow.
New-hire welcome kit automation
On employee creation, provision the Snipe-IT user and check out a preset bundle of hardware, accessories, and license seats in a single flow.
Overdue audit alerting
Poll audit-due and audit-overdue lists to notify IT or security teams when assets have missed mandatory physical checks, and log completed audits back to Snipe-IT.
License utilization dashboards
Combine total seats, free seat counts, and per-user license assignments to visualize idle spend and flag renewal decisions.
Offboarding return checklists
Generate a complete list of hardware, accessories, and licenses assigned to a departing user and mark each item as returned or reassigned.
SuperAI
Snipe-IT AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
list_all_snipe_it_hardwares
List snipeit hardware assets. Returns each asset record including id, name, asset_tag, serial, status_label, model, category, location, assigned_to, created_at, updated_at, purchase_cost, and available_actions.
create_a_snipe_it_hardware
Create a new snipeit hardware asset. Returns: id, name, asset_tag, serial, model, model_number, eol, status_label, category, manufacturer, supplier, notes, order_number, company, location, rtd_location, image, qr, alt_barcode, assigned_to, warranty_months, warranty_expires, created_at, updated_at, last_audit_date, next_audit_date, deleted_at, purchase_date, age, last_checkout, expected_checkin,…
get_single_snipe_it_hardware_by_id
Get details of a specific snipeit hardware asset by id. Returns: id, created_at, updated_at, deleted_at, name. Required: id.
update_a_snipe_it_hardware_by_id
Fully replace a specific snipeit hardware asset by id using PUT. Returns: status, messages. Required: id, asset_tag, status_id, model_id.
delete_a_snipe_it_hardware_by_id
Delete a specific snipeit hardware asset by id. Returns an empty 204 response on success. Required: id.
snipe_it_hardwares_attach_audit
Attach an audit record to a snipeit hardware asset by id. Returns: status, messages, and payload including asset_tag and next_audit_date. Required: id.
snipe_it_hardwares_partial_update
Partially update a snipeit hardware asset by id, modifying only the supplied fields such as name, status_id, or asset_tag. Returns: status, messages. Required: id.
snipe_it_hardwares_restore
Restore a previously deleted snipeit hardware asset by id. Returns: status, messages. Required: id.
list_all_snipe_it_hardware_bytags
Get the details of a specific snipeit hardware asset by its asset tag. Returns: id, created_at, updated_at. Required: asset_tag.
list_all_snipe_it_hardware_byserials
Get a snipeit hardware asset by its serial number. Returns: id, created_at, updated_at. Required: serial.
create_a_snipe_it_hardware_audit
Mark a snipeit hardware asset as audited by its asset tag. Returns status, messages, and a payload containing asset_tag, note, and next_audit_date (with datetime and formatted representations). Required: asset_tag.
list_all_snipe_it_audit_dues
List snipeit assets that are due for auditing soon. Returns one record per asset including id, asset_tag, serial, model, status_label, category, manufacturer, supplier, location, assigned_to, created_at, updated_at, purchase_cost, user_can_checkout, and available_actions.
list_all_snipe_it_audit_overdues
List snipeit assets that are overdue for auditing. Returns one record per overdue asset including id, asset_tag, serial, name, model, status_label, category, manufacturer, location, assigned_to, last_checkout, expected_checkin, purchase_cost, user_can_checkout, and available_actions.
list_all_snipe_it_licenses
List snipeit licenses. Returns individual license records (unwrapped from the rows array) including id, name, product_key, seats, free_seats_count, manufacturer, maintained, created_at, and available_actions.
create_a_snipe_it_license
Create a new snipeit license. Returns status, messages, and a payload object containing the new license's id, name, seats, created_at, and updated_at. Required: name, seats, category_id.
get_single_snipe_it_license_by_id
Get a single snipeit license by id. Returns the full license record including id, name, product_key, seats, free_seats_count, manufacturer, maintained, created_at, and available_actions. Required: id.
update_a_snipe_it_license_by_id
Update a snipeit license by id. Returns the updated license record including id, name, product_key, seats, free_seats_count, manufacturer, maintained, created_at, and available_actions. Required: id, category_id.
delete_a_snipe_it_license_by_id
Delete a snipeit license by id. Returns: status, messages, payload. Required: id.
snipe_it_licenses_partial_update
Partially update a snipeit license by id. Returns the updated license record including id, name, product_key, seats, license_name, license_email, maintained, and available_actions. Required: id.
list_all_snipe_it_fields
List all available custom fields in snipeit. Returns: id, name, db_column_name, format, field_values, field_values_array, created_at, updated_at.
create_a_snipe_it_field
Create a new custom field in snipeit. Returns: id, name, created_at, updated_at. Required: name, element.
get_single_snipe_it_field_by_id
Get a single snipeit custom field by id. Returns: status, messages, id, name, created_at, updated_at. Required: id.
update_a_snipe_it_field_by_id
Update a snipeit custom field by id using full replacement (PUT). Returns: status, messages, id, name, created_at, updated_at. Required: id, name, element.
delete_a_snipe_it_field_by_id
Delete a snipeit custom field by id. Returns: status, messages. Required: id.
snipe_it_fields_partial_update
Partially update a snipeit custom field by id. Returns the updated field object including id, name, db_column_name, format, type, field_values, field_values_array, required, created_at, and updated_at. Required: id.
create_a_snipe_it_field_associate
Associate a custom field with a custom fieldset in snipeit. Returns an empty 204 response on success. Required: field_id, fieldset_id.
create_a_snipe_it_field_disassociate
Remove the association of a custom field from a fieldset in snipeit. Returns an empty response on success. Required: field_id, fieldset_id.
list_all_snipe_it_fieldsets
List all custom fieldsets in snipeit. Returns id, name, fields (nested custom field rows including db_column_name, format, type, field_values, and required), models (associated asset model rows with id and name), created_at, and updated_at for each fieldset.
create_a_snipe_it_fieldset
Create a new fieldset in snipeit. Returns an empty response on success. Required: name.
get_single_snipe_it_fieldset_by_id
Get a single snipeit fieldset by id. Returns id, name, fields (nested custom field rows with db_column_name, format, and required flag), models (associated asset model rows), created_at, and updated_at. Required: id.
update_a_snipe_it_fieldset_by_id
Update a snipeit fieldset by id. Returns status, messages, and a payload object containing the updated fieldset's id, name, created_at, updated_at, and user_id. Required: id, name.
delete_a_snipe_it_fieldset_by_id
Delete a snipeit fieldset by id. Returns status and messages confirming the deletion. Required: id.
list_all_snipe_it_fieldset_fields
List custom fields associated with a snipeit fieldset. Returns: id, db_column_name, format, field_values, field_values_array, required, created_at, updated_at. Required: fieldset_id.
list_all_snipe_it_companies
List companies in Snipe-IT, optionally filtered by name. Returns: id, name, image, created_at, updated_at, assets_count, licenses_count, accessories_count, consumables_count, components_count, users_count, available_actions.
create_a_snipe_it_company
Create a new company in Snipe-IT. Returns: status, payload, messages. Required: name.
get_single_snipe_it_company_by_id
Get the full details of a specific Snipe-IT company by id. Returns: id, image, created_at, updated_at, assets_count, licenses_count, accessories_count, consumables_count, components_count, users_count, available_actions. Required: id.
update_a_snipe_it_company_by_id
Replace a Snipe-IT company's details by id using a full PUT request. Returns the updated company object including id, name, created_at, and updated_at. Required: id, name.
delete_a_snipe_it_company_by_id
Delete a company in Snipe-IT by id. Returns: status, messages. Required: id.
snipe_it_companies_partial_update
Partially update a company in Snipe-IT by id. Returns the updated company object including id, name, image, created_at, updated_at, assets_count, licenses_count, accessories_count, consumables_count, components_count, users_count, and available_actions. Required: id.
list_all_snipe_it_locations
List locations in snipeit with optional filters. Returns location records including id, name, address, city, country, currency, and other location fields. Filter by name, search, address, city, zip, country, sort field, or order direction.
create_a_snipe_it_location
Create a new location in snipeit. Returns the created location including id, name, address, city, country, currency, and other location fields. Required: name.
get_single_snipe_it_location_by_id
Get details of a snipeit location by id. Returns the location object including id, name, address, city, country, currency, state, and other location fields. Required: id.
update_a_snipe_it_location_by_id
Fully update a snipeit location by id, replacing all editable fields. Returns the updated location including id, name, address, city, country, currency, state, and other location fields. Required: id, name.
delete_a_snipe_it_location_by_id
Delete a snipeit location by id. Returns a success confirmation including status, messages, and payload. Required: id.
snipe_it_locations_partial_update
Partially update a snipeit location by id. Returns: id. Required: id.
list_all_snipe_it_accessories
List accessories in snipeit with optional filtering and sorting. Returns: id, name, company, manufacturer, supplier, model_number, category, location, notes, qty, purchase_date, purchase_cost, order_number, min_qty, remaining_qty, image, created_at, updated_at, available_actions, user_can_checkout.
create_a_snipe_it_accessory
Create a new accessory in snipeit. Returns the created accessory record including id, name, qty, remaining_qty, category, manufacturer, location, model_number, created_at, updated_at, and available_actions. Required: name, qty, category_id.
get_single_snipe_it_accessory_by_id
Get the details of a single snipeit accessory by id. Returns: id, name, created_at, updated_at. Required: id.
update_a_snipe_it_accessory_by_id
Fully update an existing snipeit accessory by id (replaces all fields). Returns the updated accessory record including id, name, qty, remaining_qty, category, manufacturer, location, model_number, created_at, updated_at, and available_actions. Required: id, name, qty, category_id.
delete_a_snipe_it_accessory_by_id
Delete an accessory in snipe-it by id. Returns an empty response on success. Required: id.
snipe_it_accessories_partial_update
Partially update an existing accessory in snipe-it by id. Returns the updated accessory object including id, name, category, manufacturer, qty, remaining_qty, and available_actions. Required: id.
list_all_snipe_it_consumables
List snipeit consumables with optional filtering and sorting. Returns: id, name, image, category, company, item_no, location, manufacturer, min_amt, model_number, remaining, order_number, purchase_cost, purchase_date, qty, created_at, updated_at, user_can_checkout, available_actions.
create_a_snipe_it_consumable
Create a new snipeit consumable. Returns: id, name, image, category, company, item_no, location, manufacturer, min_amt, model_number, remaining, order_number, purchase_cost, purchase_date, qty, created_at, updated_at, user_can_checkout, available_actions. Required: name, qty, category_id.
get_single_snipe_it_consumable_by_id
Get details of a single snipeit consumable by id. Returns: id, name, created_at, updated_at. Required: id.
update_a_snipe_it_consumable_by_id
Fully update a snipeit consumable by id using PUT (all required fields must be supplied). Returns: id, name, image, category, company, item_no, location, manufacturer, min_amt, model_number, remaining, order_number, purchase_cost, purchase_date, qty, created_at, updated_at, user_can_checkout, available_actions. Required: id, name, qty, category_id.
delete_a_snipe_it_consumable_by_id
Delete a consumable in snipeit by id. Returns an empty response on success. Required: id.
snipe_it_consumables_partial_update
Partially update a consumable in snipeit by id. Returns the updated consumable object including id, name, category, qty, remaining, purchase_cost, created_at, and updated_at. Required: id.
create_a_snipe_it_consumable_checkout
Check out a consumable in snipeit to a user. Returns an empty response body on success. Required: consumable_id.
list_all_snipe_it_components
List snipeit components with optional filters and sorting. Returns: id, name, image, serial, location, qty, min_amt, category, order_number, purchase_date, purchase_cost, remaining, company, created_at, updated_at, user_can_checkout, available_actions.
create_a_snipe_it_component
Create a new snipeit component. Returns the created component including id, name, serial, qty, category, location, order_number, purchase_cost, remaining, created_at, updated_at, and available_actions. Required: name, qty, category_id.
get_single_snipe_it_component_by_id
Get details of a single snipeit component by id. Returns: id, name, created_at, updated_at. Required: id.
update_a_snipe_it_component_by_id
Fully update a snipeit component by id. Returns the updated component including id, name, serial, qty, category, location, order_number, purchase_cost, remaining, created_at, updated_at, and available_actions. Required: id, name, qty, category_id.
delete_a_snipe_it_component_by_id
Delete a snipeit component by id. Returns an empty response on success. Required: id.
snipe_it_components_partial_update
Partially update a snipeit component by id. Returns the updated component object including id, name, qty, category, location, purchase_cost, remaining, created_at, updated_at, and available_actions. Required: id.
list_all_snipe_it_component_assets
List snipeit hardware assets that a specific component has been checked out to. Returns: id, name, created_at, updated_at, deleted_at. Required: component_id.
create_a_snipe_it_component_checkout
Check out a snipeit component to an asset. The API returns an empty response body on success. Required: component_id, assigned_to, assigned_qty.
create_a_snipe_it_component_checkin
Check a snipeit component back in from an asset by supplying the components_assets join record id and the quantity to return. Returns an empty 200 response on success. Required: component_id, checkin_qty.
list_all_snipe_it_users
List snipeit users with optional filtering by name, email, department, company, location, and more. Returns: id, first_name, last_name, username, email, phone, jobtitle, employee_num, notes, permissions, activated, manager_id, company_id, department_id, location_id, remote, vip, groups, start_date, end_date, two_factor_enrolled, two_factor_optin, autoassign_licenses, avatar, created_at,…
create_a_snipe_it_user
Create a new user in snipeit. Returns the created user record including id, username, first_name, email, activated, created_at, and other profile attributes. Required: first_name, username, password, password_confirmation.
get_single_snipe_it_user_by_id
Get a single snipeit user by id. Returns the full user record including id, first_name, last_name, username, email, activated, jobtitle, department_id, location_id, remote, vip, created_at, updated_at, and other profile attributes. Required: id.
update_a_snipe_it_user_by_id
Fully replace a snipeit user's data by id using PUT (unspecified fields are cleared). Returns the updated user record including id, username, first_name, email, activated, jobtitle, department_id, location_id, created_at, and other profile attributes. Required: id.
delete_a_snipe_it_user_by_id
Delete a snipe-it user by id. Returns an empty 204 response on success. Required: id.
snipe_it_users_restore
Restore a soft-deleted snipe-it user by id. Returns: id, created_at, updated_at. Required: id.
snipe_it_users_partial_update
Partially update a snipe-it user by id. Returns: id, created_at, updated_at. Required: id.
list_all_snipe_it_user_assets
List assets checked out to a specific snipeit user. Returns: total, rows (array of asset objects). Required: user_id. Optionally filter results by category_id or model_id.
list_all_snipe_it_user_accessories
List accessories checked out to a specific snipeit user. Returns each accessory record including id, name, manufacturer, supplier, model_number, category, location, qty, remaining_qty, available_actions, and user_can_checkout. Required: user_id.
list_all_snipe_it_user_licenses
List licenses checked out to a specific snipeit user. Returns license records including id, name, product_key, seats, free_seats_count, license_name, license_email, manufacturer, purchase_date, expiration_date, maintained, category, created_at, updated_at, user_can_checkout, and available_actions. Required: user_id.
list_all_snipe_it_user_eulas
List the EULAs accepted by a specific snipeit user. Returns: id, created_at, updated_at. Required: user_id.
list_all_snipe_it_statuslabels
List snipeit status labels. Returns: id, name, color, show_in_nav, assets_count, notes, created_at, updated_at, available_actions. Filter by name, search, status_type, sort, and order.
create_a_snipe_it_statuslabel
Create a new status label in snipeit. Returns: status, messages, payload. Required: name, type.
get_single_snipe_it_statuslabel_by_id
Get a single snipeit status label by id. Returns: id, name, color, show_in_nav, assets_count, notes, created_at, updated_at, available_actions. Required: id.
update_a_snipe_it_statuslabel_by_id
Fully update a snipeit status label by id (all fields replaced). Returns: status, messages, payload. Required: id, name, type.
delete_a_snipe_it_statuslabel_by_id
Delete a snipeit status label by id. Returns an empty 204 response on success. Required: id.
snipe_it_statuslabels_partial_update
Partially update a snipeit status label by id. Returns the update result including status, messages, and a payload object containing id, name, deployable, pending, archived, created_at, and updated_at. Required: id.
list_all_snipe_it_statuslabel_assetlists
List assets in snipeit associated with a specific status label. Returns asset records including id (the upstream API does not enumerate additional response fields for this endpoint). Required: statuslabel_id.
list_all_snipe_it_models
List asset models in snipeit. Returns: id, name, created_at, updated_at. Supports filtering by name, model_number, category_id, depreciation_id, requestable, and free-text search.
create_a_snipe_it_model
Create a new asset model in snipeit. Returns: id, name, created_at, updated_at. Required: name, category_id.
get_single_snipe_it_model_by_id
Get a specific snipeit asset model by id. Returns: id, name, created_at, updated_at. Required: id.
update_a_snipe_it_model_by_id
Fully update a snipeit asset model by id using PUT. Returns: id, name, created_at, updated_at. Required: id, name, category_id.
delete_a_snipe_it_model_by_id
Delete a snipeit model by id. Returns the deleted model object including id, name, created_at, and updated_at. Required: id.
snipe_it_models_partial_update
Partially update a snipeit model by id. Returns the updated model object including id, name, created_at, and updated_at. Required: id.
list_all_snipe_it_model_files
List files attached to a snipeit model by model ID. Returns: id, name, created_at, updated_at. Required: model_id.
create_a_snipe_it_model_file
Upload one or more files to a snipeit model. Returns an empty 204 response on success. Required: model_id, file.
delete_a_snipe_it_model_file_by_id
Delete a file from a snipeit model by file id. Returns an empty 204 response on success. Required: model_id, id.
list_all_snipe_it_license_seats
List all seats for a snipe-it license. Returns: id, license_id, assigned_user, assigned_asset, location, reassignable, user_can_checkout, name, available_actions. Required: license_id.
update_a_snipe_it_license_seat_by_id
Update the user or asset a snipe-it license seat is checked out to (check-in/check-out) using PUT. Returns: status, messages, payload. Required: license_id, id.
get_single_snipe_it_license_seat_by_id
Get a specific snipe-it license seat by id. Returns: id, license_id, assigned_user, assigned_asset, location, reassignable, user_can_checkout, available_actions, name. Required: license_id, id.
snipe_it_license_seats_partial_update
Partially update a snipeit license seat by id. Returns: status, messages, payload. Required: license_id, id.
list_all_snipe_it_categories
List snipeit categories with optional filtering by name, search string, category type, and other attributes. Returns: id, name, created_at, updated_at.
create_a_snipe_it_category
Create a new category in snipeit. Returns: id, name, created_at, updated_at. Required: name, category_type.
get_single_snipe_it_category_by_id
Get a single snipeit category by id. Returns: id, name, created_at, updated_at. Required: id.
update_a_snipe_it_category_by_id
Fully replace a snipeit category record by id using PUT. Returns: id, name, created_at, updated_at. Required: id, name, category_type.
delete_a_snipe_it_category_by_id
Delete a snipeit category by id. Returns the deleted category object including id, name, created_at, and updated_at. Required: id.
snipe_it_categories_partial_update
Partially update a snipeit category by id. Returns the updated category object including id, name, created_at, and updated_at. Required: id.
list_all_snipe_it_manufacturers
List manufacturers in snipeit with optional filters by name, url, support_url, support_phone, or support_email. Returns: id, name, url, image, support_url, support_phone, support_email, assets_count, licenses_count, consumables_count, accessories_count, created_at, updated_at, deleted_at, available_actions.
create_a_snipe_it_manufacturer
Create a manufacturer in snipeit. Returns the created manufacturer record including id, name, created_at, and updated_at. Required: name.
get_single_snipe_it_manufacturer_by_id
Get a single snipeit manufacturer by id. Returns: id, name, created_at, updated_at. Required: id.
update_a_snipe_it_manufacturer_by_id
Update a snipeit manufacturer by id using a full PUT replace. Returns the updated manufacturer record including id, name, created_at, and updated_at. Required: id, name.
delete_a_snipe_it_manufacturer_by_id
Delete a snipeit manufacturer by id. Returns the deleted manufacturer object including id, name, url, support_url, assets_count, created_at, and updated_at. Required: id.
snipe_it_manufacturers_partial_update
Partially update a snipeit manufacturer by id. Returns the updated manufacturer object including id, name, url, support_url, support_phone, support_email, and created_at. Required: id.
list_all_snipe_it_suppliers
List suppliers in snipeit with optional filtering by any supplier attribute. Returns: id, name, address, address2, city, zip, country, fax, email, url, notes.
get_single_snipe_it_supplier_by_id
Get a single snipeit supplier by id. Returns: id, name, url. Required: id.
list_all_snipe_it_maintenances
List asset maintenances in snipeit. Returns: id, asset, title, location, notes, supplier, cost, asset_maintenance_type, start_date, asset_maintenance_time, completion_date, user_id, created_at, updated_at, available_actions. Optionally filter by asset_id or search string.
create_a_snipe_it_maintenance
Create a new asset maintenance record in snipeit. Returns an empty response on success. Required: name, asset_id, supplier_id, asset_maintenance_type, start_date.
delete_a_snipe_it_maintenance_by_id
Delete an asset maintenance record in snipeit by id. Returns the deleted maintenance record including id, title, asset_id, supplier_id, asset_maintenance_type, start_date, deleted_at, created_at, updated_at, user_id, and nested asset. Required: id.
update_a_snipe_it_maintenance_by_id
Fully update an existing asset maintenance record in snipeit by id. Returns: id, asset, title, location, notes, supplier, cost, asset_maintenance_type, start_date, asset_maintenance_time, completion_date, user_id, created_at, updated_at, available_actions. Required: id, name, asset_id, supplier_id, asset_maintenance_type, start_date.
snipe_it_maintenances_partial_update
Partially update an existing asset maintenance record in snipeit by id with only the fields you wish to change. Returns: id, asset, title, location, notes, supplier, cost, asset_maintenance_type, start_date, asset_maintenance_time, completion_date, user_id, created_at, updated_at, available_actions. Required: id.
list_all_snipe_it_departments
List departments in snipeit. Returns: id, name, image, company, manager, location, users_count, created_at, updated_at, available_actions. Optionally filter by name, company_id, manager_id, or location_id.
create_a_snipe_it_department
Create a new department in snipeit. Returns: status, messages, payload. Required: name.
get_single_snipe_it_department_by_id
Get a single snipeit department by id. Returns: id, name, image, company, manager, location, users_count, created_at, updated_at, available_actions. Required: id.
update_a_snipe_it_department_by_id
Update a snipeit department by id using a full PUT replacement. Returns: status, messages, payload. Required: id, name.
delete_a_snipe_it_department_by_id
Delete a Snipe-IT department by id. Returns the deleted department object including id, name, created_at, and updated_at. Required: id. Departments currently associated with at least one user cannot be deleted.
snipe_it_departments_partial_update
Partially update a Snipe-IT department by id. Returns the update result including status, messages, and a payload object containing id, name, user_id, company_id, location_id, manager_id, notes, created_at, updated_at, deleted_at, and image. Required: id.
list_all_snipe_it_groups
List snipeit groups, optionally filtered by name. Returns: id, name, permissions.
create_a_snipe_it_group
Create a new group in snipeit. Returns: id, name, permissions. Required: name.
get_single_snipe_it_group_by_id
Get a single snipeit group by id. Returns: id, name. Required: id.
update_a_snipe_it_group_by_id
Fully update a snipeit group by id. Returns: id, name, permissions. Required: id, name.
delete_a_snipe_it_group_by_id
Delete a snipeit group by id. Returns an empty response on success. Required: id.
snipe_it_groups_partial_update
Partially update a snipeit group by id. Returns an empty response on success. Required: id.
list_all_snipe_it_settings_backups
List snipeit settings backups. Returns the backup settings object; the snipeit API documentation does not enumerate the response fields for this endpoint.
list_all_snipe_it_backups_downloads
Download a snipeit backup file by its short file name. Returns the raw backup file content as an opaque download stream; no structured JSON fields are documented for the response. Required: file.
list_all_snipe_it_reports_activities
List snipeit activity report rows. Returns: id, created_at, action_type, user_id, target_id, target_type, item_id, item_type, accept_signature, note. Optionally filter by search, action_type, item_type/item_id (mutually required pair), or target_type/target_id (mutually required pair); sort and order results by any documented column.
list_all_snipe_it_consumable_users
List snipeit users who have been checked out a specific consumable. Returns user records including id, name, created_at, and updated_at for each user assigned to the consumable. Required: consumable_id.
snipe_it_consumable_users_list_2
List snipeit users who have been checked out a specific consumable (alternate singular-path endpoint). Returns user records including id, name, created_at, and updated_at for each user assigned to the consumable. Required: id.
create_a_snipe_it_hardware_checkout
Check out a snipeit hardware asset to assign it. Returns: status, messages. Required: hardware_id.
create_a_snipe_it_hardware_checkin
Check in a snipeit hardware asset back into inventory. Returns a rows array containing the checked-in asset record including id, asset_tag, status_label, assigned_to, location, name, serial, category, manufacturer, and purchase_date. Required: hardware_id.
list_all_snipe_it_hardware_licenses
List all licenses associated with a specific hardware asset in snipeit. Returns: id, name, company, manufacturer, product_key, order_number, purchase_order, purchase_date, purchase_cost, notes, expiration_date, seats, free_seats_count, license_name, license_email, maintained, supplier, category, created_at, updated_at, user_can_checkout, available_actions. Required: hardware_id.
list_all_snipe_it_hardware_files
List files attached to a snipeit hardware asset. Returns file records including id. Required: hardware_id.
create_a_snipe_it_hardware_file
Attach a file to a snipeit hardware asset. Returns the newly created file record including id. Required: hardware_id.
get_single_snipe_it_hardware_file_by_id
Get a specific file attached to a snipeit hardware asset by id. Returns the file record including id. Required: hardware_id, id.
snipe_it_hardware_files_bulk_delete
Delete a file attached to a snipeit hardware asset by id. Returns an empty 204 response on success. Required: hardware_id, id.
list_all_snipe_it_accessory_checkedouts
List checked-out accessory records for a specific snipeit accessory by its id. Returns: id, name, company, manufacturer, supplier, model_number, category, location, notes, qty, purchase_date, purchase_cost, order_number, min_qty, remaining_qty, image, created_at, updated_at, available_actions, user_can_checkout. Required: accessory_id.
create_a_snipe_it_accessory_checkin
Check in a snipeit accessory to return it to inventory. Returns an empty JSON object on success. Required: accessory_id.
create_a_snipe_it_accessory_checkout
Check out a snipeit accessory to a user or location by submitting a checkout request against the accessory's endpoint. Returns an empty response body on success. Required: accessory_id.
list_all_snipe_it_me
Get the profile of the currently authenticated Snipe-IT user. Returns the current user's record including id, created_at, and updated_at. No required parameters.
Why Truto
Why use Truto’s MCP server for Snipe-IT
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 600+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
Unified APIs
Unified APIs for Snipe-IT
Skip writing code for every integration. Use Truto’s category-specific Unified APIs out of the box or customize the mappings with AI.
Unified User Directory API
Activities
Activities are the actions performed by users in the source application.
Groups
Groups are a collection of users in the source application. In some applications, they might also be called Teams.
Licenses
Licenses represent concepts like user seats in apps that support them
Me
Organizations
Organizations are the top level entity in the source application. Users are associated with an organization.
Roles
The Role object represents a role of a User.
Users
The User object represents a User.
How It Works
From zero to integrated
Go live with Snipe-IT in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Snipe-IT account
Use Truto’s frontend SDK to connect your customer’s Snipe-IT account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Snipe-IT
Truto’s Proxy API is a 1-to-1 mapping of the Snipe-IT API. You call us, we call Snipe-IT, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Snipe-IT’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Snipe-IT on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How does authentication work for end users connecting their Snipe-IT account?
Snipe-IT uses personal API tokens generated from a user's Snipe-IT profile. Your end users paste their token and instance URL into Truto's connect flow, and Truto handles token storage, injection, and refresh on every request.
Does this integration support both self-hosted and cloud Snipe-IT instances?
Yes. Because each connection captures the user's instance URL alongside their API token, the same integration works for Snipe-IT Cloud tenants and self-hosted deployments.
Can I read and write custom fields on assets?
Yes. Truto exposes tools to list, create, update, and delete custom fields and fieldsets, as well as associate and disassociate fields with fieldsets, so you can support customer-specific asset schemas.
What write operations are supported beyond reading data?
You can create and update users, hardware, licenses, accessories, consumables, components, categories, models, manufacturers, locations, companies, departments, and status labels, plus perform checkouts, check-ins, and audit actions on assets.
Can I use Truto's Unified User Directory API instead of Snipe-IT–specific user endpoints?
Yes. Snipe-IT users, groups, and related directory data are available through Truto's Unified User Directory API, which normalizes the schema across providers so you can build once and support multiple ITAM and HRIS sources.
How fresh is the data — does Truto support webhooks or is it polling-based?
Snipe-IT does not offer native webhooks, so Truto retrieves data via its REST API on demand or on a schedule you configure. For workflows like audit alerts or license reconciliation, scheduled syncs typically provide sufficient freshness.
Snipe-IT
Get Snipe-IT integrated into your app
Our team understands what it takes to make a Snipe-IT integration successful. A short, crisp 30 minute call with folks who understand the problem.