API
Content negotiation
Every mkdn.io site supports standard HTTP content negotiation via the Accept header. No API key required for public sites.
# Get rendered HTML (default for browsers)
curl https://yoursite.mkdn.io/docs
# Get raw Markdown
curl -H "Accept: text/markdown" https://yoursite.mkdn.io/docs
# Force raw Markdown via URL
curl https://yoursite.mkdn.io/docs.md
Response headers
Markdown responses include:
| Header | Value |
|---|---|
Content-Type | text/markdown; charset=utf-8 |
Vary | Accept |
x-markdown-tokens | Estimated token count |
Content-Signal | ai-train=yes, search=yes, ai-input=yes |
/llms.txt
Every site automatically serves /llms.txt — a structured index of all pages, compatible with AI tools that consume the llms.txt spec.
API keys
API keys enable programmatic access to dashboard operations. Requires a Pro plan or higher.
Creating a key
- Go to app.mkdn.io/keys
- Click Create key
- Enter a name, select scopes, and optionally restrict to a specific site
- Copy the key immediately — it is shown only once
Keys follow the format mkdn_ followed by 64 hex characters.
Scopes
| Scope | Description |
|---|---|
read | Read site configuration and analytics |
write | Update site configuration |
admin | Full access including creating and deleting sites |
Authentication
Pass the key in the Authorization header:
curl -H "Authorization: Bearer mkdn_your_key_here" \
https://app.mkdn.io/api/sites
Revoking a key
Keys can be revoked at any time from app.mkdn.io/keys. Revoked keys stop working immediately.
Rate limits
| Plan | Requests/min |
|---|---|
| Free | 60 |
| Pro | 300 |
| Team | 1000 |
| Enterprise | Custom |
Rate limit headers are included in all responses:
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 58
X-RateLimit-Reset: 1712345678