Supergood | Clover API

Supergood | Clover API

Programmatically access Clover’s POS, orders, payments, customers, and inventory data via a stable REST API. Supergood builds and operates production-grade, unofficial Clover integrations so your team can automate sales syncing, stock updates, and financial reporting—without wrestling with device flows or brittle exports.

Clover is a point-of-sale platform from Fiserv that powers in-store payments, order management, inventory, employees, and customer loyalty across one or many locations. With an unofficial API, you can fetch normalized orders and payments, update items and stock, create customers, and export finance-ready datasets—bypassing manual CSVs and portal limitations.

If you’re a tech company integrating Clover, you can pull item-level sales with taxes, tips, and discounts, push catalog and price changes, sync customer profiles and opt-ins, and reconcile deposits and fees in your accounting or BI tools. You can also automate real-time inventory adjustments, route orders to devices when permitted, and keep downstream systems in lockstep with store operations.

What is Clover?

Clover is a POS and commerce platform used by retailers, restaurants, and service businesses. It combines hardware (Station, Mini, Flex, Go) with cloud software for payment acceptance, order management, inventory, staffing, loyalty, and reporting.

Core product families include:

  • POS and Payments (card-present and select ecomm flows)
  • Orders and Menus/Catalog (items, variants, modifiers, categories)
  • Inventory and Stock (multi-location quantities and costs)
  • Customers and Loyalty (profiles, marketing opt-ins, gift cards)
  • Reporting and Payouts (sales summaries, deposits, fees)

Common data entities:

  • Merchants, Locations, and Devices
  • Items, Variants, Modifiers, Categories, Taxes, Discounts
  • Stock Levels and Cost/Price Rules
  • Orders, Line Items, Tips, Service Charges
  • Payments, Refunds, Tenders (card, cash, gift)
  • Customers, Tags, Addresses, Preferences
  • Employees, Roles, Shifts (timecards)
  • Batches/Settlements and Payouts

The Clover Integration Challenge

Organizations rely on Clover daily, but turning portal- and device-centric workflows into automated pipelines is hard:

  • Entitlements and app plans: Access to APIs differs by merchant plan, installed apps, and partner status; some endpoints are gated or billed.
  • Device-first constraints: Many actions are designed to occur on terminals; headless/remote operations can be limited or inconsistently exposed.
  • Portal-first exports: CSVs are often daily or filtered views and may omit useful identifiers, making data warehouse feeds brittle.
  • Multi-location normalization: Items, prices, and stock can vary by location; IDs, taxes, and discounts differ across terminals and catalogs.
  • Data shape complexity: Taxes and discounts can be order- or item-level, tips and service charges vary by restaurant vs retail, and versions differ by merchant.
  • OAuth and MFA: Per-merchant authentication with MFA/SSO can break unattended jobs; sessions must be maintained reliably.
  • Rate limits and pagination: High-volume syncs require careful batching, backoff, and idempotency.
  • Cost/coverage surprises: Developers report unexpected partner fees, limited access to settlement/fee data, and evolving endpoints.

How Supergood Creates Clover APIs

Supergood reverse-engineers authenticated browser flows and network interactions to deliver a resilient API endpoint layer for your Clover workflows.

  • Handles username/password, SSO/OAuth, and MFA (SMS, email, TOTP) securely
  • Maintains session continuity with automated refresh and change detection
  • Normalizes responses so you can integrate once and rely on consistent objects across capabilities
  • Aligns with customer entitlements and licensing constraints to ensure compliant access

Use Cases

Real-Time Order and Payment Sync

  • Pull closed and open orders with line items, taxes, discounts, and tips
  • Ingest payment records with tender types, card brand, last4, and auth references
  • Stream events into your OMS, CRM, or analytics warehouse

Inventory and Price Governance

  • Export catalog items, variants, and modifiers with category and tax mapping
  • Track and adjust stock by location after ecomm sales or returns
  • Validate price and tax consistency across terminals and stores

Customer and Loyalty Enrichment

  • Create or update customer profiles with marketing opt-ins
  • Attach customers to orders and segment by tags or spend
  • Sync gift cards/loyalty identifiers into marketing automation

Payout Reconciliation and Finance

  • Aggregate sales, refunds, fees, and deposits for accounting
  • Align card-present payouts with order- and payment-level detail
  • Export GL-ready data to accounting and BI systems

Available Endpoints

Authentication

