/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: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 theAuthorization header. Use either an organization API key or a pos_... OAuth token. There is no Bearer prefix; pass the raw value:
Rate limiting
The API allows 60 requests per minute per organization by default (self-hosted operators can change this with theAPI_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 theContent-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 amsg 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.

