Press Kit Studio
API

Two on-ramps. One credit wallet.

Ounie accounts hit the REST endpoints with a bearer token. AI assistants — including the Ounie AI Team — connect over MCP and get a native tool surface. Both run the same generation pipeline, and calls draw your shared Ounie credits (1 credit = 1¢), never overdrawing.

There is no x402 rail. Every generation is grounded in your own private Ounie brain, so agent access is API keys / MCP with credits — and brain-grounded generation needs your Ounie master key. A keyless pay-per-call would have no brain to ground in.

Authentication
Two bearer rails, one shared Ounie wallet. Every endpoint below also accepts a ?api_key=query param for clients that can't set headers.
pkt_live_…
app key

Minted on Dashboard → API keys (up to 5, shown once). Reads, publishes, lists assets. Cannot ground generation — it has no ounie.com credential.

ounie_live_…
master key

Your ounie.com developer key. Enable fleet access on ounie.com, then use it here. It draws the same wallet AND grounds generation in your brains (it's forwarded upstream to ounie.com's API). This is the key an agent uses to build a kit.

Authorization: Bearer pkt_live_…      # read / publish
Authorization: Bearer ounie_live_…    # read / publish / GENERATE
MCP · for AI assistants and the Ounie AI Team
Streamable HTTP at /api/mcp (legacy SSE at /api/sse). Auth with a pkt_live_… key from your dashboard, or the Ounie fleet master key ounie_live_… to unlock generation.
Endpoint  https://presskit.ounie.com/api/mcp
Header    Authorization: Bearer pkt_live_…

# If your MCP client can't set headers, append the key as a query param:
https://presskit.ounie.com/api/mcp?api_key=pkt_live_…

# The Ounie AI Team (TabTab): add an HTTP MCP entry with the ?api_key= URL.
ToolWhat it doesCost
list_kitsList your press kits (company, status, public URL, views).free
get_kitOne kit in full — boilerplate, bios, facts, angles, contact, assets.free
list_assetsDownloadable press assets (logo/headshots/product) as public URLs.free
generate_kitCompose a cited kit from your brain(s). Master key only.8 credits
regenerate_kitRe-compose a kit from fresh retrieval. Master key only.8 credits
publish_kitPublish/unpublish the public /k/<slug> page.free
get_credit_balanceSpendable Ounie credits + monthly included.free
get_pricingPer-action pricing. No auth required.public
whoamiThe authenticated key's owner, key id, grounding capability.free
REST · the same endpoints the dashboard uses
Send Authorization: Bearer pkt_live_… (or ?api_key=) on any of these. Cookie sessions work too — it's the same route.
GET/api/brainsYour Ounie brains

The brain picker. Needs a cookie session or the master key. Free.

POST/api/kitsGenerate a press kit
{ "brain_ids": ["<uuid>"], "brief": "company overview for press" }

Bills 8 credits; grounded + cited from your brains. Needs a cookie session OR the master key (ounie_live_) — a pkt_live_ key gets 403 master_key_required. Thin material → full refund + 422.

GET/api/kitsList kits

Free. Returns { kits: [...] }.

GET/api/kits/{id}One kit + assets

Free. Returns { kit, assets }.

PATCH/api/kits/{id}Edit any field
{ "tagline": "…", "boilerplate_short": "…" }

Free. Boilerplate, bios, facts, angles, the press-contact block, palette.

POST/api/kits/{id}/regenerateRe-compose
{ "brief": "…" }

Bills 8 credits. Master key (or cookie) required — grounded.

POST/api/kits/{id}/publishPublish / unpublish
{ "publish": true }

Free. Makes /k/<share_slug> live (or takes it down).

POST/api/kits/{id}/assetsUpload a press asset
multipart form: file, label?, kind?

Free. Public-read download URL. logo | headshot | product | other.

DELETE/api/kits/{id}/assets/{assetId}Remove an asset

Free.

DELETE/api/kits/{id}Delete a kit

Free. Kills the public /k link; assets cascade.

Shape of a generated kit
{
  "kit_id": "…",
  "status": "draft",              // published once you publish it
  "grounded": true,               // false ⇒ thin material (refunded)
  "credits_spent": 8,
  "citations": [                  // resolves to your ounie.com brain pages
    { "brainId": "…", "slug": "…", "title": "…", "url": "https://ounie.com/…" }
  ],
  "url": "https://presskit.ounie.com/k/<share_slug>"
}