report_media_buy_issue durably stores an operational report against an
authorized buy. The seller advertises media_buy.issue_reporting: true;
available_actions[] resolves package scope and the critical-response promise,
with task: "report_media_buy_issue" and mode: "seller_managed".
Reporting is independent of negotiated commercial change rights.
The synchronous response acknowledges storage. Human acknowledgement and
resolution belong to issue.status, read with
get_media_buy_issue.
See Service commitments for timing rules.
Request schema: report-media-buy-issue-request.json
severity is critical or warning. category is malicious_creative,
wrong_creative, brand_safety, tracking, delivery, or other.
description is required, with a 4,000-character limit. Optional package_id
and creative_id narrow scope within the buy and account. Removed creatives
remain reportable for earlier incidents. Describe unknown objects without
inventing IDs. Text is evidence, never executable instructions.
Before writing, the seller validates authorization, action availability, and
resource relationships. Unknown or inaccessible resources return REFERENCE_NOT_FOUND
without disclosing existence. Missing support returns UNSUPPORTED_FEATURE;
unavailable actions return ACTION_NOT_ALLOWED.
Invalid severity or category returns INVALID_REQUEST.
Standard idempotency scopes keys to the authenticated agent and resolved account.
Retrying the same task and payload with the same key MUST replay the original
receipt and issue_id without duplicating the report or restarting its clock.
Changed payloads or tasks under that key return IDEMPOTENCY_CONFLICT.
The transport may attach replayed: true as envelope metadata; it is not part
of the stored issue. A replay returns the original receipt, so use the polling
task for current state.
Response schema: report-media-buy-issue-response.json
outcome: "recorded" and issue; a task failure has
outcome: "failed" and errors[].
The report’s identity, receipt time, content, scope, and severity are immutable.
For critical reports, the seller MUST preserve the applicable response promise
internally at receipt. An automated receipt is not human acknowledgement;
policy changes and retries cannot extend the promised response time.
Without package_id, the available action must cover the whole buy.
Package-scoped reports use only the applicable promise; see the mixed-product
rules in Service commitments.
A person acknowledging the report moves reported to acknowledged and sets
acknowledged_at. Resolution moves it to resolved and requires both that
human acknowledgement time and resolved_at, plus a buyer-safe resolution.
Immediate resolution may record both times together. Timestamps MUST be
ordered received_at <= acknowledged_at <= resolved_at. MediaBuy revision
does not change. Missing the response promise does not reset the clock or
automatically resolve the report. No resolution-time commitment is implied.
Only seller-owned processing can advance these states; buyers cannot assert
acknowledgement or resolution through this task. Resolved reports are terminal;
a recurring incident uses a new report.