Same parameters as the synchronous query (including date_preset and time_increment, both free strings), but for ranges or breakdowns that Graph cannot answer in a single call. Returns { report_run_id }; progress is queried at GET /api/marketing/insights/reports/:reportRunId and the rows at …/results. Meta reports expire after 30 days. Requires the marketing:manage scope.
Campaign, ad set or ad to query. If omitted, the whole account is queried.
level
account · campaign · adset · ad
optional
—
date_preset
string
optional
Named range. It is a free string: Meta validates the value. The commonly used ones are in GET /api/marketing/enums as suggestions. Example: "last_7d".
time_range
object
optional
Explicit range {"since":"YYYY-MM-DD","until":"YYYY-MM-DD"}. In the GET it is sent as JSON in the query string; in the POST it can come as an object.
time_increment
string
optional
Time slicing of the rows. Free string: a number of days (1, 7, 28), monthly or all_days. 1 is the typical value for a daily series. If it is not sent, Graph aggregates the whole range in a single row. Example: "1".