Erros

Toda resposta de erro é application/problem+json (RFC 9457):

{ "type": "https://…/docs/erros#gasto_nao_confirmado", "title": "Gasto não confirmado", "status": 409, "code": "gasto_nao_confirmado", "detail": "…", "instance": "/api/v1/pesquisas" }

Decida pelo code — é o contrato estável. title e detail são para gente ler. A tabela abaixo é gerada do mesmo código que o servidor usa.

StatuscodeQuando aconteceO que fazer
401chave_invalidaA chave não existe, foi revogada, expirou ou o operador dela saiu do workspace. A resposta é a mesma nos quatro casos, de propósito.Crie uma chave nova em Conta → API e MCP e troque no cliente.
401sem_sessaoA rota aceita só sessão do app (cookie) e a request veio sem ela.Entre no app e tente de novo. Chave de API não serve nesta rota.
403so_sessaoA rota é de gestão da própria chave (criar, listar, revogar) e foi chamada com chave de API — chave não cria chave.Use a tela Conta → API e MCP.
403escopo_insuficienteA chave não tem o escopo que a rota exige (leitura, escrita, gasto ou publicacao).Crie uma chave com o escopo marcado. Escopos não mudam depois de criados.
403cross_siteRequest com sessão vinda de outro site por script (fetch/XHR). Só o próprio app pode usar a sessão.Integrações de fora usam chave de API, não a sessão.
400corpo_invalidoO JSON não é válido ou não passa na validação do campo (o detail diz qual).Corrija o campo apontado. O schema de cada rota está em /docs/api.
400parametro_invalidoUm parâmetro de caminho ou de query está fora do formato (id, cursor, data).Confira o formato em /docs/api.
405metodo_nao_permitidoA rota existe, mas não com este método HTTP.Use o método do header Allow.
404nao_encontradoO recurso não existe — ou pertence a outro workspace, que responde igual (não revelamos que o id é válido).Confira o id. Liste o recurso para ver os que são seus.
400confirmacao_ausentePublicar e responder agem na conta de um terceiro e exigem confirmar: true literal no corpo.Mostre à pessoa o que vai acontecer e, com o sim dela, repita com confirmar: true.
409gasto_nao_confirmadoA rota cobra da conta (fonte ou IA) e o corpo não trouxe confirmarGasto: true. O detail diz o valor.Diga à pessoa o valor e, com o sim dela, repita com confirmarGasto: true.
409teto_do_mesA chamada estouraria o teto de gasto do mês configurado em Conta → Custo.Suba o teto (PUT /v1/custo/teto) ou espere o mês virar.
409limite_do_planoO plano do workspace (Grátis, Pro ou Agência) não comporta mais um deste recurso — nichos, posts, criações, marcas, concorrentes — ou não inclui a ação (publicar no Grátis). O detail diz o uso, o limite e o plano que destrava.Mostre a frase à pessoa. O plano se troca em Conta → Plano no app; a API não assina.
429limite_excedidoA chave passou do limite da classe (ver /docs/limites). Retry-After diz quantos segundos esperar.Espere o Retry-After. Leituras repetidas cabem em cache do seu lado.
400idempotencia_invalidaO header veio vazio ou com mais de 200 caracteres.Mande um UUID por operação.
400recusadoO motor de publicação recusou antes de tocar a rede (falta de confirmação explícita ou peça inválida). O detail diz o motivo.Leia o detail; em geral é repetir com confirmar: true.
404peca_desconhecidaA peça não existe ou é de outro workspace.Liste as peças (GET /v1/pecas).
409peca_nao_e_rascunhoEditar só vale para rascunho; a peça já é compromisso no calendário.Cancele (DELETE) e crie outra, ou publique.
409sem_midiaA peça não tem imagem/vídeo acessível pelo servidor; a rede não aceita post sem mídia.Prepare a mídia pela tela (Conteúdo → peça) e tente de novo.
409sem_contaO workspace não tem conta da rede conectada e ativa.POST /v1/conexoes/{rede} devolve a URL para conectar.
409ponte_nao_configuradaA chave da ponte de publicação não está no ambiente.É do operador do Pico, não seu. Avise o suporte.
409em_andamentoA peça já está sendo publicada por outra chamada.Consulte GET /v1/pecas/{id} em alguns segundos.
200ja_publicadoA peça já tinha sido publicada; nada foi feito de novo.Nada. O permalink vem na resposta.
429adiadoO teto de publicações/interações da conta na rede foi atingido; o cron tenta depois.Espere. GET /v1/pecas/{id} mostra quando saiu.
502falhouA rede/ponte respondeu erro. O detail traz o motivo e o requestId para o suporte.Tente de novo mais tarde; se persistir, mande o requestId.
429cota_esgotadaA conta gastou as interações do período na rede.Espere o período virar.
409janela_fechadaPassaram 7 dias do comentário (private reply) ou 24 h da última DM: a rede não aceita mais resposta.Nada a fazer por este canal; o lead pode ser contatado por outro meio.
409ja_respondidoEste lead já recebeu resposta (a rede permite 1 private reply por comentário).Nada.
400canal_invalidoO lead não é de comentário nem de DM respondível.Veja channel em GET /v1/leads.
409sem_postO comentário é de um post que o Pico não conhece.Responda pela rede.
409sem_conversaA DM não tem conversa aberta na ponte.Responda pela rede.
409pesquisa_em_andamentoO resultado pedido ainda não existe: a pesquisa está rodando.Consulte GET /v1/pesquisas/{id} até status: completed.
400kind_nao_publicaBrief e lista de ganchos não vão para o calendário.Use-os no roteiro ou no carrossel.
409conexao_recusadaA ponte de publicação não iniciou a conexão da rede (limite de perfis do plano, brand inválida, ponte fora). O detail traz o motivo e codigoDaPonte o código dela.Se for limite de perfis, é do operador do Pico. Senão, tente de novo mais tarde.
403termo_pendenteA pessoa dona da chave ainda não aceitou o termo de conexão de contas (versão vigente) no app.Abra o Pico em Ajustes › Conexões, conecte uma rede pela tela uma vez (o termo aparece lá) e tente de novo.
400rede_invalidaA rede não é instagram, tiktok ou youtube.Use uma das três.
502ia_indisponivelO provedor de IA falhou ou está sem crédito.Tente mais tarde. Se persistir, é do operador do Pico.
502fonte_indisponivelA fonte falhou ou a chave dela está ausente/sem saldo.Tente mais tarde. Se persistir, é do operador do Pico.
500erro_internoAlgo quebrou do nosso lado. O detalhe foi para o log, não para cá.Tente de novo. Se persistir, mande a hora e a rota.

Por rota

Cada rota lista os erros que pode devolver na referência. Os comuns a todas (com chave): chave_invalida, sem_sessao, escopo_insuficiente, limite_excedido, erro_interno.

API do Pico · versão 2026-09-11 · changelog · privacidade