Skip to main content
Manage the reports built with Report Builder — the drag-and-drop canvas for client-ready SEO, traffic, audit, and AI-visibility reports. Every route is scoped to the selected team (brand) and requires at least the member role.
Listing reports omits the heavy content document to keep payloads light. Fetch a single report to get its full content.

Report fields


List Reports

GET /reports List every report for the selected team, newest edit first. Returns { reports } with content omitted from each row.

List Templates

GET /reports/templates Return the visible prebuilt report templates (managed by SnowSEO admins). Each template exposes slug, name, description, icon, accent, and content, ordered by sort order.

Get a Report

GET /reports/{id} Fetch one report including its full content document. Returns 404 if the report doesn’t belong to the team.

Create a Report

POST /reports Create a report from a name and an initial document. Body fields: Responds 201 with { report } (full detail).

Update a Report

PATCH /reports/{id} Update a report’s name, content, and/or templateSlug — this is the debounced-autosave target. At least one of the three fields must be present, otherwise 400. Returns the updated { report }.

Delete a Report

DELETE /reports/{id} Delete a report. Returns { success: true }, or 404 if not found for the team.