BoardPulse AI is built around a single idea: executives and analysts should be able to ask questions in plain language and get answers they can act on. You type a question, and the system translates it into a verified SQL query, runs it against your live database, and returns a structured response — including a professional summary, a data table, an optional chart, and downloadable files.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/FloxTBoTyy/BoardPulse-AI/llms.txt
Use this file to discover all available pages before exploring further.
How it works
Each question you send moves through a five-stage LangGraph pipeline that handles everything from loading your workspace schema to composing the final answer.load_context
BoardPulse loads your workspace configuration — the approved table list, source database dialect, and any workspace-level settings. This context shapes every subsequent step.
draft_query
Your message is sent to the configured AI provider (cloud, local, or mock) along with the workspace schema. The model returns a SQL draft and an executive summary in the
answer field.validate_query
The drafted SQL passes through the SQL guardrail layer. Only
SELECT statements against your approved tables are allowed. Any forbidden operation raises an HTTP 422 before execution.execute_query
The validated query runs against your source database in read-only mode. Results are wrapped with a safety
LIMIT, then converted into a table, chart, and export files.Request schema
Send aPOST to /api/v1/chat/query with a JSON body matching ChatRequest:
| Field | Type | Default | Description |
|---|---|---|---|
message | string | required | Your question (2–2000 characters) |
workspace_id | string | "default" | Workspace to query against |
model | string | null | null | Override the model name for this request |
preferred_provider | "cloud" | "local" | "hybrid" | "mock" | null | null | AI provider preference |
include_sql | boolean | true | Include the generated SQL in the response |
Provider options
cloud
Routes to an OpenAI-compatible API (e.g., GPT-4.1-mini). Requires
OPENAI_API_KEY.local
Routes to a local Ollama instance. Requires
OLLAMA_ENABLED=true and a running model.hybrid
Prefers
local if Ollama is available, falls back to cloud. Good default for production.mock
Returns deterministic responses without calling any AI model. Use for testing and CI.
Response schema
A successful query returns aChatResponse object:
| Field | Type | Description |
|---|---|---|
answer | string | Executive-quality natural-language summary of the result |
sql | string | null | The validated SQL that was generated (only when include_sql: true) |
executed_sql | string | null | The exact SQL that ran, including any injected LIMIT. Always returned when a query was executed. |
provider | string | The AI provider that handled the request (cloud, local, mock) |
table | QueryResultTable | null | Structured result set with columns and rows |
chart | ChartSpec | null | Chart spec with type, labels, series, and optional base64 image |
exports | ExportArtifact[] | CSV and XLSX download artifacts |
warnings | string[] | Non-fatal warnings from the pipeline |
meta | object | Metadata — source dialect, approved tables, row count |
timestamp | datetime | UTC timestamp of when the response was generated |
Example
Request
Response
Tips
The
executed_sql field always reflects what actually ran against the database, including safety limits applied by the system. Use this field — not sql — for compliance logging.