Getting Started
Build social media integrations in minutes. This guide walks you through your first API calls.
Quick Start
Get Your API Key
Sign in to your VoxBurst dashboard and create an API key with the scopes you need:
| Scope | Description |
|---|---|
posts:read | Read posts |
posts:write | Create, update, delete, publish posts |
accounts:read | List connected social accounts |
accounts:write | Connect and disconnect accounts |
media:read | View uploaded media |
media:write | Upload media files |
webhooks:read | View webhook configurations |
webhooks:write | Create and manage webhooks |
Install the SDK (Optional)
TypeScript
npm install @voxburst/sdk
# or
pnpm add @voxburst/sdkMake Your First Request
cURL
curl https://api.voxburst.io/v1/accounts \
-H "Authorization: Bearer sk_live_your_api_key_here"Environment Setup
Set these environment variables in your project:
VOXBURST_API_KEY=sk_live_xxxxxxxxxxxxx
VOXBURST_BASE_URL=https://api.voxburst.io/v1 # optional, defaults to productionFirst API Call Examples
List Connected Accounts
curl https://api.voxburst.io/v1/accounts \
-H "Authorization: Bearer sk_live_xxxxxxxxxxxxx"Create a Draft Post
curl -X POST https://api.voxburst.io/v1/posts \
-H "Authorization: Bearer sk_live_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"content": "Hello world from VoxBurst!",
"platforms": ["TWITTER"],
"accountIds": ["acc_123"]
}'Schedule a Post
curl -X POST https://api.voxburst.io/v1/posts \
-H "Authorization: Bearer sk_live_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"content": "Scheduled post! 📅",
"platforms": ["TWITTER", "LINKEDIN"],
"accountIds": ["acc_123", "acc_456"],
"scheduledFor": "2026-03-01T14:00:00Z"
}'Platform-Specific Content
Use overrides to customize content per platform:
{
"content": "Default content for all platforms",
"platforms": ["TWITTER", "LINKEDIN"],
"accountIds": ["acc_123", "acc_456"],
"overrides": {
"TWITTER": {
"content": "Short version for Twitter! 🐦 #voxburst"
},
"LINKEDIN": {
"content": "A longer, more professional version for LinkedIn. This is where you can really expand on your message and include more context for your professional network."
}
}
}Publish Immediately
curl -X POST https://api.voxburst.io/v1/posts/{postId}/publish \
-H "Authorization: Bearer sk_live_xxxxxxxxxxxxx"Platform Character Limits
VoxBurst validates content length before sending to each platform. The API returns a VALIDATION_ERROR if content exceeds platform limits.
| Platform | Max Text | Max Images | Video Length |
|---|---|---|---|
| Twitter/X | 280 chars | 4 | 2:20 min |
| 3,000 chars | 20 | 10 min | |
| 2,200 chars | 10 | 60 sec | |
| 63,206 chars | 10 | 4 hours | |
| Bluesky | 300 chars | 4 | N/A |
| Threads | 500 chars | 10 | 5 min |
Error Handling
All errors return a consistent JSON format:
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Content exceeds maximum length for Twitter (280 characters)",
"details": {
"field": "content",
"platform": "TWITTER",
"maxLength": 280,
"actualLength": 312
}
}
}| HTTP Status | Code | Description |
|---|---|---|
| 400 | VALIDATION_ERROR | Invalid request parameters |
| 401 | UNAUTHORIZED | Missing or invalid API key |
| 403 | FORBIDDEN | Insufficient permissions |
| 404 | NOT_FOUND | Resource not found |
| 429 | RATE_LIMITED | Too many requests |
| 500 | INTERNAL_ERROR | Server error |
Next Steps
- API Reference — Full endpoint documentation
- Authentication — API key scopes and security
- SDKs — TypeScript and Go client libraries
- CLI — Post from your terminal
Last updated on