Skip to main content

Clover API Endpoints

Reference for the Clover Platform REST API v3 endpoints the integration uses for customers, orders, products, and inventory, with authentication, pagination, and rate limits.

See what the Clover integration can do →

This article catalogs the Clover Platform REST API endpoints the Clover integration calls, grouped by the entity you work with in iPaaS.com (Customers, Orders, Items/Products, Inventory, and Options/Attributes). Use it as a reference for firewall allow-listing, troubleshooting, and confirming whether the integration is affected when Clover publishes a change or deprecation notice.

All endpoints are part of the Clover Platform REST API, version 3 (v3). Every request the integration makes is scoped to a single Clover merchant and authenticated with an OAuth access token. Subscribers or their MiSP do not need to call these endpoints directly; the integration handles all Clover API traffic. The endpoints are documented here so you can see exactly which Clover resources the integration touches.

Portal Info

Subscribers manage their Clover account and view merchant data through the Clover web dashboard.

Region

Dashboard URL

Sandbox / Test

Production (North America)

Production (Europe)

Production (Latin America)

Your Environment URL subscription setting determines which Clover environment the integration connects to. Use the sandbox environment for testing and the matching production dashboard for live merchants.

API Endpoints Intro

The Clover Platform API is a REST API. All endpoints below are scoped to a single merchant, so every path begins with the merchant-scoped prefix /v3/merchants/{MerchantId}/, where the {MerchantId} placeholder is your Clover merchant identifier from the Merchant ID subscription setting. The base URL varies by environment:

Region

Base URL

Sandbox / Test

Production (North America)

Production (Europe)

Production (Latin America)

For example, in the sandbox environment a customer lookup resolves to https://apisandbox.dev.clover.com/v3/merchants/{MerchantId}/customers/{Id}. Throughout this article, [Base URL] stands in for the environment-specific base URL from the table above so the endpoint patterns work across environments.

Expandable fields: Several read requests append an expand query parameter (for example ?expand=addresses,emailAddresses) so Clover returns related records inline in a single response instead of requiring follow-up calls. (Source: Clover, "Use expandable fields for API responses," docs.clover.com, retrieved 2026-07-06.)

Filtering: List requests use the filter query parameter with comparison operators (=, !=, >, >=, <, <=); multiple conditions are joined with &. Time-based filters (such as modifiedTime) are restricted by Clover to a 90-day range per request. (Source: Clover, "Apply filters to API requests," docs.clover.com, retrieved 2026-07-06.)

Pagination: Clover returns list results 100 items at a time by default. The limit and offset query parameters page through larger result sets; the maximum limit Clover accepts is 1000 items per request. (Source: Clover, "Add pagination requests," docs.clover.com, retrieved 2026-07-06.)

Rate limits: Clover enforces a request-rate limit of 16 requests per second per access token (50 per second per app) and a concurrent-request limit of 5 simultaneous requests per token (10 per app). When a limit is exceeded, Clover returns HTTP 429 Too Many Requests; concurrent-limit responses include a retry-after header indicating how many seconds to wait before retrying. The integration paces its own Clover traffic; these limits are documented here so subscribers understand Clover's platform behavior. (Source: Clover, "Work with API usage and rate limits," docs.clover.com, retrieved 2026-07-06.)

Table of Contents

Customer Endpoints

The integration reads and writes Clover customer records, including their nested addresses. Customer data moves both to and from iPaaS.com.

Get a Customer by Id (GET)

Retrieves a single customer, expanding addresses, email addresses, phone numbers, and metadata so the full record returns in one response.

[Base URL]/v3/merchants/{MerchantId}/customers/{Id}?expand=addresses,emailAddresses,phoneNumbers,metadata

Create a Customer (POST)

Creates a new customer, expanding addresses on the response.

[Base URL]/v3/merchants/{MerchantId}/customers?expand=addresses

Update a Customer (POST)

Updates an existing customer. Clover uses the POST method for updates to existing records. (Source: Clover, "Update a single customer," docs.clover.com, retrieved 2026-07-06.)

[Base URL]/v3/merchants/{MerchantId}/customers/{Id}

Delete a Customer (DELETE)

Removes a customer.

[Base URL]/v3/merchants/{MerchantId}/customers/{Id}

Get a Customer Address (GET)

Retrieves a single address on a customer.

[Base URL]/v3/merchants/{MerchantId}/customers/{CustomerId}/addresses/{AddressId}

Create a Customer Address (POST)

Adds an address to a customer.

[Base URL]/v3/merchants/{MerchantId}/customers/{CustomerId}/addresses

Update a Customer Address (PUT)

Updates an existing customer address.

[Base URL]/v3/merchants/{MerchantId}/customers/{CustomerId}/addresses/

Delete a Customer Address (DELETE)

Removes an address from a customer.

[Base URL]/v3/merchants/{MerchantId}/customers/{CustomerId}/addresses

Order Endpoints

The integration reads and writes Clover orders (transactions), including their line items and payments. Order data moves both to and from iPaaS.com. When polling Clover for new and updated transactions, the integration reads orders and expands their payments, line items, and customer details in a single response.

