Por que meu post não foi
Quando uma publicação falha, a gente sempre devolve uma mensagem clara dizendo o porquê. Esta página é o guia rápido de "deu erro X, faça Y".
90% dos erros caem em uma das situações abaixo, e quase todos têm solução rápida. Se nada bate, manda email pra suporte@outposted.one com o request_id ou content_id que aparece no painel.
Os 8 erros mais comuns
1. Chave de acesso inválida — invalid_api_key
A chave que você colou está errada, foi revogada, ou nem existe.
- Confere se você copiou a chave inteira (32 caracteres depois de
opst_live_). - Confere se não foi revogada — no painel, Configurações → Chaves de acesso.
- Se não tem certeza, cria uma chave nova.
2. Texto longo demais — caption_too_long
Cada rede tem limite de caracteres. Você ultrapassou. Reduz ou divide em thread (Threads aceita até 25 posts encadeados).
- Threads: 500 chars por post
- Instagram: 2.200 chars
- LinkedIn: 3.000 chars
- YouTube título: 100 chars · descrição 5.000
3. Mídia grande demais — media_too_large
Sua foto ou vídeo passou do tamanho máximo. Comprime (HandBrake pra vídeo, TinyPNG pra imagem) ou troca formato (PNG → JPEG, MOV → MP4).
- Instagram foto: 8 MB · FB foto: 30 MB
- IG reel: 4 GB · LinkedIn vídeo: 5 GB · YT vídeo: 256 GB
4. Formato de mídia não suportado — media_unsupported_format
A rede recusou o formato.
- Use formatos padrão: JPEG/PNG pra foto, MP4 pra vídeo.
- Vídeo vertical pra reel/short: proporção 9:16.
5. Conexão expirou ou permissão revogada — token_expired / permission_revoked
A permissão que você deu lá no início perdeu validade. Trocou senha da rede, ou Meta/Google forçou re-autenticação.
- Vai no painel → marca → conexão da rede em questão.
- Clica em Reconectar e aprova de novo.
Em segundos volta ao normal. Quem publica por ChatGPT, n8n, código vai receber token_expired até você reconectar.
6. Você publicou rápido demais — rate_limited
Bateu o limite de 600 chamadas por minuto do seu workspace. Espera 1 minuto. Se acontece sempre, fala com a gente em suporte@outposted.one pra subir o limite.
7. Atingiu cota da rede — quota_exceeded
Cada rede tem cota própria. Instagram, por exemplo, limita ~25 publicações por dia por conta.
- Espera o reset (geralmente meia-noite UTC).
- Distribui posts entre mais conexões se você é agência.
8. Sua marca tem mais de uma conexão nessa rede — connections_required
Você não disse qual usar e a marca tem duas. Olha a lista que devolvemos junto com o erro e reenvia o post escolhendo.
Sua marca tem várias conexões do Facebook. Qual destas?
- Multicargo
- Tomorrow Academy
- DNA da PersuasãoOutros erros
- "Recurso não encontrado" (
not_found) — Você está pedindo algo que não existe (ID errado, ou não é seu). Confere os IDs. - "Não tem permissão" (
forbidden) — Sua chave é de outro workspace. Confere se você está chamando o workspace certo. - "Já foi publicado" (
idempotency_conflict) — Você reusou o mesmo código de idempotência com conteúdo diferente. Use código novo ou repita exatamente o mesmo conteúdo. - "Problema do nosso lado" (
server_error) — Bug nosso, já tá logado. Tenta de novo daqui um pouco. Se persistir, suporte@outposted.one com orequest_id.
Catálogo completo
Pra integradores.
Formato canônico
Toda resposta de erro: error (machine-readable), message (human), request_id (rastreamento).
{
"error": "validation_failed",
"message": "target_platforms must contain at least 1 item",
"request_id": "req_abc123"
}Tabela HTTP status × error
| HTTP | error | Significado | Ação |
|---|---|---|---|
| 400 | validation_failed | Body inválido contra schema. | Veja message com path do campo problemático. |
| 400 | invalid_request | JSON malformado, header faltando. | Cheque Content-Type + corpo. |
| 401 | invalid_api_key | Key ausente, malformada, revogada ou inexistente. | Confira header Authorization. |
| 401 | invalid_token | OAuth access_token expirou/revogado. | Re-autentique via OAuth. |
| 403 | forbidden | API key não pertence ao workspace. | Cheque wsId no path. |
| 404 | not_found | Recurso não existe ou não é seu. | Confirme IDs. |
| 409 | idempotency_conflict | Idempotency-Key reusada com body diferente. | Use nova key ou mesmo body. |
| 422 | connections_required | Brand tem >1 conexão na mesma plataforma. | Reenvie com target_connections. |
| 422 | platform_not_supported | content_type incompatível com platform. | Veja /platforms. |
| 422 | media_too_large | Arquivo excede limite da plataforma. | Comprima ou troque formato. |
| 422 | caption_too_long | Texto excede limite por plataforma. | Reduza ou divida em thread. |
| 429 | rate_limited | Limite 600 req/min por workspace estourado. | Veja header Retry-After. |
| 500 | server_error | Bug nosso. Logado em Sentry. | Retry com backoff + request_id em ticket. |
Erros de OAuth (RFC 6749)
Endpoints /api/oauth/mcp/* seguem RFC 6749. Erros em error + error_description:
| error | Descrição |
|---|---|
| invalid_request | Body malformado, campo obrigatório faltando. |
| invalid_client | client_id inexistente, revogado ou client_secret errado. |
| invalid_grant | Code expirado, já usado, ou mismatch de redirect_uri / client_id / PKCE. |
| unsupported_grant_type | Só authorization_code é suportado. |
Erros de plataforma (jobs)
| error_code | Categoria | Ação |
|---|---|---|
| token_expired | Auth | Reconecte via startOAuthConnection. |
| permission_revoked | Auth | Usuário removeu permissões na plataforma. Reconecte. |
| media_unsupported_format | Validação | Converta antes de enviar. |
| media_too_large | Validação | Comprima/reencode. |
| quota_exceeded | Plataforma | Atingiu limite (ex: 25/dia IG). Aguarde reset. |
| upstream_5xx | Transitório | Sistema faz retry automático. Sem ação. |
| upstream_unknown | Bug | Email pra suporte@outposted.one com job_id. |
Toda resposta inclui X-Request-Id. Inclua-o em qualquer ticket de suporte — faz lookup direto nos logs. Sem ele, é muito mais difícil rastrear.