{"openapi":"3.1.0","info":{"title":"Konektor — GPT privado","version":"1.7.0","description":"API privada e somente leitura para analisar contas Mercado Livre autorizadas. Todos os valores sao calculados pelo servidor."},"servers":[{"url":"https://app.konektor.com.br"}],"security":[{"BearerAuth":[]}],"paths":{"/api/gpt/accounts":{"get":{"operationId":"listMeliAccounts","summary":"Lista contas Mercado Livre conectadas e o frescor dos dados.","responses":{"200":{"description":"Contas conectadas.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}},"/api/gpt/accounts/{account}/overview":{"get":{"operationId":"getAccountOverview","summary":"Obtém vendas, pedidos, visitas, conversão estimada, anúncios e produtos principais em até 365 dias.","parameters":[{"name":"account","in":"path","required":true,"description":"ID, apelido ou nome exato da conta. Liste as contas primeiro se houver ambiguidade.","schema":{"type":"string","minLength":1}},{"name":"dateFrom","in":"query","required":false,"description":"Data inicial inclusiva em YYYY-MM-DD. Envie sempre junto com dateTo quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"dateTo","in":"query","required":false,"description":"Data final inclusiva em YYYY-MM-DD. Envie sempre junto com dateFrom quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"periodDays","in":"query","required":false,"schema":{"type":"integer","enum":[7,30,60,90,150,365],"default":30}}],"responses":{"200":{"description":"Resumo da conta.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}},"/api/gpt/accounts/{account}/management":{"get":{"operationId":"getAccountManagementDashboard","summary":"Obtém o raio X gerencial com vendas, ROAS, gargalo, sucesso, saúde, metas, ondas e entregas.","description":"Use para responder estado atual, o que foi feito, metas, próximas ondas, indicador de sucesso e gargalo. Esta Action é somente leitura; propostas e execução existem apenas no MCP.","parameters":[{"name":"account","in":"path","required":true,"description":"ID, apelido ou nome exato da conta. Liste as contas primeiro se houver ambiguidade.","schema":{"type":"string","minLength":1}},{"name":"dateFrom","in":"query","required":false,"description":"Data inicial inclusiva em YYYY-MM-DD. Envie sempre junto com dateTo quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"dateTo","in":"query","required":false,"description":"Data final inclusiva em YYYY-MM-DD. Envie sempre junto com dateFrom quando o usuário indicar um período.","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Raio X gerencial da conta.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}},"/api/gpt/accounts/{account}/listings/{itemId}/competition":{"get":{"operationId":"getCatalogCompetition","summary":"Consulta competição de catálogo, price_to_win, boosts, oportunidades e motivos.","parameters":[{"name":"account","in":"path","required":true,"description":"ID, apelido ou nome exato da conta. Liste as contas primeiro se houver ambiguidade.","schema":{"type":"string","minLength":1}},{"name":"itemId","in":"path","required":true,"schema":{"type":"string"},"description":"ID de anúncio pertencente à conta."}],"responses":{"200":{"description":"Competição atual do anúncio no catálogo.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}},"/api/gpt/accounts/{account}/listings/{itemId}/price-reference":{"get":{"operationId":"getPriceReference","summary":"Consulta referência de preço, benchmark, custos e comparações fornecidas pela MELI.","parameters":[{"name":"account","in":"path","required":true,"description":"ID, apelido ou nome exato da conta. Liste as contas primeiro se houver ambiguidade.","schema":{"type":"string","minLength":1}},{"name":"itemId","in":"path","required":true,"schema":{"type":"string"},"description":"ID de anúncio pertencente à conta."}],"responses":{"200":{"description":"Referência atual de preço do anúncio.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}},"/api/gpt/accounts/{account}/trends":{"get":{"operationId":"getMarketplaceTrends","summary":"Consulta tendências semanais de busca do site ou de uma categoria.","parameters":[{"name":"account","in":"path","required":true,"description":"ID, apelido ou nome exato da conta. Liste as contas primeiro se houver ambiguidade.","schema":{"type":"string","minLength":1}},{"name":"categoryId","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Tendências semanais atuais.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}},"/api/gpt/accounts/{account}/ncm-research":{"get":{"operationId":"listNcmResearch","summary":"Lista pesquisas candidatas de NCM e sua revisão fiscal humana.","parameters":[{"name":"account","in":"path","required":true,"description":"ID, apelido ou nome exato da conta. Liste as contas primeiro se houver ambiguidade.","schema":{"type":"string","minLength":1}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["pending_review","approved","rejected","superseded"]}}],"responses":{"200":{"description":"Pesquisas NCM da conta.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}},"/api/gpt/accounts/{account}/findings":{"get":{"operationId":"listConsultingFindings","summary":"Lista achados, alertas e oportunidades persistidos pelo consultor.","parameters":[{"name":"account","in":"path","required":true,"description":"ID, apelido ou nome exato da conta. Liste as contas primeiro se houver ambiguidade.","schema":{"type":"string","minLength":1}},{"name":"status","in":"query","required":false,"schema":{"type":"string","enum":["open","accepted","resolved","dismissed"]}},{"name":"category","in":"query","required":false,"schema":{"type":"string","enum":["sales","ads","stock","health","competition","content","promotion","fiscal","operations"]}}],"responses":{"200":{"description":"Achados consultivos da conta.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}},"/api/gpt/accounts/{account}/listing-drafts/{draftId}":{"get":{"operationId":"getListingDraftForImages","summary":"Obtém um rascunho de anúncio e o pacote Markdown de prompts para gerar imagens.","description":"Use no GPT privado para carregar o briefing e os prompts preparados pelo Claude/MCP. Esta Action não publica o anúncio nem envia imagens ao Mercado Livre.","parameters":[{"name":"account","in":"path","required":true,"description":"ID, apelido ou nome exato da conta. Liste as contas primeiro se houver ambiguidade.","schema":{"type":"string","minLength":1}},{"name":"draftId","in":"path","required":true,"schema":{"type":"string","format":"uuid"},"description":"UUID do rascunho criado pelo MCP."}],"responses":{"200":{"description":"Rascunho de anúncio e prompts de imagens.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}},"/api/gpt/accounts/{account}/listings":{"get":{"operationId":"listAccountListings","summary":"Lista anúncios com status, estoque e métricas comerciais individuais do período.","description":"Use quando o usuário perguntar quais anúncios têm um status, estoque ou motivo de pausa. Cada anúncio inclui periodMetrics com pedidos, unidades vendidas, receita, tarifas e visitas no intervalo. subStatus é o motivo informado pela MELI; estoque zero sozinho não prova a causa da pausa.","parameters":[{"name":"account","in":"path","required":true,"description":"ID, apelido ou nome exato da conta. Liste as contas primeiro se houver ambiguidade.","schema":{"type":"string","minLength":1}},{"name":"dateFrom","in":"query","required":false,"description":"Data inicial inclusiva em YYYY-MM-DD. Envie sempre junto com dateTo quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"dateTo","in":"query","required":false,"description":"Data final inclusiva em YYYY-MM-DD. Envie sempre junto com dateFrom quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"status","in":"query","schema":{"type":"string","enum":["all","active","paused","closed","under_review","inactive"],"default":"all"}},{"name":"stock","in":"query","schema":{"type":"string","enum":["all","with_stock","without_stock"],"default":"all"}},{"name":"pauseReason","in":"query","schema":{"type":"string","enum":["all","out_of_stock","paused_by_seller","other","unknown"],"default":"all"}},{"name":"search","in":"query","required":false,"description":"Busca por ID, título ou SKU.","schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":500,"default":200}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0}},{"name":"format","in":"query","description":"Use markdown quando o usuário pedir uma tabela Markdown.","schema":{"type":"string","enum":["json","markdown"],"default":"json"}}],"responses":{"200":{"description":"Lista detalhada ou tabela Markdown dos anúncios.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}},"/api/gpt/accounts/{account}/capabilities":{"get":{"operationId":"getMeliCapabilities","summary":"Mostra quais famílias de dados MELI estão disponíveis, vazias, desabilitadas ou sem autorização.","description":"Use antes de consultar Brand Ads, Product Ads, promoções ou Full quando não souber se a conta possui o produto.","parameters":[{"name":"account","in":"path","required":true,"description":"ID, apelido ou nome exato da conta. Liste as contas primeiro se houver ambiguidade.","schema":{"type":"string","minLength":1}}],"responses":{"200":{"description":"Catálogo de capacidades e tipos de recursos sincronizados.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}},"/api/gpt/accounts/{account}/data":{"get":{"operationId":"exploreMeliData","summary":"Lista dados detalhados de anúncios, pedidos, visitas, reputação, promoções, Product Ads, Brand Ads ou Full.","description":"Retorna o payload detalhado fornecido pelo MELI com paginação. Use format=markdown para gerar relatório; consulte todos os offsets antes de afirmar que uma lista está completa.","parameters":[{"name":"account","in":"path","required":true,"description":"ID, apelido ou nome exato da conta. Liste as contas primeiro se houver ambiguidade.","schema":{"type":"string","minLength":1}},{"name":"dateFrom","in":"query","required":false,"description":"Data inicial inclusiva em YYYY-MM-DD. Envie sempre junto com dateTo quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"dateTo","in":"query","required":false,"description":"Data final inclusiva em YYYY-MM-DD. Envie sempre junto com dateFrom quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"domain","in":"query","required":true,"schema":{"type":"string","enum":["listings","orders","traffic","reputation","promotions","product_ads","brand_ads","fulfillment","moderations","claims","shipments","communications","listing_quality","inventory","returns","billing","market_intelligence"]}},{"name":"resourceType","in":"query","required":false,"description":"Tipo informado por getMeliCapabilities, por exemplo campaign, ad_group, promotion, stock ou seller_profile.","schema":{"type":"string","minLength":1,"maxLength":50}},{"name":"periodKey","in":"query","required":false,"description":"Período sincronizado, como current, 7d, 30d, 30d_previous ou 60d.","schema":{"type":"string","minLength":1,"maxLength":30}},{"name":"status","in":"query","required":false,"description":"Filtra exatamente pelo status/state presente no recurso MELI.","schema":{"type":"string","minLength":1,"maxLength":50}},{"name":"search","in":"query","required":false,"description":"Busca em ID, pai e conteúdo do recurso.","schema":{"type":"string","minLength":1,"maxLength":100}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":200,"default":100}},{"name":"offset","in":"query","schema":{"type":"integer","minimum":0,"default":0}},{"name":"format","in":"query","schema":{"type":"string","enum":["json","markdown"],"default":"json"}},{"name":"detail","in":"query","description":"full preserva todos os campos retornados pela MELI; summary reduz o tamanho da resposta.","schema":{"type":"string","enum":["summary","full"],"default":"full"}}],"responses":{"200":{"description":"Recursos MELI detalhados ou relatório Markdown.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}},"/api/gpt/accounts/{account}/ads-performance":{"get":{"operationId":"getAdsPerformance","summary":"Obtém investimento, receita atribuída, ROAS, ACOS, CTR, CPC, cliques e impressões.","parameters":[{"name":"account","in":"path","required":true,"description":"ID, apelido ou nome exato da conta. Liste as contas primeiro se houver ambiguidade.","schema":{"type":"string","minLength":1}},{"name":"dateFrom","in":"query","required":false,"description":"Data inicial inclusiva em YYYY-MM-DD. Envie sempre junto com dateTo quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"dateTo","in":"query","required":false,"description":"Data final inclusiva em YYYY-MM-DD. Envie sempre junto com dateFrom quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"period","in":"query","required":false,"schema":{"type":"string","enum":["7d","30d","60d"],"default":"30d"}}],"responses":{"200":{"description":"Desempenho de Product Ads.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}},"/api/gpt/accounts/{account}/ads-comparison":{"get":{"operationId":"compareAdsPeriods","summary":"Compara Product Ads no intervalo informado com o período anterior de mesma duração.","parameters":[{"name":"account","in":"path","required":true,"description":"ID, apelido ou nome exato da conta. Liste as contas primeiro se houver ambiguidade.","schema":{"type":"string","minLength":1}},{"name":"dateFrom","in":"query","required":false,"description":"Data inicial inclusiva em YYYY-MM-DD. Envie sempre junto com dateTo quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"dateTo","in":"query","required":false,"description":"Data final inclusiva em YYYY-MM-DD. Envie sempre junto com dateFrom quando o usuário indicar um período.","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"Comparação de períodos.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}},"/api/gpt/accounts/{account}/wasted-spend":{"get":{"operationId":"findWastedAdSpend","summary":"Identifica Ad Groups com gasto relevante e ROAS abaixo do limite no intervalo informado.","parameters":[{"name":"account","in":"path","required":true,"description":"ID, apelido ou nome exato da conta. Liste as contas primeiro se houver ambiguidade.","schema":{"type":"string","minLength":1}},{"name":"dateFrom","in":"query","required":false,"description":"Data inicial inclusiva em YYYY-MM-DD. Envie sempre junto com dateTo quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"dateTo","in":"query","required":false,"description":"Data final inclusiva em YYYY-MM-DD. Envie sempre junto com dateFrom quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"minSpend","in":"query","schema":{"type":"number","minimum":0,"default":20}},{"name":"maxRoas","in":"query","schema":{"type":"number","exclusiveMinimum":0,"default":1.5}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}}],"responses":{"200":{"description":"Possíveis desperdícios publicitários.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}},"/api/gpt/accounts/{account}/scaling-opportunities":{"get":{"operationId":"findScalingOpportunities","summary":"Encontra itens com ROAS alto, gasto mínimo e estoque disponível.","parameters":[{"name":"account","in":"path","required":true,"description":"ID, apelido ou nome exato da conta. Liste as contas primeiro se houver ambiguidade.","schema":{"type":"string","minLength":1}},{"name":"dateFrom","in":"query","required":false,"description":"Data inicial inclusiva em YYYY-MM-DD. Envie sempre junto com dateTo quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"dateTo","in":"query","required":false,"description":"Data final inclusiva em YYYY-MM-DD. Envie sempre junto com dateFrom quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"minRoas","in":"query","description":"Sem informar, deriva da meta de ROAS da conta (metade dela) — hoje 4 pra quem não tem meta própria configurada.","schema":{"type":"number","exclusiveMinimum":0,"default":4}},{"name":"minSpend","in":"query","schema":{"type":"number","minimum":0,"default":20}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}}],"responses":{"200":{"description":"Oportunidades de escala.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}},"/api/gpt/accounts/{account}/stock-risks":{"get":{"operationId":"getStockRisks","summary":"Projeta risco de ruptura pela velocidade de vendas no intervalo informado.","parameters":[{"name":"account","in":"path","required":true,"description":"ID, apelido ou nome exato da conta. Liste as contas primeiro se houver ambiguidade.","schema":{"type":"string","minLength":1}},{"name":"dateFrom","in":"query","required":false,"description":"Data inicial inclusiva em YYYY-MM-DD. Envie sempre junto com dateTo quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"dateTo","in":"query","required":false,"description":"Data final inclusiva em YYYY-MM-DD. Envie sempre junto com dateFrom quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"maxDaysCover","in":"query","schema":{"type":"number","exclusiveMinimum":0,"maximum":180,"default":14}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":30}}],"responses":{"200":{"description":"Riscos de estoque.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}},"/api/gpt/compare-accounts":{"get":{"operationId":"compareAccounts","summary":"Compara de duas a dez contas no mesmo período.","parameters":[{"name":"accounts","in":"query","required":true,"description":"IDs, apelidos ou nomes separados por vírgula.","schema":{"type":"string"}},{"name":"dateFrom","in":"query","required":false,"description":"Data inicial inclusiva em YYYY-MM-DD. Envie sempre junto com dateTo quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"dateTo","in":"query","required":false,"description":"Data final inclusiva em YYYY-MM-DD. Envie sempre junto com dateFrom quando o usuário indicar um período.","schema":{"type":"string","format":"date"}},{"name":"periodDays","in":"query","required":false,"schema":{"type":"integer","enum":[7,30,60,90,150,365],"default":30}}],"responses":{"200":{"description":"Comparação de contas.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AnalyticsResponse"}}}},"400":{"description":"Parametros invalidos."},"401":{"description":"Chave privada ausente ou invalida."},"402":{"description":"Consultoria bloqueada por falta de pagamento. Não repita a chamada até a assinatura ser reativada.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequiredError"}}}}}}}},"components":{"schemas":{"PaymentRequiredError":{"type":"object","properties":{"error":{"type":"string","enum":["payment_required","subscription_cancelled"]},"message":{"type":"string"},"billingStatus":{"type":"string","enum":["suspended","cancelled"]},"reason":{"type":"string"},"retryable":{"type":"boolean","const":false}},"required":["error","message","billingStatus","retryable"]},"AnalyticsResponse":{"type":"object","description":"Resposta analitica somente leitura. Os campos presentes dependem da operacao executada.","properties":{"accounts":{"type":"array","description":"Contas conectadas ou resultados comparativos por conta.","items":{}},"account":{"description":"Identificacao da conta analisada."},"period":{"description":"Periodo usado na analise."},"requestedPeriod":{"description":"Intervalo exato solicitado pelo usuário."},"temporalScope":{"type":"string","description":"Semântica temporal aplicada ao resultado."},"historyCoverage":{"description":"Desde quando existe registro de MUDANÇAS dos anúncios desta conta, e até quando ela foi observada. NÃO limita quais anúncios a conta tem: anúncio mais antigo que essa data continua existindo, e este intervalo nunca prova que um anúncio não existe."},"commercialMetrics":{"description":"Período, semântica e cobertura real de pedidos e visitas usados nas métricas individuais dos anúncios."},"periodDays":{"type":"integer","description":"Quantidade de dias do periodo comparado."},"sales":{"description":"Metricas agregadas de pedidos e receita."},"traffic":{"description":"Visitas e conversao estimada."},"listings":{"type":"array","description":"Resumo dos anuncios por status.","items":{}},"topProducts":{"type":"array","description":"Produtos com maior desempenho no periodo.","items":{}},"metrics":{"description":"Metricas de Product Ads."},"current30Days":{"description":"Metricas dos 30 dias atuais."},"previous30Days":{"description":"Metricas dos 30 dias anteriores."},"change":{"description":"Variacoes percentuais entre os periodos."},"criteria":{"description":"Limites e filtros aplicados pela operacao."},"filters":{"description":"Filtros aplicados à listagem."},"totals":{"description":"Total encontrado e contagens por status."},"pagination":{"description":"Paginação, quantidade retornada e próximo offset."},"markdown":{"type":"string","description":"Tabela Markdown pronta quando format=markdown."},"capabilities":{"type":"array","description":"Disponibilidade e cobertura por família de dados.","items":{}},"resources":{"type":"array","description":"Recursos detalhados retornados pelo Mercado Livre.","items":{}},"totalPotentialWaste":{"type":"number","description":"Investimento total classificado como possivel desperdicio."},"items":{"type":"array","description":"Itens encontrados pela analise.","items":{}},"caution":{"type":"string","description":"Limites de interpretacao do resultado."},"dataFreshness":{"description":"Estado, horario e confiabilidade da ultima sincronizacao."}},"additionalProperties":true}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","description":"Chave privada exclusiva configurada no GPT."}}}}