Skip to content

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 us
Snipe-IT

Use Cases

Why integrate with Snipe-IT

Common scenarios for SaaS companies building Snipe-IT integrations for their customers.

01

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.

02

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.

03

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.

04

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.

05

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.

01

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.

02

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.

03

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.

04

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.

05

License utilization dashboards

Combine total seats, free seat counts, and per-user license assignments to visualize idle spend and flag renewal decisions.

06

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

View Docs

Groups

Groups are a collection of users in the source application. In some applications, they might also be called Teams.

View Docs

Licenses

Licenses represent concepts like user seats in apps that support them

View Docs

Organizations

Organizations are the top level entity in the source application. Users are associated with an organization.

View Docs

Roles

The Role object represents a role of a User.

View Docs

Users

The User object represents a User.

View Docs

How It Works

From zero to integrated

Go live with Snipe-IT in under an hour. No boilerplate, no maintenance burden.

01

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.

02

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.

03

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.

04

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.