Poll All Orders (GET)

Retrieves the merchant's orders for the polling window, expanding payments, line items, tax rates, and customers. The integration uses a filter query parameter with a time-based condition to page through new and updated orders; Clover restricts time-based filters to a 90-day window per request. (Source: Clover, "Apply filters to API requests," docs.clover.com, retrieved 2026-07-06.)

[Base URL]/v3/merchants/{MerchantId}/orders?filter={TimeFilter}&expand=payments,lineItems,customers

Get an Order by Id (GET)

Retrieves a single order, expanding its customer details.

[Base URL]/v3/merchants/{MerchantId}/orders/{Id}?expand=customers

Create an Order (POST)

Creates a new order.

[Base URL]/v3/merchants/{MerchantId}/orders

Update an Order (POST)

Updates an existing order. Clover uses the POST method for order updates. (Source: Clover, "Update a single order," docs.clover.com, retrieved 2026-07-06.)

[Base URL]/v3/merchants/{MerchantId}/orders/{Id}

Delete an Order (DELETE)

Removes an order.

[Base URL]/v3/merchants/{MerchantId}/orders/{Id}

Create Order Line Items (POST)

Adds multiple line items to an order in a single request using Clover's bulk line-items endpoint.

[Base URL]/v3/merchants/{MerchantId}/orders/{Id}/bulk_line_items

Delete Order Line Items (DELETE)

Removes line items from an order. When updating an order's lines, the integration deletes the existing lines before adding the new set.

[Base URL]/v3/merchants/{MerchantId}/orders/{Id}/line_items

Create an Order Payment (POST)

Records a payment against an order.

[Base URL]/v3/merchants/{MerchantId}/orders/{Id}/payments

Get the Merchant Address (GET)

Reads the merchant's own address, used to populate the transaction address when an order transfers to iPaaS.com.

[Base URL]/v3/merchants/{MerchantId}/address

Item and Product Endpoints

The integration creates Clover items (products) and their grouping records. Product data moves from iPaaS.com to Clover only.

Create an Item (POST)

Creates a Clover inventory item. The integration uses this endpoint to create both standalone products and product variants, which Clover represents as items. (Source: Clover, "Create an item," docs.clover.com, retrieved 2026-07-06.)

[Base URL]/v3/merchants/{MerchantId}/items

Update an Item (PUT)

Updates an existing item.

[Base URL]/v3/merchants/{MerchantId}/items/{Id}

Create an Item Group (POST)

Creates an item group, which Clover uses to relate a product's variants.

[Base URL]/v3/merchants/{MerchantId}/item_groups

Get an Item Group (GET)

Looks up an existing item group by id when updating a product's variants.

[Base URL]/v3/merchants/{MerchantId}/item_groups?filter=id={Id}

Delete an Item (DELETE)

Removes an item. Used only when the delete-and-recreate behavior is enabled, before recreating a product's item group.

[Base URL]/v3/merchants/{MerchantId}/items/{Id}

Inventory Endpoints

The integration writes stock levels for products and product variants. Inventory data moves from iPaaS.com to Clover only.

Create Product Inventory (POST)

Sets the stock level for an item (product or variant).

[Base URL]/v3/merchants/{MerchantId}/item_stocks/{ProductId}

Update Product Inventory (PUT)

Updates the stock level for an existing item.

[Base URL]/v3/merchants/{MerchantId}/item_stocks/{ProductId}

Option and Attribute Endpoints

The integration creates the attributes and options Clover uses to define product variants, and assigns option values to variant items. This data moves from iPaaS.com to Clover only.

Get Attributes (GET)

Retrieves the attributes defined for an item group, filtered to the relevant group.

[Base URL]/v3/merchants/{MerchantId}/attributes?filter=itemGroup.id={ItemGroupId}

Create an Attribute (POST)

Creates a product attribute (for example, "Size" or "Color").

[Base URL]/v3/merchants/{MerchantId}/attributes

Get Attribute Options (GET)

Retrieves the options defined under an attribute.

[Base URL]/v3/merchants/{MerchantId}/attributes/{AttributeId}/options

Create an Attribute Option (POST)

Creates an option value under an attribute (for example, "Large" under "Size").

[Base URL]/v3/merchants/{MerchantId}/attributes/{AttributeId}/options

Assign an Option to a Variant (POST)

Associates an attribute option with a variant item so the variant is defined by its option values.

[Base URL]/v3/merchants/{MerchantId}/option_items

Authorization Endpoint

The integration authenticates to the Clover API using OAuth 2.0. During installation, the subscriber authorizes the Clover app; Clover returns an authorization code, which the integration exchanges for an access token. That token is stored as the API Key subscription setting and sent on every Clover API request in the Authorization: Bearer {AccessToken} header. (Source: Clover, "Use OAuth 2.0," docs.clover.com, retrieved 2026-07-06.)

The OAuth endpoints vary by environment:

The Client Id and Client Secret used in the token exchange are supplied in the subscription's custom fields. See the Clover Installation Instructions article for the step-by-step authorization walkthrough.

Related Documents

Did this answer your question?