readOnlyHint, destructiveHint, idempotentHint, openWorldHint), so a client can tell reads from writes and ask you before doing something that cannot be undone. Full argument schemas come from the server itself through tools/list, so they are always the live ones.
Almost every tool takes a
brand_id. Start with list_brands to get the ids this key can reach, then pass one into the others.Brands
Prompts
Visibility
Citations
Competitors
Topics
Recommendations
Audit reports
Content generations
Content optimizations
Paging
List tools return one page and, when there is more, anext_cursor. Pass it back as cursor to get the next page. Nothing pages automatically: one tool call is one request, which is what keeps a runaway loop inside your rate limit.
list_answers returns 10 rows by default rather than the API’s 100, because a hundred full AI answers is about 300KB and will not fit in an assistant’s context. Raise limit if you need to and your client can take it.
Errors
A failed tool call comes back as an error with the API’s own reason, plus a request id you can quote to support. See Errors for the full list of codes.
If a response is too large to return, the server says so and tells you which argument to narrow. Nothing is truncated, so a short answer is never a silent one.