Public API/Posts/Create project post
POST/api/projects/{projectId}/posts

Create project post

Create a post under a specific project id. API key auth uses the full CLI payload; session auth creates a manual draft.

Request

POST /api/projects/{projectId}/posts Authorization: Bearer YOUR_ACCOUNT_API_KEY Content-Type: application/json

API key body

Same fields as Create or upsert post (title, slug, optional description, keyword, content, status). This path does not support upsert — use POST /api/posts for upsert-by-slug.

{ "title": "How we built our auth flow", "slug": "how-we-built-our-auth-flow", "description": "≤160 char meta description", "keyword": "indie app authentication", "content": "Markdown body…", "status": "draft" }

Response

Returns { data: post, project: { slug } } on API key create so clients can build the public blog URL without a second request.