API
API Reference
Complete reference for all Social0 REST API endpoints.
Base URL
https://api.social0.app/v1Authentication
All endpoints require:
Authorization: Bearer sk_live_YOUR_KEYResponse conventions
- JSON field names use snake_case
- Every response includes
x-request-id - Errors:
{ "error": { "code", "message" } }
Endpoints
| Section | Description |
|---|---|
| Accounts | List, connect, and disconnect social accounts |
| Posts | Create, publish, schedule, and manage posts |
| Jobs | Poll or stream publish job progress |
| Media | Upload images and video |
| Webhooks | Manage webhook subscriptions |
Copy-paste examples
cURL — list posts
curl "https://api.social0.app/v1/posts?status=draft&limit=10" \
-H "Authorization: Bearer sk_live_YOUR_KEY"cURL — schedule (UTC)
curl -X POST https://api.social0.app/v1/posts/schedule \
-H "Authorization: Bearer sk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Monday motivation",
"platforms": ["ACCOUNT_UUID"],
"scheduledAt": "2026-07-14T09:00:00.000Z"
}'cURL — schedule (explicit offset)
curl -X POST https://api.social0.app/v1/posts/schedule \
-H "Authorization: Bearer sk_live_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "Monday motivation",
"platforms": ["ACCOUNT_UUID"],
"scheduledAt": "2026-07-14T14:30:00+05:30"
}'Python — full publish flow
import os, time, uuid, requests
API = "https://api.social0.app"
KEY = os.environ["SOCIAL0_API_KEY"]
HEADERS = {"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"}
r = requests.post(
f"{API}/v1/posts/publish",
headers={**HEADERS, "Idempotency-Key": str(uuid.uuid4())},
json={"content": "Hello API", "platforms": ["YOUR_ACCOUNT_UUID"]},
timeout=30,
)
r.raise_for_status()
tracking_id = r.json()["tracking_id"]
while True:
job = requests.get(f"{API}/v1/jobs/{tracking_id}", headers=HEADERS, timeout=30).json()
if job["status"] in ("completed", "failed"):
print(job)
break
time.sleep(2)JavaScript (Node 18+) — create draft then publish
const headers = {
Authorization: `Bearer ${process.env.SOCIAL0_API_KEY}`,
"Content-Type": "application/json",
};
const draft = await fetch("https://api.social0.app/v1/posts", {
method: "POST",
headers,
body: JSON.stringify({
content: "Draft via API",
platforms: [process.env.SOCIAL0_ACCOUNT_ID],
}),
}).then((r) => r.json());
const pub = await fetch(`https://api.social0.app/v1/posts/${draft.id}/publish`, {
method: "POST",
headers: { ...headers, "Idempotency-Key": crypto.randomUUID() },
}).then((r) => r.json());
console.log(pub.tracking_id);