A project is one content workspace: its own entries, its own locales, and its own API keys. Most teams use one project per product.
1. Create the project
Sign in at kookee.dev and create a project. You will be asked for:
Name — how the project appears in the dashboard
Slug — a URL-safe identifier used in dashboard and portal URLs
Every project starts with English as its default locale: the language you write in first, and the one that locale fallback returns. Change it, and add more locales, under Locale Settings in the project settings. Choose the default carefully, since every entry without a matching translation falls back to it.
How many projects one account can own depends on its plan: 1 on Free, 5 on Pro, 25 on Ultra.
2. Add some content
Open any module — Blog is the easiest to start with — and create an entry. Give it a title and a body, then publish it.
This step matters more than it looks. The API only returns published content, so an empty or draft-only project returns an empty list. When your first integration shows nothing, this is almost always why.
3. Generate an API key
In your project sidebar, open Connect → API keys and click Create Key. Give it a name that says where it will be used — "marketing site", "mobile app" — so you can rotate one without touching the others.
There is one kind of API key. It reads your published content, adds reactions, sends help-chat questions, records cookie consent and sends the site widget's feedback messages, which stay private until your team reviews them; it cannot edit or publish anything. That is why it is safe to use in client-side code.
If you plan to work with an AI assistant, it connects with a personal MCP token instead, created on Connect → MCP server. Keep that one private — it reads your drafts, and a token with write access can publish.
Copy the key when it is shown and store it somewhere safe.
4. Store the key in an environment variable
Never commit a key to your repository — not because this key is secret, but so you can rotate it without a code change.
# Node.js / Next.js — .env or .env.local
KOOKEE_API_KEY=your-api-key
# Vite / Vue — .env
VITE_KOOKEE_API_KEY=your-api-key
Add .env and .env.local to your .gitignore.
// Node.js / Next.js
const kookee = new Kookee({ apiKey: process.env.KOOKEE_API_KEY! });
// Vite / Vue
const kookee = new Kookee({ apiKey: import.meta.env.VITE_KOOKEE_API_KEY });
Anything prefixed VITE_ or NEXT_PUBLIC_ is bundled into your client build and is publicly visible. That is fine for the API key — it is designed for exactly that.
5. Verify it works
curl -H "Kookee-API-Key: YOUR_API_KEY" https://api.kookee.dev/v1/health
A successful response confirms the key is valid. A 401 means the key is wrong, missing or was revoked.
6. Invite the people who will write
A project you created is a project of one. On the Team page you can add colleagues by email address, or create an invite link they can use themselves — optionally restricted to your own email domains.
Writers do not need an API key or access to your repository; they need a seat. Free projects hold 3 people, Pro 10 and Ultra 100, and a pending invitation holds a seat until it is accepted.
Next steps
Inviting your team to a project — roles, invitations and invite links
Your first API call — fetch real content
Installing the SDK — add
@kookee/sdkAPI keys and security — what a key can and cannot do