Skip to main content
The pipeline endpoints power the idea → research → build DAG. Submitting an idea returns immediately with a placeholder card; downstream microservices emit additional cards as they complete, and clients receive them in real time over WebSocket. The card endpoints provide a replay surface for cold launches and reconnects.

Submit an idea

Accept a raw idea, persist a placeholder card, fire the pipeline event, and return immediately. The DAG handles normalization and downstream fanout asynchronously — clients see real-time cards via the WebSocket realtime channel. Rate limit: 20 requests per minute.
string
required
Raw idea text. Length 3–5000 chars.
string
Optional project to attach the idea to.
201 response

Pick features for build planning

After feature research completes, the user can hand-pick which features feed into auto-plan-build. This re-runs build planning with the user’s selection rather than the model’s default ranking. Rate limit: 10 requests per minute.
string
required
Research job that produced the feature list.
string
Optional override; defaults to the research job’s project.
array
required
IDs of features from the research job’s features array. Length 1–50; capped at the first 10 internally because auto-plan-build is most accurate with 3–6 features.
202 response
Returns 400 no_features_resolved when none of the supplied IDs match the research job’s feature list, and 404 research_not_found if the research job does not exist or is not owned by the caller.

Retry a research section

Re-fire a single microservice for a research job. Used when one section of the fan-out failed but the rest of the chain succeeded — for example, when signals timed out while competitors, features, and whitespaces all landed. The endpoint emits a fresh *_retrying card immediately so the client sees the retry land before the worker completes. The microservice emits its own *_ready (or *_failed) card on completion. Rate limit: 10 requests per minute.
string
required
Research job whose section should be re-run.
string
required
One of competitors, features, signals, whitespaces, priorities, build_plan.
202 response

Section behavior

Error codes

List recent cards

Paged list of pipeline cards for the authenticated user. Used on cold launch and as a replay fallback when a WebSocket reconnect misses live events. Rate limit: 60 requests per minute.
Also exposed without the version prefix as GET /cards for clients that pin to the unversioned surface.
string
Filter to a single project.
string
ISO 8601 timestamp. Returns cards strictly older than this — pass the previous batch’s last created_at to paginate backwards.
number
default:"50"
Page size. Range 1–200.
200 response
array
required
Newest cards first. Each item carries the originating microservice (source_msvc), a typed card discriminator (card_type), free-form body, optional follow-up cta_actions, and a privacy scope of private, workspace, or public.
number
required
Number of items in this page.
Cards are ephemeral UI surfaces, not the canonical state. Read research, build graphs, and projects from their dedicated endpoints once a card resolves — cards are only the real-time progress overlay.