Briefs transform completed research into a structured market analysis document — market map, incumbent analysis, emerging players, feature landscape, market gaps, positioning, and MVP angle. Sections are generated in parallel and streamed as they complete, so you can display partial content immediately rather than waiting for the full document. Each brief is revisioned, diffable, and exportable to PDF or as a shareable App Clip page.Documentation Index
Fetch the complete documentation index at: https://docs.manticscore.com/llms.txt
Use this file to discover all available pages before exploring further.
Create a brief
UUID of the project to create the brief for. The server uses the project’s latest completed research to generate the brief.
UUID of a specific research run to use. When omitted, the server picks the most recent completed research for the project.
Optional template name to vary the brief structure or tone. Pass
null for the default template.201 response
GET /briefs/{brief_id}/events. You can also poll GET /briefs/{brief_id} — it returns whatever sections have been written so far, even during generation.
Briefs can also be created automatically. The first time a Forge run on a project opens a pull request, the server bootstraps a brief for that project (using the latest completed research with
audience: "founder") if one does not already exist, then appends a progress section that summarizes the PR. Subsequent PRs upsert items into that same progress section keyed by pr_number and bump brief.revision. You will see these auto-created briefs in GET /briefs alongside ones you created explicitly.List briefs
Maximum number of briefs to return. Upper bound: 100.
Number of items to skip for pagination.
200 response
Increments each time a section is regenerated. Use with the diff endpoint.
0–100 quality score computed from section completeness and source confidence.
Token for the public share link. Present once the brief has been shared.
Get a brief
Returns the full brief with all sections that have been written so far. During generation, sections complete progressively — poll this endpoint or stream events to track progress.200 response
Structured map of the competitive landscape.
Analysis of established competitors.
Analysis of newer entrants and challengers.
Feature comparison across competitors.
Identified opportunities not well-served by existing products.
Recommended positioning for your product.
Suggested MVP scope and angle based on the market gaps.
Optional auto-maintained section that tracks Forge pull requests opened against this project. Has shape
{"title": "Progress", "items": [{"pr_number": 42, "pr_url": "...", "summary": "...", "appended_at": "..."}]}. Items are upserted on pr_number, so re-emitting the same PR is idempotent. Absent on briefs that have never had a PR auto-appended.Per-section metadata keyed by section name. Each value contains a
quality_score and generated_at timestamp.Web sources consulted during generation. Each source includes a
url, title, snippet, and a confidence score.Stream brief generation events
Subscribe to the live NDJSON stream as the brief’s sections are written. Reconnect at any sequence number using the cursor.Resume from this event sequence number.
{"v": 1, "event": "<type>", "data": {...}}. The event types are:
| Event | Description |
|---|---|
section_progress | A section has been written. Data contains the section name and content. |
brief_ready | All sections are complete. The brief is fully generated. |
error | A fatal error occurred. |
done | Stream is closed. Always the last event. |
Regenerate a section
Re-runs generation for a single section of the brief. Increments the brief’srevision counter. Use the diff endpoint afterwards to compare what changed.
The section to regenerate. One of:
market_map, incumbents, emerging, features, market_gaps, positioning, mvp_angle.200 response
Diff brief revisions
Compare the current version of the brief against an earlier revision to see which sections changed.The earlier revision to compare from. Omit to compare against the immediately previous revision.
200 response
Build a graph from a brief
Generates a build graph using the features in the brief. Returns immediately — the graph is built in the background.201 response
422 if the brief has no features section yet.
Export to PDF
Downloads the brief as a binary PDF file rendered by WeasyPrint. If rendering fails, the server falls back to a plain-text export.Export format. Currently only
pdf is supported.Content-Type: application/pdf. Returns 422 for unsupported format values.
Publish as a shareable clip
Publishes the brief as a public App Clip page atmanticscore.com/clip/brief-....
200 response
502 if the CMS publish step fails.
Read a shared brief (public)
Anyone with the share token can read the brief without authentication. Content-negotiated: returns HTML by default (with Open Graph meta tags), or JSON when you passAccept: application/json.
Rate limit: 30 requests per minute.
Delete a brief
204 No Content on success.