Product docs

One live guide for billing proof, member recovery, and server-owned workbench routes.

This is the public handoff surface for Core Publication. It explains what is live today, which routes matter after payment, how the current project API is shaped, and which boundaries are still intentionally not public.

UpdatedApr 5, 2026, 1:26 AM UTC

This page reads the current project API posture instead of freezing a stale handoff note.

Read contracts12

Project-scoped GET routes currently visible to the workbench and this guide.

Guarded writes9

Operator-only mutations still stay inside the server-owned boundary.

Auth modes5

Preview, owner read, fresh owner write, public commerce, and verified callback now have explicit roles.

Audience

This guide is for buyers, operators, and the next product layer.

FluentReact now has enough real surface area that documentation needs to explain who a route is for before anyone clicks into it.

Buyer

Understand what happens after payment.

Use the delivery guide, checkout status, and member desk together so billing proof and archive access do not drift into separate stories.

Operator

Keep public proof and workbench truth aligned.

The project API lane and usage lane now explain what the browser can read, what only operators can change, and where support should escalate.

Integrator

See the current contract boundary before building around it.

FluentReact is not exposing a public self-serve API yet. The read map, mutation inventory, and callback posture are visible so future product layers can integrate honestly.

Live routes

These are the routes that now define the current handoff system.

The guide is only useful if it points at the exact surfaces that already carry billing, access, and workbench truth.

Help tasks

Each task now has a clearer first stop.

Verify a purchase path

Start on checkout status when you need billing proof. Success means the route shows a real session, webhook evidence, and an activation state that matches the member desk.

Recover member access

Use the member desk when the buyer needs receipt continuity, latest archive direction, or support escalation through the same billing trail.

Inspect current API posture

Use the project API lane before building a new product layer. Success means the read map, guarded writes, and auth modes are explicit enough that no one assumes a public self-serve API exists.

Success signals

The handoff is working when the same state survives across multiple surfaces.

  • The checkout route and member desk agree on activation proof.
  • The API lane shows the same contract posture the browser is already using.
  • Guarded workbench actions now leave a visible project-scoped audit trail.
  • Public routes explain current limits instead of promising a larger auth system than the product has earned.
  • Support, billing, and delivery still converge on one receipt trail.

Auth modes

The route family only feels mature when trust boundaries are visible.

  • Project preview: Anonymous or non-operator viewers can read project-scoped workbench resources, but they cannot trigger side effects.
  • Owner read lane: A signed owner session can keep project reads and operator-facing runtime views available without immediately widening into a heavier account-center model.
  • Fresh owner write lane: Guarded project mutations now require a fresher owner-bound session, so compile, review, delivery, governed settings, and demand, telemetry, or usage intervention writes do not ride indefinitely on an older read cookie.
  • Public commerce edge: Checkout creation and status lookup stay public-facing, but they still resolve through validated server handlers.
  • Verified callback: Provider-originated webhook traffic is signature-verified before it can affect billing or activation state.

Response language

The browser and the server now have one calmer contract vocabulary.

ShapeContractDetail
List response{ data, total, page, pageSize, ...summary }Collection routes keep Refine-friendly pagination while still returning project-specific metadata such as summaries and warnings.
Detail response{ data }Project detail resources stay calm and stable on first paint because the server baseline and client hydration share the same shape.
Mutation success{ data } or action-state payloadOperator routes return a machine-readable success shape while still supporting redirect-based flows for form posts.
Error response{ error, code, fieldErrors? }Contract errors are normalized so browser runtime panels can surface safe messages without leaking service internals.

Project reads

Public docs should show the routes the product really reads from.

ResourceMethodAccessDetail
Overview

/api/workbench/project/core-publication/overview

GETprojectDetail resource with project-scoped summary data for the workbench.
Automation

/api/workbench/project/core-publication/automation

GETprojectDetail resource with compile readiness, downstream lane posture, and protected operator compile actions.
Issues

/api/workbench/project/core-publication/issues

GETprojectCollection resource with refine-friendly pagination and normalized list shape.
Reviews

/api/workbench/project/core-publication/reviews

GETprojectCollection resource with refine-friendly pagination and normalized list shape.
Delivery

/api/workbench/project/core-publication/delivery

