Skip to main content
GET
/
tenants
/
products
curl -X 'GET' \
  'http://localhost:5001/tenants/products?page=1&limit=2' \
  -H 'accept: */*' \
  -H 'Authorization: Bearer <your_access_token>'
{
  "data": [
    {
      "id": "45ab34be-8d6e-4037-a0e3-a60b45169f09",
      "sku": "PROD000005",
      "name": "Zyrtec 10mg",
      "description": "Allergy relief medication",
      "unitPrice": "22.99",
      "isActive": true,
      "metadata": null,
      "pharmacyId": "88f1914a-e34a-48b6-b807-a1d05e562890",
      "productId": "ZYR10",
      "categoryId": "53a49cd9-964f-43dc-b6b3-2be07f1eb69f",
      "subcategoryId": "0597c4bf-c855-4214-9dff-e7e13a30ad65",
      "imageUrl": null,
      "isDeleted": false,
      "createdAt": "2025-12-04T18:22:36.670Z",
      "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
      "updatedAt": "2025-12-04T18:22:36.670Z",
      "updatedBy": null,
      "category": {
        "id": "53a49cd9-964f-43dc-b6b3-2be07f1eb69f",
        "categoryName": "Over-the-Counter",
        "reviewOften": "YEARLY",
        "reviewRecurring": false,
        "createdAt": "2025-12-04T18:22:36.097Z",
        "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
        "updatedAt": "2025-12-04T18:22:36.097Z",
        "updatedBy": null
      },
      "subcategory": {
        "id": "0597c4bf-c855-4214-9dff-e7e13a30ad65",
        "categoryId": "53a49cd9-964f-43dc-b6b3-2be07f1eb69f",
        "subCategoryName": "Allergy",
        "createdAt": "2025-12-04T18:22:36.225Z",
        "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
        "updatedAt": "2025-12-04T18:22:36.225Z",
        "updatedBy": null
      },
      "productRx": null,
      "clinicAvailability": [
        {
          "id": "305f4e05-5c0e-480d-ae9b-006364501085",
          "productId": "45ab34be-8d6e-4037-a0e3-a60b45169f09",
          "clinicId": "5468f02f-37d4-47bc-a474-7f15748ec9a8",
          "isActive": true,
          "createdAt": "2025-12-04T18:22:36.677Z",
          "updatedAt": "2025-12-04T18:22:36.677Z",
          "clinic": {
            "id": "5468f02f-37d4-47bc-a474-7f15748ec9a8",
            "legalName": "Demo Clinic Legal Name",
            "displayName": "Demo Clinic",
            "email": "clinic@demo-clinic.com",
            "metadata": null,
            "tenantId": "ec09ad81-8c51-4132-a78d-3bb173413ccb",
            "isActive": true,
            "createdAt": "2025-12-04T18:22:35.954Z",
            "updatedAt": "2025-12-04T18:22:35.954Z"
          }
        }
      ],
      "pharmacyName": "Rite Aid Medical Center",
      "productOffer": {
        "id": "0c77488d-c043-4682-99da-8f65f0bafcd5",
        "productId": "45ab34be-8d6e-4037-a0e3-a60b45169f09",
        "price": "22.99",
        "qty": 300,
        "qtyAlert": 20,
        "shippingType": "FREE_SHIPPING",
        "shippingAmount": "0",
        "vendorCost": "13.79",
        "cogs": "16.09",
        "createdAt": "2025-12-04T18:22:36.767Z",
        "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
        "updatedAt": "2025-12-04T18:22:36.767Z",
        "updatedBy": null,
        "product": {
          "id": "45ab34be-8d6e-4037-a0e3-a60b45169f09",
          "sku": "PROD000005",
          "name": "Zyrtec 10mg",
          "description": "Allergy relief medication",
          "unitPrice": "22.99",
          "isActive": true,
          "metadata": null,
          "pharmacyId": "88f1914a-e34a-48b6-b807-a1d05e562890",
          "productId": "ZYR10",
          "categoryId": "53a49cd9-964f-43dc-b6b3-2be07f1eb69f",
          "subcategoryId": "0597c4bf-c855-4214-9dff-e7e13a30ad65",
          "imageUrl": null,
          "isDeleted": false,
          "createdAt": "2025-12-04T18:22:36.670Z",
          "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
          "updatedAt": "2025-12-04T18:22:36.670Z",
          "updatedBy": null
        },
        "offerVariants": []
      }
    },
    {
      "id": "387d0eba-255c-4226-8070-ca40debbc14d",
      "sku": "PROD000004",
      "name": "Lisinopril 10mg",
      "description": "ACE inhibitor for high blood pressure",
      "unitPrice": "35.5",
      "isActive": true,
      "metadata": null,
      "pharmacyId": "88f1914a-e34a-48b6-b807-a1d05e562890",
      "productId": "LIS10",
      "categoryId": "a6b00a3f-8a80-4d64-9a4a-b31729642c30",
      "subcategoryId": "73bc030d-0bbb-4565-b59f-768d4ce0c4ea",
      "imageUrl": null,
      "isDeleted": false,
      "createdAt": "2025-12-04T18:22:36.642Z",
      "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
      "updatedAt": "2025-12-04T18:22:36.642Z",
      "updatedBy": null,
      "category": {
        "id": "a6b00a3f-8a80-4d64-9a4a-b31729642c30",
        "categoryName": "Prescription Medications",
        "reviewOften": "MONTHLY",
        "reviewRecurring": true,
        "createdAt": "2025-12-04T18:22:36.059Z",
        "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
        "updatedAt": "2025-12-04T18:22:36.059Z",
        "updatedBy": null
      },
      "subcategory": {
        "id": "73bc030d-0bbb-4565-b59f-768d4ce0c4ea",
        "categoryId": "a6b00a3f-8a80-4d64-9a4a-b31729642c30",
        "subCategoryName": "Pain Management",
        "createdAt": "2025-12-04T18:22:36.177Z",
        "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
        "updatedAt": "2025-12-04T18:22:36.177Z",
        "updatedBy": null
      },
      "productRx": {
        "id": "9649b6cd-e4e8-4a64-8a9c-9300c335bce7",
        "productId": "387d0eba-255c-4226-8070-ca40debbc14d",
        "rxNumber": null,
        "drugForm": "Tablet",
        "drugStrength": "10mg",
        "directions": null,
        "refills": 5,
        "rxType": "Prescription",
        "deaScheduleId": "194e069d-ed7b-4197-adc7-0f96b07e5943",
        "quantityUnitOfMeasureId": "c5c8ac70-eb45-4e59-9085-cbc5ece58977",
        "codeListQualifier": null,
        "rxQty": 90,
        "daysSupply": 90,
        "dateWritten": null,
        "daw": null,
        "requestedBy": null,
        "refrigerationTypeId": "c0b25ad4-23d2-48c9-b1b8-355255b39015",
        "notes": null,
        "createdAt": "2025-12-04T18:22:36.655Z",
        "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
        "updatedAt": "2025-12-04T18:22:36.655Z",
        "updatedBy": null
      },
      "clinicAvailability": [
        {
          "id": "8fff40d5-fd1c-4451-8a85-3d7b979aef00",
          "productId": "387d0eba-255c-4226-8070-ca40debbc14d",
          "clinicId": "5468f02f-37d4-47bc-a474-7f15748ec9a8",
          "isActive": true,
          "createdAt": "2025-12-04T18:22:36.648Z",
          "updatedAt": "2025-12-04T18:22:36.648Z",
          "clinic": {
            "id": "5468f02f-37d4-47bc-a474-7f15748ec9a8",
            "legalName": "Demo Clinic Legal Name",
            "displayName": "Demo Clinic",
            "email": "clinic@demo-clinic.com",
            "metadata": null,
            "tenantId": "ec09ad81-8c51-4132-a78d-3bb173413ccb",
            "isActive": true,
            "createdAt": "2025-12-04T18:22:35.954Z",
            "updatedAt": "2025-12-04T18:22:35.954Z"
          }
        }
      ],
      "pharmacyName": "Rite Aid Medical Center",
      "productOffer": {
        "id": "2efa4891-564f-47c2-8609-751201912055",
        "productId": "387d0eba-255c-4226-8070-ca40debbc14d",
        "price": "35.5",
        "qty": 250,
        "qtyAlert": 20,
        "shippingType": "FLAT_RATE",
        "shippingAmount": "5.99",
        "vendorCost": "21.3",
        "cogs": "24.85",
        "createdAt": "2025-12-04T18:22:36.753Z",
        "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
        "updatedAt": "2025-12-04T18:22:36.753Z",
        "updatedBy": null,
        "product": {
          "id": "387d0eba-255c-4226-8070-ca40debbc14d",
          "sku": "PROD000004",
          "name": "Lisinopril 10mg",
          "description": "ACE inhibitor for high blood pressure",
          "unitPrice": "35.5",
          "isActive": true,
          "metadata": null,
          "pharmacyId": "88f1914a-e34a-48b6-b807-a1d05e562890",
          "productId": "LIS10",
          "categoryId": "a6b00a3f-8a80-4d64-9a4a-b31729642c30",
          "subcategoryId": "73bc030d-0bbb-4565-b59f-768d4ce0c4ea",
          "imageUrl": null,
          "isDeleted": false,
          "createdAt": "2025-12-04T18:22:36.642Z",
          "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
          "updatedAt": "2025-12-04T18:22:36.642Z",
          "updatedBy": null
        },
        "offerVariants": []
      }
    }
  ],
  "meta": {
    "total": 5,
    "page": 1,
    "limit": 2,
    "totalPages": 3,
    "hasNext": true,
    "hasPrev": false
  }
}

