- Summary — a concise description of what the analysis found.
- Recommendations — concrete, actionable suggestions for improving the design.
POST, then poll with a GET until the content is ready.
When generation completes, the content is returned in the
data field as a Markdown string. Render it as Markdown to preserve headings and lists.Which ID to use
This is the most common source of confusion, so it is worth getting right.POST /analyses returns the screenshot id. Use that id to poll Get an analysis. When the analysis succeeds, that response also returns _internal_exposed_id — the analysis id. Use the analysis id for:
- Update analysis metadata
- Generate and Get a summary
- Generate and Get recommendations
Add context (optional)
Before triggering generation, you can attach context to the analysis so the generated content focuses on the page, audience, and business outcome that matter to you. See Update analysis metadata.
Trigger generation
Trigger a summary (use the
recommendations path for recommendations). Calling POST again is safe — if generation was already triggered, it returns the current status.JavaScript example
/analyses/recommendations/${analysisId} for both the POST trigger and the polling path.
Result expiry
Summary and recommendation tasks become unavailable one hour after they were started, after which the request returns410 Gone. If this happens, re-trigger generation with a POST and poll again.
Errors
The generated-content endpoints use a{ "success": false, "msg": "..." } error shape:
404analysis_not_found— no analysis with that id for your account.404summary_not_found(orrecommendations_not_found) — nothing generated yet; trigger one withPOSTfirst.410analysis_expired— the task is older than one hour.500generation failed — re-trigger withPOST.
