HelpWave Developer DocsHelpWave Dev DocsReference-first docs for v1 customers and tickets APIs
GET

/api/v1/csat

Fetch CSAT survey responses and aggregate satisfaction stats.

Authentication: API key required

Behavior
  • The route returns survey rows and aggregate stats for the shop resolved from the API key.
  • scope defaults to shop. When scope is brand and the authenticated shop belongs to a brand, results include surveys from every shop in that brand.
  • Survey rows are ordered by createdAt descending and paginated with page and limit.
  • limit defaults to 10 and is capped at 100.
  • startDate defaults to 7 days ago at the start of the day; endDate defaults to now and is normalized to the end of that day.
  • conversationId is serialized as a string because CRM conversation IDs are BigInt values.
Query parameters
  • page (optional)

    Zero-based page number. Defaults to 0.

  • limit (optional)

    Page size. Defaults to 10 and is capped at 100.

  • scope (optional)

    Either shop or brand. Defaults to shop.

  • startDate (optional)

    Date or ISO datetime used as the beginning of the survey createdAt filter.

  • endDate (optional)

    Date or ISO datetime used as the end of the survey createdAt filter.

Response
Response example
{
  "success": true,
  "surveys": [
    {
      "id": 42,
      "mark": 5,
      "comment": "Great support",
      "graphNodes": {},
      "nodeIds": [],
      "messageId": 123,
      "createdAt": "2026-07-28T10:00:00.000Z",
      "shopDomain": "example.myshopify.com",
      "conversationId": "987654321012345678",
      "customer": {
        "id": 123,
        "email": "dev@example.com",
        "name": "Ada Lovelace",
        "phone": "+33612345678"
      }
    }
  ],
  "total": 1,
  "stats": {
    "totalSurveys": 1,
    "averageRating": 5,
    "satisfactionRate": 100,
    "ratingDistribution": {
      "1": 0,
      "2": 0,
      "3": 0,
      "4": 0,
      "5": 1
    }
  },
  "scope": "shop",
  "dateRange": {
    "startDate": "2026-07-01T00:00:00.000Z",
    "endDate": "2026-07-28T23:59:59.999Z"
  },
  "pagination": {
    "page": 0,
    "limit": 10
  }
}