v1Resources/Duplicate Listings/postResolve duplicate listings

Resolve duplicate listings

Flags duplicate listings for removal, or dismisses them, either by an explicit list of duplicateListingIds or by a filter matching the same shape as the rollup queue. Filter-mode runs as a single bulk update scoped to the intersection of the filter's own statuses and the action's eligible source statuses — it can never reach rows outside what that filter would show. Flagging does not remove the listing itself; it queues the removal request, which a background job carries out against the publisher.

post/api/v1/listings/duplicates/resolve
listings:write
Request body
actionstring (flag | dismiss)required
flag (request removal from the publisher) or dismiss (mark as not a duplicate).
duplicateListingIdsarray of stringoptional
Explicit ids to resolve, up to 1000. Mutually exclusive with filter.
filterobjectoptional
Resolve every eligible row matching this filter instead of naming ids explicitly. A key scoped to specific clients must also pass clientId when using filter mode.
filterstring (potential | flagged | deleted | failed)optional
Restrict to one status: potential, flagged, deleted, or failed.
bandstring (high | med | low)optional
Restrict to one confidence band: high, med, or low.
publisherSiteIdintegeroptional
Restrict to one publisher, by its numeric site id.
locationIdstringoptional
Restrict to one location.
searchstringoptional
Free-text search across business name, address, and phone.
clientIdstringoptional
Required when your key is scoped to specific clients and you're using filter mode (id-mode is self-limiting per id and doesn't need this).
Response
dataobjectoptional
updatednumberoptional
Number of duplicate listings that transitioned to the new status.
skippedarray of stringoptional
Requested ids that did NOT transition — not found, not owned by your agency/client, or not in an eligible source status. Always empty in filter mode.
Errors
400The request is missing a required parameter or is otherwise malformed.
401Missing, invalid, expired, or revoked API key.
403The key lacks the required scope, or isn't authorized for this client/location.
429Too many requests. Retry after the number of seconds in the Retry-After header.
post/api/v1/listings/duplicates/resolve
Your API key
Request body*
{
  "data": {
    "updated": 3,
    "skipped": []
  }
}