POST /auth/sessions: Establish a session using credentials. Supergood manages MFA (SMS, email, TOTP) and SSO/OAuth when enabled. Returns a short-lived auth token maintained by the platform.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/auth/sessions \
  --header 'Authorization: Basic <Base64 encoded token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "username": "[email protected]",
    "password": "<password>",
    "mfa": { "type": "totp", "code": "123456" },
    "ssoProvider": null
  }'

Example response

{
  "authToken": "eyJhbGciOi...",
  "expiresIn": 3600,
  "user": {
    "id": "u_f41c9a",
    "name": "Store Manager",
    "entitlements": ["orders", "inventory", "customers"]
  }
}

POST /auth/sessions/refresh: Refresh an existing token to keep sessions uninterrupted.

Orders

GET /orders: Retrieve normalized orders with line items, taxes/discounts, tips, and payments. Filter by location and time window.

curl --request GET \
  --url 'https://api.supergood.ai/integrations/<integration_id>/orders?locationId=loc_123&startTime=2026-01-01T00:00:00Z&endTime=2026-01-31T23:59:59Z&status=closed&include=payments,lineItems' \
  --header 'Authorization: Bearer <authToken>'

Example response

{
  "orders": [
    {
      "orderId": "ord_78a3d2",
      "locationId": "loc_123",
      "status": "closed",
      "currency": "USD",
      "createdAt": "2026-01-15T18:04:22Z",
      "closedAt": "2026-01-15T18:12:40Z",
      "customerId": "cus_91b20e",
      "lineItems": [
        {
          "lineItemId": "li_001",
          "itemId": "item_burger",
          "name": "Classic Burger",
          "sku": "BRG-001",
          "quantity": 2,
          "unitPrice": 899,
          "modifiers": [
            { "modifierId": "mod_cheese", "name": "Cheese", "price": 100 }
          ],
          "discounts": [],
          "taxLines": [
            { "taxId": "tax_state", "name": "State Tax", "rate": 0.06, "amount": 114 }
          ],
          "total": 2012
        }
      ],
      "orderLevelDiscounts": [
        { "discountId": "disc_happy_hour", "name": "Happy Hour", "type": "percent", "value": 10, "amount": 201 }
      ],
      "tips": 300,
      "serviceCharge": 0,
      "subtotal": 2012,
      "taxTotal": 114,
      "discountTotal": 201,
      "grandTotal": 2225,
      "payments": [
        {
          "paymentId": "pay_4fd219",
          "amount": 2225,
          "tipAmount": 300,
          "tenderType": "card",
          "cardBrand": "VISA",
          "last4": "4242",
          "authCode": "A1B2C3",
          "status": "captured",
          "capturedAt": "2026-01-15T18:12:39Z"
        }
      ],
      "reference": {
        "externalId": "kds-13579",
        "orderNumber": "A-1043"
      }
    }
  ],
  "nextPage": null
}

POST /orders: Create or upsert an order with line items, discounts, and customer attachment. When permitted, Supergood can route the order to a device queue for in-store fulfillment.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/orders \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "locationId": "loc_123",
    "customerId": "cus_91b20e",
    "lineItems": [
      { "itemId": "item_burger", "quantity": 1, "unitPrice": 899, "modifiers": ["mod_cheese"] },
      { "itemId": "item_fries", "quantity": 1, "unitPrice": 399 }
    ],
    "orderLevelDiscounts": [{ "discountId": "disc_happy_hour" }],
    "tips": 0,
    "serviceCharge": 0,
    "reference": { "externalId": "web-ord-7782" },
    "route": { "sendToDevice": true, "deviceId": "dev_abc123" }
  }'

Example response

{
  "orderId": "ord_9c0f41",
  "status": "open",
  "locationId": "loc_123",
  "createdAt": "2026-01-19T15:21:09Z",
  "reference": { "externalId": "web-ord-7782" }
}

Inventory

GET /inventory/items: List catalog items with variants, modifiers, categories, taxes, and stock by location. Filter by updatedSince for incremental sync.

curl --request GET \
  --url 'https://api.supergood.ai/integrations/<integration_id>/inventory/items?updatedSince=2026-01-01T00:00:00Z&include=variants,stockByLocation' \
  --header 'Authorization: Bearer <authToken>'

Example response

