v1Recursos/Listagens publicadas/getObter problemas de listagens
Obter problemas de listagens
Os problemas exibidos na visão geral de Listagens, como dados. Cada problema é uma correção (uma edição, um login ou uma etapa fora do aplicativo) e indica as listagens de publishers que essa correção desbloquearia. Com locationId, retorna todos os problemas desse local. Sem ele, retorna um consolidado dos locais da sua chave, opcionalmente limitado a um cliente e uma tag, lido em páginas de locais: repita a chamada com cursor igual a page.nextCursor e os mesmos demais parâmetros até que page.nextCursor seja null. Somente leitura.
get
listings:read/api/v1/listings/issuesParâmetros de consulta
locationIdstringopcional
Lê os problemas de um local, pelo id ou pelo id público loc_. Omita para obter um consolidado de vários locais.
clientIdstringopcional
Limita a leitura aos locais de um cliente.
tagstringopcional
Limita o consolidado aos locais com este nome de tag. Ignorado quando locationId é informado.
problemstringopcional
Chaves de problema separadas por vírgula a incluir, por exemplo phone,hours. Uma chave desconhecida retorna 400 com code invalid_problem.
familystringopcional
Famílias de problemas separadas por vírgula a incluir: access, identity, hours, content, media, map ou other. Uma família desconhecida retorna 400 com code invalid_family.
qstringopcional
Pesquisa o consolidado pelo nome do local, sem diferenciar maiúsculas e minúsculas, até 100 caracteres.
cursorstringopcional
O page.nextCursor da resposta anterior, para continuar um consolidado. Envie-o com os mesmos demais parâmetros: um cursor emitido para outro escopo ou filtro retorna 400 com code cursor_scope_mismatch.
Resposta
dataobjectopcional
scopeobjectobrigatório
kindstring (location | rollup)opcional
keystringopcional
clientIdstringopcional
tagstringopcional
locationIdstringopcional
requestedLocationIdstringopcional
filtersobjectopcional
problemsarray of stringopcional
familiesarray of stringopcional
qstringopcional
generatedAtstringobrigatório
completebooleanobrigatório
True somente quando esta única resposta cobriu todos os locais do escopo. Nesse caso totals é exato; caso contrário, totals é null.
totalsobjectobrigatório
fixesintegerobrigatório
Correções distintas. Uma reconexão de conta compartilhada conta uma vez, não importa quantos locais ela cubra.
affectedListingsintegerobrigatório
locationsWithIssuesintegerobrigatório
pageCountsobjectobrigatório
fixesintegerobrigatório
Correções distintas. Uma reconexão de conta compartilhada conta uma vez, não importa quantos locais ela cubra.
affectedListingsintegerobrigatório
locationsWithIssuesintegerobrigatório
pageobjectobrigatório
scopeLocationsintegeropcional
scannedLocationsintegeropcional
previouslyScannedintegeropcional
nextCursorstringopcional
Passe-o como cursor, com os mesmos demais parâmetros, para ler a próxima página de locais. Null quando não há mais páginas.
lastPagebooleanopcional
noticestring (archived | not_a_listing_location)obrigatório
issuesarray of objectobrigatório
idstringobrigatório
fixKeystringobrigatório
groupKeystringobrigatório
locationIdstringobrigatório
locationPublicIdstringopcional
locationNamestringopcional
locationCitystringopcional
clientIdstringopcional
clientNamestringopcional
problemstringobrigatório
O que está errado, como chave de problema estável, por exemplo phone ou reconnect_google.
familystring (access | identity | hours | content | media | map | other)obrigatório
tierinteger (1 | 2 | 3)obrigatório
statestring (open | update_in_flight | update_saved)obrigatório
reasonKeystringopcional
fixobjectobrigatório
A ação que resolve este problema. kind indica qual: edit (um campo no editor de locais), connect, account (renovar a mesma conta), verify (no Google), external (uma etapa em outro site) ou explain (sem correção no aplicativo).
kindstring (edit | connect | account | verify | external | explain)obrigatório
sectionstring (identity | hours | description | social | media | businessDetails | openStatus | actionLinks | serviceArea | services | attributes | relationships | pin)opcional
fieldstring (name | address | phone | website | primaryCategory | publisherCategory | hours | openingDate | openStatus | description | socialLinks | menuUrl | photos | serviceArea | services | attributes | relationships | coordinates)opcional
tabstring (master | google | facebook | apple | bing)opcional
providerstring (google | facebook | apple)opcional
flowstring (renew)opcional
accountobjectopcional
launchobjectopcional
targetobjectopcional
nextstring (contact_support | review_details | no_in_app_fix)opcional
capabilityobjectobrigatório
allowedbooleanobrigatório
reasonstring (write_not_permitted | portal_not_permitted | field_not_portal_editable | clients_module_denied | agency_credential_requires_unrestricted_member | credential_serves_other_clients | account_unresolved | missing_api_scope)obrigatório
alternativesarray of objectopcional
fixobjectopcional
A ação que resolve este problema. kind indica qual: edit (um campo no editor de locais), connect, account (renovar a mesma conta), verify (no Google), external (uma etapa em outro site) ou explain (sem correção no aplicativo).
capabilityobjectopcional
publishersarray of objectobrigatório
publisherIdstringopcional
publisherNamestringopcional
siteIdintegeropcional
affectedListingsintegerobrigatório
evidenceAtstringopcional
groupsarray of objectobrigatório
groupKeystringopcional
problemstringopcional
familystringopcional
tierintegeropcional
accountobjectopcional
keystringobrigatório
Uma chave opaca e estável para a credencial da conta. Agrupe por ela, nunca pelo rótulo.
labelstringobrigatório
agencyManagedbooleanobrigatório
locationsarray of objectopcional
locationIdstringopcional
locationPublicIdstringopcional
locationNamestringopcional
locationCitystringopcional
clientIdstringopcional
clientNamestringopcional
issueIdstringopcional
problemstringopcional
statestring (open | update_in_flight | update_saved)opcional
affectedListingsintegeropcional
fixesintegeropcional
affectedListingsintegeropcional
affectedLocationsintegeropcional
Erros
400A consulta é inválida. code indica o motivo: invalid_cursor, cursor_scope_mismatch, invalid_problem, invalid_family ou search_too_long.
401Chave de API ausente, inválida, expirada ou revogada.
403A chave não tem a permissão exigida, ou não está autorizada para este cliente/local.
404O recurso não foi encontrado, ou não pertence à sua agência.
429Muitas solicitações. Tente novamente após o número de segundos indicado no cabeçalho Retry-After.
get/api/v1/listings/issues
Sua chave de API
locationId
clientId
tag
problem
family
q
cursor
{}Guias que usam este recurso
- What Is a Business Listings API?A business listings API manages a business's name, address, hours and more across many publishers at once, with sync status and duplicate detection built in.
- Business Listings API: Complete Developer GuideHow a business listings API works and how to create, update, sync and monitor locations across Google, Apple, Bing and directories with the Synup API.
- Google Business Profile API vs a Listings Management APIHow Google's Business Profile API compares with a listings management API on scope, access, sync status, duplicates and reviews, and when to use each.
- How to Add Local Marketing Features to Your SaaSAdd listings management, reviews, Google posts, profile analytics, rank tracking and AI visibility to a SaaS product with the Synup API, tenant by tenant.
- How to Manage Business Listings ProgrammaticallyKeep business listings accurate from your own system with the Synup API. Covers change detection, idempotent updates, hours, photos and sync reporting.
- What Is an AEO API?An AEO API measures how AI answer engines like ChatGPT, Gemini and Perplexity describe and recommend a business, and tracks that visibility over time.
- How to Update Business Information Across Google, Apple, Bing and DirectoriesPush one business-information change to Google, Apple, Bing and the directory network through a single API call, and verify it reached each publisher.
- How Listing Syndication WorksListing syndication takes one business record, translates it into each publisher's format, and pushes it out asynchronously, which is why sync status matters.
- How to Build an AI Agent for Local SEOBuild an AI agent that audits and fixes listings, tracks local rankings, checks AI visibility and drafts review replies with Synup's MCP server or REST tools.
- How to Manage Thousands of Business Locations via APIDesign a sync job for thousands of locations on the Synup API with cursor pagination, tags, rate-limit handling, an id map and rollup health checks.
- How to Find and Remove Duplicate Business ListingsDetect duplicate business listings across publishers, review them by confidence, and flag them for removal or dismiss them with the Synup API.
- How Duplicate Listing Suppression WorksDuplicate suppression detects listings that look like the same business, scores them by confidence, and requests removal from the publisher that controls them.
- How to Build a Multi-Location Marketing DashboardBuild a multi-location marketing dashboard from the API's rollup endpoints, one call per panel, covering listings, reviews, rank, AI visibility and duplicates.
- How to Connect and Manage Google Business Profiles via APIConnect a Google Business Profile to a location, match the account's listings, keep the profile in sync and handle reconnects with the Synup API.
- Building Publisher Integrations Directly vs Using SynupWhat it really costs to integrate Google, Apple, Bing and directories yourself, versus one API, and how to decide between them or combine both.
- Local SEO APIs: What Developers Actually NeedA practical checklist of what a local SEO API must cover, from listings and sync status to reviews, rank tracking and AI visibility, mapped to endpoints.
- How to Track Local Rankings with an APITrack local search rankings on a geo grid through an API, add keywords, read the grid and trend, and compare against competitors and citation coverage.
- How to Monitor Local SEO Across Multiple LocationsMonitor local SEO across hundreds of locations through rollup endpoints, with rank and AI visibility per location and the weakest surfaced first.