# Clover MCP connector

The Clover connector brings items, stock levels, item groups, tags, devices and merchant details into Claude, ChatGPT, Cursor and the Elaichi Agent, so each person can look up and update what Clover holds, signed in as themselves.

Source: https://elaichi.ai/connectors/clover/

## Facts

| | |
| --- | --- |
| Application | Clover |
| Category | Ecommerce |
| AI tools | 171 |
| Authentication | OAuth or API key |
| Needs your own OAuth app | Yes |
| MCP endpoint | https://api.elaichi.ai/mcp |
| Works with | Claude, ChatGPT, Cursor, any MCP client, and the Elaichi Agent |
| Tools advertised by name | No. 171 tools is past the 30-tool threshold, so clients use `search_tools` and `execute_tool` |

## What you can ask once Clover is connected

- Show me items low on stock across all Clover stores.
- Draft a summary of today's Clover orders by device.
- List merchants added to Clover this month.

## Connect Clover in Elaichi

This happens once for the organization, before any client is involved.

1. Open Connections, choose Add connection, and pick Clover.
2. Optionally set Share with, then press Connect.
3. Supply your own Clover app, then approve. Clover needs an OAuth app you register yourself, so bring its client ID and secret. One person does this once for the organization.

Credentials are vaulted and nobody, including the AI, reads them back. The connection becomes a toolbox immediately, so you can curate which Clover tools are exposed, rename them, or freeze arguments before anyone points a client at it.

## Connect Clover to Claude

Endpoint: https://api.elaichi.ai/mcp

1. Open Customize, then Connectors.
2. Press Add.
3. Name it, paste the MCP server URL, then Continue.
4. Sign in and approve.

On Team and Enterprise, an Owner adds it once. Everyone else turns it on for themselves.

## Connect Clover to ChatGPT

Endpoint: https://api.elaichi.ai/mcp

1. Open Plugins, then press the + button.
2. Name it and paste the endpoint into Server URL.
3. Leave Authentication on OAuth, then tick the risk acknowledgement.
4. Press Create, then sign in and approve.

Works on the web today. The plugin directory lives at chatgpt.com/plugins.

## Connect Clover to Cursor

Endpoint: https://api.elaichi.ai/mcp

1. Open `~/.cursor/mcp.json`.
2. Add the endpoint under `mcpServers`.
3. Reload Cursor, then sign in and approve.

Set up per machine, so repeat it on each computer you work from.

## Connect Clover to any MCP client

Endpoint: https://api.elaichi.ai/mcp

1. Add the endpoint as a remote MCP server.
2. Sign in and approve.

The Elaichi Agent already has these tools, with nothing to set up.

## What the consent screen decides

Only Read is granted by default, which is not enough to call a Clover tool. Over MCP there is no trusted place to confirm a write in the moment, so the consent screen is the standing approval rather than a formality. Grant Read and Run tools. Think hard before granting Delete, which reaches into connected apps and cannot be undone.

## What teams do with Clover through Elaichi

### Fix stock counts after a delivery

Inventory. Read the delivery note aloud and have the stock level for each Clover item updated to match, then confirm what changed before the next shift opens the register.

### Add a new product line in one go

Merchandising. Paste a supplier list and create the whole set of Clover items at once, with prices, tags and an item group so they show up together on the register.

### Reprice a whole category before the weekend

Operations. Ask for every item in a group, review the new prices in a table, and push the bulk update to Clover so all locations ring up the same amount.

### Know which registers are set up where

Store management. List the Clover devices attached to a merchant, spot one that is missing or misnamed, and get the answer without walking the floor or calling support.

### Keep menu groups and tags tidy

Kitchen and menu. Find items that were added without a group or tag, sort them into the right Clover item group, and retire duplicates so the menu on the register matches the one on the wall.

### Keep merchant details current across locations

Owners. Pull the details Clover holds about each merchant, check them against what is on the door, and update anything that has drifted, all from one conversation.

## Frequently asked questions

### How do I connect Clover to Claude?

First connect Clover in Elaichi. Clover needs an OAuth application that your company registers inside its own Clover account, so one person brings a client ID and secret once, or uses a Clover API key instead, and Elaichi keeps it from then on. Then in Claude go to Customize, then Connectors, then Add, and paste https://api.elaichi.ai/mcp. Claude asks you to sign in to Elaichi, and Clover is ready to use.

### Does Clover work with ChatGPT and Cursor as well as Claude?

Yes. Once Clover is connected in Elaichi, the same endpoint, https://api.elaichi.ai/mcp, works in Claude, ChatGPT, Cursor, any other MCP client and the Elaichi Agent. You connect Clover once and every client sees it, with the same access and the same audit log.

### What can an AI agent actually do with my Clover data?

With Clover connected, an agent can look up items, stock levels, item groups, tags, devices and merchant details, and it can create, update or remove items, stock counts and groups, one at a time or in bulk. In practice that means asking for a stock count, adding a batch of new products, repricing a category or checking which registers are attached to a location. Clover exposes a lot of actions, so short, concrete asks like update the stock for these five items work better than one long paragraph.

### Does connecting Clover give the AI access to every merchant and location?

No. When you connect Clover through Elaichi, the agent works inside the Clover account you signed in with and can only reach the merchants, items, devices and stock that account already sees. Elaichi can narrow that further, for example to reading items but never deleting them, but it can never widen what your Clover account is allowed to do.

### Can my team share one Clover connection?

Yes. One person connects Clover in Elaichi and shares the connection with a team, and nobody else ever handles the Clover client ID, secret or API key. Each teammate still signs in to Elaichi as themselves, so the audit log records exactly who changed a price or a stock count in Clover.

### Can I stop an agent from deleting or changing things in Clover?

Yes. In Elaichi you restrict Clover actions individually, so you can allow reading items and stock, allow updates, and block deleting items, stock or groups. A blocked Clover action is never shown to Claude, ChatGPT, Cursor or any other client, so no prompt, however worded, can reach it.

### What happens to a Clover connection when someone leaves?

Offboarding that person in Elaichi ends their access to Clover at once, across every client they used. If they had shared a Clover connection with a team, it keeps working for everyone else. If you want Clover gone entirely, disconnecting it once in Elaichi removes it from Claude, ChatGPT, Cursor and every other client at the same time.

## All 171 Clover tools

Every tool below is callable through https://api.elaichi.ai/mcp once Clover is connected, subject to the toolbox it is in and the restrictions on the caller.

- **Get single Clover merchant by ID** (Get). 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). 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). 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). Get a single device provisioned to a Clover merchant by id. Returns: id, trackStock, updateStock. Required: m_id, id.
- **List all Clover sync** (List). 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). 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). 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). 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). 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). Delete a Clover inventory item by id. Returns an empty 204 response on success. Required: m_id and id.
- **Clover items bulk update** (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). 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** (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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). Delete a single Clover tag by id. Returns an empty 204 response on success. Required: m_id and id.
- **Clover tags bulk delete** (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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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** (Delete). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). Delete an existing Clover merchant tender by id. Returns an empty 204 response on success. Required: m_id, id.
- **List all Clover customers** (List). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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** (Action). 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). 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). 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). 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). 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). 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). 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** (Action). 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** (Action). 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). 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). Get a specific Clover recurring payment plan by id. Returns: id, attributes, verificationCode. Required: id (plan UUID).
- **List all Clover API keys** (List). 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** (List). 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** (List). 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** (List). 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). 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** (List). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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** (List). 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** (List). 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). 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). 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** (List). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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). 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.
