Skip to main content

Changelog

Revision History

Date
VersionSummary
June 26, 20261.5.1Location asset update validation documentation
June 23, 20261.5.0Brand delete notification and feedback documentation; Delegation notification documentation corrections; Get Access Token Details response enhancements; Location capture eligibility guidance; Undelete Location API enhancement
June 15, 20261.4.4OAuth scopes documentation update; OAuth authorization request parameter name correction: redirection_endpointredirect_uri
June 11, 20261.4.3Webhook health check message type correction: HEALTH_CHECKHEALTH
June 10, 20261.4.2OAuth scope correction: OAUTH_BRAND_WRITE does not permit brand deletion
June 9, 20261.4.1Delegation state value correction
June 5, 20261.4.0New 409 Conflict status code and BRAND__CREATION_IN_PROGRESS error code
May 21, 20261.3.0Location duplicate detection error code update
May 19, 20261.2.1Delegation API documentation
May 5, 20261.2.0Notifications API enhancements
April 21, 20261.1.0Validation and error code updates
April 14, 20261.0.0Initial release

Revision Number Increments

VersionExplanation
1.0.0Major version with incompatible API changes. Includes number increment and new content.
1.0.0Minor version with functionality added in a backward compatible manner. Includes number increment and changes to current content.
1.0.0Patch version with backward compatible bug fixes. Includes number increment and content corrections that do not change functionality, such as graphics, grammar, etc.
Reference

Version 1.5.1

Location Asset Update Validation

Documentation
Added missing VALIDATION__UpdatedLocationAssetShouldNotMatchExistingLocationAsset to the Location Asset validation rules. This validation rejects a location asset update when the submitted asset data is identical to the previous stored record.

Upcoming Validation Change — August 10, 2026

The null byte character (U+0000, JSON escape \u0000) will be added to the list of unsupported characters. A property MUST NOT contain this character in its value. Submissions containing U+0000 in any string field will be rejected with a VIOLATION severity validation report. Affected validations follow the HasUnsupportedCharacter naming pattern (for example, DisplayNamesNameHasUnsupportedCharacter).

Targeted enforcement date: August 10, 2026

Version 1.5.0

Brand Delete Notification and Feedback

Documentation
Added brand delete example response bodies to Type Processing Successful (Notification and Feedback tabs). When a brand is deleted, a PROCESSING_SUCCESSFUL notification and feedback record with state: DELETED is generated for the organization that initiated the delete and all partners whose delegation scope includes the brand.

Delegation Notifications

Documentation Correction
Corrected the Type Delegation notification description and example response body:

  • Removed location delete as a triggering event — DELEGATION notifications are not generated when a delegated brand location is deleted
  • Added missing operation field to the Location Delegation example response body
  • Corrected state value in the Location Delegation example from PUBLISHED to SUBMITTED
  • Removed DELETE from operation possible values
  • Removed "or deleted" from brandId and etag field descriptions

Get Access Token Details

Enhancement
The Get Access Token Details response body (GET /api/v1/me) now includes companyDetails and companyId for backward compatibility with existing integrations. These fields are deprecated — clients should transition to orgDetails and orgId. New integrations should use orgDetails and orgId only.

Location Capture Eligibility

New Guidance
Added Location Capture Eligibility guidance covering what does and does not qualify as a location eligible for submission. Includes eligible place types, general disqualifiers, and detailed examples of ineligible entities — departments and internal subdivisions, utility and service spaces, and administrative designations.

Undelete Location

Enhancement
Owner organization types with API access granted can now use the Undelete Location API. The VALIDATION__UndeleteOperationNotSupportedForOrgType validation has been removed.

Version 1.4.4

OAuth Scopes

Documentation Update
Updated OAuth 2.0 Scopes:

  • Expanded scope tables to show granular permissions for each scope

Documentation Correction
Corrected the authorization request parameter name in Request Authorization Code. The parameter was incorrectly documented as redirection_endpoint; the correct name is redirect_uri, consistent with the API implementation and RFC 6749.

Version 1.4.3

Webhooks

Documentation Correction
The webhook health check message type value was incorrectly documented as HEALTH_CHECK. The correct value is HEALTH. Changes are visible in:

Version 1.4.2

OAuth Scopes

Documentation Correction
Corrected the permissions description for BRAND_PROFILES. Brand deletion is not permitted under this scope. The description previously stated "Create, get, update, and delete"; the correct description is "Create, get, and update."

Version 1.4.1

Delegation API

Documentation Correction
Corrected the possible values for the delegation relationship state field in Get Delegated Brand Resources. The value NOT_ACTIVE was incorrectly documented; the correct value is INACTIVE, consistent with the API implementation and Type Delegation.

Version 1.4.0

Brand Create

New Error Code
Added 409 Conflict HTTP status code and error code BRAND__CREATION_IN_PROGRESS. This error is returned when a Brand create request is submitted while a previous create request for the same brand is still pending completion. See Creation In Progress for details.

Version 1.3.0

Location Duplicate Detection

Error Code Update
When a Location create request payload matches an already-existing location, the API now returns LOCATION__IS_MATCHED (400 Bad Request) with message "Resource has comparable representation". Previously this case returned LOCATION__ALREADY_EXISTS. Partners that check for LOCATION__ALREADY_EXISTS to detect Location duplicates should update their error handling to also handle LOCATION__IS_MATCHED. See Is Matched for details.

Version 1.2.1

Delegation API

Documentation

Version 1.2.0

