Authentication
All requests require a Bearer token in the Authorization header.
Keys start with lpk_live_ and are issued from your dashboard.
Each key is shown only once on creation โ store it securely.
API access is limited to Agency tier. Studio tier gets read-only access (GET endpoints only).
Example header
Authorization: Bearer lpk_live_YOURKEYHERE
curl example
curl https://blueprintlaunch.app/api/v1/usage \
-H "Authorization: Bearer lpk_live_YOURKEYHERE"
Node.js
const res = await fetch('https://blueprintlaunch.app/api/v1/usage', {
headers: { Authorization: 'Bearer lpk_live_YOURKEYHERE' }
});
const usage = await res.json();
console.log(`Used: ${usage.used_this_month} blueprints this month`);
Endpoints
Generate a full blueprint from an app idea. Returns all 11 sections + viability score. Counts against your monthly tier limit.
Request body (JSON)
| Field | Type | Required | Description |
| idea | string | required | Your app idea. 10โ2000 characters. |
Request โ curl
curl -X POST https://blueprintlaunch.app/api/v1/blueprints \
-H "Authorization: Bearer lpk_live_YOURKEYHERE" \
-H "Content-Type: application/json" \
-d '{"idea":"A Duolingo-style app for learning SQL through daily puzzles"}'
Request โ Node.js
const res = await fetch('https://blueprintlaunch.app/api/v1/blueprints', {
method: 'POST',
headers: {
Authorization: 'Bearer lpk_live_YOURKEYHERE',
'Content-Type': 'application/json',
},
body: JSON.stringify({ idea: 'A Duolingo-style app for learning SQL through daily puzzles' }),
});
const blueprint = await res.json();
console.log(`Blueprint ready: ${blueprint.share_url}`);
Response (201 Created)
{
"id": 1042,
"slug": "aB3xKpQr7m",
"title": "QueryQuest โ Learn SQL by solving mysteries",
"idea_input": "A Duolingo-style app for learning SQL through daily puzzles",
"sections": {
"product_concept": "...",
"target_customer": "...",
"feature_plan": "...",
"brand_direction": "...",
"landing_page_copy": "...",
"app_store_copy": "...",
"pricing_strategy": "...",
"paywall_plan": "...",
"marketing_content": "...",
"developer_prompt": "...",
"launch_checklist": "..."
},
"viability": { "score": 82, "verdict": "Strong signal", "signals": {} },
"share_url": "https://blueprintlaunch.app/b/aB3xKpQr7m",
"pdf_url": "https://blueprintlaunch.app/b/aB3xKpQr7m/pdf",
"created_at": "2026-06-13T09:00:00.000Z"
}
Retrieve a single blueprint by its integer ID. Only blueprints owned by the authenticated user are accessible.
Path params
| Param | Type | | Description |
| id | integer | required | Blueprint integer ID returned from POST /blueprints. |
Request
curl https://blueprintlaunch.app/api/v1/blueprints/1042 \
-H "Authorization: Bearer lpk_live_YOURKEYHERE"
Response (200)
{
"id": 1042,
"slug": "aB3xKpQr7m",
"title": "QueryQuest โ Learn SQL by solving mysteries",
"idea_input": "A Duolingo-style app for learning SQL through daily puzzles",
"sections": { ... },
"viability_score": 82,
"viability_signals": { "verdict": "Strong signal" },
"is_public": false,
"category": null,
"created_at": "2026-06-13T09:00:00.000Z",
"updated_at": "2026-06-13T09:00:00.000Z",
"share_url": "https://blueprintlaunch.app/b/aB3xKpQr7m",
"pdf_url": "https://blueprintlaunch.app/b/aB3xKpQr7m/pdf"
}
Paginated list of your blueprints in reverse-chronological order. Uses cursor-based pagination via the cursor query param.
Query params
| Param | Type | | Description |
| limit | integer | optional | Results per page. Default 20, max 100. |
| cursor | integer | optional | Blueprint ID to paginate from (exclusive). Pass next_cursor from previous response. |
Request
curl "https://blueprintlaunch.app/api/v1/blueprints?limit=5&cursor=1050" \
-H "Authorization: Bearer lpk_live_YOURKEYHERE"
Response (200)
{
"blueprints": [
{
"id": 1042,
"slug": "aB3xKpQr7m",
"title": "QueryQuest โ Learn SQL by solving mysteries",
"idea_input": "...",
"is_public": false,
"category": null,
"created_at": "2026-06-13T09:00:00.000Z",
"updated_at": "2026-06-13T09:00:00.000Z",
"share_url": "https://blueprintlaunch.app/b/aB3xKpQr7m",
"pdf_url": "https://blueprintlaunch.app/b/aB3xKpQr7m/pdf"
}
// ...
],
"pagination": {
"limit": 5,
"next_cursor": 1038,
"has_more": true
}
}
Returns your current plan usage for the billing cycle. Agency tier has no monthly cap (monthly_limit is null).
Request
curl https://blueprintlaunch.app/api/v1/usage \
-H "Authorization: Bearer lpk_live_YOURKEYHERE"
Response (200)
{
"tier": "agency",
"used_this_month": 47,
"monthly_limit": null,
"remaining": null,
"period_end": "2026-07-01T00:00:00.000Z"
}
Regenerate a single section of an existing blueprint. Useful for iterating on a specific section without re-generating the entire document. Cap: 30 section regens/day per user.
Path params
| Param | Type | | Description |
| id | integer | required | Blueprint integer ID. |
Request body (JSON)
| Field | Type | Required | Description |
| section | string | required | Section key. One of: product_concept, target_customer, feature_plan, brand_direction, landing_page_copy, app_store_copy, pricing_strategy, paywall_plan, marketing_content, developer_prompt, launch_checklist |
Request
curl -X POST https://blueprintlaunch.app/api/v1/blueprints/1042/regenerate \
-H "Authorization: Bearer lpk_live_YOURKEYHERE" \
-H "Content-Type: application/json" \
-d '{"section":"pricing_strategy"}'
Response (200)
{
"blueprint_id": 1042,
"section": "pricing_strategy",
"content": { ... },
"regen_count_today": 3,
"regen_limit_daily": 30
}