---
title: Snipe-IT API Integration on Truto
slug: snipeit
category: Device Management
canonical: "https://truto.one/integrations/detail/snipeit/"
---

# Snipe-IT API Integration on Truto



**Category:** Device Management  
**Status:** Beta

## Unified APIs

### 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.

## MCP-ready AI tools

Truto exposes 145 tools for Snipe-IT that AI agents can call directly.

- **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.

## How it works

1. **Link your customer's Snipe-IT account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Snipe-IT.** The Proxy API is a 1-to-1 mapping of the Snipe-IT API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **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

- **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.

## FAQs

### 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.
