API SwapFlow
Publique conteúdo programaticamente via API REST
API REST
Publique em qualquer plataforma social conectada usando curl, scripts ou suas próprias ferramentas.
Liste suas contas sociais
Publique conteúdo em uma plataforma
Agendar uma publicação futura
Ver histórico de publicações
Obter detalhes da publicação
Atualizar uma publicação agendada
Obtenha sua chave API
Cadastre-se no SwapFlow para gerar chaves API e começar a publicar conteúdo programaticamente.
ComeceApenas dois passos: obtenha seus IDs de conexão, depois publique. Arquivos são enviados diretamente — não é necessário pré-enviar ao SwapFlow.
# 1. Liste suas contas conectadas para encontrar seu ID de conexão
curl -s "https://www.swapflow.top/api/cli/connections" \
-H "X-API-Key: sf_your_api_key_here" | jq .
# 2. Publique um arquivo diretamente — sem necessidade de pré-envio!
curl -X POST "https://www.swapflow.top/api/cli/publish" \
-H "X-API-Key: sf_your_api_key_here" \
-F "file=@photo.jpg" \
-F "connectionId=YOUR_CONNECTION_ID" \
-F "platform=twitter" \
-F "caption=Posted from the API!"Agende publicações futuras em qualquer plataforma. Publicadas automaticamente com precisão de até 5 minutos.
# Agendar uma publicação futura
curl -X POST "https://www.swapflow.top/api/cli/posts" \
-H "X-API-Key: sf_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"connectionId": "CONNECTION_ID",
"caption": "Launching tomorrow!",
"scheduledAt": "2026-04-01T15:30:00Z"
}'Você também pode enviar um arquivo e configurar opções específicas da plataforma:
# Agendar uma publicação futura
curl -X POST "https://www.swapflow.top/api/cli/posts" \
-H "X-API-Key: sf_your_api_key_here" \
-F "file=@video.mp4" \
-F "connectionId=CONNECTION_ID" \
-F "caption=Check this out!" \
-F "scheduledAt=2026-04-01T15:30:00Z" \
-F 'platformSettings={"youtube":{"privacyStatus":"public","videoType":"shorts"}}'Referência de parâmetros
| Parâmetro | Obrigatório | Descrição |
|---|---|---|
| connectionId | Yes | UUID da conexão social de destino |
| platform | Yes | Nome da plataforma (twitter, tiktok, youtube, etc.) |
| file | No | Arquivo de mídia (multipart/form-data) |
| file1, file2, ... | No | Múltiplos arquivos de imagem para posts carrossel (multipart) |
| mediaId | No | UUID de mídia existente de /api/media |
| mediaIds | No | Array JSON de UUIDs de mídia para posts com múltiplas imagens |
| mediaUrl | No | URL direta para o arquivo de mídia |
| caption | No | Texto ou legenda da publicação |
| mediaType | No | video, image ou text (detectado automaticamente) |
| tiktokUserConsent | TikTok | Deve ser true para publicar no TikTok |
| tiktokPrivacyLevel | No | SELF_ONLY, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR ou PUBLIC_TO_EVERYONE |
| youtubePrivacy | No | public, private ou unlisted (padrão: private) |
| youtubeIsShorts | No | true para Shorts, false para longo (padrão: true) |
| pinterestBoardId | ID do quadro do Pinterest (obrigatório para Pinterest) | |
| snapchatType | No | spotlight ou stories (padrão: spotlight) |
| scheduledAt | No | Data ISO 8601 para publicação futura (mínimo 5 min). Omitir para publicação imediata |
| webhookUrl | No | URL HTTPS para callbacks de status de publicação/falha |
| platformSettings | No | Opções específicas da plataforma em JSON (ex. privacidade TikTok, tipo YouTube) |