<br />

> [!NOTE]
> **Note:** The `locations.getExtended` and `locations.attributes.getExtended` methods are available in the `v1alpha` version of the My Business Business Information API. For details about the alpha channel, see [API versions and release channels](https://developers.google.com/my-business/content/api-versions).

When you update business information through the
My Business Business Information API or the Business Profile UI, edits pass
through a moderation and verification pipeline before appearing live on Google
Search and Maps. Additionally, Google may update business details based on user
reports or licensed data sources.

The `v1alpha` Edit Status endpoints let you retrieve a unified view of a
location or its attributes in a single request:

- **Merchant-provided data**: The values last submitted by the merchant.
- **Consumer-facing data**: The values live on Google Search and Maps.
- **Extended field metadata** : Per-field or per-attribute edit status, including the lifecycle stage of the latest edit, the origin source (`API` or `UI`), the timestamp of the last edit, and any policy violation reason if an edit was rejected.

## Before you begin

Before you use the My Business Business Information API, register your
application and obtain OAuth 2.0 credentials. For details on how to get started,
see [Basic setup](https://developers.google.com/my-business/content/basic-setup).

## Retrieve extended location data

To inspect the merchant-provided location data, consumer-facing location data,
and per-field edit status for a location, call
[`locations.getExtended`](https://developers.google.com/my-business/reference/businessinformation/rest/v1alpha/locations/getExtended).

Unlike [`locations.get`](https://developers.google.com/my-business/reference/businessinformation/rest/v1/locations/get),
`locations.getExtended` does not require a `readMask` parameter and returns the
full [`ExtendedLocation`](https://developers.google.com/my-business/reference/businessinformation/rest/v1alpha/locations/getExtended#ExtendedLocation) resource.

### Request

HTTP

```
GET https://mybusinessbusinessinformation.googleapis.com/v1alpha/locations/{locationId}:getExtended
```

### Response

The response contains three top-level fields:

- `locationProvidedByMerchant`: The [`Location`](https://developers.google.com/my-business/reference/businessinformation/rest/v1alpha/accounts.locations#Location) data as managed by the merchant.
- `locationSeenByConsumers`: The [`Location`](https://developers.google.com/my-business/reference/businessinformation/rest/v1alpha/accounts.locations#Location) data visible to consumers on Google Search and Maps.
- `extendedFieldData`: A map of top-level `Location` field names in `snake_case` (such as `title`, `phone_numbers`, `website_uri`, `storefront_address`, or `regular_hours`) to [`ExtendedFieldData`](https://developers.google.com/my-business/reference/businessinformation/rest/Shared.Types/ExtendedFieldData) objects. Keys are always plain top-level field names, never nested subfields.

```
{
  "locationProvidedByMerchant": {
    "name": "locations/{locationId}",
    "title": "Example Coffee Roasters - Best Coffee in Sydney",
    "phoneNumbers": {
      "primaryPhone": "02 5550 1234"
    },
    "websiteUri": "https://www.example.com/"
  },
  "locationSeenByConsumers": {
    "name": "locations/{locationId}",
    "title": "Example Coffee Roasters",
    "phoneNumbers": {
      "primaryPhone": "+61 2 5550 1234"
    },
    "websiteUri": "https://www.example.com/"
  },
  "extendedFieldData": {
    "title": {
      "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_REJECTED",
      "rejectionReason": "MISREPRESENTATION",
      "updateTime": "2026-09-25T08:00:00Z",
      "source": "SOURCE_API"
    },
    "phone_numbers": {
      "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_UPDATED_BY_GOOGLE",
      "updateTime": "2026-09-20T14:15:00Z",
      "source": "SOURCE_UI"
    },
    "website_uri": {
      "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_ACCEPTED",
      "updateTime": "2026-09-15T10:30:00Z",
      "source": "SOURCE_API"
    }
  }
}
```

## Retrieve extended attributes data

To inspect the merchant-provided values, consumer-facing values, and edit status
for a location's attributes, call
[`locations.attributes.getExtended`](https://developers.google.com/my-business/reference/businessinformation/rest/v1alpha/locations.attributes/getExtended).

### Request

HTTP

```
GET https://mybusinessbusinessinformation.googleapis.com/v1alpha/locations/{locationId}/attributes:getExtended
```

### Response

The response returns an [`ExtendedAttributes`](https://developers.google.com/my-business/reference/businessinformation/rest/v1alpha/locations.attributes/getExtended#ExtendedAttributes) resource
containing a list of [`ExtendedAttribute`](https://developers.google.com/my-business/reference/businessinformation/rest/v1alpha/locations.attributes/getExtended#ExtendedAttribute) entries. Each
entry pairs `attributeProvidedByMerchant` and `attributeSeenByConsumers` with an
`extendedFieldData` object for that attribute:

```
{
  "name": "locations/{locationId}/attributes",
  "extendedAttributes": [
    {
      "attributeProvidedByMerchant": {
        "name": "attributes/has_wheelchair_accessible_entrance",
        "valueType": "BOOL",
        "values": [
          true
        ]
      },
      "attributeSeenByConsumers": {
        "name": "attributes/has_wheelchair_accessible_entrance",
        "valueType": "BOOL",
        "values": [
          true
        ]
      },
      "extendedFieldData": {
        "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_ACCEPTED",
        "updateTime": "2026-09-10T12:00:00Z",
        "source": "SOURCE_API"
      }
    },
    {
      "attributeProvidedByMerchant": {
        "name": "attributes/wi_fi",
        "valueType": "ENUM",
        "values": [
          "free_wi_fi"
        ]
      },
      "attributeSeenByConsumers": {
        "name": "attributes/wi_fi",
        "valueType": "ENUM",
        "values": [
          "paid_wi_fi"
        ]
      },
      "extendedFieldData": {
        "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_PENDING",
        "updateTime": "2026-09-28T16:45:00Z",
        "source": "SOURCE_API"
      }
    }
  ]
}
```

## Understand extended field metadata

Each [`ExtendedFieldData`](https://developers.google.com/my-business/reference/businessinformation/rest/Shared.Types/ExtendedFieldData) object contains the following
fields:

| Field | Type | Description |
|---|---|---|
| `lastEditLifecycleStage` | [`EditLifecycleStage`](https://developers.google.com/my-business/reference/businessinformation/rest/Shared.Types/EditLifecycleStage) | The moderation or serving state of the most recent edit to this field or attribute. |
| `rejectionReason` | [`PolicyViolation`](https://developers.google.com/my-business/reference/businessinformation/rest/Shared.Types/PolicyViolation) | The policy violation that caused the edit to be rejected. Populated when `lastEditLifecycleStage` is `EDIT_LIFECYCLE_STAGE_REJECTED`. |
| `updateTime` | `string` (`Timestamp`) | The timestamp when the last edit to this field or attribute was submitted (RFC 3339 format). |
| `source` | [`Source`](https://developers.google.com/my-business/reference/businessinformation/rest/Shared.Types/Source) | The origin surface where the merchant submitted the edit (`SOURCE_API` or `SOURCE_UI`). |

### Edit lifecycle stages

The [`EditLifecycleStage`](https://developers.google.com/my-business/reference/businessinformation/rest/Shared.Types/EditLifecycleStage) enum indicates where an edit is
in its lifecycle:

| Value | Description | Recommended action |
|---|---|---|
| `EDIT_LIFECYCLE_STAGE_ACCEPTED` | The merchant's edit has been approved and is eligible for serving. | None required. |
| `EDIT_LIFECYCLE_STAGE_PENDING` | The merchant's edit is under review and hasn't been applied to the consumer-facing listing. | Wait for moderation to complete. Don't repeatedly resubmit identical edits while an edit is pending. |
| `EDIT_LIFECYCLE_STAGE_REJECTED` | The merchant's edit wasn't accepted. Check `rejectionReason` for the specific [`PolicyViolation`](https://developers.google.com/my-business/reference/businessinformation/rest/Shared.Types/PolicyViolation) value. | Correct the underlying policy violation and submit a new update using [`locations.patch`](https://developers.google.com/my-business/reference/businessinformation/rest/v1/locations/patch) or [`locations.updateAttributes`](https://developers.google.com/my-business/reference/businessinformation/rest/v1/locations/updateAttributes). |
| `EDIT_LIFECYCLE_STAGE_UPDATED_BY_GOOGLE` | The consumer-facing value was updated by Google (for example, from user reports or external sources) and differs from the merchant-provided value. | Review the `locationSeenByConsumers` or `attributeSeenByConsumers` value and either accept or override it. See [Manage Google Updates](https://developers.google.com/my-business/content/accept-or-reject-updates). |
| `EDIT_LIFECYCLE_STAGE_DRAFT` | The edit has been saved as a draft (for example, on an unverified location) and isn't live on Google Search and Maps. | Complete [location verification](https://developers.google.com/my-business/content/manage-verification) so the listing can go live. |
| `EDIT_LIFECYCLE_STAGE_UNSPECIFIED` | The edit lifecycle stage is unknown or unspecified. | None. |

### Edit sources

The [`Source`](https://developers.google.com/my-business/reference/businessinformation/rest/Shared.Types/Source) enum identifies the channel through which the merchant
submitted the edit:

- `SOURCE_API`: The edit was submitted through the My Business Business Information API.
- `SOURCE_UI`: The edit was submitted through the Business Profile web UI or mobile app.
- `SOURCE_UNSPECIFIED`: The source of the edit isn't specified.

### Policy violations

When `lastEditLifecycleStage` is `EDIT_LIFECYCLE_STAGE_REJECTED`, the
`rejectionReason` field provides a [`PolicyViolation`](https://developers.google.com/my-business/reference/businessinformation/rest/Shared.Types/PolicyViolation) enum
value explaining why the edit was rejected. Rejection reasons cover the
following areas (examples):

- **Profile and account status** : `ACCOUNT_RESTRICTED_AND_SUSPENDED`, `ACCOUNT_RESTRICTED_AND_EDIT_REJECTED`, `ASSOCIATED_ACCOUNT_SUSPENDED`, `BUSINESS_INELIGIBLE`, `LOCATION_SUSPENDED`, `LOCATION_VERIFICATION_REQUIRED`, `OWNERSHIP_REVOKED`, `PO_BOX`.
- **Editing restrictions** : `EDITING_RESTRICTION`, `ILLEGAL_BUSINESS_HOURS_EDIT`, `IDENTITY_CHANGE`, `GEOGRAPHIC_LOCATION_CHANGE`.
- **Content policies** : `MISREPRESENTATION`, `OFF_TOPIC`, `PERSONAL_INFO`, `GIBBERISH_AND_REPETITIVE`, `OBSCENITY_AND_PROFANITY`, `GENERIC_QUALITY`.

For the complete list of enum values and descriptions, see the
[`PolicyViolation` reference documentation](https://developers.google.com/my-business/reference/businessinformation/rest/Shared.Types/PolicyViolation).