---
title: Clover API Integration on Truto
slug: clover
category: E-Commerce
canonical: "https://truto.one/integrations/detail/clover/"
---

# Clover API Integration on Truto



**Category:** E-Commerce  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 171 tools for Clover that AI agents can call directly.

- **get_single_clover_merchant_by_id** — Get a single Clover merchant by id. Returns the merchant record including id, name, reseller_id, owner account details, and address. Required: id.
- **update_a_clover_merchant_by_id** — Update a Clover merchant by id, changing fields such as its name, owner account, or address. Returns the updated merchant record including id, name, reseller_id, owner, and address. Required: id, name, owner.
- **list_all_clover_devices** — List all devices provisioned to a Clover merchant. Returns each device's id, name, serial, model, deviceTypeName, merchant, deleted_time, and orderPrefix. Required: m_id.
- **get_single_clover_device_by_id** — Get a single device provisioned to a Clover merchant by id. Returns: id, trackStock, updateStock. Required: m_id, id.
- **list_all_clover_sync** — Get the sync token for a merchant data table in Clover. Returns a table-specific record including its id and attributes. Required: m_id, table. This endpoint is deprecated.
- **list_all_clover_items** — List Clover inventory items for a merchant. Returns each item's id, name, price, priceType, sku, and availability flags. Required: m_id. Max 1000 items per page.
- **create_a_clover_item** — Create a Clover inventory item for a merchant. Returns the created item including its id, name, price, priceType, and defaultTaxRates. Required: m_id, name, and price (in cents).
- **get_single_clover_item_by_id** — Get a single Clover inventory item by id. Returns: id, hidden, available, autoManage, defaultTaxRates, isRevenue. Required: m_id and id.
- **update_a_clover_item_by_id** — Update a Clover inventory item by id. Returns the updated item including its id, name, price, available, and hidden. Required: m_id and id.
- **delete_a_clover_item_by_id** — Delete a Clover inventory item by id. Returns an empty 204 response on success. Required: m_id and id.
- **clover_items_bulk_update** — Update multiple inventory items in a single request for a Clover merchant. Returns the updated item fields including id, hidden, available, and isRevenue. Required: m_id, items.
- **clover_items_bulk_create** — Create multiple inventory items in a single request for a Clover merchant. Returns the created item fields including id, hidden, available, and isRevenue. Required: m_id, items.
- **clover_items_bulk_delete** — Bulk delete inventory items for a Clover merchant in a single request. Returns the item fields including id, hidden, available, and isRevenue. Required: m_id.
- **get_single_clover_item_stock_by_id** — Get the stock of a single item in a Clover merchant's inventory by id. Returns the item stock object including its item reference, quantity, stockAlertThreshold, and modifiedTime. Required: id, m_id.
- **update_a_clover_item_stock_by_id** — Update the stock of an item in a Clover merchant's inventory by id. Returns the updated item stock object including its item reference, quantity, stockAlertThreshold, and modifiedTime. Required: id, m_id.
- **delete_a_clover_item_stock_by_id** — Delete the item stock record of an item in a Clover merchant's inventory by id. Returns an empty 204 response on success. Required: id, m_id.
- **create_a_clover_item_stock** — Create an item stock record for an item in a Clover merchant's inventory. Returns the created item stock object including its hidden, available, autoManage, defaultTaxRates, and isRevenue flags. Required: m_id, item_id, quantity.
- **list_all_clover_item_stocks** — List the item stock records of a Clover merchant's inventory. Returns each stock record including its item reference, quantity, stockAlertThreshold, and modifiedTime. Required: m_id.
- **create_a_clover_item_group** — Create an item group in Clover for a merchant. Returns the created item group including its id and inventory flags such as hidden, available, and defaultTaxRates. Required: m_id and name.
- **get_single_clover_item_group_by_id** — Get a single Clover item group by id for a merchant. Returns the item group including its id and inventory flags such as hidden, available, and defaultTaxRates. Required: m_id and id.
- **update_a_clover_item_group_by_id** — Update a Clover item group by id for a merchant. Returns the updated item group including its id and inventory flags such as hidden, available, and defaultTaxRates. Required: m_id, id, and name.
- **delete_a_clover_item_group_by_id** — Delete a Clover item group by id. Returns an empty 204 response on success. Required: m_id and id.
- **list_all_clover_item_groups** — List all item groups for a Clover merchant. Returns item group records including id, name, items, and attributes. Required: m_id.
- **list_all_clover_tags** — List all tags (item labels and printer labels) for a Clover merchant. Returns each tag's id, name, showInReporting, modifiedTime, and deleted flag; use expand to include items or printers. Required: m_id. Limit defaults to 100, max 1000.
- **create_a_clover_tag** — Create a tag for a Clover merchant. Returns the created tag including its id, name, showInReporting, items, and printers. Required: m_id and name.
- **get_single_clover_tag_by_id** — Get a single Clover tag by id. Returns the tag object including its id, name, showInReporting, items, and printers. Required: m_id and id.
- **update_a_clover_tag_by_id** — Update a single Clover tag by id. Returns the updated tag including its id, name, showInReporting, items, and printers. Required: m_id, id, and name.
- **delete_a_clover_tag_by_id** — Delete a single Clover tag by id. Returns an empty 204 response on success. Required: m_id and id.
- **clover_tags_bulk_delete** — Delete multiple Clover tags in a single request for a merchant. Returns an empty 204 response on success. Required: m_id, tagIds (comma-separated list of one or more tag ids).
- **list_all_clover_tag_items** — List the tag-item associations for a Clover merchant. Returns association records with the tag and item references, each including its id. Required: m_id.
- **create_a_clover_tag_item** — Create or delete associations between tags and inventory items for a Clover merchant. Returns the association record including its id. Required: m_id. Pass delete=true to remove the associations supplied in the request body instead of creating them.
- **list_all_clover_tax_rates** — List tax rates for a Clover merchant. Returns tax rate records including id, name, rate, taxType, taxAmount, isDefault, and associated items. Required: m_id. Max 1000 results per page (defaults to 100).
- **create_a_clover_tax_rate** — Create a tax rate for a Clover merchant. Returns the created tax rate including id, name, rate, taxType, taxAmount, and isDefault. Required: m_id, name.
- **get_single_clover_tax_rate_by_id** — Get a single tax rate by id for a Clover merchant. Returns: id, name, rate, taxType, isDefault, taxAmount, deletedTime, modifiedTime. Required: id, m_id.
- **update_a_clover_tax_rate_by_id** — Update a tax rate by id for a Clover merchant. Returns the updated tax rate including id, name, rate, taxType, taxAmount, and isDefault. Required: id, m_id, name.
- **delete_a_clover_tax_rate_by_id** — Delete a tax rate by id for a Clover merchant. Returns an empty 204 response on success. Required: id, m_id.
- **create_a_clover_tax_rate_item** — Create or remove associations between inventory items and tax rates for a Clover merchant. Returns: hidden, available, autoManage, defaultTaxRates, isRevenue. Required: m_id and elements. The delete query flag switches the call from creating associations (false) to removing them (true).
- **list_all_clover_categories** — List all Clover categories for a merchant, returned in the order they display in the Register app (based on each category's sortOrder). Returns: id, name, sortOrder, colorCode, deleted, modifiedTime, canonical. Required: m_id.
- **create_a_clover_category** — Create a new item category for a Clover merchant; items display in the Register app grouped under this category. Returns: id, name, sortOrder, colorCode, deleted, modifiedTime, canonical. Required: m_id and name.
- **get_single_clover_category_by_id** — Get a single Clover category by id for a merchant. Returns: id, name, sortOrder, colorCode, deleted, modifiedTime, canonical. Required: m_id and id.
- **update_a_clover_category_by_id** — Update an existing Clover category by id, such as renaming it, changing its sort order, or updating its color. Returns: id, name, sortOrder, colorCode, deleted, modifiedTime, canonical. Required: m_id, id, and name.
- **delete_a_clover_category_by_id** — Delete a single Clover category by id for a merchant. Returns an empty 204 response on success. Required: m_id and id.
- **clover_categories_bulk_update_sort_orders** — Update the display order of up to 1000 Clover categories in a single request, controlling the order in which they appear on the Register app menu. Pass a categorySortOrders array where each entry identifies a category by id and its new sortOrder. Returns an empty 200 response on success. Required: m_id.
- **clover_categories_bulk_delete** — Delete one or more Clover categories in a single request by passing a comma-separated categoryIds list. Returns an empty 200 response on success. Required: m_id and categoryIds.
- **create_a_clover_category_item** — Create or delete item-to-category associations in Clover by posting an elements array. Set delete=true to remove an association or delete=false to create one. Returns: hidden, available, autoManage, defaultTaxRates, isRevenue. Required: m_id, elements. Moving an item from a parent category to a subcategory requires two separate calls (delete=true, then delete=false).
- **list_all_clover_modifier_groups** — List all modifier groups for a Clover merchant. Returns each group's id, name, alternateName, showByDefault, and sortOrder. Required: m_id. Max limit per page: 1000.
- **create_a_clover_modifier_group** — Create a modifier group for a Clover merchant. Returns the created group including id, name, alternateName, showByDefault, and minRequired. Required: m_id and name.
- **get_single_clover_modifier_group_by_id** — Get a single Clover modifier group by id. Returns: id, name, alternateName, minRequired, maxAllowed, showByDefault, sortOrder, modifierIds, modifiers, items. Required: id and m_id.
- **update_a_clover_modifier_group_by_id** — Update a Clover modifier group by id. Returns the updated group including id, name, alternateName, showByDefault, and sortOrder. Required: id and m_id. To add modifiers to the group, use the create-modifier endpoint instead.
- **delete_a_clover_modifier_group_by_id** — Delete a Clover modifier group by id; this also deletes all modifiers within the group. Returns an empty 204 response on success. Required: id and m_id.
- **clover_modifier_groups_bulk_update_sort_orders** — Update the sort order for up to 200 Clover modifier groups at once. Accepts a modifierGroups array of group objects with each group's updated priority. Returns 200 with an empty response body. Required: m_id, modifierGroups.
- **clover_modifier_groups_add_modifiers** — Add one or more modifiers to a Clover modifier group by setting the group layout. Accepts an ids array of modifier id objects in the desired final order. Returns 200 with an empty response body. Required: m_id, mod_group_id, ids.
- **clover_modifier_groups_list_items** — List all items in a single Clover modifier group. Returns item fields including id, name, alternateName, sku, price, available, and modifiedTime. Required: m_id, mod_group_id. Supports filter and expand query parameters.
- **clover_modifier_groups_remove_modifiers** — Remove modifiers from a Clover modifier group by redefining the group layout. Accepts an ids array containing only the modifier id objects to keep; modifiers not listed are removed. Returns 200 with an empty response body. Required: m_id, mod_group_id, ids.
- **clover_modifier_groups_bulk_delete** — Delete modifier groups in bulk for a Clover merchant. Returns an empty 204 response on success. Required: m_id.
- **create_a_clover_item_modifier_group** — Create or delete an association between inventory items and modifier groups for a Clover merchant. Returns: hidden, available, autoManage, defaultTaxRates, isRevenue. Set the query parameter delete to false to create the association or true to remove it, sending modifierGroup and item objects in the body. Required: m_id.
- **list_all_clover_modifiers** — List all Clover modifiers for a merchant. Returns modifier records with id, name, alternateName, available, price, modifierGroup, and modifiedTime. Required: m_id. Use filter (modifiedTime, price, name, alternateName, id, modifierGroup.id) and expand=modifierGroup to shape results.
- **create_a_clover_modifier** — Create a new Clover modifier within a modifier group. Returns the created modifier including id, name, alternateName, available, price, and its modifierGroup. Required: m_id and mod_group_id. available defaults to true and price defaults to 0.
- **get_single_clover_modifier_by_id** — Get a single Clover modifier by id within a modifier group. Returns the modifier with id, name, alternateName, available, price, modifierGroup, and modifiedTime. Required: m_id, mod_group_id, and id. Use expand=modifierGroup for nested group details.
- **update_a_clover_modifier_by_id** — Update a Clover modifier by id within a modifier group. Returns the updated modifier including id, name, alternateName, available, price, and its modifierGroup. Required: m_id, mod_group_id, and id. available defaults to true and price defaults to 0.
- **delete_a_clover_modifier_by_id** — Delete a Clover modifier by id from a modifier group. Returns an empty 200 response on success. Required: m_id, mod_group_id, and id.
- **list_all_clover_attributes** — List all inventory attributes for a Clover merchant. Returns attribute records including id, name, itemGroup, options, modifiedTime, and deletedTime. Max 1000 per page. Required: m_id.
- **create_a_clover_attribute** — Create an attribute in a Clover merchant's inventory. Returns the created attribute including id, name, itemGroup, and options. Requires name and itemGroup.
- **get_single_clover_attribute_by_id** — Get a single inventory attribute by id in Clover. Returns the attribute including id, name, itemGroup, options, modifiedTime, and deletedTime. Required: m_id and id.
- **update_a_clover_attribute_by_id** — Update an inventory attribute by id for a Clover merchant. Returns the updated attribute including id, name, itemGroup, and options. Requires name and itemGroup.
- **delete_a_clover_attribute_by_id** — Delete an inventory attribute by id from a Clover merchant. Returns the deleted attribute including id, name, itemGroup, and options. Required: m_id and id.
- **list_all_clover_options** — List inventory options for a Clover merchant, covering option variants across all attributes. Returns: id, name, attribute, modifiedTime, deletedTime. Required: m_id. Supports filter and expand; maximum 1000 per page.
- **update_a_clover_option_by_id** — Update an inventory option on a Clover attribute by id. Returns the updated option object with id, name, attribute, items, modifiedTime, and deletedTime. Required: m_id, attribute_id, id, and name.
- **delete_a_clover_option_by_id** — Delete an inventory option from a Clover attribute by id. Required: m_id, attribute_id, and id. Returns an empty 204 response on success.
- **create_a_clover_option_item** — Create or delete associations between inventory items and their option variants in Clover. Required: m_id. By default the call creates the associations; set the optional delete query flag to true to remove those specified in the request body. Returns a 200 success confirmation — the upstream docs do not enumerate the response body fields.
- **list_all_clover_discounts** — List all discounts associated with a Clover merchant's inventory. Returns discount records with id, name, amount, percentage, approver, and modifiedTime. Required: m_id. Max 1000 per page (default 100).
- **create_a_clover_discount** — Create a discount for a Clover merchant. Returns the created discount record including id, name, amount, percentage, approver, and discount. Required: m_id and name.
- **get_single_clover_discount_by_id** — Get a single discount by id for a Clover merchant. Returns the discount record with id, name, amount, percentage, approver, and modifiedTime. Required: id and m_id.
- **update_a_clover_discount_by_id** — Update a discount by id for a Clover merchant. Returns the updated discount record including id, name, amount, percentage, approver, and discount. Required: id, m_id, and name.
- **delete_a_clover_discount_by_id** — Delete a discount by id for a Clover merchant. Returns an empty 200 response on success. Required: id and m_id.
- **list_all_clover_tax_rules** — List all tax exemption rules for a Clover merchant — each rule links order types to items in an order to exclude certain tax rates from those items. Returns: id, attributes. Required: m_id.
- **get_single_clover_tax_rule_by_id** — Get an individual tax exemption rule for a Clover merchant — the rule links order types to items in an order to exclude certain tax rates from those items. Returns: id, attributes. Required: m_id, id.
- **list_all_clover_employees** — List all employees for a Clover merchant. Returns each employee's id, name, nickname, email, role, and inviteSent status. Required: m_id.
- **create_a_clover_employee** — Create an employee for a Clover merchant, optionally setting their email, PIN, nickname, and system role. Returns: id, name, nickname, customId, email, inviteSent, claimedTime, deletedTime, role, roles, isOwner, shifts, payments, orders, employeeCards, merchant. Required: m_id, name.
- **get_single_clover_employee_by_id** — Get a single Clover employee by id. Returns: id, name, nickname, customId, email, inviteSent, claimedTime, deletedTime, pin, unhashedPin, role, roles, isOwner, shifts, payments, orders, employeeCards, merchant. Required: m_id and id.
- **update_a_clover_employee_by_id** — Update an existing Clover employee by id, such as renaming the employee or changing their email, PIN, or system role. Returns: id, name, nickname, customId, email, inviteSent, claimedTime, deletedTime, role, roles, isOwner, shifts, payments, orders, employeeCards, merchant. Required: m_id, id, name.
- **delete_a_clover_employee_by_id** — Delete a Clover employee by id from a merchant. Returns an empty 200 response on success. Required: m_id and id.
- **list_all_clover_roles** — List all system and employee roles for a Clover merchant. Returns each role's id, name, systemRole, modifiedTime, employeesRef, and merchant. Requires m_id. Max 1000 results per page.
- **create_a_clover_role** — Create a new role for a Clover merchant. Returns the created role including id, name, systemRole, employeesRef, and merchant. Requires name, systemRole, and m_id.
- **get_single_clover_role_by_id** — Get a single Clover role by id. Returns the role's id, name, systemRole, employeesRef, and merchant. Requires m_id and id.
- **update_a_clover_role_by_id** — Update a Clover role by id. Returns the updated role including id, name, systemRole, employeesRef, and merchant. Requires m_id, id, name, and systemRole.
- **delete_a_clover_role_by_id** — Delete a Clover role by id. Requires m_id and id. Returns an empty 204 response on success.
- **delete_a_clover_tender_by_id** — Delete an existing Clover merchant tender by id. Returns an empty 204 response on success. Required: m_id, id.
- **list_all_clover_customers** — List Clover customers for a merchant. Returns customer records with id, firstName, lastName, marketingAllowed, customerSince, and expandable addresses, emailAddresses, phoneNumbers, cards, and metadata. Required: m_id.
- **create_a_clover_customer** — Create a customer record for a Clover merchant. Returns the created customer with id, firstName, lastName, marketingAllowed, customerSince, and expandable addresses, emailAddresses, phoneNumbers, cards, and metadata. Required: m_id.
- **get_single_clover_customer_by_id** — Get a single Clover customer by id. Returns the customer record with id, firstName, lastName, marketingAllowed, customerSince, and expandable addresses, emailAddresses, phoneNumbers, cards, and metadata. Required: id, m_id.
- **update_a_clover_customer_by_id** — Update a single Clover customer by id. Returns the updated customer record with id, firstName, lastName, marketingAllowed, customerSince, and expandable addresses, emailAddresses, phoneNumbers, cards, and metadata. Required: id, m_id.
- **delete_a_clover_customer_by_id** — Delete a single customer from a Clover merchant by id. Returns an empty 204 response on success. Required: id, m_id.
- **list_all_clover_shifts** — List all shifts for a Clover merchant. Returns: id, employee, in_time, out_time, override_in_time, in_and_override_time, out_and_override_time, has_in_time, deletedTime, server_banking. Required: m_id.
- **get_single_clover_shift_by_id** — Get a single shift by id for a Clover merchant. Returns: id, employee, in_time, out_time, override_in_time, in_and_override_time, out_and_override_time, has_in_time, deletedTime, server_banking. Required: m_id and id.
- **list_all_clover_cash_events** — List all cash events for a Clover merchant. Returns each event's id, note, type, amountChange, timestamp, employee, and device. Required: m_id.
- **get_single_clover_order_by_id** — Get a single Clover order by id for a merchant. Returns the order object with fields including id, total, currency, state, payType, taxRemoved, and clientCreatedTime/createdTime/modifiedTime timestamps. Required: m_id, id. Use expand to include nested lineItems, payments, discounts, credits, serviceCharge, customers, refunds, or orderFulfillmentEvent.
- **update_a_clover_order_by_id** — Update a single Clover order for a merchant, such as changing its note, state, paymentState, taxRemoved, or orderType. Returns the updated order object with fields including id, total, currency, state, payType, and modifiedTime. Required: m_id, id.
- **create_a_clover_order** — Create a custom Clover order for a merchant with a non-Clover inventory, dynamically calculating taxes; add line items in separate calls. Returns the created order object with fields including id, total, currency, state, payType, taxRemoved, and createdTime/modifiedTime. Required: m_id. For orders created via REST, Clover recommends manually setting state to Open.
- **clover_orders_bulk_create** — Create multiple line items on a Clover order in a single request. Returns the order object with the created line items, including id, total, currency, state, and lineItems. Required: m_id, order_id, items (each item must include a price; maximum 100 line items per request).
- **list_all_clover_refunds** — List all refunds for a Clover merchant. Returns refund records with id, voided, createdTime, clientCreatedTime, orderRef, payment, employee, and device fields, plus expanded objects when requested. Required: m_id. Filtering on createdTime or clientCreatedTime is subject to a 90-day data retrieval limit.
- **create_a_clover_app_billing** — Create an app billing metered event in Clover, charging the merchant based on the app's metered pricing tier. Returns an empty 200 response with no body. Required: app_id, m_id, metered_id. Pass the optional count query parameter to bill multiple events; it defaults to 1.
- **delete_a_clover_app_billing_by_id** — Delete a metered app billing event recorded against a Clover app's billing for a merchant. Returns an empty 204 response on success. Requires app_id, m_id, metered_id, and id (the metered event id).
- **create_a_clover_ecommerce_charge** — Create a charge in Clover against a credit card or other payment source. Returns the created charge object including id, amount, currency, capture, captured, source, receipt_email, and metadata. Required: amount, currency, source. Set capture to false to create a pre-authorization that can be captured later.
- **clover_ecommerce_charges_capture** — Capture the payment of an existing uncaptured Clover charge, for the full amount or a partial amount. Returns the charge object with captured set to true, including id, amount, currency, capture, and source. Required: charge_id. Returns an error if the charge is already refunded, expired, or captured, or if an invalid capture amount is specified.
- **create_a_clover_ecommerce_refund** — Create a refund in Clover against a previously made charge. Returns the created refund object including its id, amount, charge, created, and reason. Required: charge. Amount is in cents from the charge's remaining unrefunded amount and must be at least 1.
- **list_all_clover_ecommerce_refunds** — List refunds in Clover, optionally filtered to a specific charge or creation time. Returns refund records including id, amount, charge, created, and reason. Max 100 per page.
- **create_a_clover_ecommerce_order** — Create an order in Clover Ecommerce for a customer, optionally with line items, metadata, and shipping details. Returns the created order object including its id. Required: currency, email. An order can have up to 25 items.
- **list_all_clover_ecommerce_orders** — List Clover ecommerce orders with filters for creation time, customer, order ids, and status (created, paid, fulfilled, or refunded). Returns: id, created, status, customer. Max 100 per page (default 10).
- **create_a_clover_ecommerce_customer** — Create a card-on-file (COF) customer record in Clover Ecommerce to save a payment source, such as a card or ACH token, for future charges. Returns the created COF customer record including its id, firstName, lastName, name, email, source, phone, shipping, and ecomind. Required: email, source.
- **clover_ecommerce_customers_revoke_source** — Revoke a payment source, such as a card or ACH token, from a Clover card-on-file customer profile. Returns an empty 204 response on success. Required: customer_id, source_id.
- **clover_gift_cards_reload** — Reload a Clover gift card by adding funds to its balance. Returns the reloaded gift card details: id and attributes containing the card-specific fields Clover returns for the reload. Required: source, amount, currency.
- **clover_gift_cards_cashout** — Request cashout of a Clover gift card's balance using its single-pay gift card token (cToken). Returns the cashed-out gift card details as an id plus content-specific card fields under attributes. Required: source.
- **clover_hosted_checkout_create_session** — Create a hosted checkout session in Clover to start a customer transaction. Returns the created checkout session with id, created_at, and updated_at. Required: shoppingCart. If the merchant's customer-information feature is enabled, customer first name, last name, and email are also required; otherwise at least one of those customer details is required.
- **get_single_clover_ecommerce_plan_by_id** — Get a specific Clover recurring payment plan by id. Returns: id, attributes, verificationCode. Required: id (plan UUID).
- **list_all_clover_api_keys** — Retrieve the merchant's public Ecommerce API key (PAKMS key, apiAccessKey) used for card, gift card and ACH tokenization. Clover requires an OAuth access_token for this endpoint; a merchant-level Ecommerce private key already comes paired with its public key, so this call is only needed for app-based (OAuth) integrations. Returns: active, apiAccessKey, createdTime, developerAppUuid, merchantUuid, modifiedTime.
- **list_all_clover_merchant_addresses** — Get the address of a Clover merchant. Returns the address fields: address1, address2, address3, city, state, zip, and country. Required: m_id (the merchant identifier).
- **list_all_clover_merchant_gateways** — Get a merchant's payment gateway configuration in Clover. Returns the gateway configuration record: id, attributes (upstream-defined gateway fields). Required: m_id.
- **list_all_clover_merchant_properties** — Get the configuration properties of a Clover merchant. Returns the properties object including trackStock, updateStock, locale, timezone, vat, vatTaxName, cashBackEnabled, and hierarchy. Required: m_id.
- **update_a_clover_merchant_property_by_id** — Update the configuration properties of a Clover merchant. Returns the updated properties object including trackStock, updateStock, locale, timezone, vat, vatTaxName, cashBackEnabled, and hierarchy. Required: m_id. All property fields are optional and only supplied fields are changed.
- **list_all_clover_merchant_service_charges** — Get the default service charge configured for a Clover merchant. Returns the merchant's default service charge details as a single record. Required: m_id.
- **get_single_clover_tip_suggestion_by_id** — Get a single Clover tip suggestion by id for a merchant. Returns the tip suggestion's id, name, percentage, amount, isEnabled, and flatTip. Required: id, m_id.
- **list_all_clover_tip_suggestions** — List a Clover merchant's tip suggestions. Returns each tip suggestion's id, name, percentage, amount, isEnabled, and flatTip. Required: m_id. Max 1000 per page.
- **update_a_clover_tip_suggestion_by_id** — Update a Clover merchant's tip suggestion by id, such as its name, percentage, amount, isEnabled, or flatTip. Returns the updated tip suggestion including id, name, percentage, amount, isEnabled, and flatTip. Required: id, m_id.
- **create_a_clover_order_type** — Create an order type for a Clover merchant. Returns the created order type including id, label, labelKey, taxable, isDefault, hoursAvailable, and isDeleted. Required: m_id.
- **delete_a_clover_order_type_by_id** — Delete a Clover order type by id. Returns an empty response on success. Required: m_id, id.
- **get_single_clover_order_type_by_id** — Get a single Clover order type by id. Returns the order type including id, label, labelKey, taxable, isDefault, hoursAvailable, and isDeleted. Required: m_id, id.
- **list_all_clover_order_types** — List order types for a Clover merchant. Returns order type records including id, label, labelKey, taxable, isDefault, and hoursAvailable. Required: m_id. Max 1000 per page.
- **update_a_clover_order_type_by_id** — Update a Clover order type by id. Returns the updated order type including id, label, labelKey, taxable, isDefault, and hoursAvailable. Required: m_id, id.
- **list_all_clover_system_order_types** — List the system order types configured for a Clover merchant. Returns each order type's id and flag fields including taxable, isDefault, filterCategories, isHidden, and isDeleted. Required: m_id (merchant id).
- **create_a_clover_opening_hour** — Create an opening hours entry for a Clover merchant, defining the store's hours per weekday (sunday through saturday) plus a name and reference. Returns: id, name, reference, sunday, monday, tuesday, wednesday, thursday, friday, saturday. Required: m_id.
- **delete_a_clover_opening_hour_by_id** — Delete an opening hours entry from a Clover merchant. Returns an empty 204 response on success. Required: m_id, id.
- **get_single_clover_opening_hour_by_id** — Get a single opening hours entry for a Clover merchant by id. Returns: id, name, reference, sunday, monday, tuesday, wednesday, thursday, friday, saturday. Required: m_id, id.
- **list_all_clover_opening_hours** — List all opening hours entries for a Clover merchant, each with its name, reference, and weekly schedule (sunday through saturday). Returns: id, name, reference, sunday, monday, tuesday, wednesday, thursday, friday, saturday. Required: m_id.
- **update_a_clover_opening_hour_by_id** — Update an existing opening hours entry for a Clover merchant, replacing its name, reference, and weekly schedule. Returns: id, name, reference, sunday, monday, tuesday, wednesday, thursday, friday, saturday. Required: m_id, id.
- **create_a_clover_customer_phone_number** — Create a phone number for a Clover customer. Returns the created phone number record including id, phoneNumber, and customer. Required: m_id, customer_id, and phoneNumber.
- **delete_a_clover_customer_phone_number_by_id** — Delete a phone number for a Clover customer by id. Returns an empty 204 response on success. Required: id, m_id, and customer_id.
- **update_a_clover_customer_phone_number_by_id** — Update a phone number for a Clover customer by id. Returns the updated phone number record including id, phoneNumber, and customer. Required: id, m_id, customer_id, and phoneNumber.
- **create_a_clover_customer_email_address** — Create an email address for a Clover customer. Returns the created email address object including its id, emailAddress, verifiedTime, primaryEmail, and customer. Email addresses are validated upstream. Required: m_id, customer_id, emailAddress.
- **delete_a_clover_customer_email_address_by_id** — Delete a customer's email address in Clover by id. Returns an empty 200 response on success. Required: m_id, customer_id, and id.
- **update_a_clover_customer_email_address_by_id** — Update a Clover customer's email address by id. Returns the updated email address object including its id, emailAddress, verifiedTime, primaryEmail, and customer. Email addresses are validated upstream. Required: m_id, customer_id, id, emailAddress.
- **create_a_clover_customer_address** — Create an address for a customer in Clover. Returns the created address record including its id, address1, address2, address3, city, state, zip, and country. Required: m_id, customer_id.
- **delete_a_clover_customer_address_by_id** — Delete a customer address for a merchant's customer in Clover by id. Returns an empty 204 response on success. Required: m_id, customer_id, id.
- **update_a_clover_customer_address_by_id** — Update an address for a customer in Clover by id. Returns the updated address record including its id, address1, address2, address3, city, state, zip, and country. Required: m_id, customer_id, id.
- **create_a_clover_customer_card** — Create a credit/debit card entry for a Clover customer under a merchant. Returns the created card record including id, first6, last4, expirationDate, additionalInfo, and modifiedTime. Requires m_id, customer_id, first6, and last4.
- **delete_a_clover_customer_card_by_id** — Delete a credit/debit card from a Clover customer's record under a merchant. Requires m_id, customer_id, and id. Returns an empty 204 response on success.
- **update_a_clover_customer_card_by_id** — Update a credit/debit card record for a Clover customer under a merchant. Returns the updated card including id, first6, last4, expirationDate, additionalInfo, and modifiedTime. Requires m_id, customer_id, id, first6, and last4.
- **create_a_clover_atomic_order** — Create an atomic order in Clover, building the complete order — line items, modifiers, discounts, and service charges — with real-time totals and tax calculation in a single call. Returns the created order including its id and orderCart (orderType, groupLineItems). Required: m_id. Orders are limited to a maximum of 3,000 line items.
- **list_all_clover_employee_cash_events** — List all cash events for a specific employee in Clover. Returns: id, note, amountChange, timestamp, employee, device. Required: m_id, emp_id. Supports filter (fields: employee.id, note, amountChange, employee.name, type, device.id, timestamp) and expand (employee, device).
- **create_a_clover_employee_shift** — Create a shift for an employee in a Clover merchant. Returns the created shift object including its id, employee, inTime, outTime, cashTipsCollected, and serverBanking. Required: m_id, emp_id.
- **get_single_clover_employee_shift_by_id** — Get a single shift for an employee in a Clover merchant by id. Returns the shift record including its id, employee, inTime, outTime, cashTipsCollected, and serverBanking. Required: id, m_id, emp_id.
- **list_all_clover_employee_shifts** — List shifts for an employee in a Clover merchant. Returns shift records including id, employee, inTime, outTime, cashTipsCollected, and serverBanking. Required: m_id, emp_id.
- **list_all_clover_order_line_items** — List the line items for an order in Clover. Returns a collection of line-item records, each including its id; supports expand=discounts to include line-item discounts in the response. Required: m_id, order_id.
- **create_a_clover_order_payment** — Create an order payment in Clover by charging a customer's payment source or stored customer for an order. Returns: id, orderCart. Required: order_id (order UUID) and customer (or a payment source, such as a card token). Either a payment source or customer must be associated with the order for payment to succeed.
- **list_all_clover_order_payments** — List all payments made for a Clover order. Returns each payment with fields including id, amount, result, voided, createdTime, clientCreatedTime, and externalReferenceId. Required: m_id and order_id. Use filter to narrow results by payment fields and expand for nested details such as tender, cardTransaction, and refunds.
- **get_single_clover_print_event_by_id** — Get a Clover print event by its ID. Returns the PrintOrder including the printing device, print category, and job state while the event is in CREATED, PRINTING, or FAILED state; successfully printed jobs are discarded and cannot be replayed. Required: id, m_id.
- **list_all_clover_shift_exports** — Download a CSV export of all shifts for a Clover merchant. Returns shift rows including id, employee (id, name), in_time, out_time, override_in_time, has_in_time, deletedTime, and server_banking. Required: m_id.
- **list_all_clover_voided_line_item_totals** — Get a summary of line items and orders deleted from a Clover merchant. Returns: id, lineItemUuid, orderId, name, price, quantity, reason, deleteType, isRevenue, approvedByUuid, printed, showInReporting, revenueClassName, orderType, deletedTime. Required: m_id.
- **list_all_clover_attribute_options** — List all options for an attribute in a Clover merchant's inventory (for example, the size or color variations of an item group). Returns: id, name, attribute, item, modifiedTime, deletedTime. Required: m_id, attribute_id. Max 1000 per page (default 100).
- **list_all_clover_categorized_items** — List all inventory items that belong to a specific category in Clover. Returns item fields including id, name, hidden, available, sortOrder, colorCode, and modifiedTime. Required: m_id (merchant identifier), cat_id (category identifier).
- **list_all_clover_customer_exports** — Download a CSV export of a Clover merchant's customers. Returns the raw CSV file (text/csv) with one entry per customer, covering every customer of the merchant by default. Required: m_id (Merchant Id).
- **create_a_clover_customer_metadatum** — Create or update metadata for a Clover customer. Returns the saved metadata record including businessName, note, dobYear, dobMonth, dobDay, and modifiedTime. Required: m_id, customer_id.
- **list_all_clover_item_categories** — List the categories a Clover inventory item is associated with. Returns category records including id, name, sortOrder, colorCode, deleted, and modifiedTime. Required: m_id, item_id.
- **list_all_clover_item_tags** — List the tags assigned to a Clover inventory item. Returns tag records including id, name, showInReporting, deleted, and modifiedTime; associated items and printers are included when expanded. Required: m_id, item_id.
- **list_all_clover_items_without_revenue_class** — List inventory items that have no tag or revenue class in a Clover merchant inventory. Returns: id, name, alternateName, sku, itemCode, price, hidden, available, autoManage, defaultTaxRates, isRevenue, modifiedTime, deleted, itemGroup, tags, categories, taxRates, modifierGroups, itemStock, options. Required: m_id. Max 1000 items per page.
- **list_all_clover_modifier_group_modifiers** — List all modifiers in a single modifier group for a Clover merchant. Returns: id, name, alternateName, price, available, modifiedTime, modifierGroup. Required: m_id, mod_group_id. Max 1000 per page.
- **get_single_clover_option_by_attribute_by_id** — Get a single option (item variant value) under an attribute in Clover by id. Returns the option's id, name, parent attribute, associated items, and modified and deleted times. Required: id, m_id, attribute_id.
- **create_a_clover_sub_category** — Create a subcategory under a parent category in Clover. Returns the created subcategory object including its id, name, and colorCode. Requires m_id, category_id, and name.
- **update_a_clover_sub_category_by_id** — Update a subcategory's details, such as its name or color, under a parent category in Clover. Returns the updated subcategory object including its id, name, and colorCode. Requires m_id, category_id, and id.
- **list_all_clover_tagged_items** — List the inventory items associated with a tag in Clover. Returns each tagged item's id, name, price, sku, and boolean flags (hidden, available, isRevenue). Required: m_id, tag_id.
- **list_all_clover_taxed_items** — List the Clover inventory items associated with a specific tax rate. Returns item fields including id, name, price, sku, hidden, available, and modifiedTime. Required: m_id, tax_id.

## How it works

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

- **Sync online menus with in-store POS catalogs** — Online ordering and delivery aggregator platforms can pull Clover items, categories, modifier groups, and tax rates to build accurate digital menus, then inject remote orders back into the POS so kitchens fire tickets automatically.
- **Automate payroll from POS shift data** — Payroll and workforce management tools can read Clover employees, roles, and employee shifts (with clock-in/out and cash tips) to calculate hours, overtime, and tip payouts without manual entry.
- **Reconcile sales and cash into accounting ledgers** — Bookkeeping platforms can pull Clover orders, order payments, refunds, and cash events nightly to generate journal entries for sales, tax collected, tips, and cash drawer movements.
- **Keep omnichannel inventory in perfect sync** — E-commerce platforms can listen for Clover item stock changes and push updates back with bulk item and stock endpoints, preventing oversells between the register and the online storefront.
- **Trigger loyalty and marketing on real purchase history** — CRM and loyalty tools can pull Clover customers and line-item level order data to segment shoppers by what they actually bought in-store and trigger personalized campaigns.

## What you can build

- **Atomic order injection** — Push fully-formed orders — including line items, modifiers, discounts, and service charges — into a merchant's Clover POS with a single call using the atomic order endpoint.
- **Bi-directional catalog sync** — Sync items, categories, modifier groups, tags, and tax rates in both directions using bulk create/update endpoints for fast merchant onboarding and ongoing menu changes.
- **Real-time stock management** — Read and write item stock levels per merchant so your app can decrement Clover inventory on online sales and reflect in-store sales in your product instantly.
- **Employee time & tips export** — Pull employee shifts, roles, and cash events to power payroll runs, labor cost dashboards, and tip declaration workflows.
- **Hosted checkout and card-on-file billing** — Spin up Clover hosted checkout sessions, create e-commerce charges, and store e-commerce customers with saved payment sources for recurring billing on the merchant's Clover account.
- **Customer 360 with purchase history** — Sync Clover customers along with their addresses, phones, emails, cards, and associated orders to build rich customer profiles inside your CRM or loyalty app.

## FAQs

### How does authentication work for Clover merchants?

Clover uses OAuth for merchant-authorized access, with each token scoped to a specific merchant ID. Truto handles the OAuth flow, token storage, and refresh so your end users just click 'Connect Clover' and your app receives a ready-to-use connection.

### Which Clover objects can I read and write today?

Truto exposes tools across merchants, devices, catalog (items, categories, modifier groups, modifiers, tags, tax rates, discounts, attributes, options), inventory stock, employees, roles, shifts, cash events, customers (with addresses, phones, emails, cards), orders (including atomic orders), line items, payments, refunds, and e-commerce charges, refunds, orders, customers, and hosted checkout sessions.

### Can I create orders with modifiers and discounts in a single call?

Yes. The atomic order endpoint accepts a fully composed order — line items, modifiers, discounts, and service charges — and creates it in Clover in one request, which is the recommended approach for online ordering and delivery use cases.

### How do I handle high-volume catalog updates during onboarding?

Use the bulk endpoints for items (bulk create, update, delete), tags (bulk delete), categories (bulk update sort orders, bulk delete), and modifier groups (bulk update sort orders, bulk delete) to efficiently move large catalogs without hitting per-object rate limits.

### How fresh is the data — does Truto support event-driven sync?

You can poll list endpoints (orders, items, item stocks, customers, shifts, cash events, etc.) on your own cadence, and Truto normalizes pagination so you can incrementally sync large datasets without writing Clover-specific logic.

### Can my app accept payments through the merchant's Clover account?

Yes. You can create e-commerce charges, capture them, issue e-commerce refunds, and spin up hosted checkout sessions so payments settle to the same Clover merchant account used at the physical POS.

### Is a Clover tool I need missing from the list?

Truto's Clover integration is actively expanded on request. If you need an endpoint or object that isn't listed, reach out and it can typically be added quickly since it plugs into the same connection and auth flow.

## Related reading

- [Connect Clover to ChatGPT: Sync Inventory, Orders, and Modifiers](https://truto.one/blog/connect-clover-to-chatgpt-sync-inventory-orders-and-modifiers/) — Learn how to connect Clover to chatgpt using Truto. Step-by-step guide to tool calling, API quirks, and autonomous workflows.
- [Connect Clover to Claude: Manage Customers, Shifts, and Settings](https://truto.one/blog/connect-clover-to-claude-manage-customers-shifts-and-settings/) — Learn how to build a production-grade MCP server for Clover to give Claude secure, read-and-write access to your POS inventory, shifts, and customer data.
- [Connect Clover to AI Agents: Automate Payments and Order Refunds](https://truto.one/blog/connect-clover-to-ai-agents-automate-payments-and-order-refunds/) — Learn how to connect Clover to AI agents using Truto's /tools endpoint. Bind tools to LangChain, automate refunds, and orchestrate atomic orders without writing integration boilerplate.
