Your online store's URL is your homepage for Merchant Center. You first set
or update your homepage URL. Then, to unlock various Merchant Center
features and enable advertising on Google surfaces, you need to verify that you
have control over the website associated with this URL. After your website is
verified, you can claim the homepage in Merchant Center.

You can manage your homepage settings using Merchant API, including the
following operations:

- Set your homepage URL
- Claim your homepage URL
- Disclaim your homepage URL

## Prerequisites

Before you can claim your store website, you need to verify it. For more
information on the importance of website verification, see [Understanding online
store URL verification](https://support.google.com/merchants/answer/176793). To
understand the process, see [Site Verification
API](https://developers.google.com/google-ads/shopping/full-automation/articles/t4#automatic_steps).

## Special considerations

To update your homepage URL, claim, or disclaim your homepage using the API, you
need administrator access to the Merchant Center account.

## Get your current homepage settings

To retrieve your store's configured homepage URL and see if it has been
successfully claimed, use the
[`accounts.homepage.getHomepage`](https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.homepage/getHomepage)
method.

Here's an example HTTPS request:

    GET https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/homepage

A successful request returns the
[`Homepage`](https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.homepage#Homepage)
resource with the current URI and claim status.

Here's an example response:

    {
      "name": "accounts/{ACCOUNT_ID}/homepage",
      "uri": "https://www.example.com",
      "claimed": true
    }

If no homepage is set, it does not return a value for `claimed`.

    {
      "name": "accounts/{ACCOUNT_ID}/homepage",
      "uri": "",
    }

### Java

    import com.google.api.gax.core.FixedCredentialsProvider;
    import com.google.auth.oauth2.GoogleCredentials;
    import com.google.shopping.merchant.accounts.v1.GetHomepageRequest;
    import com.google.shopping.merchant.accounts.v1.Homepage;
    import com.google.shopping.merchant.accounts.v1.HomepageName;
    import com.google.shopping.merchant.accounts.v1.HomepageServiceClient;
    import com.google.shopping.merchant.accounts.v1.HomepageServiceSettings;
    import shopping.merchant.samples.utils.Authenticator;
    import shopping.merchant.samples.utils.Config;

    /** This class demonstrates how to get the homepage for a given Merchant Center account */
    public class GetHomepageSample {

      public static void getHomepage(Config config) throws Exception {

        // Obtains OAuth token based on the user's configuration.
        GoogleCredentials credential = new Authenticator().authenticate();

        // Creates service settings using the credentials retrieved above.
        HomepageServiceSettings homepageServiceSettings =
            HomepageServiceSettings.newBuilder()
                .setCredentialsProvider(FixedCredentialsProvider.create(credential))
                .build();

        // Creates Homepage name to identify Homepage.
        String name =
            HomepageName.newBuilder().setAccount(config.getAccountId().toString()).build().toString();

        // Calls the API and catches and prints any network failures/errors.
        try (HomepageServiceClient homepageServiceClient =
            HomepageServiceClient.create(homepageServiceSettings)) {

          // The name has the format: accounts/{account}/homepage
          GetHomepageRequest request = GetHomepageRequest.newBuilder().setName(name).build();

          System.out.println("Sending Get Homepage request:");
          Homepage response = homepageServiceClient.getHomepage(request);

          System.out.println("Retrieved Homepage below");
          System.out.println(response);
        } catch (Exception e) {
          System.out.println(e);
        }
      }

      public static void main(String[] args) throws Exception {
        Config config = Config.load();

        getHomepage(config);
      }
    }

### PHP

    use Google\ApiCore\ApiException;
    use Google\Shopping\Merchant\Accounts\V1\GetHomepageRequest;
    use Google\Shopping\Merchant\Accounts\V1\Client\HomepageServiceClient;


    /**
     * This class demonstrates how to get the homepage for a given Merchant Center account
     */
    class GetHomepage
    {
        /**
         * Gets the homepage for a given Merchant Center account.
         *
         * @param array $config The configuration data for authentication and account ID.
         * @return void
         * @throws ApiException if the API call fails.
         */
        public static function getHomepageSample(array $config): void
        {
            // Gets the OAuth credentials to make the request.
            $credentials = Authentication::useServiceAccountOrTokenFile();

            // Creates options config containing credentials for the client to use.
            $options = ['credentials' => $credentials];

            // Creates a client.
            $homepageServiceClient = new HomepageServiceClient($options);

            // Creates Homepage name to identify Homepage.
            // The name has the format: accounts/{account}/homepage
            $name = "accounts/" . $config['accountId'] . "/homepage";

            // Calls the API and catches and prints any network failures/errors.
            try {
                $request = new GetHomepageRequest(['name' => $name]);

                print "Sending Get Homepage request:\n";
                $response = $homepageServiceClient->getHomepage($request);

                print "Retrieved Homepage below\n";
                print_r($response);
            } catch (ApiException $e) {
                print $e->getMessage();
            }
        }

        /**
         * Helper to execute the sample.
         *
         * @return void
         */
        public function callSample(): void
        {
            $config = Config::generateConfig();

            // Makes the call to get the homepage.
            self::getHomepageSample($config);
        }
    }

    // Run the script
    $sample = new GetHomepage();
    $sample->callSample();

### Python

    from examples.authentication import configuration
    from examples.authentication import generate_user_credentials
    from google.shopping.merchant_accounts_v1 import GetHomepageRequest
    from google.shopping.merchant_accounts_v1 import HomepageServiceClient

    _ACCOUNT = configuration.Configuration().read_merchant_info()


    def get_homepage():
      """Gets the homepage for a given Merchant Center account."""

      # Gets OAuth Credentials.
      credentials = generate_user_credentials.main()

      # Creates a client.
      client = HomepageServiceClient(credentials=credentials)

      # Creates Homepage name to identify Homepage.
      name = "accounts/" + _ACCOUNT + "/homepage"

      # Creates the request.
      request = GetHomepageRequest(name=name)

      # Makes the request and catches and prints any error messages.
      try:
        response = client.get_homepage(request=request)
        print("Retrieved Homepage below")
        print(response)
      except RuntimeError as e:
        print(e)


    if __name__ == "__main__":
      get_homepage()

### cURL

    curl --location --request GET \
    'https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/homepage' \
    --header 'Authorization: Bearer {ACCESS_TOKEN}'

## Update your homepage URL

To set or change the website URL associated with your Merchant Center
account, use the
[`updateHomepage`](https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.homepage/updateHomepage)
method.

You need to provide the
[`Homepage`](https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.homepage#Homepage)
resource in the request body, specifying the new `uri`, and include `uri` in the
`update_mask`.

> [!NOTE]
> **Note:** Updating the homepage will remove the claim if present.

Here's an example HTTPS request:

    PATCH https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/homepage?update_mask=uri

Here's an example request payload:

    {
      "name": "accounts/{ACCOUNT_ID}/homepage",
      "uri": "https://www.new-example.com"
    }

A successful request returns the updated
[`Homepage`](https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.homepage#Homepage)
resource.

Here's an example response:

    {
      "name": "accounts/{ACCOUNT_ID}/homepage",
      "uri": "https://www.new-example.com",
      "claimed": true
    }

### Java

    import com.google.api.gax.core.FixedCredentialsProvider;
    import com.google.auth.oauth2.GoogleCredentials;
    import com.google.protobuf.FieldMask;
    import com.google.shopping.merchant.accounts.v1.Homepage;
    import com.google.shopping.merchant.accounts.v1.HomepageName;
    import com.google.shopping.merchant.accounts.v1.HomepageServiceClient;
    import com.google.shopping.merchant.accounts.v1.HomepageServiceSettings;
    import com.google.shopping.merchant.accounts.v1.UpdateHomepageRequest;
    import shopping.merchant.samples.utils.Authenticator;
    import shopping.merchant.samples.utils.Config;

    /** This class demonstrates how to update a homepage to a new URL. */
    public class UpdateHomepageSample {

      public static void updateHomepage(Config config, String uri) throws Exception {

        GoogleCredentials credential = new Authenticator().authenticate();

        HomepageServiceSettings homepageServiceSettings =
            HomepageServiceSettings.newBuilder()
                .setCredentialsProvider(FixedCredentialsProvider.create(credential))
                .build();

        // Creates homepage name to identify homepage.
        String name =
            HomepageName.newBuilder().setAccount(config.getAccountId().toString()).build().toString();

        // Create a homepage with the updated fields.
        Homepage homepage = Homepage.newBuilder().setName(name).setUri(uri).build();

        FieldMask fieldMask = FieldMask.newBuilder().addPaths("uri").build();

        try (HomepageServiceClient homepageServiceClient =
            HomepageServiceClient.create(homepageServiceSettings)) {

          UpdateHomepageRequest request =
              UpdateHomepageRequest.newBuilder().setHomepage(homepage).setUpdateMask(fieldMask).build();

          System.out.println("Sending Update Homepage request");
          Homepage response = homepageServiceClient.updateHomepage(request);
          System.out.println("Updated Homepage Name below");
          System.out.println(response.getName());
        } catch (Exception e) {
          System.out.println(e);
        }
      }

      public static void main(String[] args) throws Exception {
        Config config = Config.load();

        // The URI (a URL) of the store's homepage.
        String uri = "https://example.com";

        updateHomepage(config, uri);
      }
    }

### PHP

    use Google\ApiCore\ApiException;
    use Google\Protobuf\FieldMask;
    use Google\Shopping\Merchant\Accounts\V1\Homepage;
    use Google\Shopping\Merchant\Accounts\V1\Client\HomepageServiceClient;
    use Google\Shopping\Merchant\Accounts\V1\UpdateHomepageRequest;

    /**
     * This class demonstrates how to update a homepage to a new URL.
     */
    class UpdateHomepage
    {
        /**
         * Updates a homepage to a new URL.
         *
         * @param array $config The configuration data for authentication and account ID.
         * @param string $uri The new URI for the homepage.
         * @return void
         * @throws ApiException if the API call fails.
         */
        public static function updateHomepageSample(array $config, string $uri): void
        {
            // Gets the OAuth credentials to make the request.
            $credentials = Authentication::useServiceAccountOrTokenFile();

            // Creates options config containing credentials for the client to use.
            $options = ['credentials' => $credentials];

            // Creates a client.
            $homepageServiceClient = new HomepageServiceClient($options);

            // Creates Homepage name to identify Homepage.
            // The name has the format: accounts/{account}/homepage
            $name = "accounts/" . $config['accountId'] . "/homepage";

            // Create a homepage with the updated fields.
            $homepage = new Homepage(['name' => $name, 'uri' => $uri]);

            // Create field mask to specify which fields to update.
            $fieldMask = new FieldMask(['paths' => ['uri']]);

            try {
                $request = new UpdateHomepageRequest([
                    'homepage' => $homepage,
                    'update_mask' => $fieldMask
                ]);

                print "Sending Update Homepage request\n";
                $response = $homepageServiceClient->updateHomepage($request);
                print "Updated Homepage Name below\n";
                print $response->getName() . "\n";
            } catch (ApiException $e) {
                print $e->getMessage();
            }
        }

        /**
         * Helper to execute the sample.
         *
         * @return void
         */
        public function callSample(): void
        {
            $config = Config::generateConfig();

            // The URI (a URL) of the store's homepage.
            $uri = "https://example.com";

            // Makes the call to update the homepage.
            self::updateHomepageSample($config, $uri);
        }
    }

    // Run the script
    $sample = new UpdateHomepage();
    $sample->callSample();

### Python

    from examples.authentication import configuration
    from examples.authentication import generate_user_credentials
    from google.protobuf import field_mask_pb2
    from google.shopping.merchant_accounts_v1 import Homepage
    from google.shopping.merchant_accounts_v1 import HomepageServiceClient
    from google.shopping.merchant_accounts_v1 import UpdateHomepageRequest

    _ACCOUNT = configuration.Configuration().read_merchant_info()


    def update_homepage(new_uri):
      """Updates a homepage to a new URL."""

      # Gets OAuth Credentials.
      credentials = generate_user_credentials.main()

      # Creates a client.
      client = HomepageServiceClient(credentials=credentials)

      # Creates Homepage name to identify Homepage.
      name = "accounts/" + _ACCOUNT + "/homepage"

      # Create a homepage with the updated fields.
      homepage = Homepage(name=name, uri=new_uri)

      # Create a FieldMask for the "uri" field.
      field_mask = field_mask_pb2.FieldMask(paths=["uri"])

      # Creates the request.
      request = UpdateHomepageRequest(homepage=homepage, update_mask=field_mask)

      # Makes the request and catches and prints any error messages.
      try:
        response = client.update_homepage(request=request)
        print("Updated Homepage Name below")
        print(response.name)
      except RuntimeError as e:
        print(e)


    if __name__ == "__main__":
      # The URI (a URL) of the store's homepage.
      uri = "https://example.com"
      update_homepage(uri)

### cURL

    curl --location --request PATCH \
    'https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/homepage?update_mask=uri' \
    --header 'Authorization: Bearer {ACCESS_TOKEN}' \
    --header 'Content-Type: application/json' \
    --data '{
      "name": "accounts/{ACCOUNT_ID}/homepage",
      "uri": "https://www.new-example.com"
    }'

## Claim your homepage

To claim your online store's homepage, use the
[`claim`](https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.homepage/claim)
method. But before you can claim your homepage, you must complete verification,
which is the process that proves you own the website.

Here's an example HTTPS request:

    POST https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/homepage:claim

Here's an example request payload if you want to overwrite an existing claim
from another account:

    {
      "overwrite": true
    }

A successful request returns the
[`Homepage`](https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.homepage#Homepage)
resource. If the claim is successful, the `claimed` field will be `true`.

Here's an example response:

    {
      "name": "accounts/{ACCOUNT_ID}/homepage",
      "uri": "https://www.new-example.com",
      "claimed": true
    }

### Java

    import com.google.api.gax.core.FixedCredentialsProvider;
    import com.google.auth.oauth2.GoogleCredentials;
    import com.google.shopping.merchant.accounts.v1.ClaimHomepageRequest;
    import com.google.shopping.merchant.accounts.v1.Homepage;
    import com.google.shopping.merchant.accounts.v1.HomepageName;
    import com.google.shopping.merchant.accounts.v1.HomepageServiceClient;
    import com.google.shopping.merchant.accounts.v1.HomepageServiceSettings;
    import shopping.merchant.samples.utils.Authenticator;
    import shopping.merchant.samples.utils.Config;

    /** This class demonstrates how to claim the homepage for a given Merchant Center account. */
    public class ClaimHomepageSample {

      // Executing this method requires admin access.
      public static void claimHomepage(Config config) throws Exception {

        // Obtains OAuth token based on the user's configuration.
        GoogleCredentials credential = new Authenticator().authenticate();

        // Creates service settings using the credentials retrieved above.
        HomepageServiceSettings homepageServiceSettings =
            HomepageServiceSettings.newBuilder()
                .setCredentialsProvider(FixedCredentialsProvider.create(credential))
                .build();

        // Creates Homepage name to identify Homepage.
        // The name has the format: accounts/{account}/homepage
        String name =
            HomepageName.newBuilder().setAccount(config.getAccountId().toString()).build().toString();

        // Calls the API and catches and prints any network failures/errors.
        try (HomepageServiceClient homepageServiceClient =
            HomepageServiceClient.create(homepageServiceSettings)) {

          ClaimHomepageRequest request = ClaimHomepageRequest.newBuilder().setName(name).build();

          System.out.println("Sending Claim Homepage request:");

          // If the homepage is already claimed, this will recheck the
          // verification (unless the merchant is exempt from claiming, which also
          // exempts from verification) and return a successful response. If ownership
          // can no longer be verified, it will return an error, but it won't lose an existing
          // claim. In case of failure, a canonical error message will be returned:
          //    * PERMISSION_DENIED: user doesn't have the necessary permissions on this
          //    MC account;
          //    * FAILED_PRECONDITION:
          //      - The account is not a Merchant Center account;
          //      - MC account doesn't have a homepage;
          //      - claiming failed (in this case the error message will contain more
          //      details).
          Homepage response = homepageServiceClient.claimHomepage(request);

          System.out.println("Retrieved Homepage below");
          System.out.println(response);
        } catch (Exception e) {
          System.out.println(e);
        }
      }

      public static void main(String[] args) throws Exception {
        Config config = Config.load();

        claimHomepage(config);
      }
    }

### PHP

    use Google\ApiCore\ApiException;
    use Google\Shopping\Merchant\Accounts\V1\ClaimHomepageRequest;
    use Google\Shopping\Merchant\Accounts\V1\Client\HomepageServiceClient;

    /**
     * This class demonstrates how to claim the homepage for a given Merchant Center account.
     */
    class ClaimHomepage
    {
        /**
         * Claims the homepage for a given Merchant Center account.
         *
         * @param array $config The configuration data for authentication and account ID.
         * @return void
         * @throws ApiException if the API call fails.
         */
        public static function claimHomepageSample(array $config): void
        {
            // Gets the OAuth credentials to make the request.
            $credentials = Authentication::useServiceAccountOrTokenFile();

            // Creates options config containing credentials for the client to use.
            $options = ['credentials' => $credentials];

            // Creates a client.
            $homepageServiceClient = new HomepageServiceClient($options);

            // Creates Homepage name to identify Homepage.
            // The name has the format: accounts/{account}/homepage
            $name = "accounts/" . $config['accountId'] . "/homepage";

            // Calls the API and catches and prints any network failures/errors.
            try {
                $request = new ClaimHomepageRequest(['name' => $name]);

                print "Sending Claim Homepage request:\n";

                $response = $homepageServiceClient->claimHomepage($request);

                print "Retrieved Homepage below\n";
                print_r($response);
            } catch (ApiException $e) {
                print $e->getMessage();
            }
        }

        /**
         * Helper to execute the sample.
         *
         * @return void
         */
        public function callSample(): void
        {
            $config = Config::generateConfig();

            // Makes the call to claim the homepage.
            self::claimHomepageSample($config);
        }
    }

    // Run the script
    $sample = new ClaimHomepage();
    $sample->callSample();

### Python

    from examples.authentication import configuration
    from examples.authentication import generate_user_credentials
    from google.shopping.merchant_accounts_v1 import ClaimHomepageRequest
    from google.shopping.merchant_accounts_v1 import HomepageServiceClient

    _ACCOUNT = configuration.Configuration().read_merchant_info()


    def claim_homepage():
      """Claims the homepage for a given Merchant Center account."""

      # Gets OAuth Credentials.
      credentials = generate_user_credentials.main()

      # Creates a client.
      client = HomepageServiceClient(credentials=credentials)

      # Creates Homepage name to identify Homepage.
      name = "accounts/" + _ACCOUNT + "/homepage"

      # Creates the request.
      request = ClaimHomepageRequest(name=name)

      # Makes the request and catches and prints any error messages.
      try:
        response = client.claim_homepage(request=request)
        print("Retrieved Homepage below")
        print(response)
      except RuntimeError as e:
        print(e)


    if __name__ == "__main__":
      claim_homepage()

### cURL

    curl --location --request POST \
    'https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/homepage:claim' \
    --header 'Authorization: Bearer {ACCESS_TOKEN}' \
    --header 'Content-Type: application/json' \
    --data '{
      "overwrite": true
    }'

## Disclaim your homepage

To remove the claimed status from your store's homepage, use the
[`unclaim`](https://developers.google.com/merchant/api/reference/rest/accounts_v1/accounts.homepage/unclaim)
method. You might do this if you've changed your website or no longer want to
have the current URL associated with your account in a claimed state.

The `unclaim` method only removes a claim made directly on your account. If your
account inherits the claim from its
[advanced account](https://support.google.com/merchants/answer/14089347) (for example,
from an advanced account that is exempted from claiming), the request succeeds,
but your homepage stays claimed and the `claimed` field remains `true`. If your
account itself is exempted from claiming, the request returns a `400 Bad
Request` error with a `FAILED_PRECONDITION` status.

Here's an example HTTPS request:

    POST https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/homepage:unclaim

Here's an example request payload:

    {}

Here's an example response:

    {
      "name": "accounts/{ACCOUNT_ID}/homepage",
      "uri": "https://www.new-example.com",
    }

### Java

    import com.google.api.gax.core.FixedCredentialsProvider;
    import com.google.auth.oauth2.GoogleCredentials;
    import com.google.shopping.merchant.accounts.v1.Homepage;
    import com.google.shopping.merchant.accounts.v1.HomepageName;
    import com.google.shopping.merchant.accounts.v1.HomepageServiceClient;
    import com.google.shopping.merchant.accounts.v1.HomepageServiceSettings;
    import com.google.shopping.merchant.accounts.v1.UnclaimHomepageRequest;
    import shopping.merchant.samples.utils.Authenticator;
    import shopping.merchant.samples.utils.Config;

    /** This class demonstrates how to unclaim the homepage for a given Merchant Center account. */
    public class UnclaimHomepageSample {

      // Executing this method requires admin access.
      public static void unclaimHomepage(Config config) throws Exception {

        // Obtains OAuth token based on the user's configuration.
        GoogleCredentials credential = new Authenticator().authenticate();

        // Creates service settings using the credentials retrieved above.
        HomepageServiceSettings homepageServiceSettings =
            HomepageServiceSettings.newBuilder()
                .setCredentialsProvider(FixedCredentialsProvider.create(credential))
                .build();

        // Creates Homepage name to identify Homepage.
        // The name has the format: accounts/{account}/homepage
        String name =
            HomepageName.newBuilder().setAccount(config.getAccountId().toString()).build().toString();

        // Calls the API and catches and prints any network failures/errors.
        try (HomepageServiceClient homepageServiceClient =
            HomepageServiceClient.create(homepageServiceSettings)) {

          UnclaimHomepageRequest request = UnclaimHomepageRequest.newBuilder().setName(name).build();

          System.out.println("Sending Unclaim Homepage request:");

          Homepage response = homepageServiceClient.unclaimHomepage(request);

          System.out.println("Retrieved Homepage below");
          System.out.println(response);
        } catch (Exception e) {
          System.out.println(e);
        }
      }

      public static void main(String[] args) throws Exception {
        Config config = Config.load();

        unclaimHomepage(config);
      }
    }

### PHP

    use Google\ApiCore\ApiException;
    use Google\Shopping\Merchant\Accounts\V1\Client\HomepageServiceClient;
    use Google\Shopping\Merchant\Accounts\V1\UnclaimHomepageRequest;

    /**
     * This class demonstrates how to unclaim the homepage for a given Merchant Center account.
     */
    class UnclaimHomepage
    {
        /**
         * Unclaims the homepage for a given Merchant Center account.
         *
         * @param array $config The configuration data for authentication and account ID.
         * @return void
         * @throws ApiException if the API call fails.
         */
        public static function unclaimHomepageSample(array $config): void
        {
            // Gets the OAuth credentials to make the request.
            $credentials = Authentication::useServiceAccountOrTokenFile();

            // Creates options config containing credentials for the client to use.
            $options = ['credentials' => $credentials];

            // Creates a client.
            $homepageServiceClient = new HomepageServiceClient($options);

            // Creates Homepage name to identify Homepage.
            // The name has the format: accounts/{account}/homepage
            $name = "accounts/" . $config['accountId'] . "/homepage";

            // Calls the API and catches and prints any network failures/errors.
            try {
                $request = new UnclaimHomepageRequest(['name' => $name]);

                print "Sending Unclaim Homepage request:\n";

                $response = $homepageServiceClient->unclaimHomepage($request);

                print "Retrieved Homepage below\n";
                print_r($response);
            } catch (ApiException $e) {
                print $e->getMessage();
            }
        }

        /**
         * Helper to execute the sample.
         *
         * @return void
         */
        public function callSample(): void
        {
            $config = Config::generateConfig();

            // Makes the call to unclaim the homepage.
            self::unclaimHomepageSample($config);
        }
    }


    // Run the script
    $sample = new UnclaimHomepage();
    $sample->callSample();

### Python

    from examples.authentication import configuration
    from examples.authentication import generate_user_credentials
    from google.shopping.merchant_accounts_v1 import HomepageServiceClient
    from google.shopping.merchant_accounts_v1 import UnclaimHomepageRequest

    _ACCOUNT = configuration.Configuration().read_merchant_info()


    def unclaim_homepage():
      """Unclaims the homepage for a given Merchant Center account."""

      # Gets OAuth Credentials.
      credentials = generate_user_credentials.main()

      # Creates a client.
      client = HomepageServiceClient(credentials=credentials)

      # Creates Homepage name to identify Homepage.
      # The name has the format: accounts/{account}/homepage
      name = "accounts/" + _ACCOUNT + "/homepage"

      # Creates the request.
      request = UnclaimHomepageRequest(name=name)

      # Makes the request and catches and prints any error messages.
      try:
        response = client.unclaim_homepage(request=request)
        print(f"Unclaimed Homepage: {response}")
      except RuntimeError as e:
        print(f"Failed to unclaim homepage: {e}")


    if __name__ == "__main__":
      unclaim_homepage()

### cURL

    curl --location --request POST \
    'https://merchantapi.googleapis.com/accounts/v1/accounts/{ACCOUNT_ID}/homepage:unclaim' \
    --header 'Authorization: Bearer {ACCESS_TOKEN}' \
    --header 'Content-Type: application/json' \
    --data '{}'