Documentation Index
Fetch the complete documentation index at: https://docs.thig.ai/llms.txt
Use this file to discover all available pages before exploring further.
Exports API
All export endpoints require authentication. PDF, DOCX, Notion, and Google Docs are gated by feature flags.
PDF Export
Feature flag: export_pdf
Body:
| Field | Type | Required | Description |
|---|
projectId | string | Yes* | Export PRD from this project |
content | string | Yes* | Or provide raw content directly |
title | string | No | Document title |
*Provide either projectId or content.
curl -X POST https://app.thig.ai/api/export/pdf \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"projectId": "proj_123", "title": "Mobile App PRD"}' \
-o prd-export.pdf
Response: application/pdf binary file.
HTML Export
Body: Same as PDF.
curl -X POST https://app.thig.ai/api/export/html \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"projectId": "proj_123"}' \
-o prd-export.html
Response: text/html self-contained HTML file.
DOCX Export
Feature flag: export_docx
Body: Same as PDF.
curl -X POST https://app.thig.ai/api/export/docx \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"projectId": "proj_123"}' \
-o prd-export.docx
Response: application/vnd.openxmlformats-officedocument.wordprocessingml.document binary file.
Notion Export
Feature flag: export_notion
Requires Notion integration to be connected.
Body:
| Field | Type | Required | Description |
|---|
projectId | string | Yes | Project to export |
parentPageId | string | No | Notion page to nest under |
curl -X POST https://app.thig.ai/api/export/notion \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"projectId": "proj_123", "parentPageId": "notion_page_abc"}'
Response:
{
"success": true,
"pageUrl": "https://notion.so/...",
"pageId": "page_123"
}
Google Docs Export
POST /api/export/google-docs
Feature flag: export_google_docs
Requires Google OAuth sign-in.
Body:
| Field | Type | Required | Description |
|---|
projectId | string | Yes | Project to export |
curl -X POST https://app.thig.ai/api/export/google-docs \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"projectId": "proj_123"}'
Response:
{
"success": true,
"documentUrl": "https://docs.google.com/...",
"documentId": "doc_123"
}
Confluence Export
POST /api/export/confluence
Feature flag: export_confluence
Requires Confluence integration.
Body:
| Field | Type | Required | Description |
|---|
content | string | Yes | Content to export |
projectName | string | No | Title |
spaceId | string | No | Target Confluence space |
parentId | string | No | Parent page ID |
Bulk Export
Export multiple PRDs as a ZIP file. Max 20 projects.
Body:
| Field | Type | Required | Description |
|---|
projectIds | string[] | Yes | Project IDs to export |
format | string | Yes | pdf, html, markdown, or all |
curl -X POST https://app.thig.ai/api/export/bulk \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"projectIds": ["proj_123", "proj_456", "proj_789"], "format": "pdf"}' \
-o bulk-export.zip
Response: application/zip binary file.
Scheduled Exports
Scheduled exports run automatically on a defined schedule. See Exports user guide for setup.
List Scheduled Exports
GET /api/scheduled-exports
Query parameters:
| Parameter | Type | Description |
|---|
projectId | string | Filter by project |
Response:
{
"schedules": [
{
"id": "uuid",
"projectId": "proj_123",
"scheduleType": "weekly",
"format": "pdf",
"deliveryMethod": "email",
"recipients": ["team@example.com"],
"isActive": true,
"lastRunAt": "2026-03-01T09:00:00Z",
"nextRunAt": "2026-03-08T09:00:00Z"
}
]
}
Create Scheduled Export
POST /api/scheduled-exports
Body:
| Field | Type | Required | Description |
|---|
projectId | string | No | Project to export |
scheduleType | string | Yes | weekly, on_status_change, cron, or one_time |
format | string | Yes | pdf, html, docx, or markdown |
cronExpression | string | No | Cron expression (required for cron type) |
triggerStatus | string | No | Project status trigger (for on_status_change) |
scheduledAt | string | No | ISO datetime (for one_time) |
timezone | string | Yes | IANA timezone string |
deliveryMethod | string | Yes | email or webhook |
recipients | string[] | No | Email recipients (for email delivery) |
webhookUrl | string | No | Webhook URL (for webhook delivery) |
includeChangelog | boolean | No | Include changelog in export |
customSubject | string | No | Custom email subject |
customMessage | string | No | Custom email message body |
Scheduled exports are available on Pro plans and above.
Get Scheduled Export
GET /api/scheduled-exports/{exportId}
Update Scheduled Export
PATCH /api/scheduled-exports/{exportId}
Accepts any of the fields from the create endpoint.
Delete Scheduled Export
DELETE /api/scheduled-exports/{exportId}
Trigger Now
POST /api/scheduled-exports/{exportId}/trigger
Manually trigger a scheduled export immediately, regardless of its schedule.
Get Delivery Logs
GET /api/scheduled-exports/{exportId}/logs
Returns the last 50 delivery log entries for a scheduled export.
curl https://app.thig.ai/api/scheduled-exports/EXPORT_ID/logs \
-H "Authorization: Bearer YOUR_API_KEY"
Response:
{
"logs": [
{
"id": "uuid",
"scheduledExportId": "uuid",
"status": "delivered",
"deliveryMethod": "email",
"recipients": ["team@example.com"],
"error": null,
"createdAt": "2026-03-01T09:00:05Z"
}
]
}