Get content stats
Post and message counts for the date range, each with per-member and per-day averages.
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 the post/message counts and perDay — the total-member-count perMember divides by (fetched separately) instead uses your exact given instants, the same as the member-overview endpoint.
Authorization
bearer In: header
Query Parameters
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.
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.
date-timeEnd 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.
date-timeHeader Parameters
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/content/stats?startDate=2026-01-01T00%3A00%3A00.000Z&endDate=2026-01-31T23%3A59%3A59.999Z" \ -H "x-whitelabel-host: string"{
"posts": {
"value": 1250,
"perMember": 2.5,
"perDay": 41.7
},
"messages": {
"value": 1250,
"perMember": 2.5,
"perDay": 41.7
}
}{
"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
}