1- // Copyright 2025 Google LLC
1+ // Copyright 2026 Google LLC
22//
33// Licensed under the Apache License, Version 2.0 (the "License");
44// you may not use this file except in compliance with the License.
@@ -60,6 +60,28 @@ service AccountsService {
6060 };
6161 }
6262
63+ // Creates a Merchant Center test account.
64+ //
65+ // Test accounts are intended for development and testing purposes, such as
66+ // validating API integrations or new feature behavior.
67+ //
68+ // Key characteristics and limitations of test accounts:
69+ // - Immutable Type: A test account cannot be converted into a regular
70+ // (live) Merchant Center account. Likewise, a regular account cannot be
71+ // converted into a test account.
72+ // - Non-Serving Products: Any products, offers, or data created within a
73+ // test account will not be published or made visible to end-users on any
74+ // Google surfaces. They are strictly for testing environments.
75+ // - Separate Environment: Test accounts operate in a sandbox-like manner,
76+ // isolated from live serving and real user traffic.
77+ rpc CreateTestAccount (CreateTestAccountRequest ) returns (Account ) {
78+ option (google.api.http ) = {
79+ post : "/accounts/v1/{parent=accounts/*}:createTestAccount"
80+ body : "account"
81+ };
82+ option (google.api.method_signature ) = "parent,account" ;
83+ }
84+
6385 // Deletes the specified account regardless of its type: standalone, advanced
6486 // account or sub-account. Deleting an advanced account leads to the deletion
6587 // of all of its sub-accounts. This also deletes the account's [developer
@@ -139,10 +161,12 @@ message Account {
139161 // Output only. The ID of the account.
140162 int64 account_id = 2 [(google.api.field_behavior ) = OUTPUT_ONLY ];
141163
142- // Required. A human-readable name of the account. See
143- // [store name](https://support.google.com/merchants/answer/160556) and
144- // [business name](https://support.google.com/merchants/answer/12159159) for
145- // more information.
164+ // Required. A human-readable name of the account. Don't use punctuation,
165+ // capitalization, or non-alphanumeric symbols such as the "/" or "_" symbols.
166+ // See
167+ // [Adding a business
168+ // name](https://support.google.com/merchants/answer/12159159) for more
169+ // information.
146170 string account_name = 3 [(google.api.field_behavior ) = REQUIRED ];
147171
148172 // Optional. Whether this account contains adult content.
@@ -277,7 +301,7 @@ message CreateAndConfigureAccountRequest {
277301 // `account_aggregation` and `accounts.createAndConfigure` method can be
278302 // used to create a sub-account under an existing advanced account through
279303 // this method. Additional `account_management` or
280- // `product_management ` services may be provided.
304+ // `products_management ` services may be provided.
281305 repeated AddAccountService service = 4
282306 [(google.api.field_behavior ) = REQUIRED ];
283307
@@ -288,6 +312,21 @@ message CreateAndConfigureAccountRequest {
288312 [(google.api.field_behavior ) = OPTIONAL ];
289313}
290314
315+ // Request message for the CreateTestAccount RPC
316+ message CreateTestAccountRequest {
317+ // Required. The account resource name to create the test account under.
318+ // Format: accounts/{account}
319+ string parent = 1 [
320+ (google.api.field_behavior ) = REQUIRED ,
321+ (google.api.resource_reference ) = {
322+ type : "merchantapi.googleapis.com/Account"
323+ }
324+ ];
325+
326+ // Required. The account to be created.
327+ Account account = 2 [(google.api.field_behavior ) = REQUIRED ];
328+ }
329+
291330// Request message for the `DeleteAccount` method.
292331message DeleteAccountRequest {
293332 // Required. The name of the account to delete.
0 commit comments