API de SwapFlow
Publica contenido programáticamente a través de API REST
API REST
Publica en cualquier plataforma social conectada usando curl, scripts o tus propias herramientas.
Lista tus cuentas sociales
Publica contenido en una plataforma
Programar una publicación futura
Ver historial de publicaciones
Obtener detalles de la publicación
Actualizar una publicación programada
Obtén tu clave API
Regístrate en SwapFlow para generar claves API y empezar a publicar contenido de forma programática.
ComenzarSolo dos pasos: obtén tus IDs de conexión, luego publica. Los archivos se suben directamente — no necesitas subirlos a SwapFlow primero.
# 1. Lista tus cuentas conectadas para encontrar tu ID de conexión
curl -s "https://www.swapflow.top/api/cli/connections" \
-H "X-API-Key: sf_your_api_key_here" | jq .
# 2. Publica un archivo directamente — sin necesidad de subir antes
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!"Programa publicaciones futuras en cualquier plataforma. Se publican automáticamente con precisión de hasta 5 minutos.
# Programar una publicación 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"
}'También puedes subir un archivo y configurar opciones específicas de la plataforma:
# Programar una publicación 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"}}'Referencia de parámetros
| Parámetro | Requerido | Descripción |
|---|---|---|
| connectionId | Yes | UUID de la conexión social destino |
| platform | Yes | Nombre de plataforma (twitter, tiktok, youtube, etc.) |
| file | No | Archivo multimedia (multipart/form-data) |
| file1, file2, ... | No | Múltiples archivos de imagen para publicaciones carrusel (multipart) |
| mediaId | No | UUID de medio existente de /api/media |
| mediaIds | No | Array JSON de UUIDs de medios para publicaciones con varias imágenes |
| mediaUrl | No | URL directa al archivo multimedia |
| caption | No | Texto o descripción de la publicación |
| mediaType | No | video, image o text (auto-detectado del archivo) |
| tiktokUserConsent | TikTok | Debe ser true para publicar en TikTok |
| tiktokPrivacyLevel | No | SELF_ONLY, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR o PUBLIC_TO_EVERYONE |
| youtubePrivacy | No | public, private o unlisted (por defecto: private) |
| youtubeIsShorts | No | true para Shorts, false para largo (por defecto: true) |
| pinterestBoardId | ID del tablero de Pinterest (requerido para Pinterest) | |
| snapchatType | No | spotlight o stories (por defecto: spotlight) |
| scheduledAt | No | Fecha ISO 8601 para publicación futura (mínimo 5 min). Omitir para publicación inmediata |
| webhookUrl | No | URL HTTPS para callbacks de estado de publicación/fallo |
| platformSettings | No | Opciones específicas de la plataforma en JSON (ej. privacidad TikTok, tipo YouTube) |