GETprojectCollection resource with refine-friendly pagination and normalized list shape.
Audience

/api/workbench/project/core-publication/audience

GETprojectDetail resource with aggregate demand posture, operator-safe watch controls, and no contact-level lead exposure.
Usage

/api/workbench/project/core-publication/usage

GETprojectDetail resource with project-scoped usage throughput, intervention controls, and lane-utilization signals.
API

/api/workbench/project/core-publication/api

GETprojectDetail resource with integration contracts, guarded mutation inventory, and platform edge coverage.
Billing

/api/workbench/project/core-publication/billing

GETprojectDetail resource with commercial readiness, project-owned billing controls, and safe operator-only writes.
Events

/api/workbench/project/core-publication/events

GETprojectDetail resource with telemetry posture, operator-safe watch controls, and no raw event-row exposure.
Settings

/api/workbench/project/core-publication/settings

GETprojectDetail resource with governed project settings reads and safe operator-only writes.
Guide

/api/workbench/project/core-publication/guide

GETprojectDetail resource with runbooks, release references, route maps, and durable operator memory for the live project.

Guarded writes and edges

Not every route should be public, and the docs should say that plainly.

MutationMethodAccessDetail
Audience watch update

/api/workbench/project/core-publication/audience

PATCHoperatorSaves aggregate-only audience focus, watch window, and operator note without exposing contact-level lead rows.
Usage intervention update

/api/workbench/project/core-publication/usage

PATCHoperatorSaves project usage focus, intervention mode, target lane, and operator note without exposing billing or recipient-level internals.
Compile cycle

/api/workbench/project/core-publication/automation/compile

POSToperatorTriggers the guarded compile lane while the service layer keeps issue materialization and downstream invalidation server-owned.
Review run

/api/workbench/project/core-publication/reviews/run

POSToperatorRuns quality review for one issue slug through the protected operator lane instead of trusting browser access alone.
Review sweep

/api/workbench/project/core-publication/reviews/sweep

POSToperatorExecutes the full project review sweep to refresh gate posture across the current issue ledger.
Delivery run

/api/workbench/project/core-publication/delivery/run

POSToperatorRuns the latest delivery candidate without exposing recipient-side side effects directly to the browser.
Governance update

/api/workbench/project/core-publication/settings

PATCHoperatorSaves safe project-owned settings while provider secrets, billing authority, and execution control remain outside this route.
Billing controls update

/api/workbench/project/core-publication/billing

PATCHoperatorSaves safe project-owned billing focus, primary public billing surface, and operator notes without exposing merchant secrets or buyer records.
Telemetry watch update

/api/workbench/project/core-publication/events

PATCHoperatorSaves project telemetry focus, watch window, and operator note without exposing raw event rows or callback internals.
Edge routeMethodAccessDetail
Health check

/api/health

GETpublicRelease-proof and uptime route for validating the live worker without opening a protected operator screen.
Checkout create

/api/billing/checkout

POSTpublicStarts commerce from the public product surface while billing services keep provider credentials and validation server-side.
Checkout status

/api/billing/status/[sessionId]

GETpublicLets the member desk and recovery paths resolve billing state without forcing a heavyweight account system.
Paddle webhook

/api/webhooks/paddle

POSTcallbackReceives signed provider callbacks and turns them into billing proof inside the server boundary.

Provider boundaries

The next product layer should inherit these boundaries instead of guessing them.

  • dataProvider: Builds project-scoped API URLs, pagination, and response normalization for Refine without owning security or business policy.
  • accessControlProvider: Controls preview and operator affordances in the browser, but it is not treated as the final permission layer.
  • Next.js route handlers: Remain the first enforcement boundary for auth, payload validation, and the public-versus-operator API split.
  • Services and stores: Own D1 access, fallback behavior, and real side effects so the workbench can widen without coupling the UI to persistence.

Next update trigger

This page should only widen when the runtime truth widens.

  • A second project gets the same public preview and needs its own handoff surface.
  • Member access graduates from session-linked recovery to a fuller authenticated product.
  • Any external integration starts needing a real public API or signed project-to-project contract instead of internal route documentation.

Next step

If you need the live product path, move from docs into the actual surface.

Use the delivery guide for buyer scope, checkout status for billing proof, the member desk for recovery, and the project API lane for current contract truth.