Connect Channel (OAuth)
Generate an OAuth authorization URL for a given integration. Use this to connect a new social media channel. Only OAuth-based integrations are supported (integrations that require an external URL, such as Mastodon, are not available via this endpoint).
OpenAPI
openapi: 3.1.0
info:
title: Sipstory Public API
description: >-
API for managing social media posts, integrations, and media uploads in
Sipstory.
## Authentication
All endpoints require an API key passed in the `Authorization` header:
```
Authorization: your-api-key
```
Get your API key from Sipstory Settings.
## Rate Limits
There is a limit of **30 requests per hour**.
## Terminology
The UI uses `channel`, but the API uses `integration`. They refer to the
same thing.
## Supported Platforms (27)
**Social Platforms:** X (Twitter), LinkedIn, LinkedIn Page, Facebook,
Instagram, Instagram Standalone, Threads, Bluesky, Mastodon, Warpcast
(Farcaster), Nostr, VK
**Video Platforms:** YouTube, TikTok
**Community Platforms:** Reddit, Lemmy, Discord, Slack, Telegram
**Design Platforms:** Pinterest, Dribbble
**Blogging Platforms:** Medium, Dev.to, Hashnode, WordPress
**Business:** Google My Business (GMB), Listmonk (newsletters)
license:
name: MIT
version: 1.0.0
servers:
- url: https://api.sipstory.tech/public/v1
description: Sipstory Cloud
- url: https://{your-domain}/api/public/v1
description: Self-hosted
variables:
your-domain:
default: localhost:5000
description: Your Sipstory instance domain
security:
- ApiKeyAuth: []
tags:
- name: Integrations
description: Manage connected social media channels
- name: Posts
description: Create, list, and delete posts
- name: Uploads
description: Upload media files
- name: Notifications
description: View organization notifications
- name: Analytics
description: View analytics for integrations and posts
- name: Video Generation
description: Generate videos with AI
paths:
/social/{integration}:
get:
tags:
- Integrations
summary: Get OAuth URL for a channel
description: >-
Generate an OAuth authorization URL for a given integration. Use this to
connect a new social media channel. Only OAuth-based integrations are
supported (integrations that require an external URL, such as Mastodon,
are not available via this endpoint).
operationId: getIntegrationUrl
parameters:
- name: integration
in: path
required: true
description: >-
The integration identifier (e.g. x, linkedin, facebook, instagram,
youtube, tiktok, reddit, etc.)
schema:
type: string
- name: refresh
in: query
required: false
description: >-
Pass an existing integration ID to refresh its OAuth token instead
of creating a new connection
schema:
type: string
responses:
'200':
description: OAuth authorization URL
content:
application/json:
schema:
type: object
properties:
url:
type: string
description: The OAuth authorization URL to redirect the user to
example:
url: >-
https://twitter.com/i/oauth2/authorize?response_type=code&client_id=...
'400':
description: Integration not allowed or requires an external URL
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: Authorization
description: Your Sipstory API key