Skip to main content
The PostSider public REST API exposes the main publishing workflow under the /public/v1 prefix: posts, channels, media, queue slots, analytics, notifications, and approvals. All requests are authenticated with your organization API key, and responses are JSON.

Base URL

All endpoints are relative to your PostSider instance:
For PostSider Cloud the base URL is:
On a self-hosted instance the public API is served under /api behind the bundled nginx. Use https://social.example.com/api/public/v1.

Authentication

Every request includes a credential in the Authorization header. Use either an organization API key or a pos_... OAuth token. There is no Bearer prefix; pass the raw value:
Generate and manage keys from Settings → API in the dashboard. Each key is scoped to your organization. See Authentication for details.
Treat your API key like a password. Anyone with it has full access to your organization’s posts, channels, and media. Rotate a key immediately if it is exposed.

Rate limiting

The API allows 60 requests per minute per organization by default (self-hosted operators can change this with the API_LIMIT environment variable). Every response includes: When you exceed the public API limit, the API returns 429 Too Many Requests. Back off for the number of seconds in Retry-After before retrying. Other application routes use a separate global throttler.

Request and response format

Send request bodies as JSON with the Content-Type: application/json header. Responses are JSON. File uploads to /upload use multipart/form-data instead.

Error codes

The API uses standard HTTP status codes. The response body carries a msg with more detail where available. See the Errors reference for the full catalog, response shapes, and SDK behavior.

Endpoints

Posts

Create, schedule, list, validate, and delete posts across connected channels.

Channels

List channels and groups, connect or disconnect accounts, and read channel analytics.

Media

Upload images and video to the PostSider media library.

Full endpoint reference

If you use Node.js or TypeScript, the @postsider/node SDK wraps these endpoints with a fully typed client. See the SDK Overview to get started.