Overview
For N8N node, check out this video to get started:
SDKs & Integrations
Authentication
There are two ways to authenticate with the Sipstory API:
API Key
Get your API key from Settings > Developers > Public API. Include it in the Authorization header:
curl -H "Authorization: your-api-key" https://api.sipstory.tech/public/v1/integrations
OAuth2 Token
If you're building an app for other Sipstory users, use OAuth2 Authentication to get tokens that act on behalf of users. OAuth tokens start with pos_ and are used the same way:
curl -H "Authorization: pos_your-oauth-token" https://api.sipstory.tech/public/v1/integrations
Base URL
| Environment | Base URL |
|---|---|
| Sipstory Web | https://api.sipstory.tech/public/v1 |
Rate Limits
30 requests per hour limit applies to all endpoints.
This doesn't mean you can only post 30 times per hour—each API call counts as one request. Schedule multiple posts in a single request to maximize throughput.
Terminology
The Sipstory UI uses the term channel, while the API uses integration. They refer to the same thing — a connected social media account.
Generate Output
The easiest way to generate your post payloads is by using this wizard. It's the same wizard to schedule posts in the Sipstory app, however instead of scheduling posts, it generates the JSON payload for you to use in your API requests.
- Cloud
- Local (Make sure your local server is running)
Supported Platforms (32 total)
When creating posts, each social media platform has its own settings schema. The settings object must include a __type field matching the provider.
Platforms with custom settings (25)
- Social
- Video
- Community
- Design
- Blogging
- Business
- Streaming
| Platform | __type | Key settings |
|---|---|---|
| X (Twitter) | x | who_can_reply_post, community |
linkedin | post_as_images_carousel | |
| LinkedIn Page | linkedin-page | post_as_images_carousel |
facebook | url (optional) | |
| Instagram (FB-linked) | instagram | post_type, collaborators |
| Instagram Standalone | instagram-standalone | post_type, collaborators |
| Warpcast (Farcaster) | warpcast | subreddit[] (channels) |
| Platform | __type | Key settings |
|---|---|---|
| YouTube | youtube | title, type, selfDeclaredMadeForKids, thumbnail, tags |
| TikTok | tiktok | privacy_level, duet, stitch, comment, autoAddMusic, brand_content_toggle, brand_organic_toggle, content_posting_method |
| Platform | __type | Key settings |
|---|---|---|
reddit | subreddit[] with title, type, flair | |
| Lemmy | lemmy | subreddit[] with id, title, url |
| Discord | discord | channel |
| Slack | slack | channel |
| Skool | skool | group, label, title |
| Whop | whop | company, experience, title |
| Platform | __type | Key settings |
|---|---|---|
pinterest | board, title, link, dominant_color | |
| Dribbble | dribbble | title, team |
| Platform | __type | Key settings |
|---|---|---|
| Medium | medium | title, subtitle, canonical, publication, tags |
| Dev.to | devto | title, main_image, canonical, organization, tags |
| Hashnode | hashnode | title, subtitle, main_image, publication, tags |
| WordPress | wordpress | title, main_image, type |
| Platform | __type | Key settings |
|---|---|---|
| Google My Business | gmb | topicType, callToActionType, callToActionUrl, event/offer fields |
| Listmonk | listmonk | subject, preview, list, template |
| Platform | __type | Key settings |
|---|---|---|
| Twitch | twitch | messageType, announcementColor |
Platforms without custom settings (7)
These platforms only require { "__type": "platform-name" }:
| Platform | __type |
|---|---|
| Threads | threads |
| Mastodon | mastodon |
| Bluesky | bluesky |
| Telegram | telegram |
| Nostr | nostr |
| VK | vk |
| Kick | kick |
Quick Examples
Schedule a post to X (Twitter)
{
"type": "schedule",
"date": "2024-12-14T10:00:00.000Z",
"shortLink": false,
"tags": [],
"posts": [
{
"integration": { "id": "your-integration-id" },
"value": [
{
"content": "Hello from the Sipstory API! 🚀",
"image": []
}
],
"settings": {
"__type": "x",
"who_can_reply_post": "everyone"
}
}
]
}
Post immediately to LinkedIn
{
"type": "now",
"date": "2024-12-14T10:00:00.000Z",
"shortLink": false,
"tags": [],
"posts": [
{
"integration": { "id": "your-linkedin-id" },
"value": [
{
"content": "Exciting announcement! 🎉",
"image": []
}
],
"settings": {
"__type": "linkedin"
}
}
]
}
Upload an image and post to Instagram
# Step 1: Upload the image
curl -X POST "https://api.sipstory.tech/public/v1/upload" \
-H "Authorization: your-api-key" \
-F "file=@photo.jpg"
# Response: { "id": "img-123", "path": "https://uploads.sipstory.tech/photo.jpg", ... }
# Step 2: Create the post with the uploaded image
curl -X POST "https://api.sipstory.tech/public/v1/posts" \
-H "Authorization: your-api-key" \
-H "Content-Type: application/json" \
-d '{
"type": "schedule",
"date": "2024-12-14T10:00:00.000Z",
"shortLink": false,
"tags": [],
"posts": [{
"integration": { "id": "your-instagram-id" },
"value": [{
"content": "Beautiful sunset 🌅 #photography",
"image": [{ "id": "img-123", "path": "https://uploads.sipstory.tech/photo.jpg" }]
}],
"settings": {
"__type": "instagram",
"post_type": "post"
}
}]
}'
Publish a Medium article
{
"type": "now",
"date": "2024-12-14T10:00:00.000Z",
"shortLink": false,
"tags": [],
"posts": [
{
"integration": { "id": "your-medium-id" },
"value": [
{
"content": "# Introduction\n\nThis is my article in markdown...",
"image": []
}
],
"settings": {
"__type": "medium",
"title": "My Amazing Article",
"subtitle": "A deep dive into something interesting",
"tags": [
{ "value": "programming", "label": "Programming" }
]
}
}
]
}
Create a Google My Business offer
{
"type": "schedule",
"date": "2024-12-14T10:00:00.000Z",
"shortLink": false,
"tags": [],
"posts": [
{
"integration": { "id": "your-gmb-id" },
"value": [
{
"content": "🎉 Holiday Sale! 20% off everything!",
"image": []
}
],
"settings": {
"__type": "gmb",
"topicType": "OFFER",
"callToActionType": "GET_OFFER",
"callToActionUrl": "https://example.com/sale",
"offerCouponCode": "HOLIDAY20"
}
}
]
}