Quick Start
Publish your first post via the PostBoost API in under 5 minutes.
1. Get your API key
- Create a free account
- Go to Settings → Access Tokens
- Click Create Token and copy the token
2. Connect a social account
In the PostBoost dashboard, go to Accounts and connect at least one social media account. PostBoost handles OAuth — your users authorize via PostBoost's built-in OAuth flow and you receive an account UUID to use in API calls.
3. Find your workspace UUID
Every API call is scoped to a workspace. Find your workspace UUID in the dashboard URL or via the Workspaces API:
curl https://postboost.co/app/api/panel/workspaces \
-H "Authorization: Bearer YOUR_API_TOKEN"
4. Publish a post
Replace {workspaceUuid} and {accountId} with your values:
curl -X POST https://postboost.co/app/api/{workspaceUuid}/posts \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"accounts": [1],
"versions": [
{
"account_id": 0,
"is_original": true,
"content": [{ "body": "Hello from the PostBoost API! 🚀" }]
}
],
"schedule_now": true
}'
A successful response returns the created post object including its uuid and status.
5. Schedule for later
Instead of schedule_now, use schedule: true with a date and time:
curl -X POST https://postboost.co/app/api/{workspaceUuid}/posts \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"accounts": [1],
"versions": [
{
"account_id": 0,
"is_original": true,
"content": [{ "body": "Scheduled post via API." }]
}
],
"schedule": true,
"date": "2025-06-01",
"time": "10:00",
"timezone": "America/New_York"
}'
Code examples
- Python
- Node.js
- PHP
- Go
import requests
API_TOKEN = "YOUR_API_TOKEN"
WORKSPACE = "your-workspace-uuid"
response = requests.post(
f"https://postboost.co/app/api/{WORKSPACE}/posts",
headers={"Authorization": f"Bearer {API_TOKEN}"},
json={
"accounts": [1],
"versions": [{
"account_id": 0,
"is_original": True,
"content": [{"body": "Hello from Python!"}]
}],
"schedule_now": True,
}
)
post = response.json()
print(post["uuid"])
const response = await fetch(
`https://postboost.co/app/api/${WORKSPACE}/posts`,
{
method: "POST",
headers: {
Authorization: `Bearer ${process.env.POSTBOOST_API_TOKEN}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
accounts: [1],
versions: [{
account_id: 0,
is_original: true,
content: [{ body: "Hello from Node.js!" }],
}],
schedule_now: true,
}),
}
);
const post = await response.json();
console.log(post.uuid);
use Illuminate\Support\Facades\Http;
$response = Http::withToken(config('services.postboost.key'))
->post("https://postboost.co/app/api/{$workspace}/posts", [
'accounts' => [1],
'versions' => [[
'account_id' => 0,
'is_original' => true,
'content' => [['body' => 'Hello from PHP!']],
]],
'schedule_now' => true,
]);
$post = $response->json();
// $post['uuid'] => 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'
import (
"bytes"
"encoding/json"
"net/http"
)
body, _ := json.Marshal(map[string]any{
"accounts": []int{1},
"versions": []map[string]any{{
"account_id": 0,
"is_original": true,
"content": []map[string]string{{"body": "Hello from Go!"}},
}},
"schedule_now": true,
})
req, _ := http.NewRequest("POST",
"https://postboost.co/app/api/"+workspace+"/posts",
bytes.NewBuffer(body),
)
req.Header.Set("Authorization", "Bearer "+apiToken)
req.Header.Set("Content-Type", "application/json")
Next steps
- Authentication — manage API tokens and security
- Webhooks — receive real-time publish confirmations
- API Reference — explore all 54 endpoints
- SDKs — use a pre-built client library