Skip to main content

Changed

Response grouping for GET https://dashboard.dashsocial.com/reports/data is now controlled by two parameters:
  • aggregate_by sets the primary grouping dimension. Accepted values:
  • secondary_aggregate_by adds an optional second grouping dimension. It is now supported on report_type=TOTAL_METRIC and report_type=GRAPH (previously stacked bars only).
We recommend always including aggregate_by in your request. If it is omitted, the endpoint falls back to a default that depends on the report type and the brands and channels in your request, so the grouping may not be what you want.

What you need to update

  1. Set aggregate_by to the grouping your report needs. For a brand-and-channel breakdown, use aggregate_by=BRAND and secondary_aggregate_by=CHANNEL.
  2. Read metrics from each entry. The path matches your grouping:
    • With secondary_aggregate_by: data[<aggregate_by>]["breakdowns"][<secondary_aggregate_by>]["metrics"]["<METRIC>"]["<CHANNEL>"]
    • Without it, the breakdowns level is dropped: data[<aggregate_by>]["metrics"]["<METRIC>"]["<CHANNEL>"]
    <CHANNEL> is the channel name when the data is split by channel, otherwise ALL_CHANNELS.

Response structure: TOTAL_METRIC

For TOTAL_METRIC, the innermost object is a single value.

Response structure: GRAPH

For GRAPH, the innermost object is keyed by date.

Notes

A brand only includes a channel under breakdowns if it has data for that channel. In the examples above, brand 2 returns Instagram only. The two report types share the same structure. Only the innermost object differs: date-keyed values for GRAPH, a single value for TOTAL_METRIC.