SwapFlow API
REST APIを使用してプログラム的にコンテンツを公開
REST API
curl、スクリプト、または独自のツールを使用して、接続済みのソーシャルプラットフォームに公開できます。
GET /api/cli/connections
ソーシャルアカウント一覧
POST /api/cli/publish
プラットフォームにコンテンツを公開
POST /api/cli/posts
投稿を予約する
GET /api/cli/posts
公開履歴を表示
GET /api/cli/posts/:id
投稿の詳細を取得
PATCH /api/cli/posts/:id
予約投稿を更新
2ステップで完了:接続IDを取得し、公開します。ファイルは直接アップロード — SwapFlowに事前アップロードする必要はありません。
# 1. 接続済みアカウントを一覧表示して接続IDを確認
curl -s "https://www.swapflow.top/api/cli/connections" \
-H "X-API-Key: sf_your_api_key_here" | jq .
# 2. ファイルを直接公開 — 事前アップロード不要!
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!"任意のプラットフォームで将来の投稿を予約できます。最大5分の精度で自動的に公開されます。
# 投稿を予約する
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"
}'ファイルのアップロードやプラットフォーム固有のオプション設定も可能です:
# 投稿を予約する
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"}}'パラメータリファレンス
| パラメータ | 必須 | 説明 |
|---|---|---|
| connectionId | Yes | 対象ソーシャル接続のUUID |
| platform | Yes | プラットフォーム名 (twitter, tiktok, youtube など) |
| file | No | メディアファイル (multipart/form-data) |
| file1, file2, ... | No | カルーセル投稿用の複数画像ファイル (multipart) |
| mediaId | No | /api/mediaの既存メディアUUID |
| mediaIds | No | 複数画像投稿用のメディアUUID JSON配列 |
| mediaUrl | No | メディアファイルの直接URL |
| caption | No | 投稿テキストまたはキャプション |
| mediaType | No | video、image、またはtext(ファイルから自動検出) |
| tiktokUserConsent | TikTok | TikTokへの公開にはtrueが必要 |
| tiktokPrivacyLevel | No | SELF_ONLY、MUTUAL_FOLLOW_FRIENDS、FOLLOWER_OF_CREATOR、またはPUBLIC_TO_EVERYONE |
| youtubePrivacy | No | public、private、またはunlisted(デフォルト:private) |
| youtubeIsShorts | No | Shortsはtrue、通常動画はfalse(デフォルト:true) |
| pinterestBoardId | PinterestボードID(Pinterest必須) | |
| snapchatType | No | spotlightまたはstories(デフォルト:spotlight) |
| scheduledAt | No | ISO 8601形式の将来の公開日時(最低5分先)。省略すると即時非同期公開 |
| webhookUrl | No | 公開成功/失敗のステータスコールバック用HTTPS URL |
| platformSettings | No | プラットフォーム固有のオプションをJSON形式で(例:TikTokプライバシー、YouTubeタイプ) |
対応プラットフォーム
twitter
tiktok
instagram standalone
facebook
youtube
threads
linkedin
pinterest
bluesky
telegram
snapchat