These examples use the same endpoint and show the required platform field for TikTok, Instagram, Facebook, and Threads. Keep X-API-Key server-side and replace each accountId with the connected account ID returned by your account listing flow.
const API_BASE_URL = 'https://api.wahdx.com';
const API_KEY = process.env.WAHDX_API_KEY;
const headers = {
'X-API-Key': API_KEY,
'Content-Type': 'application/json'
};
// TikTok video
await fetch(API_BASE_URL + '/api/content/post', {
method: 'POST',
headers,
body: JSON.stringify(
{
"platform": "tiktok",
"accountId": "TIKTOK_ACCOUNT_ID",
"content": "TikTok video caption #launch",
"mediaItems": [
{
"url": "https://your-domain.com/video-tiktok.mp4"
}
],
"tiktokSettings": {
"privacy_level": "PUBLIC_TO_EVERYONE",
"allow_comment": true,
"allow_duet": true,
"allow_stitch": true,
"video_cover_timestamp_ms": 3000,
"video_made_with_ai": false,
"draft": false
}
}
)
});
// Instagram video / Reel
await fetch(API_BASE_URL + '/api/content/post', {
method: 'POST',
headers,
body: JSON.stringify(
{
"platform": "instagram",
"accountId": "INSTAGRAM_ACCOUNT_ID",
"content": "Instagram Reel caption #campaign",
"mediaItems": [
{
"url": "https://your-domain.com/video-instagram.mp4"
}
],
"instagramSettings": {
"share_to_feed": true
}
}
)
});
// Facebook Page video
await fetch(API_BASE_URL + '/api/content/post', {
method: 'POST',
headers,
body: JSON.stringify(
{
"platform": "facebook",
"accountId": "FACEBOOK_PAGE_ACCOUNT_ID",
"content": "Facebook Page video description",
"mediaItems": [
{
"url": "https://your-domain.com/video-facebook.mp4"
}
],
"facebookSettings": {}
}
)
});
// Threads video
await fetch(API_BASE_URL + '/api/content/post', {
method: 'POST',
headers,
body: JSON.stringify(
{
"platform": "threads",
"accountId": "THREADS_ACCOUNT_ID",
"content": "Threads video post text",
"mediaItems": [
{
"url": "https://your-domain.com/video-threads.mp4"
}
],
"threadsSettings": {
"who_can_reply": "everyone"
}
}
)
});
import os
import requests
API_BASE_URL = 'https://api.wahdx.com'
API_KEY = os.environ['WAHDX_API_KEY']
headers = {
'X-API-Key': API_KEY,
'Content-Type': 'application/json',
}
# TikTok video
response = requests.post(
API_BASE_URL + '/api/content/post',
headers=headers,
json={
'platform': 'tiktok',
'accountId': 'TIKTOK_ACCOUNT_ID',
'content': 'TikTok video caption #launch',
'mediaItems': [
{
'url': 'https://your-domain.com/video-tiktok.mp4'
}
],
'tiktokSettings': {
'privacy_level': 'PUBLIC_TO_EVERYONE',
'allow_comment': True,
'allow_duet': True,
'allow_stitch': True,
'video_cover_timestamp_ms': 3000,
'video_made_with_ai': False,
'draft': False
}
},
timeout=30,
)
# Instagram video / Reel
response = requests.post(
API_BASE_URL + '/api/content/post',
headers=headers,
json={
'platform': 'instagram',
'accountId': 'INSTAGRAM_ACCOUNT_ID',
'content': 'Instagram Reel caption #campaign',
'mediaItems': [
{
'url': 'https://your-domain.com/video-instagram.mp4'
}
],
'instagramSettings': {
'share_to_feed': True
}
},
timeout=30,
)
# Facebook Page video
response = requests.post(
API_BASE_URL + '/api/content/post',
headers=headers,
json={
'platform': 'facebook',
'accountId': 'FACEBOOK_PAGE_ACCOUNT_ID',
'content': 'Facebook Page video description',
'mediaItems': [
{
'url': 'https://your-domain.com/video-facebook.mp4'
}
],
'facebookSettings': {}
},
timeout=30,
)
# Threads video
response = requests.post(
API_BASE_URL + '/api/content/post',
headers=headers,
json={
'platform': 'threads',
'accountId': 'THREADS_ACCOUNT_ID',
'content': 'Threads video post text',
'mediaItems': [
{
'url': 'https://your-domain.com/video-threads.mp4'
}
],
'threadsSettings': {
'who_can_reply': 'everyone'
}
},
timeout=30,
)
# TikTok video
curl -X POST "https://api.wahdx.com/api/content/post" \
-H "X-API-Key: $WAHDX_API_KEY" \
-H "Content-Type: application/json" \
--data-raw '{
"platform": "tiktok",
"accountId": "TIKTOK_ACCOUNT_ID",
"content": "TikTok video caption #launch",
"mediaItems": [
{
"url": "https://your-domain.com/video-tiktok.mp4"
}
],
"tiktokSettings": {
"privacy_level": "PUBLIC_TO_EVERYONE",
"allow_comment": true,
"allow_duet": true,
"allow_stitch": true,
"video_cover_timestamp_ms": 3000,
"video_made_with_ai": false,
"draft": false
}
}'
# Instagram video / Reel
curl -X POST "https://api.wahdx.com/api/content/post" \
-H "X-API-Key: $WAHDX_API_KEY" \
-H "Content-Type: application/json" \
--data-raw '{
"platform": "instagram",
"accountId": "INSTAGRAM_ACCOUNT_ID",
"content": "Instagram Reel caption #campaign",
"mediaItems": [
{
"url": "https://your-domain.com/video-instagram.mp4"
}
],
"instagramSettings": {
"share_to_feed": true
}
}'
# Facebook Page video
curl -X POST "https://api.wahdx.com/api/content/post" \
-H "X-API-Key: $WAHDX_API_KEY" \
-H "Content-Type: application/json" \
--data-raw '{
"platform": "facebook",
"accountId": "FACEBOOK_PAGE_ACCOUNT_ID",
"content": "Facebook Page video description",
"mediaItems": [
{
"url": "https://your-domain.com/video-facebook.mp4"
}
],
"facebookSettings": {}
}'
# Threads video
curl -X POST "https://api.wahdx.com/api/content/post" \
-H "X-API-Key: $WAHDX_API_KEY" \
-H "Content-Type: application/json" \
--data-raw '{
"platform": "threads",
"accountId": "THREADS_ACCOUNT_ID",
"content": "Threads video post text",
"mediaItems": [
{
"url": "https://your-domain.com/video-threads.mp4"
}
],
"threadsSettings": {
"who_can_reply": "everyone"
}
}'