← Home
GET/hyax-api/v1/products

List products

Every product carries its public `productPageUrl` and `buyUrl` (the direct-pay link that skips the cart), plus `variantCount`. URLs are absolute when the team has a custom domain or subdomain; otherwise only the `*Path` fields are populated.

Base URL: https://platform.hyax.com · Replace YOUR_API_KEY with your team API key.

Query parameters

NameRequiredDescription
limitNoDefault 25, max 100
offsetNoDefault 0
typeNo`DIGITAL` | `PHYSICAL` | `COURSE` | `EVENT` | `MEETING` | `MEMBERSHIP`
isActiveNo`true` | `false`
archivedNo`true` to list archived products only (default: active catalog)
searchNoSearch title, slug, or description

Request

curl -X GET 'https://platform.hyax.com/hyax-api/v1/products?limit=10&offset=0' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Response

{
  "success": true,
  "data": [
    {
      "id": "clx…",
      "title": "Studio Tee",
      "slug": "studio-tee",
      "description": null,
      "type": "PHYSICAL",
      "pricingType": "SINGLE",
      "price": 29,
      "currency": "USD",
      "isActive": true,
      "hasVariants": true,
      "isArchived": false,
      "exposesVariants": true,
      "variantCount": 6,
      "urlIdentifier": "studio-tee",
      "productPagePath": "/p/studio-tee",
      "productPageUrl": "https://shop.example.com/p/studio-tee",
      "buyPath": "/buy/studio-tee",
      "buyUrl": "https://shop.example.com/buy/studio-tee",
      "createdAt": "2025-01-15T12:00:00.000Z",
      "updatedAt": "2025-01-15T12:00:00.000Z"
    }
  ],
  "pagination": { "total": 1, "limit": 25, "offset": 0, "hasMore": false }
}