Tool reference
You don’t have to call these tools by name. Ask your assistant in plain language and it picks the tool and fills in the inputs. The names and inputs are here so you can be specific when you want to, and so you can read what came back.
Which tools you see depends on your account. If a tool is missing, see Access and limits.
Earlier versions of this documentation used tool names that started with pix_, such as pix_analytics_query. Use the names on this page.
All tools are read-only. Every tool also takes an intent field, a sentence on why the call is being made. Your assistant fills it in.
Analytics
The analytics tools run Pixalate Analytics reports for your account. Start with analytics_describe: report and column availability differs between accounts, so it’s the source of truth for what you can run.
“What Pixalate reports can I run?”
“What columns are available on that report?”
“Run that report for September 1 to 30, sorted by IVT rate, and show the top 10.”
analytics_describe
Discovers the reports and columns available to your account.
Without report_id, you get reports: each report’s report_id, title and group. With a report_id, you get:
columns: each column your account can use on that report, with itslabel,format, whether it’s a metric (isMetric) and atooltip.export_supported: whether the report can be exported as a CSV.max_dimensions: the most dimensions the report accepts, ornullwhen there’s no cap.
If a report isn’t available to your account, the response has an error instead.
analytics_query
Runs a named report, or a custom column selection, for an inclusive date range.
Take column names from analytics_describe rather than guessing them. A column that doesn’t exist, or that your account can’t use, returns an error rather than being ignored.
Date ranges. One query covers at most 60 days, counting both the start and end dates. For a longer period, ask for it in parts of 60 days or fewer. A longer range is refused before the report runs, with a message that says so.
Paging. Inline results come one page at a time: 40 rows unless you ask for more, up to 100. details.numFound is the total row count, so if it’s higher than the rows you got, ask for the next page.
Exports. With export: true you get export_url, a CSV link for the whole result set with the same report, columns, filters and sort. start and limit don’t apply. If the report doesn’t support export, or you ask for more dimensions than the report allows, the tool tells you before it runs anything.
Ask for rankings directly. For questions like “which were worst”, ask for the rows sorted by that column (order_by) so the sort happens before the page is cut.
analytics_status
Reports run in the background. A quick report comes back with its rows in the same call. A slower one comes back with status: "IN_PROGRESS", a request_id and poll_after_seconds. That’s a normal result, not an error. Your assistant waits that long, then calls analytics_status to collect the result.
If the report still isn’t finished, you get the same request_id back to try again. Request IDs expire. If one is unknown or expired, run the query again.
What a query returns
MRT enrichment
mrt_enrichment_query
Returns Pixalate Media Ratings Terminal (MRT) data for mobile apps, CTV apps or web domains that you already know. You choose which data widgets you want.
“What are the Pixalate risk ratings for com.example.app?”
“Show me brand safety and IVT for example.com and example.org in North America.”
Widgets by kind.
Which widgets you can get depends on your Pixalate plan.
Narrow by region and device. Without them, a widget can return rows for every region and device it has data for. Setting region and device returns less data and a shorter answer.
What comes back. Each widget is reported on its own, so one widget failing doesn’t fail the others:
- One ID:
id,widgetsandsummaryat the top level. - Two or more IDs:
results, with one entry per ID (id,status,widgets,summary). An ID that isn’t found is markederrorwithout affecting the other IDs.
Each entry in widgets has a widget, a status and records:
summary counts the widgets requested, ok, no_data and error. Every response has a trace_id.
Errors
When a call fails, the response has an error message and a code. The message says what happened and what to do. The code tells you what kind of problem it is:
Every response, successful or not, carries a trace_id. Include it when you email support@pixalate.com so support can find the exact call.