{
  "items": [
    {
      "itemId": "item_burger",
      "name": "Classic Burger",
      "sku": "BRG-001",
      "categoryId": "cat_entrees",
      "price": 899,
      "taxIds": ["tax_state"],
      "modifierGroupIds": ["mods_burger_addons"],
      "variants": [],
      "stockByLocation": [
        { "locationId": "loc_123", "quantity": 120, "unit": "each" },
        { "locationId": "loc_456", "quantity": 80, "unit": "each" }
      ],
      "updatedAt": "2026-01-17T10:03:00Z"
    },
    {
      "itemId": "item_tshirt",
      "name": "Logo T-Shirt",
      "sku": "TS-LOGO",
      "categoryId": "cat_merch",
      "price": 2000,
      "taxIds": ["tax_state", "tax_city"],
      "variants": [
        { "variantId": "var_small", "name": "Small", "sku": "TS-LOGO-S", "price": 2000 },
        { "variantId": "var_medium", "name": "Medium", "sku": "TS-LOGO-M", "price": 2000 }
      ],
      "stockByLocation": [
        { "locationId": "loc_123", "variantId": "var_small", "quantity": 25, "unit": "each" },
        { "locationId": "loc_123", "variantId": "var_medium", "quantity": 18, "unit": "each" }
      ],
      "updatedAt": "2026-01-18T08:44:11Z"
    }
  ],
  "nextPage": null
}

Customers

POST /customers: Create or upsert a customer profile with contact details and marketing preferences. Attach your own reference IDs for reconciliation.

curl --request POST \
  --url https://api.supergood.ai/integrations/<integration_id>/customers \
  --header 'Authorization: Bearer <authToken>' \
  --header 'Content-Type: application/json' \
  --data '{
    "firstName": "Ava",
    "lastName": "Nguyen",
    "email": "[email protected]",
    "phone": "+14155550123",
    "marketingOptIn": true,
    "addresses": [
      { "type": "shipping", "line1": "101 Market St", "city": "San Francisco", "region": "CA", "postalCode": "94105", "country": "US" }
    ],
    "tags": ["VIP", "Newsletter"],
    "referenceId": "crm-8821"
  }'

Example response

{
  "customerId": "cus_91b20e",
  "createdAt": "2026-01-19T15:21:09Z",
  "referenceId": "crm-8821"
}

Get full API Specs →


Technical Specifications

  • Authentication: Username/password with MFA (SMS, email, TOTP) and SSO/OAuth where enabled; supports service accounts or customer-managed credentials
  • Response format: JSON with consistent resource schemas and pagination
  • Rate limits: Tuned for enterprise throughput while honoring licensing and usage controls
  • Session management: Automatic reauth and cookie/session rotation with health checks
  • Data freshness: Near real-time retrieval of orders, payments, inventory, and customers
  • Security: Encrypted transport, scoped tokens, and audit logging; respects Clover entitlements
  • Webhooks: Optional asynchronous delivery for order/payment events with retry; polling fallback available

Performance Characteristics

  • Latency: Sub-second responses for list/detail queries under normal load
  • Throughput: Designed for high-volume, multi-location sync and nightly warehouse exports
  • Reliability: Retry logic, backoff, and idempotency keys minimize duplicate actions
  • Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates

Getting Started

  1. Schedule Integration Assessment

Book a 30-minute session to confirm your product mix, licensing, and authentication model.

  1. Supergood Builds and Validates Your API

We deliver a hardened Clover adapter tailored to your workflows and entitlements.

  1. Deploy with Monitoring

Go live with continuous monitoring and automatic adjustments as Clover evolves.

Schedule Integration Call →


Frequently Asked Questions

Q: Which Clover capabilities can this integration cover?

Subject to your licensing and entitlements, Supergood supports POS orders and payments, inventory/catalog, customers/loyalty basics, and reporting/export workflows. We finalize scope during assessment.

Q: How are MFA, SSO, and OAuth handled for automation?

We support username/password + MFA (SMS, email, TOTP) and can operate behind SSO/OAuth when enabled. Sessions are refreshed automatically with secure challenge handling.

Q: Can you push orders to devices or take payments headlessly?

We can create cloud orders and, where permitted, queue them to devices. Card-present capture typically remains on-device; we can record non-card tenders and reference third-party ecomm authorizations for reconciliation.

Q: Do you support multi-location catalogs and stock?

Yes. We normalize items, variants, taxes, and stock by location, preserving per-store differences while providing a consistent schema for downstream systems.

Q: Can I export deposits, fees, and payout-ready data?

Yes. We aggregate sales, refunds, tips, fees, and deposits into finance-ready exports for accounting and BI, aligned to your settlement cadence and chart of accounts.


Dow Jones Risk & Compliance API - Programmatically access Dow Jones Risk & Compliance with Supergood


Ready to automate your Clover workflows?

Supergood can have your Clover integration live in days with no ongoing engineering maintenance.

Get Started →

Read more