API DOCUMENTATION

OmniPostr API

A stable, versioned API for turning one input into platform-ready content. This documentation describes the public API surface (served from api.omnipostr.com) — not our internal orchestration URLs.

Versioned Key-based auth JSON responses

Production safety

We intentionally do not publish internal workflow endpoints. If you see webhook URLs anywhere, treat them as internal infrastructure and don’t embed them in customer-facing integrations.

Base URL

All requests use a versioned base URL. Your application should build URLs using this prefix so upgrades stay safe.

https://api.omnipostr.com/v1

Authentication

Authenticate using an API key sent in the X-API-Key header. API keys are issued to paid customers from the OmniPostr dashboard.

X-API-Key: omni_••••••••••
Trial users: Trial access is designed for use through the OmniPostr app UI. Trial traffic is rate-limited and gated by trial identity in-app (not intended as a general public API key).
Access: API keys are available to Growth plans and above. If you need API access or higher limits, please contact support.

Endpoints

Generate

Create a content package from a URL or raw text.

Method
Path
Description
POST
/content/package
Generate a multi-platform package from a URL or text.
{ "url": "https://example.com/article", "text": "", "custom_prompt": "" }
Return shape is designed to be human-readable and stable. Some plans may unlock additional output types.

Stats

Fetch usage and plan statistics for the authenticated key.

Method
Path
Description
GET
/stats
Usage and limits (daily/monthly), plus plan metadata.

History

Fetch recent generations. Supports cursor pagination.

Method
Path
Description
GET
/history
Recent activity with limit and cursor.
GET /v1/history?limit=10&cursor=...

Rate limits

Rate limits vary by plan and are enforced server-side. If you exceed limits, you’ll receive an HTTP 429 response. For best reliability, implement exponential backoff and avoid parallel bursts.

Errors

Errors return JSON with a short error code and a message suitable for logs and UI display.

{ "success": false, "error": "RATE_LIMITED", "message": "Daily limit reached" }

Examples

Generate from a URL

curl -X POST "https://api.omnipostr.com/v1/content/package" \ -H "Content-Type: application/json" \ -H "X-API-Key: omni_XXXX" \ -d '{"url":"https://example.com/article"}'

Fetch stats

curl "https://api.omnipostr.com/v1/stats" \ -H "X-API-Key: omni_XXXX"

Fetch history

curl "https://api.omnipostr.com/v1/history?limit=10" \ -H "X-API-Key: omni_XXXX"