API Reference
v1Programmatic access to the IdeaForge dynamic idea-scoring engine. Score ideas, retrieve analyses, and browse the dimension library.
https://tryideaforge.comPublic endpoints require no authentication. Authenticated endpoints require a bearer token in the Authorization header.
Authorization: Bearer YOUR_API_KEY
API keys are available on Pro+ tiers (Forge and above). View pricing →
Rate limits: Free tier — 10 req/min · Pro — 60 req/min · Enterprise — custom.
/api/quick-scorePublicInstant 10-dimension score for any idea — fastest analysis, no auth required.
Request Body (JSON)
ideastringrequiredIdea description (20–10,000 chars)categorystringIdea category (optional). One of: SaaS, E-commerce, Consumer App, Marketplace, Hardware/IoT, Health & Wellness, Education, Finance & FinTech, Gaming, Media & Entertainment, Retail & CPG, Professional Services, OtherExample
curl -X POST https://tryideaforge.com/api/quick-score \
-H "Content-Type: application/json" \
-d '{"idea": "A B2B SaaS platform for automated invoice reconciliation"}'Response
{
"score": 72.4,
"grade": "B+",
"dimensionSignature": "Workflow-Efficiency Optimizer",
"topStrengths": ["Clear pain point", "Recurring revenue model"],
"topRisks": ["Competitive market", "Integration complexity"],
"dimensions": [
{ "name": "Market Size", "score": 78, "category": "Market" },
...
]
}/api/analyzeAuth requiredFull multi-dimensional analysis. Dispatches an async job — poll /api/analyze/[jobId] for results.
Request Body (JSON)
ideastringrequiredIdea description (20–10,000 chars)tierstringAnalysis tier. Defaults to 'spark' (100 dims). Options: spark · forge · vault · ignite · inferno · apex · titan · oracle · nexus · atlas · singularity · cosmiccategorystringIdea category (see quick-score for options)Example
curl -X POST https://tryideaforge.com/api/analyze \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"idea": "...", "tier": "forge"}'Response
{
"jobId": "job_abc123",
"status": "queued",
"tier": "forge"
}/api/analyze/batchAuth requiredSubmit up to 5 ideas in a single request. Each is dispatched as an independent async job. Returns HTTP 207 when some items succeed and others fail.
Request Body (JSON)
ideasarrayrequiredArray of 1–5 idea objects, each with { idea, category, tier }Example
curl -X POST https://tryideaforge.com/api/analyze/batch \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"ideas":[{"idea":"...","category":"Technology","tier":"spark"},{"idea":"...","category":"Business","tier":"spark"}]}'Response
{
"jobs": [
{ "index": 0, "jobId": "uuid-1" },
{ "index": 1, "jobId": "uuid-2" }
],
"failed": [
{ "index": 2, "error": "Rate limit exceeded — remaining ideas skipped" }
],
"total": 3
}/api/rate-limit/statusPublicReturn the caller's current analysis quota without consuming a request.
Example
curl https://tryideaforge.com/api/rate-limit/status
Response
{
"tier": "anonymous",
"allowed": true,
"remaining": 4,
"limit": 5,
"resetAt": "2026-04-17T18:30:00.000Z",
"resetInSeconds": 842
}/api/analyze/[jobId]Auth requiredPoll for analysis results by job ID. Returns 202 while in progress, 200 when complete.
Path / Query Params
jobIdstringrequiredJob ID returned from POST /api/analyzeExample
curl https://tryideaforge.com/api/analyze/job_abc123 \ -H "Authorization: Bearer YOUR_API_KEY"
Response
{
"status": "complete",
"result": {
"overallScore": 81.2,
"grade": "A",
"dimensionSignature": "High-Signal Recurring Revenue Play",
"dimensionCount": 200,
"tier": "forge",
"synthesis": { "executiveBrief": "...", "topStrengths": [...], ... },
"dimensionData": [ ... ]
}
}/api/dimensionsPublicBrowse the VaultSpark v5 dimension library — 2,500 dimensions across 9 categories.
Path / Query Params
categorystringFilter by category ID (A–I)qstringFull-text search within dimension names and descriptionslimitnumberMax results (default 50, max 500)Example
curl "https://tryideaforge.com/api/dimensions?category=A&limit=10"
Response
{
"dimensions": [
{ "name": "Market Size", "category": "A", "baseWeight": 1.0, "ideaPool": "all" },
...
],
"total": 2500
}/api/shareAuth requiredGenerate a public share token for an analysis result. Returns a shareable URL.
Request Body (JSON)
analysisIdstringrequiredAnalysis ID to shareExample
curl -X POST https://tryideaforge.com/api/share \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"analysisId": "abc123"}'Response
{
"token": "a3f9b2...",
"shareUrl": "https://tryideaforge.com/share/a3f9b2...",
"expiresAt": null
}/api/report/[analysisId]Auth requiredGenerate a printable HTML/PDF report for an owned analysis, with optional white-label branding query params.
Path / Query Params
analysisIdstringrequiredAnalysis ID to exportcompanyNamestringOptional brand name shown in the report headeraccentColorhex colorOptional #RRGGBB accent colorfooterTextstringOptional footer copyExample
curl "https://tryideaforge.com/api/report/abc123?companyName=Acme&accentColor=%2300E5A0" \ -H "Authorization: Bearer YOUR_API_KEY"
Response
<!DOCTYPE html> <html> <!-- branded printable report --> </html>
/api/dilPublicDimension Intelligence Loop stats — which dimensions are most predictive and how feedback shapes scoring.
Example
curl https://tryideaforge.com/api/dil
Response
{
"totalSignals": 14302,
"uniqueDimensions": 847,
"topAccurateDimensions": [ ... ],
"topFeedbackWeighted": [ ... ]
}/api/trendsAuth requiredCategory scoring breakdown for the authenticated user — per-category counts, average scores, grade distribution, and weekly analysis volume.
Example
curl https://tryideaforge.com/api/trends \ -H "Authorization: Bearer <token>"
Response
{
"categories": [
{
"category": "Technology",
"count": 12,
"avgScore": 71.2,
"topScore": 88.5,
"recentCount": 5,
"grades": { "A": 3, "B": 5, "C": 4 }
}
],
"weekly": [
{ "week": "2026-04-14", "count": 7, "avgScore": 69.3 }
],
"totalAnalyses": 12,
"totalCompleted": 12
}/api/feedbackAuth requiredSubmit overall accuracy feedback or per-dimension votes on an analysis. Feeds the Dimension Intelligence Loop.
Request Body (JSON)
analysisIdstringrequiredAnalysis IDoverall"up" | "down"Overall accuracy votedimensionFeedbackarrayPer-dimension votes: [{dimensionName, vote: 'up'|'down'}]Example
curl -X POST https://tryideaforge.com/api/feedback \
-H "Content-Type: application/json" \
-d '{"analysisId": "abc123", "overall": "up"}'Response
{ "ok": true }The IdeaForge API is in early access. Endpoints may change before general availability.
Questions? founder@vaultsparkstudios.com