Overview
The DunSocial API is a JSON REST API at api.dunsocial.com. Learn the base URL, required headers, and what you can build: posts, drafts, media, and memory.
The DunSocial API is a REST API. You send JSON over HTTPS and get JSON back. Most routes need a signed-in user and a workspace.
Base URL
https://api.dunsocial.com
All paths in these docs are relative to that host. Example: GET /api/user/profile means https://api.dunsocial.com/api/user/profile.
What you can build
- Schedule and publish posts from your own app or script
- Manage drafts, media, and brand memory
- Connect social accounts and list members
- Receive events with webhooks when posts publish or fail
For TypeScript apps, use the SDK. For terminal and CI workflows, use the CLI. For chat assistants, use MCP.
The PAT-safe OpenAPI contract is at https://api.dunsocial.com/api/openapi.json.
Common headers
| Header | When | Notes |
|---|---|---|
Authorization |
Almost every route | Bearer <token> — session or personal access token |
Content-Type |
JSON bodies | application/json |
X-Workspace-Id |
Workspace-scoped routes | Must be a workspace you belong to |
Some routes also accept a workspace id in the path (/api/workspaces/:id/...) or as ?workspaceId=. Prefer X-Workspace-Id for consistency.
Response shape
Successful responses usually look like this:
{
"success": true,
"data": { }
}List endpoints often paginate:
{
"success": true,
"data": {
"items": [],
"total": 0,
"limit": 20,
"offset": 0,
"hasMore": false
}
}Quick example
Sign in, then list workspaces:
curl -X POST https://api.dunsocial.com/api/auth/sign-in/email \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com","password":"your-password"}'Next: Authentication.