Migrate from accountstatuses to Account Issues

The way you retrieve account-level issues that can impact your products and account health has changed. Compared to the accountstatuses resource in the Content API for Shopping, Merchant API introduces a dedicated AccountIssue resource that provides more structured and detailed information.

For more information on how to use the new feature, see the View account issues guide.

Key differences

Here are the key improvements and differences in the Merchant API AccountIssue resource:

  • Dedicated resource: Account issues are their own resource. In Content API for Shopping, account-level issues were a nested field within the general AccountStatus resource. With Merchant API you can list them directly using the accounts.issues.list method.
  • Structured impact data: The AccountIssue resource provides a detailed impactedDestinations field. This field gives you a clear breakdown of an issue's impact, including the destination (for example, Shopping ads), the specific region, and the severity of the issue in that region.
  • Severity as an enum: The severity field is now an enum (with values such as CRITICAL, ERROR, SUGGESTION), making it easier to process programmatically compared to the string-based values in Content API for Shopping.
  • Standardized identifiers: Each account issue has a unique, full resource name in the format accounts/{ACCOUNT_ID}/issues/{ISSUE_ID}. This standardized approach replaces the id string from Content API for Shopping.
  • Localization support: The accounts.issues.list method lets you specify a language_code to receive issue details, such as the title and description, in your preferred language. This was not possible in Content API for Shopping.
  • Advanced account behavior: When you call accounts.issues.list on an advanced account, it only returns issues that apply directly to that advanced account. It does not return issues for any of its sub-accounts. In Content API for Shopping, the accountstatuses.list method would return the statuses for all sub-accounts. To get issues for all sub-accounts in Merchant API, you must call accounts.listSubaccounts and then call accounts.issues.list for each sub-account individually.

Requests

In Merchant API, you can list account issues for a specific Merchant Center account.

GET https://merchantapi.googleapis.com/accounts/v1beta/accounts/ACCOUNT_ID/issues

Request URL comparison

Request description Content API for Shopping Merchant API
List account-level issues for a single account GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/accountstatuses/{ACCOUNT_ID} GET https://merchantapi.googleapis.com/accounts/v1beta/accounts/{ACCOUNT_ID}/issues
List account-level issues for all sub-accounts of an advanced account GET https://shoppingcontent.googleapis.com/content/v2.1/{MERCHANT_ID}/accountstatuses Not available. You must iterate through sub-accounts.

Identifiers

The identifiers for accounts and issues have changed in Merchant API.

Identifier comparison

Identifier description Content API for Shopping Merchant API
Account identifier {MERCHANT_ID} and {ACCOUNT_ID} as path parameters. {ACCOUNT_ID} as a path parameter in the format accounts/{ACCOUNT_ID}.
Issue identifier id field in the response body (for example, "products-that-enable-dishonest-behavior-hacking-policy"). name field in the response body, which is the full resource name (for example, accounts/12345/issues/example-issue-id).

Methods

The methods for retrieving account issues have been consolidated and simplified in Merchant API.

Method comparison

Content API for Shopping Merchant API Availability & notes
accountstatuses.get accounts.issues.list Available. To get issues for a single account, use accounts.issues.list and specify the account ID. Merchant API does not have a get method for a single issue.
accountstatuses.list No direct equivalent. Not available. The accounts.issues.list method in Merchant API only returns issues for the specified account, not its sub-accounts. To get issues for all sub-accounts, you must first call accounts.listSubaccounts and then call accounts.issues.list for each sub-account.
accountstatuses.custombatch No direct equivalent. Not available. Batch processing for account issues is not supported in Merchant API. You must make individual list calls for each account.

Detailed field changes

The fields within the account issue resource have been updated to provide more structure and clarity.

Field comparison

Content API for Shopping Merchant API Description
accountLevelIssues (array in AccountStatus) accountIssues (array in ListAccountIssuesResponse) Issues are now a dedicated, top-level resource, not a nested field.
id (string) name (string) The issue identifier is now a full resource name, for example accounts/{ACCOUNT_ID}/issues/{ISSUE_ID}.
title (string) title (string) No change.
detail (string) detail (string) No change.
documentation (string) documentationUri (string) Field renamed for clarity to indicate it's a URL.
severity (string) severity (enum) Severity is now a structured enum (CRITICAL, ERROR, SUGGESTION) instead of a string.
country (string), destination (string) impactedDestinations (repeated message) Impact is now structured into a list, grouping the destination, region, and severity for each affected area. The country field is replaced by regionCode within the Impact message.
(Not available) language_code, time_zone (request parameters) New parameters in the list request allow for localization of human-readable fields like title and detail.