API Reference
Streamify REST API and webhook reference for developers building integrations.
API Reference
Streamify provides REST API endpoints for integrations, webhooks, and programmatic access to platform data.
For AI agent integrations (Claude Desktop, ChatGPT, Cursor), use the MCP Server instead — it provides a higher-level interface optimized for natural language.
Authentication
All API requests require a bearer token:
Authorization: Bearer YOUR_API_KEY
Generate API keys from Settings → Developer → API Keys in your dashboard.
Webhooks
Streamify sends webhook events to your configured endpoint for all key platform events.
Configuring webhooks
- Go to Settings → Developer → Webhooks
- Add your endpoint URL
- Select the events to subscribe to
- Save — Streamify will send a test event immediately
Signature verification
Every webhook request includes a Streamify-Signature header. Verify it to ensure the request is authentic:
import crypto from "node:crypto";
function verifyWebhookSignature(payload: string, signature: string, secret: string): boolean {
const expected = crypto.createHmac("sha256", secret).update(payload).digest("hex");
return crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));
}
Webhook events
| Event | Description |
|---|---|
subscription.created | A viewer starts a subscription |
subscription.updated | Subscription plan changes or renews |
subscription.cancelled | Subscription is cancelled |
subscription.expired | Subscription reaches end date without renewal |
payment.succeeded | One-time payment or renewal succeeds |
payment.failed | Payment attempt fails |
invoice.created | An invoice is generated |
viewer.created | A new viewer registers |
viewer.updated | Viewer profile updates |
video.published | A video goes live |
livestream.started | Live stream begins |
livestream.ended | Live stream ends |
Rate limits
API endpoints are rate-limited per API key:
| Tier | Requests per minute |
|---|---|
| Standard | 60 |
| Pro | 300 |
| Enterprise | Custom |
Rate limit headers are included in every response:
X-RateLimit-Limit— requests allowed per windowX-RateLimit-Remaining— requests remainingX-RateLimit-Reset— Unix timestamp when window resets