Skip to main content

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.

Every time you ask a question, BoardPulse AI automatically generates two export files from the full query result — a CSV and an XLSX — regardless of whether you asked for them. These files are created in the background as part of the response pipeline and are immediately available for download via direct links included in every ChatResponse.

Export artifact schema

Each export is represented as an ExportArtifact object in the exports array of the response:
FieldTypeDescription
format"csv" | "xlsx"File format. The current pipeline generates CSV and XLSX only.
filenamestringThe file name as stored on the server
urlstringDownload path, e.g. /api/v1/exports/{filename}

File naming convention

Export file names are generated from the AI’s suggested export_base_name (a slug derived from your question) combined with a Unix timestamp:
{slugified-base-name}-{unix-timestamp}.csv
{slugified-base-name}-{unix-timestamp}.xlsx
For example, a question about regional sales might produce:
total-sales-by-region-1714123456.csv
total-sales-by-region-1714123456.xlsx
The base name is slugified automatically — spaces and special characters become hyphens, and the result is lowercased. If no base name is available, the system falls back to boardpulse-export.

Downloading exports

Use a GET request to retrieve any export file by name:
curl -O http://localhost:8000/api/v1/exports/total-sales-by-region-1714123456.csv
curl -O http://localhost:8000/api/v1/exports/total-sales-by-region-1714123456.xlsx
The server validates the file path before serving it. Attempts to traverse outside the exports directory (e.g., via ../ in the filename) will fail with a 404.

Example exports array in a response

{
  "exports": [
    {
      "format": "csv",
      "filename": "total-sales-by-region-1714123456.csv",
      "url": "/api/v1/exports/total-sales-by-region-1714123456.csv"
    },
    {
      "format": "xlsx",
      "filename": "total-sales-by-region-1714123456.xlsx",
      "url": "/api/v1/exports/total-sales-by-region-1714123456.xlsx"
    }
  ]
}

Configuration

The directory where export files are stored is controlled by the EXPORTS_DIR environment variable:
EXPORTS_DIR=/app/exports
The directory is created automatically if it does not exist. In the default Docker Compose setup, this path is bind-mounted so files persist across container restarts.
When using Open WebUI, the chat interface displays a maximum of 20 rows in the results table to keep the conversation readable. The export files always contain the full result set from the query. Download the CSV or XLSX to access all rows.
Export file names are timestamped and never overwritten. You can download the same question’s results multiple times safely — each query run produces a new, uniquely named file.

Build docs developers (and LLMs) love