---
title: "Assign GBP location to another profile"
method: POST
path: "/v1/accounts/{accountId}/gmb-locations/assign"
tags: ["Connect"]
---

# Assign GBP location to another profile

`POST /v1/accounts/{accountId}/gmb-locations/assign`

Connect a Google Business location onto a DIFFERENT profile by reusing the OAuth grant from an already-connected GBP account — no browser, no re-authorization. Built for agencies whose single Google account has manager access to many client locations and who run one profile per client: connect one location the normal way (browser OAuth), then bulk-assign the rest onto each client's profile via this endpoint. The path `accountId` is a SOURCE connected GBP account (the token holder); the body `profileId` is the TARGET profile. Returns 409 if the target profile already has a Google Business connection (switch its location with PUT gmb-locations instead).

## Path parameters

- `accountId` string, required

## Request body

- object
  - `profileId` string, required — Target profile to connect the location onto.
  - `selectedLocationId` string, required — The Google Business location ID to assign (e.g. "locations/123").
  - `googleAccountId` string — Optional but recommended. The Google Business Account resource name ("accounts/123") that owns the location (from GET gmb-locations). When provided the location is resolved directly instead of by enumerating the account, required for accounts with many locations.

## Response `200`

Location assigned to the target profile

- object
  - `message` string
  - `account` object
    - `accountId` string
    - `platform` string
    - `username` string
    - `displayName` string
    - `isActive` boolean
    - `selectedLocationName` string — Human-readable location display name (e.g. "Snap Fitness Dianella"), NOT a resource name. Do not use it to build API paths.
    - `selectedLocationId` string — Bare GBP location id (digits only). Combine with the GBP account id as accounts/{gbpAccountId}/locations/{selectedLocationId} to form the location resource names that gmb-reviews/batch expects in locationNames.

## Other responses

- `400` — Invalid body, selected location not found under the Google account, or the provided googleAccountId is not one of the accounts this connection manages
- `401` — Unauthorized
- `403` — Payment required, or target profile exceeds plan limit
- `404` — Source Google Business account not found
- `409` — Target profile already has a Google Business connection (use PUT gmb-locations to switch its location)

---

[API](https://skmtc.net/zernio/apis/zernio-api.md) · [All operations](https://skmtc.net/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zernio/zernio-api/revisions/1e9a379eafca/schema)
