Data Questions API
Data Questions are durable Q&A threads for product, domain, and dataset
questions. They can be scoped to an organization or to a single space. Space
scoped endpoints are available under /api/v1.0/spaces/{slug}/data-questions.
Space-Scoped Threads
| Method | Endpoint | Description |
|---|---|---|
GET | /spaces/{slug}/data-questions | List threads in a space. |
POST | /spaces/{slug}/data-questions | Create a thread and first message. |
GET | /spaces/{slug}/data-questions/{thread_id} | Fetch a thread with messages. |
PATCH | /spaces/{slug}/data-questions/{thread_id} | Update thread metadata or status. |
GET | /spaces/{slug}/data-questions/suggestions?q={query} | Suggest products, domains, datasets, and users. |
List Filters
| Parameter | Description |
|---|---|
q | Text search. |
status | open, answered, or resolved. |
domain_id | Filter by linked domain. |
product_id | Filter by linked product. |
dataset_id | Filter by linked master dataset. |
author_id | Filter by thread author. |
mentioned_user_id | Filter by mentioned user. |
cross_domain | Filter cross-domain threads. |
my_mentions | Use the current user as the mention filter. |
unanswered | Shortcut for open/unanswered threads. |
List endpoints set pagination headers.
Create Thread
curl -X POST "https://api.qarion.com/api/v1.0/spaces/finance/data-questions" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Which table owns net revenue?",
"content_markdown": "I need the certified source for net revenue by month.",
"domain_ids": [],
"product_ids": [],
"dataset_ids": [],
"routed_user_ids": []
}'
Creating or updating a thread queues a background search reindex.
Messages, Votes, and Attachments
| Method | Endpoint | Description |
|---|---|---|
POST | /spaces/{slug}/data-questions/{thread_id}/messages | Add a message to a thread. |
PATCH | /spaces/{slug}/data-questions/{thread_id}/messages/{message_id} | Update a message authored by the current user. |
PATCH | /spaces/{slug}/data-questions/{thread_id}/messages/{message_id}/vote | Set, change, or clear a vote. |
POST | /spaces/{slug}/data-questions/{thread_id}/messages/{message_id}/attachments | Upload an attachment. |
GET | /spaces/{slug}/data-questions/attachments/{attachment_id}/download | Download an attachment. |
DELETE | /spaces/{slug}/data-questions/attachments/{attachment_id} | Delete an attachment. |
Adding an answer can trigger automatic summary generation and issue detection, depending on configured trigger settings.
Summaries and Issue Recommendations
| Method | Endpoint | Description |
|---|---|---|
GET | /spaces/{slug}/data-questions/summary-config | Return summary trigger settings. |
GET | /spaces/{slug}/data-questions/{thread_id}/summary | Get the persisted thread summary. |
POST | /spaces/{slug}/data-questions/{thread_id}/summary | Generate or refresh a thread summary. |
GET | /spaces/{slug}/data-questions/issue-detection-config | Return issue detection settings. |
POST | /spaces/{slug}/data-questions/{thread_id}/messages/{message_id}/issue-recommendation | Generate or refresh an issue recommendation. |
POST | /spaces/{slug}/data-questions/{thread_id}/issue-recommendations/{recommendation_id}/dismiss | Dismiss a recommendation. |
POST | /spaces/{slug}/data-questions/{thread_id}/issue-recommendations/{recommendation_id}/create-issue | Create an issue from a recommendation. |
Issue recommendation generation can return both a generic issue recommendation
and record-level issue drafts. Record drafts are accepted only for products that
are already linked to the thread or for a single unambiguous product inferred
from the thread title/messages. If the inferred product is used, Qarion stores a
mentioned product link back to the source message so later API reads include
that product context.
Organization-Scoped Threads
Organization-scoped endpoints use the organization slug:
| Method | Endpoint | Description |
|---|---|---|
GET | /{slug}/data-questions | List organization threads. |
POST | /{slug}/data-questions | Create an organization thread. |
GET | /{slug}/data-questions/{thread_id} | Fetch an organization thread. |
PATCH | /{slug}/data-questions/{thread_id} | Update organization thread metadata or status. |
POST | /{slug}/data-questions/{thread_id}/messages | Add a message. |
PATCH | /{slug}/data-questions/{thread_id}/messages/{message_id} | Update a message. |
PATCH | /{slug}/data-questions/{thread_id}/messages/{message_id}/vote | Vote on a message. |
POST | /{slug}/data-questions/{thread_id}/messages/{message_id}/attachments | Upload an attachment. |
GET | /{slug}/data-questions/{thread_id}/summary | Get the persisted thread summary. |
POST | /{slug}/data-questions/{thread_id}/summary | Generate or refresh a summary. |
Use space-scoped endpoints when the question belongs to one workspace. Use organization-scoped endpoints when routing spans spaces or domains.
Related
- Issues API — Create follow-up issues from recommendations
- Search API — Data Questions appear in global search
- Notifications API — Mentions and routed users receive updates