TagMangoTagMango Docs
Analytics

Get community activity summary

GET
/api/v1/external/analytics/community/members/activity/summary

Two snapshot metrics for the date range: how many distinct members were active at all, and the average daily active user count. This is a summary, not a day-by-day breakdown — for that, use List active user trend.

Every endpoint in this group requires startDate/endDate — there is no "all time" mode. channels is always optional and always additive (never invents access): a channel id that doesn't belong to you contributes nothing to the result rather than erroring, so passing an id by mistake fails silently rather than with a 4xx. Every endpoint in this group fails with a 400 if the Community feature is not enabled for your account. Both startDate and endDate are always UTC on the wire, same as everywhere else — the caveat here is only about which calendar day each instant is grouped into: this endpoint groups by IST (UTC+05:30) day boundaries, not UTC day boundaries and not your own timezone. That applies to both metrics — except activeMember.secondaryMetric (percentage of your total member base), which uses your exact given instants with no day-boundary reinterpretation, the same as the member-overview endpoint.

AuthorizationBearer <token>

In: header

Query Parameters

channels?array<array<>>

Channel ids to restrict analytics to. Every channel must belong to you — a channel belonging to someone else contributes nothing to the result rather than erroring. Omit to include every non-archived channel. Pass as repeated query params (channels=a&channels=b) or a single comma-separated value (channels=a,b) — both work.

startDate*string

Start of the date range, inclusive. Always send a full ISO 8601 datetime string, in UTC — e.g. 2026-01-01T00:00:00.000Z — not a bare date; a bare date may parse leniently today, but isn't a format this API commits to, so don't rely on it. The value itself is always UTC on the wire, both what you send and what any response echoes back — there is no separate timezone parameter, and nothing here changes that. What DOES vary by endpoint is how that UTC instant gets grouped into a calendar day internally: most endpoints in this group shift it to IST (UTC+05:30) first and take the calendar day from there, so which day your instant counts as depends on IST, not on UTC or on your own timezone — a few endpoints instead compare directly against your exact instant, with no day regrouping at all. Each endpoint's own description says which applies.

Formatdate-time
endDate*string

End of the date range, inclusive. Same format requirement and IST-day-grouping caveat as startDate — see that field's description, and each endpoint's own description for which rule applies here.

Formatdate-time

Header Parameters

x-whitelabel-host*string

Host name of the dashboard, ex: mydomain.tagmango.com

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api-prod-new.tagmango.com/api/v1/external/analytics/community/members/activity/summary?startDate=2026-01-01T00%3A00%3A00.000Z&endDate=2026-01-31T23%3A59%3A59.999Z" \  -H "x-whitelabel-host: string"
{
  "activeMember": {
    "value": 4210,
    "secondaryMetric": 33.5,
    "growthPercentage": 8.2
  },
  "dailyActiveUser": {
    "value": 152.4,
    "growthPercentage": -4.1
  }
}
{
  "code": 400,
  "type": "Bad Request",
  "statusMessage": "BAD_REQUEST",
  "success": false,
  "message": "Invalid request",
  "result": "Invalid request"
}
{
  "code": 401,
  "type": "Unauthorized",
  "statusMessage": "UNAUTHORIZED",
  "message": "Invalid token",
  "result": "Invalid token",
  "success": false
}
{
  "code": 403,
  "type": "Forbidden",
  "statusMessage": "FORBIDDEN",
  "errorCode": "WORKSHOP_MANGO_FORBIDDEN",
  "message": "You can not access this api with a TagMango account, only available for whitelabel hosts",
  "result": "You can not access this api with a TagMango account, only available for whitelabel hosts",
  "success": false
}
{
  "code": 429,
  "type": "Too Many Requests",
  "statusMessage": "TOO_MANY_REQUESTS",
  "message": "Request limit exceeded. try after 10 seconds",
  "result": "Request limit exceeded. try after 10 seconds",
  "success": false
}