Synthesis
How Praxiom AI synthesizes raw research into structured, evidence-backed insights.
Overview
Synthesis is the core intelligence step in Praxiom AI. You select a set of processed research sources, and the AI agent reads every document, cross-references themes, and extracts structured insights complete with direct quotes, severity ratings, and frequency counts. This is where raw user voice becomes actionable product intelligence.
How It Works
Select sources
Choose the research sources you want to synthesize. All selected sources must have a processing_status of completed. If any source is still pending or failed, the endpoint returns 422 with code SOURCES_NOT_READY.
Trigger synthesis
Call POST /api/research/synthesize with:
| Field | Type | Description |
|---|---|---|
workspace_id | UUID | The workspace containing the sources |
source_ids | UUID[] | Array of source IDs to synthesize |
synthesis_type | String | Controls the analysis approach |
AI agent processes
The synthesis agent runs through a multi-step pipeline:
- Read — Fetches all source text via the
synthesize_researchtool - Cross-reference — Identifies shared themes, patterns, and contradictions across sources
- Extract — Produces structured insights with quotes, severity, and frequency
- Persist — Saves insights to the database and vector store via
save_insights
Synthesis typically takes 15-60 seconds depending on the volume of source material.
Review results
The response includes:
insights— Array of structured insight objectsinsight_ids— UUIDs of all saved insightssummary— A text summary of what the agent found
Key Concepts
Concurrency Control
Only one synthesis can run per workspace at a time. If you trigger a second synthesis while one is already in progress, the API returns 409 with code SYNTHESIS_IN_PROGRESS. This prevents duplicate AI calls and ensures consistent results.
Rate Limiting
The synthesis endpoint is rate-limited to 10 requests per minute to manage compute costs. If you exceed this, you receive a 429 Too Many Requests response.
Usage Limits
Synthesis operations count toward your plan's usage quota. When limits are reached, the API returns 402 with code USAGE_LIMIT_EXCEEDED, including details about your current usage and plan limits.
What the Agent Produces
Each insight extracted during synthesis includes:
| Field | Description |
|---|---|
title | Short summary of the insight |
description | Detailed explanation with context |
insight_type | Category (e.g. pain_point, opportunity, feature_request, user_behavior, feedback_theme) |
severity | Impact level: low, medium, high, or critical |
frequency | How many sources mention this theme |
quotes | Direct quotes from research sources as evidence |
source_ids | Which sources contributed to this insight |
The more diverse your source types (mixing interviews with support tickets and survey data), the richer the cross-referenced insights. Frequency counts become especially meaningful when multiple source types confirm the same theme.
Active Subscription Required
Synthesis requires an active subscription. The endpoint checks for a valid subscription via a feature gate. If your workspace does not have an active plan, you receive a 403 response.
Example
curl -X POST https://api.praxiomai.xyz/api/research/synthesize \
-H "Authorization: Bearer YOUR_JWT" \
-H "Content-Type: application/json" \
-d '{
"workspace_id": "your-workspace-uuid",
"source_ids": ["source-1-uuid", "source-2-uuid"],
"synthesis_type": "comprehensive"
}'
What's Next
Once you have insights, learn how to browse, search, and triage them in the Insights guide.
Was this helpful?