REST and MCP. One credit wallet.
Drive LinkedIn Post Studio from your own code or an AI assistant — including the Ounie AI Team. Every action is a REST endpoint and a native MCP tool, running the same generation pipeline the dashboard uses and drawing your shared Ounie credits (1 credit = 1¢), never overdrawing. Because every post is grounded and cited from your private Ounie brain, agent generation authenticates with your Ounie master key — there is no keyless / x402 rail.
lps_live_…— this app's keyMint on Dashboard → API keys (shown once, up to 5 active). Lists, reads, exports a post, and adds an AI image. It has no upstream credential, so it can't reach your private brains — grounded generation returns a clear 403 master_key_required.
ounie_live_… — your Ounie master keyYour ounie.com developer key. Enable fleet access on ounie.com and it works across every Ounie app, drawing the same wallet. It is forwarded upstream, so it unlocks grounded, cited generation.
Authorization: Bearer ounie_live_… # If your client can't set headers, append the key as a query param: ?api_key=ounie_live_…
/api/mcp (legacy SSE at /api/sse).Endpoint https://linkedin-posts.ounie.com/api/mcp Header Authorization: Bearer ounie_live_… # Ounie AI Team (TabTab) — the key rides the URL: https://linkedin-posts.ounie.com/api/mcp?api_key=ounie_live_…
| Tool | What it does | Cost |
|---|---|---|
| generate_posts | Write a pack of cited LinkedIn posts from your brain(s). Master key. | 2 credits / post |
| regenerate_post | Rewrite one post from fresh retrieval. Master key. | 2 credits |
| generate_image | Generate/replace an AI image for a post; returns a public URL. | 12 credits |
| list_posts | List your generated posts (newest first). | free |
| get_post | One post + copy-ready text (the export), citations, image URL. | free |
| list_brains | List your Ounie brains to pick from. Master key. | free |
| get_credit_balance | Spendable Ounie credits + monthly included. | free |
| get_pricing | Per-action pricing. No auth required. | public |
| whoami | The authenticated key's owner + key id. | free |
Authorization: Bearer … (or ?api_key=) on any of these./api/brains— List your brainsMaster key (reads ounie.com). Returns { brains:[{ id, name, sourceCount }] }.
/api/posts— Generate a content pack{ "brain_ids": ["…"], "topic": "our launch", "count": 5 }Master key. Bills 2 credits per post produced; settles on posts actually written (thin material → 422 + full refund). Returns { batch_id, post_ids, grounded, credits_spent }.
/api/posts— List your postsFree. Returns { posts:[…] }.
/api/posts/{id}— Get one postFree. Includes hook, body, hashtags, char_count, citations, image_url.
/api/posts/{id}— Edit a post{ "hook": "…", "body": "…", "hashtags": ["growth"] }Free.
/api/posts/{id}/regenerate— Rewrite a post{ "topic": "optional new angle" }Master key. Re-bills 2 credits (thin → refund).
/api/posts/{id}/image— Add an AI imageBills 12 credits; a failure refunds fully. Returns a public image_url.
/api/posts/{id}— Delete a postFree. Also removes its stored image.
{
"id": "…",
"format": "story|how_to|listicle|contrarian|lesson|question",
"hook": "The scroll-stopping first line.",
"body": "The post body, LinkedIn-native line breaks.",
"hashtags": ["leadership", "growth"],
"text": "hook\n\nbody\n\n#leadership #growth", // copy-ready export
"citations": [ // grounded on your brain pages
{ "brainId": "…", "slug": "…", "title": "…", "url": "https://ounie.com/…" }
],
"grounded": true,
"image_url": null,
"credits_spent": 2
}