Notifications API

Enhancements
The createdDate field on MAPS_DISPLAY notifications for APPLE_OVERRIDE__ notification types now reflects the time at which the notification was published and became available to query — not when the underlying change was originally submitted. Previously, because the publishing pipeline can take up to 48 hours, createdDate could significantly predate when a notification first appeared in query results, causing events to be missed when polling with a tight real-time window. This change makes createdDate a reliable anchor for time-based polling.

Version 1.1.0

  • New error code ORG__HAS_ACTIVE_MANAGER_USER returned when attempting to delete an organization that has an active manager user.
  • New validation DepartmentMustBeValidForUseWithBrandPrimaryCategory - Validate that department value is valid for use in conjunction with the brand's primary category. See Department Validations for details.

Breaking Changes

API Version and Request Path Changes

  • API version in URL paths: /api/v3//api/v1/
  • API request templates now use orgs instead of companies.

Terminology Changes

  • All resource response bodies (Location, Brand, Brand Asset, Email ID, and so on) return orgId instead of companyId.
  • Feedback/notification body field renames in DELEGATION and OAUTH_APP_GRANT types. In these sub-objects:
    • companyDetailsorgDetails
    • companyLegalNameorgLegalName
    • companyIdorgId
  • Delegation API:
    • delegatedPartnerCompanyIddelegatedPartnerOrgId
    • expand=companyDetailsexpand=orgDetails
  • Narrative terminology updated from “company/companies” to “organization(s).”

Migration Impact

  • Action required: Update all API request paths and parameters from companies to orgs.
  • No behavioral change: This is a naming/terminology change only; request semantics, authorization, and responses are unchanged.

Webhook Request Header Renames

The following request headers have been renamed for the Webhook POST request and the Health Check:

Previous NameNew Name
BusinessConnect-TimestampBusiness-Timestamp
BusinessConnect-SignatureBusiness-Signature
BusinessConnect-Webhook-EnvironmentBusiness-Webhook-Environment

Migration Impact

  • Action required: Update webhook implementations to recognize the new header names.
  • No behavioral change: Header semantics and values are unchanged.

Removal of brandAssetId from Email ID

  • brandAssetId has been removed from all API operations
  • The field is no longer returned in Get responses and is not present in Create or Update response schemas.

Migration Impact

  • Action required: Remove brandAssetId from all client models and response handling.
  • No replacement: This field is no longer exposed by the API.

Validations

New empty array validations added. Severity is VIOLATION. Fields:

  • $.assetDetails.captions
  • $.assetDetails.classifications
  • $.locationDetails.accessPoints
  • $.locationDetails.actionLinkDetails.quicklinks
  • $.locationDetails.internalNicknames
  • $.locationDetails.keywords.other
  • $.locationDetails.keywords.products
  • $.locationDetails.keywords.services
  • $.locationDetails.locationAttributes
  • $.locationDetails.locationDescriptions
  • $.locationDetails.locationDescriptions[].descriptions
  • $.locationDetails.structuredAddress.dependentLocality
  • $.locationDetails.openingHoursByDay
  • $.locationDetails.openingHoursByDay[].times
  • $.locationDetails.paymentMethods
  • $.locationDetails.phoneNumbers
  • $.locationDetails.serviceHours
  • $.locationDetails.serviceHours[].hoursByDay[].times
  • $.locationDetails.specialHours[].descriptions
  • $.locationDetails.specialHours
  • $.locationDetails.specialHours[].hoursByDay[].times
  • $.locationDetails.urls
  • $.reviewDetails.interactionStatistics
  • $.reviewDetails.localizedReviews
  • $.reviewDetails.starRatings

Location Duplicate Detection on Create

A duplicate detection constraint for the Location Create operation is now enforced with the v1 API launch. This constraint was previously documented in the Already Exists error reference but was not implemented.

Behavior: An attempt to create a Location resource using field values that match an already existing Location resource will return 400 ALREADY_EXISTS with code LOCATION__ALREADY_EXISTS.

warning

Partners should review their Location create workflows prior to the v1 API launch to ensure requests do not submit duplicate records.

Migration Impact

  • Action required: Audit Location create integrations and update error-handling logic to account for LOCATION__ALREADY_EXISTS.
  • Behavioral change: Previously, duplicate Location create requests may have succeeded; they will now return a 400 error.

New Resource State

Location Resource

  • New state: PUBLISH_PAUSED. Targeted release date: Monday April 20.
note

PUBLISH_PAUSED will be supported by a new processing code PROCESSING__LocationPublishingPausedInMapRegion which is expected to be released on Monday May 4.

Enhancements

Business-Timestamp Behavior Correction

Expected week of May 4, 2026

The Business-Timestamp request header in Webhook POST requests now reflects the HTTP request send time.

Previously, Business-Timestamp reflected the time the feedback event was generated rather than when the HTTP POST request was sent.

Updated behavior:

  • Business-Timestamp is generated immediately prior to signing and sending the POST request.
  • The value no longer reflects the generation time of the feedback event described in the payload.

Migration Impact

  • No action required for partners who do not validate Business-Timestamp freshness.
  • Partners who implement freshness validation against Business-Timestamp will now receive accurate send-time values.

Documentation Corrections

Updated example response bodies to correct pagination.next values by removing the /api prefix from the path. Changes are visible in:

The correction applies to documentation examples only. At this time, API responses may return pagination links either with the /api prefix or starting with /{api_version} (for example, /v1). This variation will be standardized in a future release.