Overview

Retrieves a paginated list of products available to the tenant. This endpoint allows for extensive filtering by category, clinic, pharmacy, and status, as well as text search capabilities.

Headers

This endpoint uses Machine-to-Machine (M2M) authentication.
Authorization
string
required
Standard Bearer token (e.g., Bearer <your_access_token>). See the M2M Authentication guide for details.
Accept
string
Optional. Accept header to specify response media type (e.g., application/json).

Query Parameters

page
integer
default:"1"
Page number for pagination.
limit
integer
default:"20"
Number of items to return per page.
categoryId
string
Filter products by a specific Category ID (UUID).
clinicId
string
Filter products available to a specific Clinic ID (UUID).
pharmacyId
string
Filter products associated with a specific Pharmacy ID (UUID).
isActive
boolean
Filter by active status (true for active, false for inactive).
Search term to filter by product name, description, or product ID.

Response Parameters

The response returns a list of products wrapped in a data array, along with a meta object for pagination details.
data
array
List of product objects.
meta
object
Pagination metadata.

Status Codes

StatusDescription
200Success. List of products retrieved successfully.
401Unauthorized. Invalid or missing authentication token.
403Forbidden. Insufficient permissions to view products.
curl -X 'GET' \
  'http://localhost:5001/tenants/products?page=1&limit=2' \
  -H 'accept: */*' \
  -H 'Authorization: Bearer <your_access_token>'
{
  "data": [
    {
      "id": "45ab34be-8d6e-4037-a0e3-a60b45169f09",
      "sku": "PROD000005",
      "name": "Zyrtec 10mg",
      "description": "Allergy relief medication",
      "unitPrice": "22.99",
      "isActive": true,
      "metadata": null,
      "pharmacyId": "88f1914a-e34a-48b6-b807-a1d05e562890",
      "productId": "ZYR10",
      "categoryId": "53a49cd9-964f-43dc-b6b3-2be07f1eb69f",
      "subcategoryId": "0597c4bf-c855-4214-9dff-e7e13a30ad65",
      "imageUrl": null,
      "isDeleted": false,
      "createdAt": "2025-12-04T18:22:36.670Z",
      "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
      "updatedAt": "2025-12-04T18:22:36.670Z",
      "updatedBy": null,
      "category": {
        "id": "53a49cd9-964f-43dc-b6b3-2be07f1eb69f",
        "categoryName": "Over-the-Counter",
        "reviewOften": "YEARLY",
        "reviewRecurring": false,
        "createdAt": "2025-12-04T18:22:36.097Z",
        "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
        "updatedAt": "2025-12-04T18:22:36.097Z",
        "updatedBy": null
      },
      "subcategory": {
        "id": "0597c4bf-c855-4214-9dff-e7e13a30ad65",
        "categoryId": "53a49cd9-964f-43dc-b6b3-2be07f1eb69f",
        "subCategoryName": "Allergy",
        "createdAt": "2025-12-04T18:22:36.225Z",
        "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
        "updatedAt": "2025-12-04T18:22:36.225Z",
        "updatedBy": null
      },
      "productRx": null,
      "clinicAvailability": [
        {
          "id": "305f4e05-5c0e-480d-ae9b-006364501085",
          "productId": "45ab34be-8d6e-4037-a0e3-a60b45169f09",
          "clinicId": "5468f02f-37d4-47bc-a474-7f15748ec9a8",
          "isActive": true,
          "createdAt": "2025-12-04T18:22:36.677Z",
          "updatedAt": "2025-12-04T18:22:36.677Z",
          "clinic": {
            "id": "5468f02f-37d4-47bc-a474-7f15748ec9a8",
            "legalName": "Demo Clinic Legal Name",
            "displayName": "Demo Clinic",
            "email": "clinic@demo-clinic.com",
            "metadata": null,
            "tenantId": "ec09ad81-8c51-4132-a78d-3bb173413ccb",
            "isActive": true,
            "createdAt": "2025-12-04T18:22:35.954Z",
            "updatedAt": "2025-12-04T18:22:35.954Z"
          }
        }
      ],
      "pharmacyName": "Rite Aid Medical Center",
      "productOffer": {
        "id": "0c77488d-c043-4682-99da-8f65f0bafcd5",
        "productId": "45ab34be-8d6e-4037-a0e3-a60b45169f09",
        "price": "22.99",
        "qty": 300,
        "qtyAlert": 20,
        "shippingType": "FREE_SHIPPING",
        "shippingAmount": "0",
        "vendorCost": "13.79",
        "cogs": "16.09",
        "createdAt": "2025-12-04T18:22:36.767Z",
        "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
        "updatedAt": "2025-12-04T18:22:36.767Z",
        "updatedBy": null,
        "product": {
          "id": "45ab34be-8d6e-4037-a0e3-a60b45169f09",
          "sku": "PROD000005",
          "name": "Zyrtec 10mg",
          "description": "Allergy relief medication",
          "unitPrice": "22.99",
          "isActive": true,
          "metadata": null,
          "pharmacyId": "88f1914a-e34a-48b6-b807-a1d05e562890",
          "productId": "ZYR10",
          "categoryId": "53a49cd9-964f-43dc-b6b3-2be07f1eb69f",
          "subcategoryId": "0597c4bf-c855-4214-9dff-e7e13a30ad65",
          "imageUrl": null,
          "isDeleted": false,
          "createdAt": "2025-12-04T18:22:36.670Z",
          "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
          "updatedAt": "2025-12-04T18:22:36.670Z",
          "updatedBy": null
        },
        "offerVariants": []
      }
    },
    {
      "id": "387d0eba-255c-4226-8070-ca40debbc14d",
      "sku": "PROD000004",
      "name": "Lisinopril 10mg",
      "description": "ACE inhibitor for high blood pressure",
      "unitPrice": "35.5",
      "isActive": true,
      "metadata": null,
      "pharmacyId": "88f1914a-e34a-48b6-b807-a1d05e562890",
      "productId": "LIS10",
      "categoryId": "a6b00a3f-8a80-4d64-9a4a-b31729642c30",
      "subcategoryId": "73bc030d-0bbb-4565-b59f-768d4ce0c4ea",
      "imageUrl": null,
      "isDeleted": false,
      "createdAt": "2025-12-04T18:22:36.642Z",
      "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
      "updatedAt": "2025-12-04T18:22:36.642Z",
      "updatedBy": null,
      "category": {
        "id": "a6b00a3f-8a80-4d64-9a4a-b31729642c30",
        "categoryName": "Prescription Medications",
        "reviewOften": "MONTHLY",
        "reviewRecurring": true,
        "createdAt": "2025-12-04T18:22:36.059Z",
        "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
        "updatedAt": "2025-12-04T18:22:36.059Z",
        "updatedBy": null
      },
      "subcategory": {
        "id": "73bc030d-0bbb-4565-b59f-768d4ce0c4ea",
        "categoryId": "a6b00a3f-8a80-4d64-9a4a-b31729642c30",
        "subCategoryName": "Pain Management",
        "createdAt": "2025-12-04T18:22:36.177Z",
        "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
        "updatedAt": "2025-12-04T18:22:36.177Z",
        "updatedBy": null
      },
      "productRx": {
        "id": "9649b6cd-e4e8-4a64-8a9c-9300c335bce7",
        "productId": "387d0eba-255c-4226-8070-ca40debbc14d",
        "rxNumber": null,
        "drugForm": "Tablet",
        "drugStrength": "10mg",
        "directions": null,
        "refills": 5,
        "rxType": "Prescription",
        "deaScheduleId": "194e069d-ed7b-4197-adc7-0f96b07e5943",
        "quantityUnitOfMeasureId": "c5c8ac70-eb45-4e59-9085-cbc5ece58977",
        "codeListQualifier": null,
        "rxQty": 90,
        "daysSupply": 90,
        "dateWritten": null,
        "daw": null,
        "requestedBy": null,
        "refrigerationTypeId": "c0b25ad4-23d2-48c9-b1b8-355255b39015",
        "notes": null,
        "createdAt": "2025-12-04T18:22:36.655Z",
        "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
        "updatedAt": "2025-12-04T18:22:36.655Z",
        "updatedBy": null
      },
      "clinicAvailability": [
        {
          "id": "8fff40d5-fd1c-4451-8a85-3d7b979aef00",
          "productId": "387d0eba-255c-4226-8070-ca40debbc14d",
          "clinicId": "5468f02f-37d4-47bc-a474-7f15748ec9a8",
          "isActive": true,
          "createdAt": "2025-12-04T18:22:36.648Z",
          "updatedAt": "2025-12-04T18:22:36.648Z",
          "clinic": {
            "id": "5468f02f-37d4-47bc-a474-7f15748ec9a8",
            "legalName": "Demo Clinic Legal Name",
            "displayName": "Demo Clinic",
            "email": "clinic@demo-clinic.com",
            "metadata": null,
            "tenantId": "ec09ad81-8c51-4132-a78d-3bb173413ccb",
            "isActive": true,
            "createdAt": "2025-12-04T18:22:35.954Z",
            "updatedAt": "2025-12-04T18:22:35.954Z"
          }
        }
      ],
      "pharmacyName": "Rite Aid Medical Center",
      "productOffer": {
        "id": "2efa4891-564f-47c2-8609-751201912055",
        "productId": "387d0eba-255c-4226-8070-ca40debbc14d",
        "price": "35.5",
        "qty": 250,
        "qtyAlert": 20,
        "shippingType": "FLAT_RATE",
        "shippingAmount": "5.99",
        "vendorCost": "21.3",
        "cogs": "24.85",
        "createdAt": "2025-12-04T18:22:36.753Z",
        "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
        "updatedAt": "2025-12-04T18:22:36.753Z",
        "updatedBy": null,
        "product": {
          "id": "387d0eba-255c-4226-8070-ca40debbc14d",
          "sku": "PROD000004",
          "name": "Lisinopril 10mg",
          "description": "ACE inhibitor for high blood pressure",
          "unitPrice": "35.5",
          "isActive": true,
          "metadata": null,
          "pharmacyId": "88f1914a-e34a-48b6-b807-a1d05e562890",
          "productId": "LIS10",
          "categoryId": "a6b00a3f-8a80-4d64-9a4a-b31729642c30",
          "subcategoryId": "73bc030d-0bbb-4565-b59f-768d4ce0c4ea",
          "imageUrl": null,
          "isDeleted": false,
          "createdAt": "2025-12-04T18:22:36.642Z",
          "createdBy": "c604471d-2d2f-4864-b8bb-1100d9be57ac",
          "updatedAt": "2025-12-04T18:22:36.642Z",
          "updatedBy": null
        },
        "offerVariants": []
      }
    }
  ],
  "meta": {
    "total": 5,
    "page": 1,
    "limit": 2,
    "totalPages": 3,
    "hasNext": true,
    "hasPrev": false
  }
}