URL base
Autenticação
Toda requisição envia uma chave de API do workspace como token Bearer no cabeçalhoAuthorization:
Accept: application/json, como em todos os exemplos destas páginas. Sem ele, alguns erros (por exemplo, o 409 de uma fila de canal ocupada) voltam como redirecionamento em vez de um corpo JSON.
Crie uma chave no app em Configurações → API Keys → Gerar chave API (veja Chaves de API) ou com Create API key. A chave aparece uma única vez, quando é criada. Guarde-a na hora; se você perdê-la, gere uma nova.
As chaves de API autenticam apenas a API REST. O servidor MCP usa login com OAuth, e um token MCP enviado à API REST é recusado com 403 Personal access token required..
Quem pode usar chaves de API
As chaves de API funcionam só para administradores do workspace: o dono da conta e os membros marcados como administradores. Quando o dono da chave não é administrador do workspace, toda requisição retorna403 com Insufficient workspace permissions.; quando ele saiu do workspace, 403 com Workspace access denied.. Veja Membros e permissões.
Uma chave, um workspace
A chave fica presa ao workspace em que foi criada. Toda requisição age nesse workspace, qualquer que seja o workspace aberto no app, e recursos de outros workspaces respondem404. Para automatizar vários workspaces, crie uma chave em cada um.
Aprovações
Administradores publicam direto, então um post criado ou editado pela API nunca fica esperando aprovação:status: scheduled agenda o post e status: publishing publica na hora.
Membros que precisam de aprovação continuam enviando pedidos pelo app e pelo servidor MCP. Esses posts aparecem na API com status: pending_approval, e você pode decidi-los com Approve post e Reject post. Get workspace devolve as suas próprias permissões em me (is_admin, requires_approval, publishes_directly).
Assinatura
A conta dona do workspace precisa de uma assinatura ativa ou de um período de teste. Sem isso, toda requisição retorna402:
Recursos de IA
As ferramentas de escrita e de imagem com IA existem só no app web. A API não tem endpoint de IA, e criar um post pela API nunca chama a IA. Um repost pode encurtar com IA uma legenda longa demais para um destino (veja Create repurpose).Limites de requisições
Cada workspace pode fazer 60 requisições por minuto. Todas as chaves do workspace dividem esse limite. As respostas trazemX-RateLimit-Limit e X-RateLimit-Remaining.
Quatro chamadas que consultam a rede social diretamente também contam para um segundo limite de 60 requisições por minuto por usuário, dividido entre as quatro e entre todos os seus workspaces: List Pinterest boards, Create Pinterest board, List Discord channels e Get TikTok creator info.
Acima do limite, a API responde 429 com o cabeçalho Retry-After (segundos de espera):
Erros
A API usa os códigos de status HTTP padrão e sempre responde em JSON com ummessage.
Os erros de validação listam as mensagens de cada campo em
errors, com o caminho do campo como chave:
platforms: platforms.0.meta.board_id, platforms.0.content_type; os demais campos usam o próprio nome: content, media. Em Create posts in batch, ela indica o destino, por exemplo destinations.0.meta.board_id.
Os demais erros trazem só message:
Formato das respostas
Um recurso único volta como um objeto simples, sem o invólucrodata:
{ "platforms": [...] }, List idea stages um array simples, List repurpose source formats { "data": [...] }, Create posts in batch { "posts": [...] } e Create API key { "token": {...}, "plain_token": "..." }.
Posts, notas, ideias, etapas de ideias, etiquetas, assinaturas e o workspace trazem as datas no formato Y-m-d H:i:s em UTC (2026-10-12 14:00:00). Chaves de API, webhooks, logs de webhook, reposts, uploads, horários livres da fila e o desempenho dos posts do canal usam ISO 8601. Nas análises, os principais posts usam Y-m-d H:i:s; as análises de publicação e a cobertura usam ISO 8601. Nas requisições, envie as datas em ISO 8601 com fuso ou Z (2026-10-12T14:00:00Z).
Paginação
Listas como posts, ideias, etiquetas, assinaturas, contas sociais, chaves de API, webhooks, logs de webhook, reposts e notas de posts são paginadas. Escolha a página com o parâmetro de consultapage:
per_page. Leia o valor em meta.per_page em vez de supor um número (hoje é 25). A resposta usa o envelope padrão:
links.next até ele ser null.
Próximos passos
Publicação
Escolha um canal, preencha as configurações dele e agende, coloque na fila ou publique um post.
Envio de mídia
Envie arquivos, anexe a partir de URLs e reutilize mídia entre posts.