Um só conjunto de endpoints REST para publicar em 18 destinos e responder cada DM, comentário e menção de uma única caixa de entrada. Autenticação por chave de API, publicação em fila com novas tentativas, webhooks assinados — e nenhum OAuth por plataforma para escrever.
URL base https://api.so-me.studio/v1 · Autenticação X-API-Key · JSON de entrada, JSON de saída
A maioria das APIs sociais para na publicação. Um agente que publica mas não responde é só meio agente — por isso as duas coisas ficam atrás da mesma chave, nas mesmas contas conectadas.
Crie o post uma vez, escolha qualquer destino conectado e deixe a fila cuidar da formatação de cada plataforma, do upload de mídia, dos limites de taxa e das novas tentativas. Seu agente nunca encosta em um SDK de plataforma.
DMs, comentários e menções de todas as contas conectadas caem em uma só caixa de entrada unificada. Puxe a thread, publique uma resposta, marque como resolvida — tudo em JSON puro, tudo no mesmo workspace dos seus posts.
Sem SDK. Três requisições cobrem o ciclo que um agente roda o dia inteiro: publicar, escutar, responder.
curl -X POST \
https://api.so-me.studio/v1/posts \
-H "X-API-Key: $SOME_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Ship day 🚀",
"socialMedia": "LINKEDIN",
"postType": "TEXT",
"scheduledAt":
"2026-08-04T09:00:00Z"
}'const { data } = await api(
'/v1/inbox/conversations'
);
for (const c of data) {
const reply = await agent.answer(c);
await api(
`/v1/inbox/conversations/${c.id}`
+ '/reply',
{ method: 'POST',
body: { message: reply } }
);
}await fetch(
BASE + '/v1/webhooks/subscriptions',
{
method: 'POST',
headers: {
'X-API-Key': KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
url: 'https://my-agent.dev/hook',
events: [
'post.published',
'post.failed'
]
})
}
);Tudo o que você faz no painel tem uma rota. Nada é exclusivo da interface.
/v1/posts
Crie, atualize, agende, desagende, exclua em massa, tente de novo e reenvie posts. Leia o calendário e gerencie os comentários de cada post.
/v1/drafts
Guarde conteúdo em andamento e depois converta um rascunho em post agendado no ar com uma só chamada.
/v1/inbox
Liste conversas, leia threads de mensagens, responda, arquive e gerencie respostas salvas em todas as contas conectadas.
/v1/whatsapp
Crie e liste templates de mensagem aprovados, envie a mídia do template e mande mensagens de template para os clientes.
/v1/media
Uploads pré-assinados, pastas, busca, renomear, mover e excluir em massa. Anexe qualquer arquivo enviado a um post pelo id.
/v1/analytics
Métricas por conta e por post, além de detalhamentos nativos das plataformas para Facebook, Instagram, LinkedIn, YouTube, X e WhatsApp.
/v1/ai
Gere legendas, imagens e vídeos UGC a partir do seu agente e mande o resultado direto para um post.
/v1/approvals
Liste tudo o que aguarda revisão e aprove ou rejeite — assim um agente redige enquanto uma pessoa ainda dá o aval.
/v1/accounts
Liste as contas sociais conectadas e seus ids — os identificadores que indexam cada post e cada conversa.
/v1/webhooks
Gerencie assinaturas, reenvie entregas, dispare payloads de teste e navegue pelo catálogo completo de eventos.
/v1/biolinks
Monte páginas de link na bio de forma programática — botões, posts incorporados, temas, publicação e analytics de cliques.
/v1/teams · /v1/settings
Convide membros, defina funções, rotacione chaves de API, alterne workspaces e consulte o consumo atual do seu plano.
Os schemas completos de requisição e resposta — além da especificação OpenAPI — estão na referência da API.
Conecte uma conta uma vez no painel; a API herda essa conexão em todo lugar.
18 destinos
Twitter/X, Instagram, LinkedIn (pessoal e Página), Facebook, TikTok, YouTube, Threads, Pinterest, Bluesky, Mastodon, Reddit, Google Business Profile, WordPress, Dev.to, Dribbble, Discord e Slack — tudo a partir de um único POST /v1/posts. O WhatsApp, por sua vez, envia por templates aprovados.
Caixa de entrada unificada
Ingestão por webhook em tempo real para Facebook, Instagram, WhatsApp e Twitter/X, além de threads consultadas por polling no Bluesky, Mastodon, Reddit, Telegram, Discord e Slack. Um único modelo de conversa para todos eles.
20 plataformas
O OAuth é resolvido uma única vez no painel. A API lê os ids de conta resultantes — você nunca armazena, renova nem rotaciona um token de plataforma.
Um agente tenta de novo, roda em paralelo e lê o corpo dos erros ao pé da letra. A API foi desenhada em torno disso.
A mesma X-API-Key funciona para a API REST, para a CLI instalada via npm e para o servidor MCP. Emita uma vez em Settings → API Keys; seu agente nunca vê um token OAuth de plataforma.
Uma chamada de criação retorna na hora e o post entra em uma fila de workers com consciência dos limites de taxa de cada plataforma e novas tentativas automáticas. As falhas podem ser retomadas com POST /v1/posts/:id/retry.
Inscreva-se em post.published, post.failed, eventos de mensagem da caixa de entrada, decisões de aprovação, desconexões de conta e mais. Os payloads são assinados com HMAC-SHA256 para o seu agente poder confiar neles.
Cada chave está vinculada a um workspace. Use uma chave por cliente e o agente fica fisicamente impedido de ler ou publicar nas contas de outro tenant.
As cotas por minuto e por mês são publicadas em cada plano e devolvidas como um 429 limpo — sem throttling silencioso para um loop de retentativa interpretar errado.
Prefere ferramentas a endpoints? O mesmo workspace é exposto como mais de 200 ferramentas MCP e uma CLI que imprime JSON e devolve códigos de saída de verdade.
A API é liberada no Team. Estourou a cota, você recebe um 429 — nunca uma perda silenciosa.
| Plano | Chamadas de API | Limite de taxa | Entregas de webhook |
|---|---|---|---|
| Free e Solo | Sem acesso à API | — | — |
| Team | 10.000 chamadas / mês | 60 chamadas / min | 25.000 entregas / mês |
| Scale | Ilimitadas | 300 chamadas / min | Ilimitadas |
Veja os preços atuais dos planos, ou a visão geral para agentes se preferir ferramentas MCP a endpoints crus.
Sem call de vendas, sem pedido de sandbox, sem conta de desenvolvedor em cada plataforma.
Crie sua conta e conecte qualquer um dos 20 destinos no painel. Daqui em diante, OAuth, renovação de token e pedidos de reautenticação ficam por nossa conta.
Settings → API Keys. Envie como X-API-Key. Uma chave por workspace mantém os clientes isolados; a mesma chave também move a CLI e o servidor MCP.
POST /v1/posts para publicar ou agendar, inscreva-se em post.published e post.failed e leia GET /v1/inbox/conversations para começar a responder.
Duas coisas, com uma só chave. Publicação: crie, agende, publique, tente de novo e exclua conteúdo em 18 destinos, com uploads de mídia pré-assinados e geração de legendas e imagens com IA no mesmo workspace. Mensagens: liste conversas da caixa de entrada unificada, leia uma thread, responda DMs e comentários e envie templates aprovados do WhatsApp. Em volta disso ficam analytics, aprovações, bio-links, equipes, templates e webhooks — tudo sob https://api.so-me.studio/v1.
Gere uma chave em Settings → API Keys e envie no header X-API-Key em toda requisição. As chaves são restritas a um único workspace, então usar uma chave por cliente mantém os agentes isolados uns dos outros. A mesma chave autentica a CLI (npm i -g @social-media-scheduler/cli) e o servidor MCP.
Não. Você conecta as contas uma vez no painel e os tokens das plataformas ficam do nosso lado, criptografados. GET /v1/accounts devolve os ids de conta que você referencia ao publicar ou responder. Renovação de token, pedidos de reautenticação e as manias de cada plataforma são problema nosso, não seu.
Sim. GET /v1/inbox/conversations lista as threads de todas as contas conectadas, GET /v1/inbox/conversations/:id/messages devolve o histórico de mensagens para dar contexto e POST /v1/inbox/conversations/:id/reply envia a resposta. Facebook, Instagram, WhatsApp e Twitter/X chegam por webhooks em tempo real; Bluesky, Mastodon, Reddit, Telegram, Discord e Slack são puxados para o mesmo modelo de conversa.
O WhatsApp é baseado em templates, não em texto livre: POST /v1/whatsapp/templates cria um template para aprovação, POST /v1/whatsapp/templates/upload-media anexa a mídia do cabeçalho e POST /v1/whatsapp/templates/send faz a entrega. As mensagens recebidas do WhatsApp caem na mesma caixa de entrada unificada de todo o resto.
Não, e isso é proposital. POST /v1/posts retorna assim que o post é aceito; a publicação passa por uma fila com consciência dos limites de taxa de cada plataforma e novas tentativas automáticas. Fique de olho nos webhooks post.published e post.failed — ou faça polling em GET /v1/posts/:id — em vez de travar uma thread de requisição por causa de uma plataforma que está tendo uma tarde ruim.
Mais de 150, cobrindo posts, rascunhos, reaproveitamento, aprovações, caixa de entrada, mídia, contas, cobrança e equipes — post.published, post.failed, post.approval.requested, desconexões de conta e mais. Gerencie as assinaturas com POST /v1/webhooks/subscriptions, dispare uma entrega de teste, reenvie uma que falhou e verifique a assinatura HMAC-SHA256 no recebimento.
A API é um recurso do plano Team para cima; Free e Solo não têm acesso à API. O Team inclui 10.000 chamadas por mês a 60 chamadas/min, mais 25.000 entregas de webhook por mês. O Scale remove os tetos mensais e sobe o limite para 300 chamadas/min. Ultrapassar um limite devolve 429 Too Many Requests.
Mesmo workspace, três formatos. Use REST a partir de qualquer backend ou framework (LangChain, CrewAI, AutoGen, Vertex AI, um simples worker de cron). Use a CLI em shells, CI e jobs agendados. Use o servidor MCP quando o agente precisar descobrir sozinho mais de 200 ferramentas tipadas — esse é o caminho do Claude, do Cursor e do Windsurf.
Em docs.so-me.studio, incluindo a especificação OpenAPI para você gerar um cliente tipado em qualquer linguagem. Esta página é a visão geral; a referência traz os schemas de requisição e resposta de cada rota.
Pare de malabarismo com abas — escreva, adapte e publique em 20 plataformas a partir de um único calendário.