E-Commerce · Beta
Katana MRP
API integration
Ship E-Commerce features without building the integration. Full Katana MRP API access via Proxy and 230+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with Katana MRP
Common scenarios for SaaS companies building Katana MRP integrations for their customers.
Embed Katana sync in your e-commerce or POS platform
Let merchants using your storefront push sales orders into Katana and reflect live stock levels back to prevent overselling. Truto handles auth and pagination so you can ship a bi-directional product and inventory sync without maintaining Katana-specific code.
Power AI-driven demand forecasting and replenishment
Ingest inventory movements and sales history from your users' Katana accounts to train forecasting models, then write back safety stock levels, reorder points, and demand forecasts programmatically. This turns your analytics product into an active planning tool for physical-goods brands.
Offer a shop-floor or QA companion app
Build a tablet-based operator app that reads open manufacturing orders and lets workers complete operation rows, log productions, and assign serial numbers to finished goods. Truto normalizes access to Katana's granular production endpoints so you can focus on the workflow, not the API.
Automate accounting and 3PL fulfillment workflows
Pull done sales orders and received purchase orders from Katana to generate invoices, bills, and shipping labels, then push fulfillment status back. Ideal for accounting, AP automation, and shipping SaaS looking to serve manufacturers natively.
Launch a B2B wholesale ordering portal
Read Katana price lists, customer-specific pricing, and variant catalogs to render negotiated pricing for wholesale buyers, then submit orders back as Katana sales orders. Removes the need for your customers to manually re-key B2B orders.
What You Can Build
Ship these features with Truto + Katana MRP
Concrete product features your team can ship faster by leveraging Truto’s Katana MRP integration instead of building from scratch.
Two-way product and variant catalog sync
Keep products, variants, materials, and BOMs aligned between your app and Katana using the products, variants, materials, bom_rows, and recipes endpoints.
Live inventory and stock-level mirroring
Stream current stock via list_all_katana_mrp_inventories and inventory_movements to keep storefronts, dashboards, or forecasting models in sync in near real time.
Sales order ingestion and fulfillment write-back
Create sales orders from external channels using create_a_katana_mrp_sales_order and push fulfillment updates and shipping fees back with the sales_order_fulfillments endpoints.
Make-to-order production triggers
Automatically spin up a manufacturing order tied to a customer sales order via create_a_katana_mrp_manufacturing_order_make_to_order when a deal closes or a custom-configured product is ordered.
Purchase order and supplier automation
Create suppliers, issue purchase orders, add PO rows and additional costs, and mark receipts using create_a_katana_mrp_purchase_order_receive to automate procurement flows.
Event-driven updates via webhooks
Register Katana webhooks with create_a_katana_mrp_webhook so your product reacts to inventory, order, and production changes without polling.
SuperAI
Katana MRP 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_katana_mrp_additional_costs
List additional costs in katanamrp, filterable by ids, name, date range, and deleted status. Returns: id, name, created_at, updated_at. Max 250 records per page.
update_a_katana_mrp_batch_stock_by_id
Update a batch stock record in katanamrp by id. Returns: id, created_at, updated_at. Required: id.
list_all_katana_mrp_batch_stocks
List batch stock records in katanamrp, filterable by batch, location, variant, barcode, and batch creation-date range. Returns: id, batch_id, batch_number, batch_barcode, location_id, variant_id, batch_created_at, created_at, updated_at.
create_a_katana_mrp_batch
Create a new batch in katanamrp. Requires a CreateBatchDto JSON request body. Returns the created batch object on 200, including its id; the upstream docs reference the DTO and return value by $ref without enumerating fields. Required: batch_number, variant_id.
list_all_katana_mrp_bin_inventories
List bin inventory in Katana. Returns paginated bin inventory records exposing each record's id and granularity-specific attributes; the attribute shape varies with the requested granularity (VARIANT, BATCH, or SERIAL_NUMBER).
update_a_katana_mrp_bin_location_by_id
Update an existing bin location in katanamrp by id. Returns: id, created_at, updated_at. A JSON request body is required. Required: id, bin_name.
delete_a_katana_mrp_bin_location_by_id
Delete a bin location in katanamrp by id. Returns: id, created_at, updated_at. Required: id.
list_all_katana_mrp_bin_locations
List bin locations in katanamrp. Returns each bin location's id, bin_name, location_id, created_at, and updated_at.
create_a_katana_mrp_bin_location
Create a bin location in katanamrp. Returns: id, created_at, updated_at. A JSON request body is required. Required: bin_name, location_id.
get_single_katana_mrp_bin_transfer_row_by_id
Get a single bin transfer row in Katana by id. Returns: id, created_at, updated_at. Required: id.
update_a_katana_mrp_bin_transfer_row_by_id
Update a bin transfer row in Katana by id. Returns the updated row: id, bin_transfer_id, variant_id, source_bin_location_id, target_bin_location_id, created_at, updated_at. Required: id.
delete_a_katana_mrp_bin_transfer_row_by_id
Delete a bin transfer row in Katana by id. Returns the deleted row: id, bin_transfer_id, variant_id, source_bin_location_id, target_bin_location_id, created_at, updated_at. Required: id.
list_all_katana_mrp_bin_transfer_rows
List bin transfer rows in Katana. Returns each row's id, bin_transfer_id, variant_id, source_bin_location_id, target_bin_location_id, created_at, and updated_at.
create_a_katana_mrp_bin_transfer_row
Create a bin transfer row in Katana. Returns the created row: id, bin_transfer_id, variant_id, source_bin_location_id, target_bin_location_id, created_at, updated_at. Requires a JSON request body. Required: variant_id, quantity, bin_transfer_id.
katana_mrp_bin_transfer_status_bulk_update
Update the status of a bin transfer in Katana MRP by its id. Returns: id, created_at, updated_at. Required: id, status.
get_single_katana_mrp_bin_transfer_by_id
Get a single bin transfer in katanamrp by id. Returns: id, created_at, updated_at. Required: id.
update_a_katana_mrp_bin_transfer_by_id
Update a bin transfer in katanamrp by id. Returns the updated bin transfer with id, bin_transfer_number, location_id, status, and created_at. Required: id.
delete_a_katana_mrp_bin_transfer_by_id
Delete a bin transfer in katanamrp by id. Returns the deleted bin transfer with id, bin_transfer_number, location_id, status, and created_at. Required: id.
list_all_katana_mrp_bin_transfers
List bin transfers in katanamrp, filterable by ids, bin_transfer_number, location_id, status (CREATED, IN_TRANSIT, DONE), include_deleted, and a date range. Returns: id, bin_transfer_number, location_id, status, created_at, updated_at.
create_a_katana_mrp_bin_transfer
Create a bin transfer in katanamrp. Returns the created bin transfer with id, bin_transfer_number, location_id, status, and created_at. Requires a JSON body. Required: location_id.
create_a_katana_mrp_batch_create
Create multiple BOM rows in a single batch call in katanamrp. Returns: id, created_at, updated_at. Requires a JSON request body matching Katana's CreateBomRowsBatchDto schema; the upstream docs do not enumerate its field names. Required: data.
update_a_katana_mrp_bom_row_by_id
Update a BOM row in katanamrp by id. Returns the updated BOM row with its id, created_at, and updated_at. Requires a JSON request body; its field set follows the upstream BomRowUpdateDto schema. Required: id.
delete_a_katana_mrp_bom_row_by_id
Delete a BOM row in katanamrp by id. Returns the deleted BOM row with its id, product_variant_id, product_item_id, ingredient_variant_id, created_at, and updated_at. Required: id.
list_all_katana_mrp_bom_rows
List BOM rows in katanamrp. Returns each BOM row with its id, product_variant_id, product_item_id, ingredient_variant_id, created_at, and updated_at.
create_a_katana_mrp_bom_row
Create a BOM row in katanamrp. Returns the created BOM row with its id, created_at, and updated_at. Requires a JSON request body; its field set follows the upstream BomRowCreateDto schema. Required: product_item_id, product_variant_id, ingredient_variant_id.
get_single_katana_mrp_custom_field_definition_by_id
Get a custom field definition by id in katanamrp. Returns the definition including id, label, field_type, entity_type, created_at, and updated_at. Required: id.
update_a_katana_mrp_custom_field_definition_by_id
Update a custom field definition by id in katanamrp. Returns the updated definition including id, created_at, and updated_at. Required: id.
delete_a_katana_mrp_custom_field_definition_by_id
Delete a custom field definition by id in katanamrp. Returns the deleted definition including id, label, field_type, entity_type, created_at, and updated_at. Required: id.
list_all_katana_mrp_custom_field_definitions
List custom field definitions in katanamrp. Returns definitions including id, label, field_type, entity_type, created_at, and updated_at.
create_a_katana_mrp_custom_field_definition
Create a custom field definition in katanamrp. Returns the created definition including id, created_at, and updated_at. A JSON request body (CreateCustomFieldDefinitionDto) is required. Required: label, field_type, entity_type, source.
list_all_katana_mrp_custom_fields_collections
List all custom fields collections configured in Katana. Returns each collection's id, created_at, and updated_at.
update_a_katana_mrp_customer_address_by_id
Update a customer address in katanamrp by id. Returns the updated address record including its id, created_at, and updated_at. Requires a JSON request body per Katana's CustomerAddressUpdateDto schema. Required: id.
delete_a_katana_mrp_customer_address_by_id
Delete a customer address in Katana by id. Returns the deleted address record including id, customer_id, entity_type, first_name, line_1, city, country, and updated_at. Required: id.
list_all_katana_mrp_customer_addresses
List customer addresses in Katana. Returns address records including id, customer_id, entity_type, first_name, last_name, company, line_1, city, and zip.
create_a_katana_mrp_customer_address
Create a customer address in katanamrp. Returns the created address record including its id, created_at, and updated_at. Requires a JSON request body following Katana's CustomerAddressCreateDto schema. Required: entity_type, customer_id.
update_a_katana_mrp_customer_by_id
Update a customer in katanamrp by id. Returns the updated customer record identified by its integer id. Requires id and a required JSON body of customer attributes to change. Required: id.
delete_a_katana_mrp_customer_by_id
Delete a customer in katanamrp by id. Returns the deleted customer record identified by its integer id. Requires id. Required: id.
list_all_katana_mrp_customers
List customers in katanamrp. Returns customer records identified by their integer id, with optional attribute filters such as email, company, and name.
create_a_katana_mrp_customer
Create a customer in katanamrp. Returns the created customer record identified by its integer id. Requires a JSON body with the new customer's attributes. Required: name.
list_all_katana_mrp_demand_forecasts
List demand forecasts in Katana MRP for a specific product variant at a specific location. Returns: id, variant_id, location_id, created_at, updated_at. Required: variant_id, location_id.
create_a_katana_mrp_demand_forecast
Create or update the demand forecast for a product variant at a location in Katana MRP. Returns: id, created_at, updated_at. Requires a JSON request body. Required: variant_id, location_id, periods.
katana_mrp_demand_forecasts_bulk_delete
Clear the demand forecast for a product variant at a location in Katana MRP. Returns: id, created_at, updated_at. Requires a JSON request body. Required: variant_id, location_id, periods.
list_all_katana_mrp_factories
List factory records in Katana. Returns each record's id, created_at, and updated_at.
list_all_katana_mrp_inventories
List all current inventory records across Katana MRP locations. Returns an array of inventory entries, optionally extended with their related variant and location objects via the extend parameter.
list_all_katana_mrp_inventory_movements
List inventory movements in Katana. Returns: id, location_id, variant_id, resource_type, resource_id, caused_by_order_no, caused_by_resource_id, created_at, updated_at.
create_a_katana_mrp_inventory_reorder_point
Create an inventory reorder point in Katana for a product variant at a specific location. Returns the created reorder point including its id, location_id, variant_id, value, and created_at. Required: location_id, variant_id, value.
create_a_katana_mrp_inventory_safety_stock_level
Create an inventory safety stock level in katanamrp for a specific variant at a specific location. Returns the created level including its id, location_id, variant_id, value, created_at, and updated_at. Requires location_id, variant_id, and value. Required: location_id, variant_id, value.
list_all_katana_mrp_inventory_signals
List inventory signals in Katana, optionally filtered by variant_id and stock_risk (0-3). Returns each signal record with its id and the signal attributes defined by Katana.
get_single_katana_mrp_location_by_id
Get a single Katana MRP location by id. Returns the location object including id, name, legal_name, is_primary, and its sales_allowed, manufacturing_allowed, and purchases_allowed flags. Required: id.
list_all_katana_mrp_locations
List all locations in Katana MRP. Returns location objects including id, name, legal_name, is_primary, and the sales_allowed, manufacturing_allowed, and purchases_allowed flags. Supports filtering by ids, name, legal_name, address_id, is_primary, and include_deleted.
create_a_katana_mrp_manufacturing_order_make_to_order
Create a make-to-order manufacturing order in Katana MRP. Returns the created manufacturing order record: id, created_at, updated_at. Required: sales_order_row_id.
get_single_katana_mrp_manufacturing_order_operation_row_by_id
Get a single manufacturing order operation row in Katana by its id. Returns: id, created_at, updated_at. Required: id.
update_a_katana_mrp_manufacturing_order_operation_row_by_id
Update a manufacturing order operation row in Katana by id. Returns the updated operation row including id, created_at, and updated_at. Required: id.
delete_a_katana_mrp_manufacturing_order_operation_row_by_id
Delete a manufacturing order operation row in Katana by its id. Returns the deleted row including id, created_at, and updated_at. Required: id.
list_all_katana_mrp_manufacturing_order_operation_rows
List manufacturing order operation rows in Katana, filterable by manufacturing_order_id, ids, status, and dateFilter. Returns rows with id, created_at, and updated_at.
create_a_katana_mrp_manufacturing_order_operation_row
Create a manufacturing order operation row in Katana. Returns the created operation row including id, created_at, and updated_at. Requires a JSON request body (CreateManufacturingOrderOperationRowDto). Required: manufacturing_order_id, status.
update_manufacturing_order_production_ingredient_by_id
Update a manufacturing order production ingredient in katanamrp by id. Requires a JSON request body. Returns the updated ingredient including id, created_at, and updated_at. Required: id.
list_all_katana_mrp_manufacturing_order_production_ingredients
List manufacturing order production ingredients in katanamrp. Returns ingredient records including id, manufacturing_order_id, production_id, created_at, and updated_at.
get_single_katana_mrp_manufacturing_order_production_by_id
Get a manufacturing order production in katanamrp by id. Returns the production record including its id, created_at, and updated_at. Required: id.
update_a_katana_mrp_manufacturing_order_production_by_id
Update a manufacturing order production in katanamrp by id. Returns the updated production record including its id, created_at, and updated_at. The JSON request body must follow the UpdateManufacturingOrderProductionDto schema defined in Katana's OpenAPI specification. Required: id.
delete_a_katana_mrp_manufacturing_order_production_by_id
Delete a manufacturing order production in katanamrp by id. Returns the deleted production record including its id, created_at, and updated_at. Required: id.
list_all_katana_mrp_manufacturing_order_productions
List manufacturing order productions in katanamrp. Returns production records with id, created_at, and updated_at, filterable by ids, manufacturing_order_ids, dateFilter, and include_deleted.
create_a_katana_mrp_manufacturing_order_production
Create a manufacturing order production in katanamrp to register a partial production completion on a manufacturing order. Returns the created production record including its id, created_at, and updated_at. The JSON request body must follow the CompletePartiallyMoDto schema defined in Katana's OpenAPI specification. Required: manufacturing_order_id, completed_quantity.
get_single_katana_mrp_manufacturing_order_recipe_row_by_id
Get a single manufacturing order recipe row in katanamrp by id. Returns the recipe row record including its id, created_at, and updated_at. Required: id.
update_a_katana_mrp_manufacturing_order_recipe_row_by_id
Update a manufacturing order recipe row in katanamrp by id. Returns the updated row record including its id, created_at, and updated_at. Requires id and a JSON request body. Required: id.
delete_a_katana_mrp_manufacturing_order_recipe_row_by_id
Delete a manufacturing order recipe row in katanamrp by id. Returns the deleted row record including its id, created_at, and updated_at. Required: id.
list_all_katana_mrp_manufacturing_order_recipe_rows
List manufacturing order recipe rows in katanamrp. Returns recipe row records including their id, created_at, and updated_at.
create_a_katana_mrp_manufacturing_order_recipe_row
Create a manufacturing order recipe row in katanamrp. Returns the created row record including its id, created_at, and updated_at. Requires a JSON request body. Required: manufacturing_order_id, variant_id, planned_quantity_per_unit.
create_a_katana_mrp_manufacturing_order_rerank
Rerank a manufacturing order in Katana via the make-to-order rerank action. Requires a JSON request body matching the upstream RerankManufacturingOrderDto schema (the docs reference this DTO without enumerating its fields). Returns a 200 success response whose payload shape is not enumerated upstream. Required: order_ids, place.
create_a_katana_mrp_manufacturing_order_unlink
Unlink a make-to-order manufacturing order from its linked sales order in Katana. Returns a 200 response whose body shape is not enumerated in the upstream spec. Requires a JSON request body matching the UnlinkManufacturingOrderDto schema. Required: sales_order_row_id.
get_single_katana_mrp_manufacturing_order_by_id
Get a single manufacturing order in Katana MRP by id. Returns the manufacturing order record including its id and attributes. Required: id.
update_a_katana_mrp_manufacturing_order_by_id
Update an existing manufacturing order in Katana MRP by id. Returns the updated manufacturing order including its id. Requires a JSON request body matching the upstream UpdateManufacturingOrderDto schema. Required: id.
delete_a_katana_mrp_manufacturing_order_by_id
Delete a manufacturing order in Katana MRP by id. Returns an empty 204 response on success. Required: id.
list_all_katana_mrp_manufacturing_orders
List manufacturing orders in Katana MRP. Returns manufacturing order records including id and attributes.
create_a_katana_mrp_manufacturing_order
Create a new manufacturing order in Katana MRP. Returns the created manufacturing order including its id. Requires a JSON request body matching the upstream CreateManufacturingOrderDto schema. Required: variant_id, planned_quantity, location_id.
get_single_katana_mrp_material_by_id
Get a single material in Katana by id. Returns the material including id, name, uom, is_sellable, purchase_uom_conversion_rate, created_at, and updated_at. Required: id.
update_a_katana_mrp_material_by_id
Update a material in Katana by id. Returns the updated material including id, name, created_at, and updated_at. Required: id.
delete_a_katana_mrp_material_by_id
Delete a material in Katana by id. Returns a 200 response with the deleted material record including id, name, and uom. Required: id.
list_all_katana_mrp_materials
List materials in Katana, filterable by name, category_name, ids, uom, is_sellable, batch_tracked, purchase_uom, and default_supplier_id. Returns materials with id, name, uom, is_sellable, purchase_uom_conversion_rate, created_at, and updated_at.
create_a_katana_mrp_material
Create a material in Katana. Returns the created material including id, created_at, and updated_at. The request body is required. Required: name, variants.
list_all_katana_mrp_negative_stocks
List negative stock records in Katana MRP. Returns records with an id and an attributes object holding the fields of Katana's negative stock latest-movement view.
list_all_katana_mrp_operators
List operators in katanamrp. Returns a paginated collection of operator records — each record's id plus operator-specific attributes; the upstream API documentation does not enumerate the operator field set.
get_single_katana_mrp_outsourced_purchase_order_recipe_row_by_id
Get an outsourced purchase order recipe row in Katana by id. Returns: id, created_at, updated_at. Required: id.
update_a_katana_mrp_outsourced_purchase_order_recipe_row_by_id
Update an outsourced purchase order recipe row in Katana by id. Returns: id, created_at, updated_at. Required: id.
delete_a_katana_mrp_outsourced_purchase_order_recipe_row_by_id
Delete an outsourced purchase order recipe row in Katana by id. Returns: id, created_at, updated_at. Required: id.
list_all_katana_mrp_outsourced_purchase_order_recipe_rows
List outsourced purchase order recipe rows in Katana, filterable by purchase order, purchase order row, and ingredient variant. Returns: id, created_at, updated_at.
create_a_katana_mrp_outsourced_purchase_order_recipe_row
Create an outsourced purchase order recipe row in Katana. Returns: id, created_at, updated_at. Requires a JSON request body. Required: purchase_order_row_id, ingredient_variant_id, planned_quantity_per_unit.
get_single_katana_mrp_po_additional_cost_row_by_id
Get a purchase order additional cost row in Katana by id. Returns: id, created_at, updated_at. Required: id.
update_a_katana_mrp_po_additional_cost_row_by_id
Update a purchase order additional cost row in Katana by id. Returns the updated row's id, group_id, additional_cost_id, distribution_method, tax_rate_id, currency, created_at, and updated_at. Required: id.
delete_a_katana_mrp_po_additional_cost_row_by_id
Delete a purchase order additional cost row in Katana by id. Returns the deleted row's id, group_id, additional_cost_id, distribution_method, tax_rate_id, currency, created_at, and updated_at. Required: id.
list_all_katana_mrp_po_additional_cost_rows
List purchase order additional cost rows in Katana. Returns rows with id, group_id, additional_cost_id, distribution_method, tax_rate_id, currency, created_at, and updated_at. Filterable by ids, group_id, additional_cost_id, distribution_method, tax_rate_id, currency, and include_deleted.
create_a_katana_mrp_po_additional_cost_row
Create a purchase order additional cost row in Katana. Returns the created row's id, group_id, additional_cost_id, distribution_method, tax_rate_id, currency, created_at, and updated_at. Required: additional_cost_id, group_id, tax_rate_id, price.
get_single_katana_mrp_price_list_customer_by_id
Get a price list customer in katanamrp by id. Returns: id, created_at, updated_at. Required: id.
update_a_katana_mrp_price_list_customer_by_id
Update a price list customer in katanamrp by id. Returns: id, created_at, updated_at. Required: id, customer_id.
delete_a_katana_mrp_price_list_customer_by_id
Delete a price list customer in katanamrp by id. Returns an empty 204 response on success. Required: id.
list_all_katana_mrp_price_list_customers
List price list customers in katanamrp. Returns each record's id, customer_id, price_list_id, created_at, and updated_at.
create_a_katana_mrp_price_list_customer
Create price list customers in katanamrp. Returns: id, created_at, updated_at. A request body is required; its fields are defined by the upstream CreatePriceListCustomersDto schema. Required: price_list_id, price_list_customers.
get_single_katana_mrp_price_list_row_by_id
Get a single price list row by id in Katana. Returns the row's id, created_at, and updated_at. Required: id.
update_a_katana_mrp_price_list_row_by_id
Update a price list row by id in Katana by sending a JSON request body. Returns the updated row's id, created_at, and updated_at. Required: id.
delete_a_katana_mrp_price_list_row_by_id
Delete a price list row by id in Katana. Returns an empty 204 response on success. Required: id.
list_all_katana_mrp_price_list_rows
List price list rows in Katana, optionally filtered by specific ids, variant_ids, or price_list_ids. Returns rows with id, variant_id, price_list_id, created_at, and updated_at.
create_a_katana_mrp_price_list_row
Create price list rows in Katana by sending a JSON request body. Returns the created row's id, created_at, and updated_at. Required: price_list_id, price_list_rows.
get_single_katana_mrp_price_list_by_id
Get a single katanamrp price list by id. Returns the price list record including its id, name, is_active, created_at, and updated_at. Required: id.
update_a_katana_mrp_price_list_by_id
Update a katanamrp price list by id. Returns the updated price list record including its id, name, is_active, created_at, and updated_at. Required: id.
delete_a_katana_mrp_price_list_by_id
Delete a katanamrp price list by id. Returns an empty 204 response on success. Required: id.
list_all_katana_mrp_price_lists
List katanamrp price lists. Returns price list records including id, name, is_active, created_at, and updated_at.
create_a_katana_mrp_price_list
Create a price list in katanamrp. Returns the created price list record including its id, name, is_active, created_at, and updated_at. Required: name.
create_a_katana_mrp_product_operation_rerank
Re-rank a product operation row in katanamrp to change its ordering. Requires a JSON request body matching Katana's ProductOperationRowRankDto schema. Returns the rerank result; the response fields are not enumerated in Katana's API documentation. Required: rank_product_operation_id.
update_a_katana_mrp_product_operation_row_by_id
Update a product operation row in katanamrp by id. Returns the updated row record with id, created_at, and updated_at; the full field set follows Katana's upstream OpenAPI schema. Required: id.
delete_a_katana_mrp_product_operation_row_by_id
Delete a product operation row in katanamrp by id. Returns the deleted row record: id, operation_name, product_variant_id, resource_id, resource_name, created_at, updated_at. Required: id.
list_all_katana_mrp_product_operation_rows
List product operation rows in katanamrp, with documented filters for product_id, product_variant_id, operation_id, operation_name, resource_id, and resource_name. Returns: id, created_at, updated_at.
create_a_katana_mrp_product_operation_row
Create product operation rows in katanamrp. Returns the created row record with id, created_at, and updated_at; the full field set follows Katana's upstream OpenAPI schema. Requires a JSON body conforming to ProductOperationCreateDto. Required: rows.
get_single_katana_mrp_product_by_id
Get a single katanamrp product by id. Returns the product record identified by its integer id; the upstream documentation does not enumerate the remaining product fields. Required: id.
update_a_katana_mrp_product_by_id
Update a katanamrp product by id. Returns the updated product record including its id; the upstream documentation does not enumerate the remaining product fields. The request takes a JSON body defined upstream as the ProductUpdateDto schema, whose fields are not enumerated in the documentation. Required: id.
delete_a_katana_mrp_product_by_id
Delete a katanamrp product by id. Required: id.
list_all_katana_mrp_products
List katanamrp products. Returns the collection of products, each identified by its integer id; the upstream documentation does not enumerate the remaining product fields. Supports filtering and extend options.
create_a_katana_mrp_product
Create a product in katanamrp. Returns the created product record including its id; the upstream documentation does not enumerate the remaining product fields. The request takes a JSON body defined upstream as the CreateProductDto schema, whose fields are not enumerated in the documentation. Required: name, variants.
list_all_katana_mrp_purchase_order_accounting_metadatas
List purchase order accounting metadata records in Katana. Returns each record's id, purchase_order_id, received_items_group_id, created_at, and updated_at.
create_a_katana_mrp_purchase_order_receive
Receive purchase order rows in Katana. Accepts either a single PurchaseOrderRowReceiveDto object or a JSON array of at least one such object as the request body. Returns the outcome of the partial receive operation; the upstream response body fields are not documented.
get_single_katana_mrp_purchase_order_row_by_id
Get a single purchase order row in katanamrp by id. Returns the row object including its id, purchase_order_id, variant_id, tax_rate_id, and created_at/updated_at timestamps. Required: id.
update_a_katana_mrp_purchase_order_row_by_id
Update a purchase order row in katanamrp by id. Returns the updated row object including its id, created_at, and updated_at. Required: id.
delete_a_katana_mrp_purchase_order_row_by_id
Delete a purchase order row in katanamrp by id. Returns the deleted row object including its id, purchase_order_id, variant_id, and created_at/updated_at timestamps. Required: id.
list_all_katana_mrp_purchase_order_rows
List purchase order rows in katanamrp. Returns rows with id, purchase_order_id, variant_id, tax_rate_id, and created_at/updated_at timestamps; filter by ids, purchase_order_id, variant_id, purchase_uom, location_id, and include_deleted.
create_a_katana_mrp_purchase_order_row
Create a purchase order row in katanamrp attached to a parent purchase order. Returns the created row object including its id, created_at, and updated_at. Required: quantity, variant_id, price_per_unit, purchase_order_id.
get_single_katana_mrp_purchase_order_by_id
Get a single purchase order in Katana MRP by id. Returns the purchase order's id, created_at, and updated_at. Required: id.
update_a_katana_mrp_purchase_order_by_id
Update a purchase order in katanamrp by id. Returns the updated purchase order including id, created_at, and updated_at. Requires: id and a JSON body conforming to the upstream UpdatePurchaseOrderDto schema; the source docs reference the DTO without enumerating its fields. Required: id.
delete_a_katana_mrp_purchase_order_by_id
Delete a purchase order in Katana MRP by id. Returns the deleted purchase order's id, created_at, and updated_at. Required: id.
list_all_katana_mrp_purchase_orders
List purchase orders in katanamrp, filterable by supplier, location, status, receiving state, and billing state. Returns: id, created_at, updated_at.
create_a_katana_mrp_purchase_order
Create a purchase order in katanamrp. Returns the created purchase order including id, created_at, and updated_at. Requires a JSON body conforming to the upstream CreatePurchaseOrderDto schema; the source docs reference the DTO without enumerating its fields — consult the katanamrp API reference for the field list. Required: supplier_id, location_id, purchase_order_rows.
update_a_katana_mrp_recipe_row_by_id
Update a recipe row in katanamrp by id. Returns the updated recipe row including id, created_at, and updated_at. Requires the recipe row id and a JSON request body. Required: id.
delete_a_katana_mrp_recipe_row_by_id
Delete a recipe row in katanamrp by id. Returns a 200 response with the deleted recipe row data including id, created_at, and updated_at. Required: id.
delete_a_katana_mrp_recipe_by_id
Delete a recipe in katanamrp by id. Returns an empty 204 response on success. Required: id.
list_all_katana_mrp_recipes
List recipes in katanamrp. Returns recipe records with id and content-type-specific attributes defined by the upstream Recipe schema.
create_a_katana_mrp_recipe
Create recipe rows in katanamrp. Requires a JSON request body matching the upstream RecipeRowCreateManyDto schema. Returns the created record including its id; the upstream API reference is authoritative for the full body and response field list. Required: rows.
list_all_katana_mrp_sales_order_accounting_metadatas
List sales order accounting metadata records in Katana. Returns the collection of metadata records, each with id, created_at, and updated_at.
update_a_katana_mrp_sales_order_address_by_id
Update a sales order address in Katana by id. Returns: id, created_at, updated_at. Required: id.
delete_a_katana_mrp_sales_order_address_by_id
Delete a sales order address in katanamrp by id. Returns the deleted address object including id, entity_type, first_name, city, zip, country, phone, created_at, and updated_at. Required: id.
list_all_katana_mrp_sales_order_addresses
List sales order addresses in Katana. Returns address records with id, sales_order_id, entity_type, first_name, last_name, company, line_1, line_2, city, state, zip, country, phone, created_at, and updated_at. Filter by ids, sales_order_ids, or any address field.
create_a_katana_mrp_sales_order_address
Create a sales order address in Katana. Returns: id, created_at, updated_at. Requires a JSON request body. Required: entity_type, sales_order_id.
get_single_katana_mrp_sales_order_fulfillment_by_id
Get a single Katana sales order fulfillment by id. Returns the fulfillment record including its id and attributes (the schema-specific fulfillment fields). Required: id.
update_a_katana_mrp_sales_order_fulfillment_by_id
Update a Katana sales order fulfillment by id. Requires a JSON body matching the upstream UpdateSalesOrderFulfillmentDto — see the Katana API reference for the field-level breakdown. Returns the updated fulfillment record including its id. Required: id.
delete_a_katana_mrp_sales_order_fulfillment_by_id
Delete a Katana sales order fulfillment by id. Returns an empty 204 response on success. Required: id.
list_all_katana_mrp_sales_order_fulfillments
List Katana sales order fulfillments. Returns each fulfillment record including its id and attributes (the schema-specific fulfillment fields).
create_a_katana_mrp_sales_order_fulfillment
Create a sales order fulfillment in Katana. Requires a JSON body matching the upstream CreateSalesOrderFulfillmentDto — see the Katana API reference for the field-level breakdown. Returns the created fulfillment record including its id. Required: sales_order_id, status, sales_order_fulfillment_rows.
create_a_katana_mrp_sales_order_rerank
Custom Sales Order Controller.rerank. Required: order_ids, place.
get_single_katana_mrp_sales_order_row_by_id
Get a single sales order row in katanamrp by id. Returns the row record including its id, quantity, variant_id, price_per_unit, and tax_rate_id. Required: id.
update_a_katana_mrp_sales_order_row_by_id
Update a sales order row in Katana MRP by id with a JSON body of the fields to change. Returns the updated row with id, quantity, variant_id, tax_rate_id, price_per_unit, and attributes. Required: id.
delete_a_katana_mrp_sales_order_row_by_id
Delete a sales order row in katanamrp by id. Returns the deleted row record including its id, quantity, variant_id, price_per_unit, and tax_rate_id. Required: id.
list_all_katana_mrp_sales_order_rows
List sales order rows in Katana MRP. Returns each row with id, quantity, variant_id, tax_rate_id, price_per_unit, and attributes. Filter by ids, sales_order_ids, variant_id, location_id, or product_availability, and set extend to variant to include variant details.
create_a_katana_mrp_sales_order_row
Create a sales order row in Katana MRP on an existing sales order. Returns the created row with id, quantity, variant_id, tax_rate_id, price_per_unit, and attributes. Required: quantity, variant_id, sales_order_id.
get_single_katana_mrp_sales_order_shipping_fee_by_id
Get a single sales order shipping fee in katanamrp by id. Returns the shipping fee record including its id, price, sales_order_id, tax_rate_id, and created_at / updated_at timestamps. Required: id.
update_a_katana_mrp_sales_order_shipping_fee_by_id
Update an existing sales order shipping fee in katanamrp by id. Returns the updated shipping fee record including its id, created_at, and updated_at timestamps. Requires a JSON request body. Required: id, amount.
delete_a_katana_mrp_sales_order_shipping_fee_by_id
Delete a sales order shipping fee in katanamrp by id. Returns an empty 200 response on success. Required: id.
list_all_katana_mrp_sales_order_shipping_fees
List sales order shipping fees in katanamrp, optionally filtered by sales_order_id, a dateFilter object, or include_deleted. Returns shipping fee records including id, price, sales_order_id, tax_rate_id, and created_at / updated_at timestamps.
create_a_katana_mrp_sales_order_shipping_fee
Create a shipping fee on a sales order in katanamrp. Returns the created shipping fee record including its id, created_at, and updated_at timestamps. Requires a JSON request body. Required: sales_order_id, amount.
get_single_katana_mrp_sales_order_by_id
Get a single sales order from Katana by id. Returns the sales order object including id, order_no, status, delivery_date, customer_id, and its sales_order_rows line items. Required: id.
update_a_katana_mrp_sales_order_by_id
Update a sales order in Katana by id. Returns the updated sales order object including id, order_no, customer_id, status, delivery_date, and its sales_order_rows line items. Requires id and a JSON body of the fields to update (UpdateSalesOrderDto). Required: id.
delete_a_katana_mrp_sales_order_by_id
Delete a sales order in Katana by id. Returns the deleted sales order object including id, order_no, status, and sales_order_rows. Required: id.
list_all_katana_mrp_sales_orders
List sales orders in katanamrp. Returns sales order objects including id, customer_id, order_no, status, delivery_date, and sales_order_rows. Filter by ids, order_no, customer_id, location_id, status, currency, invoicing_status, availability, and ecommerce fields.
create_a_katana_mrp_sales_order
Create a sales order in Katana. Returns the created sales order object including id, order_no, customer_id, status, delivery_date, and its sales_order_rows line items (variant_id, quantity, price_per_unit). Requires a JSON request body following Katana's CreateSalesOrderDto schema. Required: customer_id, sales_order_rows.
list_all_katana_mrp_sales_order_returnable_items
List the items on a Katana sales order that are eligible for return. Returns one record per returnable item with id, created_at, and updated_at; the upstream docs do not enumerate the remaining item fields. Required: sales_order_id.
list_all_sales_return_row_unassigned_batch_transactions
List the batch transactions that are not yet assigned to a sales return row in Katana. Returns the unassigned batch transaction records for the row, including id, created_at, and updated_at (the full field set is batch-transaction-specific). Required: sales_return_row_id.
get_single_katana_mrp_sales_return_row_by_id
Get a single sales return row in Katana by id. Returns the row's id, sales_return_id, variant_id, sales_order_row_id, reason_id, restock_location_id, created_at, and updated_at. Required: id.
update_a_katana_mrp_sales_return_row_by_id
Update a sales return row in Katana by id. Returns the updated sales return row including id, created_at, and updated_at. The request body follows the upstream SalesReturnRowPatchDto schema. Required: id.
delete_a_katana_mrp_sales_return_row_by_id
Delete a sales return row in Katana by id. Returns the deleted row including id, sales_return_id, variant_id, sales_order_row_id, reason_id, and restock_location_id. Required: id.
list_all_katana_mrp_sales_return_rows
List sales return rows in Katana, filterable by ids, sales_return_id, variant_id, sales_order_row_id, reason_id, and restock_location_id. Returns rows with id, sales_return_id, variant_id, sales_order_row_id, reason_id, restock_location_id, created_at, and updated_at.
create_a_katana_mrp_sales_return_row
Create a sales return row in Katana. Returns the created sales return row including id, created_at, and updated_at. The request body follows the upstream SalesReturnRowCreateDto schema. Required: sales_return_id, variant_id, fulfillment_row_id, quantity.
list_all_katana_mrp_sales_returns_return_reasons
List the return reasons available in katanamrp that sales return rows can reference via reason_id. Returns each reason record with id, created_at, and updated_at.
get_single_katana_mrp_sales_return_by_id
Get a sales return in katanamrp by id. Returns the sales return record: id, created_at, updated_at. Required: id.
update_a_katana_mrp_sales_return_by_id
Update a sales return in katanamrp by id with a JSON body. Returns the updated sales return record: id, created_at, updated_at. Required: id.
delete_a_katana_mrp_sales_return_by_id
Delete a sales return in katanamrp by id. Returns the deleted sales return record: id, created_at, updated_at. Required: id.
list_all_katana_mrp_sales_returns
List sales returns in katanamrp. Returns sales return records: id, created_at, updated_at. Supports filters: ids, status, refund_status, order_no, sales_order_no, return_location_id, and date bounds. Max 250 per page.
create_a_katana_mrp_sales_return
Create a sales return in katanamrp. Returns the created sales return record: id, created_at, updated_at. Requires a JSON body of sales return fields. Required: sales_order_id, return_location_id.
list_all_katana_mrp_serial_numbers_serial_numbers_stocks
List serial number stock records in Katana MRP. Returns: id, created_at, updated_at.
list_all_katana_mrp_serial_numbers
List serial numbers in Katana MRP. Returns serial number records including id, created_at, and updated_at.
create_a_katana_mrp_serial_number
Add serial numbers to an entity in Katana MRP. Returns a record including id, created_at, and updated_at. Required: resource_id.
katana_mrp_serial_numbers_bulk_delete
Remove serial numbers from an entity in Katana MRP. Returns a record including id, created_at, and updated_at. Required: resource_id, resource_type, ids.
list_all_katana_mrp_serial_numbers_stocks
List serial number stock records in katanamrp. Returns each record's id, created_at, and updated_at. Results are paginated.
get_single_katana_mrp_service_by_id
Get a service in katanamrp by id. Returns the service record with its id, created_at, and updated_at. Required: id.
update_a_katana_mrp_service_by_id
Update an existing service in katanamrp by id using a JSON body of service attributes. Returns the updated service record with its id, created_at, and updated_at. Required: id.
delete_a_katana_mrp_service_by_id
Delete a service in katanamrp by id. Returns the deleted service record with its id, created_at, and updated_at. Required: id.
list_all_katana_mrp_services
List services in katanamrp. Returns service records with their id, created_at, and updated_at. Optional filters include ids, name, uom, category_name, and is_sellable.
create_a_katana_mrp_service
Create a new service in katanamrp by submitting a JSON body of service attributes. Returns the created service record with its id, created_at, and updated_at. The service attribute fields follow Katana's CreateServiceDto; a request body is required. Required: name, variants.
update_a_katana_mrp_stock_adjustment_by_id
Update a stock adjustment in katanamrp by id. Returns the updated stock adjustment record including id, created_at, and updated_at. Required: id.
delete_a_katana_mrp_stock_adjustment_by_id
Delete a stock adjustment in katanamrp by id. Returns the deleted stock adjustment record including id, created_at, and updated_at. Required: id.
list_all_katana_mrp_stock_adjustments
List stock adjustments in katanamrp. Returns each stock adjustment with id, stock_adjustment_number, location_id, created_at, and updated_at. Supports filtering by ids, stock_adjustment_number, location_id, include_deleted, and a dateFilter.
create_a_katana_mrp_stock_adjustment
Create a stock adjustment in katanamrp. Returns the created stock adjustment record including id, created_at, and updated_at. Requires a JSON request body. Required: location_id, stock_adjustment_rows.
katana_mrp_stock_transfer_status_bulk_update
Update the status of a stock transfer in Katana MRP by its id. Returns the updated stock transfer record including its id, created_at, and updated_at. Requires a JSON request body (UpdateStockTransferStatusDto);. Required: id.
update_a_katana_mrp_stock_transfer_by_id
Update a stock transfer by id in Katana MRP with a JSON request body matching Katana's UpdateStockTransferDto (see Katana's API reference for the field-level contract). Returns: id, created_at, updated_at. Required: id.
delete_a_katana_mrp_stock_transfer_by_id
Delete a stock transfer by id in Katana MRP. Returns the deleted transfer including id, stock_transfer_number, source_location_id, and target_location_id. Required: id.
list_all_katana_mrp_stock_transfers
List stock transfers in Katana MRP. Returns each transfer's id, stock_transfer_number, source_location_id, target_location_id, created_at, and updated_at.
create_a_katana_mrp_stock_transfer
Create a stock transfer in Katana MRP with a JSON request body matching Katana's CreateStockTransferDto (see Katana's API reference for the field-level contract). Returns: id, created_at, updated_at. Required: source_location_id, target_location_id, stock_transfer_rows.
update_a_katana_mrp_stocktake_row_by_id
Update a stocktake row in katanamrp by id. Returns the updated stocktake row with id, created_at, and updated_at. Requires id and a JSON request body (documented upstream as UpdateStocktakeRowDto). Required: id.
delete_a_katana_mrp_stocktake_row_by_id
Delete a stocktake row in katanamrp by id. Returns an empty 204 response on success. Required: id.
list_all_katana_mrp_stocktake_rows
List stocktake rows in katanamrp, filterable by stocktake, variant, batch, and bin location. Returns: id, variant_id, batch_id, bin_location_id, created_at, updated_at.
create_a_katana_mrp_stocktake_row
Create stocktake rows in katanamrp by posting a JSON request body (documented upstream as CreateStocktakeRowsDto). Returns the created stocktake row with id, created_at, and updated_at. Requires a JSON request body. Required: stocktake_id.
update_a_katana_mrp_stocktake_by_id
Update a stocktake in Katana by id. Returns an empty 204 response on success. Required: id.
delete_a_katana_mrp_stocktake_by_id
Delete a stocktake in Katana by id. Returns an empty 204 response on success. Required: id.
list_all_katana_mrp_stocktakes
List stocktakes in Katana. Returns stocktake records including id, stocktake_number, status, location_id, stock_adjustment_id, and created_at.
create_a_katana_mrp_stocktake
Create a stocktake in Katana. Returns the created stocktake record including its id, created_at, and updated_at. Requires a request body. Required: stocktake_number, location_id.
update_a_katana_mrp_supplier_address_by_id
Update an existing supplier address by id in katanamrp. Returns: id, created_at, updated_at. Requires a JSON request body; its fields are defined by the upstream SupplierAddressPatchDto schema in katanamrp's OpenAPI specification. Required: id.
delete_a_katana_mrp_supplier_address_by_id
Delete a supplier address in katanamrp by id. Returns the deleted address record including its id, supplier_id, line_1, city, country, and created_at. Required: id.
list_all_katana_mrp_supplier_addresses
List supplier addresses in katanamrp. Returns each address's id, supplier_id, line_1, city, country, and created_at. Optional filters include ids, supplier_ids, line_1, line_2, city, state, zip, country, and include_deleted.
create_a_katana_mrp_supplier_address
Create a supplier address in katanamrp. Returns: id, created_at, updated_at. Requires a JSON request body; its fields are defined by the upstream SupplierAddressCreateDto schema in katanamrp's OpenAPI specification. Required: supplier_id.
update_a_katana_mrp_supplier_by_id
Update a supplier in katanamrp by id. Returns the updated supplier object including id, name, created_at, and updated_at. Required: id.
delete_a_katana_mrp_supplier_by_id
Delete a supplier in katanamrp by id. Returns an empty 204 response on success. Required: id.
list_all_katana_mrp_suppliers
List suppliers in katanamrp. Returns supplier records including id, name, email, phone, created_at, and updated_at.
create_a_katana_mrp_supplier
Create a supplier in katanamrp. Returns the created supplier object including id, created_at, and updated_at. Requires a supplier payload in the JSON request body; the field set follows Katana's SupplierCreateDto. Required: name.
list_all_katana_mrp_tax_rates
List tax rates in Katana MRP. Returns each tax rate's id, name, rate, default sales and purchases flags, and created_at and updated_at timestamps.
create_a_katana_mrp_tax_rate
Create a tax rate in Katana MRP. Returns the created tax rate including id, created_at, and updated_at. Required: rate.
create_a_katana_mrp_unlink_variant_bin_location
Bulk unlink bin locations from variants in Katana MRP by sending a bare JSON array of unlink entries (1 to 500 items per request). Returns an empty 204 response on success.
list_all_katana_mrp_user_infos
Get the user info of the katanamrp account associated with the API credentials. Returns: id, attributes.
list_all_katana_mrp_users
List users in Katana MRP. Returns each user's id, created_at, and updated_at.
create_a_katana_mrp_variant_bin_location
Bulk create or update variant bin locations in Katana with a single request. Returns an array of the upserted variant bin location records, each including id, created_at, and updated_at.
get_single_katana_mrp_variant_by_id
Get a single variant in Katana by id. Returns the variant object including id, sku, sales_price, purchase_price, type, and created_at/updated_at. Pass extend=product_or_material to include the parent product or material. Required: id.
update_a_katana_mrp_variant_by_id
Update a variant in Katana by id. Returns the updated variant object including id, sku, sales_price, purchase_price, type, and created_at/updated_at. Required: id.
delete_a_katana_mrp_variant_by_id
Delete a variant in Katana by id. Returns the deleted variant object including id, sku, sales_price, type, and created_at/updated_at. Required: id.
list_all_katana_mrp_variants
List variants in Katana, filterable by ids, sku, product_id or material_id, barcodes, type, sales_price, purchase_price, abc_classification, and supplier_item_codes, with options to include deleted or archived records. Returns variant records including id, sku, sales_price, purchase_price, and type.
create_a_katana_mrp_variant
Create a variant in Katana. Returns the created variant object including id, sku, sales_price, purchase_price, type, and created_at/updated_at. The request body follows the upstream CreateVariantDto schema.
create_a_katana_mrp_webhook_logs_export
Request an export of webhook logs in Katana MRP. Returns the raw export payload produced by the API; Katana's documentation does not enumerate its fields. Requires a JSON request body defined upstream as WebhookLogsExportDto, whose properties are not listed in the available docs.
get_single_katana_mrp_webhook_by_id
Get a webhook by id in Katana MRP. Returns the webhook object including its id, url, subscribed_events, description, and enabled status. Required: id.
update_a_katana_mrp_webhook_by_id
Update an existing Katana MRP webhook by id. Returns the updated webhook including id, url, subscribed_events, and description. Required: id.
delete_a_katana_mrp_webhook_by_id
Delete a Katana MRP webhook by id. Returns an empty 204 response on success. Required: id.
list_all_katana_mrp_webhooks
List Katana MRP webhooks. Returns webhook records including id, url, subscribed_events, description, and enabled status.
create_a_katana_mrp_webhook
Create a webhook in Katana MRP that subscribes an HTTPS endpoint to inventory and order events. Returns the created webhook including id, url, subscribed_events, and description. Requires url and at least one subscribed_events value. Required: url, subscribed_events.
list_all_katana_mrp_search_customers
Search Katana (katanamrp) customers using a structured filter body with and/or condition groups, per-field operators (neq, gt, gte, lt, lte, inq, nin, between, like, ilike — a plain value matches exactly), custom_fields.
list_all_katana_mrp_search_manufacturing_orders
Search Katana manufacturing orders with structured filters. Returns matching manufacturing order records including id, order_no, status, location_id, planned_quantity, order_created_date, done_date, total_cost, created_at, and updated_at. Supports and/or filter combinators, sorting, and paging; max 200 results per page.
list_all_katana_mrp_search_purchase_orders
Search Katana purchase orders by posting filter conditions (and/or groups; operators like neq, inq, like, ilike, between) on fields such as status, supplier_id, order_no, and custom_fields. Returns: id, order_no, entity_type, supplier_id, location_id, tracking_location_id, currency, status, billing_status, last_document_status, expected_arrival_date, order_created_date, created_at, updated_at,…
list_all_katana_mrp_search_sales_order_rows
Search sales order rows in Katana via a POST filter query. Returns matching rows with id, quantity, variant_id, tax_rate_id, price_per_unit, and attributes. Filter on sales_order_id, variant_id, location_id, tax_rate_id, quantity, price_per_unit, total_discount, tax_rate, currency, product_availability, created_at, updated_at, delivery_date, shipping_date, and custom_fields.* keys; sort with…
list_all_katana_mrp_search_sales_orders
Search Katana (katanamrp) sales orders with a structured filter, sorting, and pagination. Returns matching sales order objects with id, customer_id, order_no, status, delivery_date, invoicing_status, and nested sales_order_rows. Filter fields accept direct values or operator objects (e.g. neq, inq, between, ilike). Max 200 per page.
list_all_katana_mrp_search_variants
Search katanamrp variants with a structured filter, sort order, and include options. Returns: id, sku, item_id, item_type, sales_price, purchase_price, minimum_order_quantity, lead_time, internal_barcode, registered_barcode, supplier_item_codes, abc_classification, custom_fields, created_at, updated_at, item. Supports include: item (parent item enrichment), archived, deleted. Max 200 per page.
Why Truto
Why use Truto’s MCP server for Katana MRP
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Katana MRP in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Katana MRP account
Use Truto’s frontend SDK to connect your customer’s Katana MRP account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Katana MRP
Truto’s Proxy API is a 1-to-1 mapping of the Katana MRP API. You call us, we call Katana MRP, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Katana MRP’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Katana MRP on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How do end users authenticate their Katana MRP account?
Katana uses API key authentication. Through Truto's connection flow, your end users paste their Katana API key once and Truto securely stores and injects it on every request, so you never handle credentials directly.
Can I query large catalogs efficiently instead of paginating through everything?
Yes. Katana exposes dedicated search endpoints for sales orders, purchase orders, manufacturing orders, variants, sales order rows, and customers. These support structured filters with operators like neq, between, and ilike, which Truto passes through so you can target only the records you need.
Does the integration support real-time updates or is it polling-based?
Both are supported. You can subscribe to Katana events using create_a_katana_mrp_webhook for real-time push, or poll list endpoints and inventory_movements on your own schedule. Most integrations combine webhooks for hot data with periodic reconciliation.
Can I read and write custom fields defined by the user in Katana?
Yes. Truto exposes the full custom_field_definitions and custom_fields_collections endpoints, so you can discover user-defined fields at runtime and read or write their values on supported resources.
What warehouse-level operations are supported?
The full set of granular warehouse primitives is available, including bin_locations, bin_inventories, bin_transfers, stock_transfers, stock_adjustments, stocktakes, batch_stocks, and serial_numbers. This is enough to power traceability, cycle counts, and multi-location logistics.
How does Truto handle Katana's rate limits and API quirks?
Truto manages retries, backoff, and pagination for Katana's endpoints automatically. If Katana returns a rate-limit response, requests are queued and retried transparently so your integration remains stable under load.
Katana MRP
Get Katana MRP integrated into your app
Our team understands what it takes to make a Katana MRP integration successful. A short, crisp 30 minute call with folks who understand the problem.