---
title: Unleashed API Integration on Truto
slug: unleashed
category: ERP
canonical: "https://truto.one/integrations/detail/unleashed/"
---

# Unleashed API Integration on Truto



**Category:** ERP  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 131 tools for Unleashed that AI agents can call directly.

- **list_all_unleashed_accounts** — List a page of accounts in Unleashed. Returns: AccountCode, AccountName, AccountType, Pagination, Items. Paginated with pageSize default 200, max 1000.
- **list_all_unleashed_assemblies** — List assemblies in Unleashed with optional filters by assembly number, status, custom status, and date windows. Returns the assembly record including Guid, AssemblyNumber, AssemblyStatus, Product, AssemblyLines, Quantity, Total, SourceWarehouse, DestinationWarehouse, ProductionPerson, and CreatedOn/LastModifiedOn.
- **create_a_unleashed_assembly** — Create a new assembly in Unleashed with AssemblyLines (Bill of Materials style). Returns the created assembly record including Guid, AssemblyNumber, AssemblyStatus, Product, AssemblyLines, Quantity, Total, and CreatedOn. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **unleashed_assemblies_complete** — Complete an existing assembly in Unleashed, transitioning it out of the parked state into a final state. Returns the assembly record including Guid, AssemblyNumber, AssemblyStatus, Product, AssemblyLines, Quantity, Total, and LastModifiedOn. Required: assembly_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. Takes no request body.
- **get_single_unleashed_assembly_by_id** — Get a specific assembly in Unleashed by its Guid. Returns the full assembly object including Guid, AssemblyNumber, ProductCode, ProductDescription, Quantity, AssemblyStatus, AssemblyDate, TotalCost, and nested arrays for AssemblyLines, BatchNumbers, SerialNumbers, and SupplierCosts. Required: id.
- **update_a_unleashed_assembly_by_id** — Update an existing assembly and its existing lines in Unleashed. Returns the updated assembly record including Guid, AssemblyNumber, AssemblyStatus, Product, AssemblyLines, Quantity, Total, and LastModifiedOn. Required: assembly_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **delete_a_unleashed_assembly_by_id** — Delete a parked assembly in Unleashed by its GUID. Returns an empty 200 response on success. Required: assembly_guid.
- **list_all_unleashed_assembly_statuses** — List the assembly statuses available to your Unleashed organisation, including fixed statuses (Parked, Completed) and any custom statuses. Returns: Name, Obsolete, IsCustomStatus, LastModifiedOn.
- **list_all_unleashed_attribute_sets** — List a page of Unleashed Attribute Sets. Returns each set's Guid, SetName, Type, Attributes, CreatedBy, CreatedOn, LastModifiedBy, LastModifiedOn. Paginated (default 200 per page, max 1000).
- **create_a_unleashed_attribute_set** — Create a new Attribute Set in Unleashed. Returns the created attribute set including its Guid, SetName, Type, Attributes, and audit fields (CreatedBy, CreatedOn, LastModifiedBy, LastModifiedOn). Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **get_single_unleashed_attribute_set_by_id** — Get a single Unleashed Attribute Set by Guid. Returns the attribute set including its Guid, SetName, Type, Attributes, CreatedBy, CreatedOn, LastModifiedBy, LastModifiedOn. Required: id.
- **list_all_unleashed_batch_numbers** — List Unleashed batch numbers. Returns a paginated array of records with Number, ExpiryDate, Quantity, OriginalQty, Status, ProductCode, WarehouseCode, Guid, and audit timestamps (CreatedBy/On, LastModifiedBy/On). Default page size is 200, max 1000.
- **get_single_unleashed_batch_number_by_id** — Get a single Unleashed batch number by id. Returns the full record including BatchNumber, ExpiryDate, Quantity, OriginalQty, Status, ProductCode, WarehouseCode, Guid, and audit fields (CreatedBy/On, LastModifiedBy/On). Required: id.
- **list_all_unleashed_bill_of_materials** — List Bills of Materials in Unleashed. Returns records with Guid, BillNumber, Product, ProductCode, Quantity, BillOfMaterialsLines, TotalCost, CreatedOn, and Obsolete. Max 1000 per page (default 200); optional includeObsolete and productGuid query filters available.
- **create_a_unleashed_bill_of_material** — Create a new Bill of Materials in Unleashed. Returns the created BOM object including Guid, BillNumber, Product, Quantity, BillOfMaterialsLines, and DurationType. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **get_single_unleashed_bill_of_material_by_id** — Get a Bill of Materials in Unleashed by id. Returns the full BOM object including Guid, BillNumber, Product, ProductCode, Quantity, BillOfMaterialsLines, TotalCost, ExpectedDuration, CreatedOn, and Obsolete. Required: id.
- **update_a_unleashed_bill_of_material_by_id** — Update a Bill of Materials in Unleashed by id. Returns the updated BOM object including Guid, BillNumber, Product, Quantity, BillOfMaterialsLines, and CreatedOn. Required: id. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **list_all_unleashed_companies** — List companies in Unleashed. The upstream documentation records only a 200 OK response with no enumerated field shape, so no response fields can be listed here. Pagination: page number in the path, pageSize query param (default 200, max 1000). No caller-supplied parameters are required.
- **list_all_unleashed_credit_notes** — List Unleashed Credit Notes. Each item includes CreditNumber, CreditStatus, CreditDate, Reference, Total, SubTotal, TaxTotal, CreditLines, Customer, Currency, Warehouse, SalesOrder, Tax, and audit timestamps. Supports filtering by creditNumber, creditStatus, startDate, endDate, and modifiedSince.
- **get_single_unleashed_credit_note_by_id** — Get a single Unleashed Credit Note by id. Returns the full credit note including CreditNumber, CreditStatus, CreditDate, Reference, Total, SubTotal, TaxTotal, CreditLines, Customer, Currency, Warehouse, SalesOrder, Tax, and audit timestamps. Required: id.
- **update_a_unleashed_credit_note_by_id** — Update an existing free entry Unleashed Credit Note by id. Returns an empty 200 response on success. The upstream API documents the request body as an empty JSON object. Required: id. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **delete_a_unleashed_credit_note_by_id** — Delete an existing free entry Unleashed Credit Note by id. Returns an empty 200 response on success. Required: id.
- **unleashed_credit_notes_complete** — Complete an existing Unleashed Credit Note by credit_note_guid. Returns an empty 200 response on success. Required: credit_note_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. Takes no request body.
- **create_a_unleashed_credit_notes_free_credit** — Create a free entry credit note in Unleashed. Returns a 200 OK response with no body on success. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. ExchangeRate is required, and every credit line needs a Reason (e.g. 'Faulty'). Set Return: false on a line to credit without returning stock.
- **list_all_unleashed_currencies** — List Unleashed currencies with their codes and exchange rates. Returns: CurrencyCode, DefaultBuyRate, DefaultSellRate, Description, Guid, LastModifiedOn. Optional: inUse.
- **list_all_unleashed_customer_delivery_addresses** — List Unleashed customer delivery addresses. Returns the Addresses collection with each record including its Guid, CustomerCode, AddressName, AddressType, StreetAddress, StreetAddress2, Suburb, City, Region, PostalCode, Country, DeliveryInstruction, Obsolete, and LastModifiedOn. Page size defaults to 200 with a maximum of 1000.
- **list_all_unleashed_customer_types** — List a page of Customer Types from Unleashed. Returns: Guid, LastModifiedOn, TypeName.
- **list_all_unleashed_customers** — List a page of Unleashed Customers with optional filters like customerCode, customerName, currency, customerType, modifiedSince, includeObsolete, and stopCredit. Returns customer records with Guid, CustomerCode, CustomerName, Currency, CreditLimit, Contacts, Addresses, and audit fields. Default page size 200, max 1000.
- **create_a_unleashed_customer** — Create a new Unleashed Customer. The request body accepts up to 53 documented fields covering identity (CustomerName, CustomerCode), contact details, addresses, bank info, sales/tax configuration, and audit flags. Returns the created customer record including Guid, CustomerCode, CustomerName, Currency, CreditLimit, Contacts, and 3 more fields. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **get_single_unleashed_customer_by_id** — Get a single Unleashed Customer by id (customer Guid). Returns the full customer record including Guid, CustomerCode, CustomerName, Currency, CreditLimit, Contacts, Addresses, and audit fields (CreatedOn, LastModifiedOn). Required: id.
- **update_a_unleashed_customer_by_id** — Update an Unleashed Customer by id (Guid). Returns the updated customer record including Guid, CustomerCode, CustomerName, Currency, CreditLimit, Contacts, Addresses, and audit fields. Required: id. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **list_all_unleashed_contacts** — List contacts for a customer in Unleashed. Returns a denormalized customer object including Guid, CustomerName, the Contacts array, the Addresses array, Currency, and Email. Required: customer_guid.
- **create_a_unleashed_contact** — Create a new contact for a customer in Unleashed. Returns a 200 OK response with no documented body on success. Required: customer_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **update_a_unleashed_contact_by_id** — Update an existing customer contact in Unleashed. Returns a 200 OK response with no documented body on success. Required: customer_guid, contact_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **delete_a_unleashed_contact_by_id** — Delete a customer contact in Unleashed. Returns a 200 OK response with no documented body on success. Required: customer_guid, contact_guid. Unleashed deletes the contact but currently answers HTTP 500 ('The only supported IsolationLevel is IsolationLevel.Serializable'); list the contacts to confirm.
- **list_all_unleashed_delivery_methods** — List delivery methods in Unleashed as a paginated collection. Returns the page of records with content-type-specific fields (each record includes its identifier and edit metadata). Page size defaults to 200 and maxes out at 1000. Optional filters: modifiedSince, name.
- **list_all_unleashed_invoices** — List a page of Sales Invoices from Unleashed. Returns invoice records with Guid, InvoiceNumber, InvoiceStatus, Customer, SubTotal, TaxTotal, Total, DueDate, and InvoiceLines. Default page size 200, max 1000.
- **get_single_unleashed_invoice_by_id** — Get a single Sales Invoice from Unleashed by its GUID. Returns the full invoice record including Guid, InvoiceNumber, InvoiceStatus, Customer, SubTotal, TaxTotal, Total, DueDate, InvoiceLines, and address fields. Required: id.
- **list_all_unleashed_payment_terms** — List a page of payment terms in Unleashed. Returns: an array of payment term records whose fields (Guid, Description, etc.) are defined upstream and not enumerated in this resource's documentation. Page size default 200, max 1000; Truto handles pagination.
- **list_all_unleashed_product_brands** — List Product Brands in Unleashed. Returns: BrandName, Guid, LastModifiedOn. Max 1000 per page (default 200).
- **list_all_unleashed_product_groups** — List a page of Product Groups in Unleashed. Returns: GroupName, Guid, LastModifiedOn, ParentGroupGuid. Paginated via path; pageSize defaults to 200 with a maximum of 1000.
- **list_all_unleashed_product_prices** — List product prices in Unleashed. Returns individual price records including Guid, Product, ProductGroup, Customer, PriceType, DiscountValue, DefaultSellPrice, and CustomerPrice. All filter query params are optional: asAtDate, customerCode, modifiedSince, productCode, productGroupPrices.
- **get_single_unleashed_product_price_by_id** — Get a specific product price in Unleashed by id. Returns the price record including Guid, Product, ProductGroup, Customer, PriceType, DiscountValue, DefaultSellPrice, and CustomerPrice. Required: id.
- **list_all_unleashed_products** — List Unleashed Products. Returns an array of full product objects including Guid, ProductCode, ProductDescription, DefaultSellPrice, DefaultPurchasePrice, Obsolete, and UnitOfMeasure. Paginated — pageSize defaults to 200 (max 1000).
- **create_a_unleashed_product** — Create a new Unleashed Product from a product payload including ProductCode, ProductDescription, UnitOfMeasure, prices, supplier, dimensions, and stock levels. Returns the created product with its Guid, ProductCode, ProductDescription, DefaultSellPrice, and other key fields. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **get_single_unleashed_product_by_id** — Get a single product in Unleashed by id. Returns the full product object including its Guid, ProductCode, ProductDescription, DefaultSellPrice, DefaultPurchasePrice, UnitOfMeasure, IsSellable, IsPurchasable, and related inventory, supplier, and warehouse details. Required: id.
- **update_a_unleashed_product_by_id** — Update an existing Unleashed Product by id (its Guid). Sends a product payload including ProductCode, ProductDescription, UnitOfMeasure, prices, supplier, dimensions, and stock levels. Returns the updated product with its Guid, ProductCode, ProductDescription, DefaultSellPrice, and other key fields. Required: id. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. Some fields cannot be changed on a product that has a bill of materials.
- **list_all_unleashed_purchase_orders** — List Purchase Orders from Unleashed with optional filters by status, supplier, warehouse, date range, or order number. Returns: BCSubTotal, BCTaxTotal, BCTotal, Comments, CompletedDate, CreatedBy, CreatedOn, Currency, CustomOrderStatus, DeliveryCity, DeliveryCountry, DeliveryDate, and 103 more. Specifying orderNumber overrides all other filters.
- **create_a_unleashed_purchase_order** — Create a new Purchase Order in Unleashed. Returns the created purchase order with guid, order number, supplier, status, totals, and line items. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. Currency must be the supplier's default currency and have a rate on the Currency Rates page. Tax must be a purchase tax: set Tax, TaxCode and each line's LineTaxCode/LineTaxRate consistently.
- **unleashed_purchase_orders_complete** — Mark a Purchase Order as completed in Unleashed. Returns the completed purchase order with guid, order number, supplier, status, totals, and line items. Required: order_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. Takes no request body.
- **get_single_unleashed_purchase_order_by_id** — Get a single Unleashed purchase order by its Guid. Returns the full purchase order including its Guid, OrderNumber, OrderStatus, order dates, supplier, currency, tax, warehouse, billing/delivery address, totals (SubTotal, TaxTotal, Total), and the PurchaseOrderLines array with line items, and 2 more fields. Required: id.
- **update_a_unleashed_purchase_order_by_id** — Update a Purchase Order in Unleashed. Returns the updated purchase order with guid, order number, supplier, status, totals, and line items. Required: order_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **delete_a_unleashed_purchase_order_by_id** — Delete a Purchase Order from Unleashed. Returns an empty 200 response on success. Required: order_guid. Soft delete: the order is marked Deleted and drops out of lists.
- **list_all_unleashed_recost_adjustments** — List Unleashed recost adjustments. Returns: CompletedDate, Currency, EntryDate, PurchaseOrderGuid, PurchaseOrderNumber, SupplierCode, TaxCode, Total. Optional completedBefore and completedAfter filter by completion date. Defaults to 200 per page, max 1000.
- **list_all_unleashed_sales_order_groups** — List Sales Order Groups in Unleashed. Returns a page of Items including id and attributes for each group record. Page number is supplied in the path; pageSize defaults to 200, maximum 1000.
- **list_all_unleashed_sales_order_statuses** — List all sales order statuses in Unleashed. Returns each status with: Name, IsCustomStatus, Obsolete, LastModifiedOn. Page size defaults to 200, max 1000.
- **list_all_unleashed_sales_orders** — List Unleashed sales orders with optional filters by customer, warehouse, status, dates, or order number. Returns the full sales order including Guid, OrderNumber, OrderStatus, Customer, Warehouse, SalesOrderLines, SubTotal, TaxTotal, and Total.
- **create_a_unleashed_sales_order** — Create a sales order in Unleashed. Returns the created order with Guid, OrderNumber, OrderStatus, Customer, SalesOrderLines, SubTotal, TaxTotal, and Total. Requires Customer, OrderStatus, ExchangeRate, Tax, TaxRate, SubTotal, TaxTotal, Total, and SalesOrderLines. Required: Customer, ExchangeRate, OrderStatus, SalesOrderLines, SubTotal, Tax,… Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. Currency must be the customer's default currency and have a rate on Settings > System Settings > Currency Rates. Tax code + rate must map to a sales tax that exists in the account. SubTotal/TaxTotal/Total must match the lines.
- **unleashed_sales_orders_complete** — Mark a Unleashed sales order as completed. Returns an empty 200 response on success. Required: order_guid, orderGuid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. Takes no request body.
- **get_single_unleashed_sales_order_by_id** — Get a single sales order in Unleashed by its Guid. Returns the full sales order including OrderNumber, OrderDate, OrderStatus, Customer, Warehouse, SalesOrderLines, SubTotal, TaxTotal, and Total. Required: id.
- **update_a_unleashed_sales_order_by_id** — Update an existing sales order in Unleashed. Returns the updated order with Guid, OrderNumber, OrderStatus, Customer, SalesOrderLines, SubTotal, TaxTotal, and Total. Requires id, Customer, OrderStatus, ExchangeRate, Tax, TaxRate, SubTotal, TaxTotal, Total, and SalesOrderLines. Required: id, Customer, ExchangeRate, OrderStatus, SalesOrderLines,… Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **delete_a_unleashed_sales_order_by_id** — Delete a sales order in Unleashed by id. Returns an empty 200 response on success. Required: id.
- **list_all_unleashed_sales_quotes** — List Sales Quotes from Unleashed. Returns the quote object including QuoteNumber, QuoteStatus, SubTotal, TaxTotal, Total, Customer, Warehouse, SalesQuoteLines, Guid, and CreatedBy. Filter by customerCode, endDate, modifiedSince, quoteNumber, quoteStatus, sourceId, or startDate. quoteNumber and sourceId, if set, override all other filters.
- **get_single_unleashed_sales_quote_by_id** — Get a single Sales Quote in Unleashed by its GUID. Returns the full quote object including QuoteNumber, QuoteStatus, SubTotal, TaxTotal, Total, Customer, Warehouse, Currency, SalesQuoteLines, Guid, and LastModifiedOn. Required: id.
- **list_all_unleashed_sales_shipments** — List sales shipments in Unleashed with optional filters by date range, order, status, warehouse, or serial/batch inclusion. Returns shipment records with Guid, ShipmentNumber, OrderNumber, ShipmentStatus, SalesShipmentLines, Warehouse, Customer, CreatedOn, CreatedBy, LastModifiedOn, DispatchDate, and delivery details. Default page size 200, max…
- **create_a_unleashed_sales_shipment** — Create a new sales shipment in Unleashed against an existing sales order. Returns an empty 200 response on success. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. Reference the sales order by OrderNumber/OrderGuid; each line needs Product, ShipmentQty and SalesOrderLineNumber. The order must be Placed.
- **get_single_unleashed_sales_shipment_by_id** — Get a single sales shipment by Guid in Unleashed. Returns the full shipment including Guid, ShipmentNumber, OrderNumber, OrderGuid, ShipmentStatus, DispatchDate, SalesShipmentLines, Warehouse, Customer, CreatedOn, CreatedBy, LastModifiedBy, LastModifiedOn, and delivery details. Required: id.
- **update_a_unleashed_sales_shipment_by_id** — Update a sales shipment in Unleashed by GUID. Returns an empty 200 response on success. Required: sales_shipment_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **delete_a_unleashed_sales_shipment_by_id** — Delete a sales shipment in Unleashed by GUID. Returns an empty 200 response on success. Required: sales_shipment_guid.
- **delete_a_unleashed_sales_shipments_line_by_id** — Delete a Sales Shipment Line by its GUID in Unleashed. Returns an empty 204 response on success. Required: sales_shipment_guid. A shipment must keep at least one line; delete the shipment instead to remove the last line.
- **list_all_unleashed_salespersons** — List a page of Salespersons from Unleashed. Returns: Email, FullName, Guid, LastModifiedOn, Obsolete. Page size up to 1000 per page.
- **create_a_unleashed_salesperson** — Create a new Salesperson in Unleashed. Returns an empty 200 OK response on success. Requires FullName, Email, Obsolete, and Guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **update_a_unleashed_salesperson_by_id** — Update an existing Salesperson in Unleashed by id (the salesperson's GUID). Returns an empty 200 OK response on success. Requires id, FullName, Email, Obsolete, and Guid. Required: id. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **list_all_unleashed_sell_price_tiers** — List all available sell price tiers in Unleashed. Returns each tier's Tier number and Name (max length 25).
- **list_all_unleashed_serial_numbers** — List Unleashed serial numbers with optional filters for availability, date range, product code, warehouse code, or a serial-number substring. Returns a page of matching serial number records (default 200 per page, max 1000).
- **get_single_unleashed_serial_number_by_id** — Get a single Unleashed serial number by its GUID identifier. Returns the serial number record. Required: id.
- **list_all_unleashed_shipping_companies** — List Unleashed shipping companies. Returns: CreatedBy, Guid, LastModifiedOn, Name, Obsolete.
- **get_single_unleashed_shipping_company_by_id** — Get a single Unleashed shipping company by id. Returns: CreatedBy, Guid, LastModifiedOn, Name, Obsolete. Required: id.
- **list_all_unleashed_stock_adjustments** — List Unleashed stock adjustments. Returns the stock adjustment record including its Guid, AdjustmentNumber, AdjustmentDate, AdjustmentReason, Status, Warehouse, and StockAdjustmentLines.
- **create_a_unleashed_stock_adjustment** — Create a new Unleashed stock adjustment. The source documents the response as a bare 200 OK with no body schema, so callers do not receive a parsed response shape. Sends a JSON request body whose field-level shape is not documented upstream. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. AdjustmentReason must be one that already exists in the account. NewQuantity is the new on-hand quantity and NewActualValue (required) its total value.
- **get_single_unleashed_stock_adjustment_by_id** — Get a Unleashed stock adjustment by id. Returns the stock adjustment record including its Guid, AdjustmentNumber, AdjustmentDate, AdjustmentReason, Status, Warehouse, and StockAdjustmentLines. Required: id.
- **list_all_unleashed_stock_counts** — List a page of Stock Counts from Unleashed. Returns an array of Stock Count records with Guid, CountDate, Status, StockTakeCode, Warehouse, StockCountLines, and LastModifiedOn.
- **get_single_unleashed_stock_count_by_id** — Get a single Stock Count by Guid from Unleashed. Returns: CompletedDate, CostOfGoodsAccount, CountDate, CountType, Description, Guid, Status, StockCountLines, StockTakeCode, StockTakeName, Warehouse, AvailableQuantity, AverageLandPriceAtTimeOfStockTake, CountQuantity, ExpiryDate, LineNumber, OnHandQuantity, Product, and 5 more. Required: id.
- **list_all_unleashed_stock_on_hands** — List a page of Stock On Hand data from Unleashed. Returns paginated items including product code, description, GUID, warehouse, on-hand/allocated/available quantities, average and total cost, and last modified date. Page size caps at 1000; products with no transactions are excluded.
- **get_single_unleashed_stock_on_hand_by_id** — Get stock-on-hand details for a single product in Unleashed by product GUID. Returns the full record including product code, description, warehouse, on-hand/allocated/available quantities, average and total cost, and last modified date. Required: id.
- **list_all_unleashed_all_warehouses** — List stock-on-hand entries for a product across all warehouses in Unleashed. Returns items including WarehouseId, Warehouse, AvailableQty, QtyOnHand, ProductGuid, OnPurchase, and AvgCost. Products without any transactions are excluded. Required: product_guid.
- **list_all_unleashed_supplier_return_reasons** — List supplier return reasons in Unleashed. Returns a paginated payload with Pagination metadata (NumberOfItems, PageSize, PageNumber, NumberOfPages) and an Items array, where each item carries a Reason field (max length 25).
- **list_all_unleashed_supplier_returns** — List supplier returns in Unleashed with optional filters including date range, supplier code, purchase order number, and status. Returns paginated supplier return records including Guid, SupplierReturnNumber, Supplier, PurchaseOrder, Warehouse, Status, SubTotal, TaxTotal, Total, SupplierReturnLines, SupplierReturnCosts, and Currency.
- **create_a_unleashed_supplier_return** — Create a new Supplier Return in Unleashed by referencing a Purchase Order. Returns the created supplier return including Guid, SupplierReturnNumber, Supplier, PurchaseOrder, SupplierReturnLines, SupplierReturnCosts, Status, SubTotal, TaxTotal, and Total. Required: PurchaseOrder. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. Unleashed returns an empty body on success; list supplier returns to get the new record.
- **unleashed_supplier_returns_complete** — Complete a Supplier Return in Unleashed by its GUID identifier. Returns an empty 200 response on success. Required: return_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. Takes no request body.
- **get_single_unleashed_supplier_return_by_id** — Get a Supplier Return in Unleashed by id (GUID). Returns the full supplier return object including totals, totals in base currency, status, comments, supplier details, warehouse, return date, line items, costs, batches, and serial numbers. Required: id.
- **update_a_unleashed_supplier_return_by_id** — Update a Supplier Return in Unleashed. Returns the updated supplier return including Guid, SupplierReturnNumber, Status, SubTotal, TaxTotal, Total, and LastModifiedOn. Required: return_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. SupplierRef is required.
- **delete_a_unleashed_supplier_return_by_id** — Delete a Supplier Return in Unleashed by its GUID identifier. Returns an empty 200 response on success. Required: return_guid.
- **list_all_unleashed_suppliers** — List suppliers in Unleashed, paginated (default 200 per page, max 1000). Returns supplier records including Guid, SupplierCode, SupplierName, Email, Currency, BankAccount/BankName/BankBranch, addresses, and warehouse/currency fields like DefaultWarehouse, CurrencyCode, and DefaultBuyRate. Optional filters: contactEmail, modifiedSince, supplierCode.
- **get_single_unleashed_supplier_by_id** — Get a single supplier in Unleashed by Guid. Returns the supplier object including: Guid, SupplierCode, SupplierName, Email, Currency, addresses (Address collection), DefaultWarehouse, accounting fields (BankAccount, BankName, BankBranch, TaxRate), and audit timestamps (CreatedOn, LastModifiedOn). Required: id.
- **list_all_unleashed_taxes** — List a page of Taxes. Returns tax records with TaxCode, Description, TaxRate, CanApplyToExpenses, CanApplyToRevenue, Obsolete, Guid, and LastModifiedOn. Max 1000 per page (default 200).
- **list_all_unleashed_unit_of_measures** — List a page of Unit of Measures in Unleashed. Returns paginated items with Guid, Name, and Obsolete. Max 1000 per page (default 200).
- **list_all_unleashed_warehouse_stock_transfers** — List Warehouse Stock Transfers in Unleashed. Returns records with TransferOrderNumber, Guid, TransferStatus, SourceWarehouse, DestinationWarehouse, OrderDate, TransferDetails, and Comments. Optional filters: modifiedSince, transferStatus.
- **create_a_unleashed_warehouse_stock_transfer** — Create a new Warehouse Stock Transfer in Unleashed. Returns the created transfer record including Guid, TransferOrderNumber, TransferStatus, SourceWarehouse, DestinationWarehouse, and TransferDetails. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **unleashed_warehouse_stock_transfers_complete** — Complete an existing Warehouse Stock Transfer in Unleashed, moving it out of Parked or Placed. Returns an empty 200 response on success. Required: transfer_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. Takes no request body.
- **update_a_unleashed_warehouse_stock_transfer_by_id** — Update an existing Warehouse Stock Transfer in Unleashed. Returns the updated transfer record. Required: transfer_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **delete_a_unleashed_warehouse_stock_transfer_by_id** — Delete a Parked or Placed Warehouse Stock Transfer in Unleashed. Returns an empty 200 response on success. Required: transfer_guid. Soft delete: the transfer stays listed with TransferStatus 'Deleted'.
- **get_single_unleashed_warehouse_stock_transfer_by_id** — Get a single warehouse stock transfer by its GUID, including its lines.
- **list_all_unleashed_warehouses** — List Warehouses in Unleashed with optional filters for code, name, or modification date. Returns: AddressLine1, AddressLine2, City, ContactName, Country, DDINumber, FaxNumber, Guid, IsDefault, LastModifiedOn, MobileNumber, Obsolete, PhoneNumber, PostCode, Region, StreetNo, WarehouseCode, WarehouseName.
- **create_a_unleashed_assembly_line** — Create a new assembly line against an existing assembly in Unleashed. Returns a record with the created assembly line's id and attributes. Required: assembly_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. Only products flagged as components can be added, and each product only once per assembly.
- **update_a_unleashed_assembly_line_by_id** — Update an assembly line on an existing assembly in Unleashed. Returns a record with the updated assembly line's id and attributes. Required: assembly_guid, assembly_line_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **delete_a_unleashed_assembly_line_by_id** — Delete an assembly line from an existing parked assembly in Unleashed. Returns a record confirming removal with the assembly line's id and attributes. Required: assembly_guid, assembly_line_guid.
- **create_a_unleashed_assembly_product_tracking** — Append batch and serial numbers to an existing Assembly in Unleashed. Returns an empty 200 OK response on success. Required: guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **unleashed_assembly_product_trackings_bulk_update** — Update batch and serial numbers for an existing Assembly in Unleashed. Returns an empty 200 OK response on success. Required: guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **unleashed_assembly_product_trackings_bulk_delete** — Delete all batch and serial numbers from an existing Assembly in Unleashed. Returns an empty 200 OK response on success. Required: guid.
- **create_a_unleashed_credit_note_line** — Create a Credit Note Line against an existing free-entry Credit Note in Unleashed. Required: credit_note_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **update_a_unleashed_credit_note_line_by_id** — Update a Credit Note Line on an existing free-entry Credit Note in Unleashed. Required: credit_note_guid, credit_note_line_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **delete_a_unleashed_credit_note_line_by_id** — Delete a Credit Note Line from an existing free-entry Credit Note in Unleashed. Required: credit_note_guid, credit_note_line_guid.
- **create_a_unleashed_purchase_order_line** — Create a new Purchase Order Line in Unleashed on the specified order. Required: order_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. ReceiptQuantity must be greater than 0 (it is the planned quantity on a Parked order; it does not receipt stock).
- **update_a_unleashed_purchase_order_line_by_id** — Update an existing Purchase Order Line in Unleashed. Required: order_guid, id. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **delete_a_unleashed_purchase_order_line_by_id** — Delete a Purchase Order Line from a Unleashed Purchase Order. Returns an empty response on success. Required: order_guid, id.
- **create_a_unleashed_sales_order_line** — Create a sales order line in Unleashed within the given order. Returns an empty response body on success. Required: order_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **update_a_unleashed_sales_order_line_by_id** — Update a sales order line in Unleashed. Returns an empty response body on success. Required: id, order_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **delete_a_unleashed_sales_order_line_by_id** — Delete a sales order line from a sales order in Unleashed. Returns an empty 204 response on success. Required: id, order_guid.
- **update_a_unleashed_supplier_return_line_by_id** — Update a supplier return line in Unleashed by overwriting line fields with the sent body. Required: id, return_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. Comments must not be empty.
- **delete_a_unleashed_supplier_return_line_by_id** — Delete a supplier Returns an empty 204 response on success. Returns a 200 OK with no response body documented upstream. Requires id and return_guid. Required: id, return_guid.
- **create_a_unleashed_warehouse_stock_transfer_line** — Create a new line on a Warehouse Stock Transfer in Unleashed. Returns an empty 200 response on success. Required: transfer_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **update_a_unleashed_warehouse_stock_transfer_line_by_id** — Update an existing line on a Warehouse Stock Transfer in Unleashed. Returns an empty 200 response on success. Required: transfer_guid, id. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **delete_a_unleashed_warehouse_stock_transfer_line_by_id** — Delete an existing line from a Warehouse Stock Transfer in Unleashed. Returns an empty 200 response on success. Required: transfer_guid, id.
- **create_a_unleashed_supplier_return_product_tracking** — Append batch and serial numbers to a Supplier Return in Unleashed. Returns a 200 OK confirmation. Required: return_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **unleashed_supplier_return_product_trackings_bulk_update** — Update batch and serial numbers for a Supplier Return in Unleashed. Returns a 200 OK confirmation. Required: return_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **unleashed_supplier_return_product_trackings_bulk_delete** — Delete batch and serial numbers from a Supplier Return in Unleashed. Returns a 200 OK confirmation. Required: return_guid.
- **list_all_unleashed_purchase_order_costs** — List purchase order costs for a specific purchase order in Unleashed. Returns cost details including BCCost, TotalCost, CostDate, TaxCode, Currency, and Supplier. Required: order_guid.
- **update_a_unleashed_supplier_return_cost_by_id** — Update a Supplier Return cost line in Unleashed. Required: return_guid, id, Cost, Guid, Refund. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input.
- **create_a_unleashed_purchase_order_receipt** — Receipt a Purchase Order in Unleashed. Returns an empty 200 response on success. Required: order_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. Receipts the order's lines (status becomes Receipted). Irreversible: posts stock and accounting entries.
- **create_a_unleashed_products_obsolete** — Mark a product as obsolete in Unleashed. Returns an empty 200 response on success. Required: product_guid. Send dates in ISO format (YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS); Unleashed returns dates as /Date(ms)/ but rejects that format on input. Takes no request body. Fails with 400 while the product has stock on hand; bring stock to zero first.

## How it works

1. **Link your customer's Unleashed 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 Unleashed.** The Proxy API is a 1-to-1 mapping of the Unleashed 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

- **Embed Unleashed into your B2B commerce platform** — Let your wholesale and D2C merchants connect their Unleashed account so your storefront reflects live stock-on-hand, customer-specific price tiers, and credit terms. Orders placed in your platform flow back into Unleashed as sales orders without manual re-entry.
- **Power 3PL and fulfillment workflows** — If you build warehouse, pick-pack, or shipping software, Truto lets your users pull placed sales orders from Unleashed and push back sales shipments with tracking data. Stock adjustments from damages or miscounts stay in sync with the ERP ledger.
- **Sync CRM deals into Unleashed sales orders** — Give sales reps inside your CRM live visibility into stock, lead times, and customer credit limits from Unleashed. When a deal closes, automatically generate a matching sales order so finance and ops never wait on manual handoffs.
- **Orchestrate manufacturing and assemblies** — MES, shop-floor, and production planning tools can pull bills of materials from Unleashed, create assemblies, log consumed and produced quantities, and mark production runs complete — keeping finished goods and raw material stock accurate in real time.
- **Automate procurement and supplier returns** — Procurement, demand planning, and RMA platforms can create purchase orders, receipt stock, and process supplier returns (including serial and batch tracking) directly in Unleashed, closing the loop between buying, receiving, and reverse logistics.

## What you can build

- **Live stock-on-hand widget** — Query stock levels across all Unleashed warehouses to show real-time availability inside your product, preventing overselling and backorders.
- **Two-way sales order sync** — Create sales orders in Unleashed when deals or carts close, and poll order status, shipments, and invoices back into your app for end-to-end visibility.
- **Customer-specific pricing lookup** — Fetch Unleashed product prices, discount values, and sell price tiers so B2B buyers see their contracted rates instead of list prices.
- **Shipment and tracking writeback** — Create sales shipments with carrier and tracking details once orders are dispatched, so customer service and buyers see accurate fulfillment status.
- **Assembly and BOM automation** — Trigger assemblies from a bill of materials, add assembly lines, log product tracking (batch/serial), and mark the assembly complete to post finished goods into stock.
- **Purchase order and goods receipt flow** — Create purchase orders, add line items, and post purchase order receipts so procurement actions in your app move stock and costs into Unleashed automatically.

## FAQs

### How does authentication to Unleashed work through Truto?

Unleashed uses an API ID and API Key per account. Truto handles the credential capture, HMAC signing, and secure storage, so your end users just paste their keys once and your app gets a connected account ID to call against.

### How does Truto handle Unleashed's date format quirk?

Unleashed returns dates as /Date(ms)/ but rejects that format on input. Truto normalizes both directions so you can send and receive standard ISO 8601 dates (YYYY-MM-DD) and skip the custom parsing logic.

### Which Unleashed objects can I create and update via Truto?

Truto exposes write operations for sales orders, purchase orders, customers, contacts, products, assemblies (with lines and product tracking), sales shipments, credit notes, stock adjustments, warehouse stock transfers, supplier returns, and salespersons, among others. Reference objects like currencies, tax rates, warehouses, payment terms, and price tiers are available as reads.

### Can I keep stock levels in near real time?

Yes. You can poll list_all_unleashed_stock_on_hands and list_all_unleashed_products on a schedule that fits your freshness needs. Unleashed does not expose native webhooks for stock, so most teams combine periodic polling with event-driven refreshes on order and shipment actions.

### Does the integration support batch and serial number tracking?

Yes. Truto exposes batch numbers and serial numbers as readable resources, and for assemblies and supplier returns you can create and bulk update/delete product tracking entries so traceability stays intact across production and reverse logistics.

### How are rate limits and pagination handled?

Unleashed enforces per-account rate limits and paginates list endpoints. Truto manages pagination transparently and backs off on rate limit responses, so you can request large result sets without writing retry or cursor-stitching logic yourself.
