API Reference¶
Overview¶
Issue Log Workbench exposes a REST API under the /api/ prefix. The API is consumed by:
- The web UI for import, list, detail, dashboard, and export actions
- Direct
curlor script-based usage
Base URL¶
Authentication¶
None. The server binds to 127.0.0.1 by default and is not intended to be exposed to a network.
Content Types¶
| Direction | Content-Type |
|---|---|
| Request bodies | application/json or multipart/form-data |
| Responses | application/json, text/csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, or text/markdown |
Error Format¶
Most error responses return JSON with a detail field:
HTTP status codes follow standard conventions:
200 OK— success201 Created— new resource created204 No Content— successful delete400 Bad Request— invalid input404 Not Found— resource does not exist422 Unprocessable Entity— request validation failure
Endpoints¶
Issues¶
| Method | Path | Description |
|---|---|---|
GET |
/api/issues/ |
List issues with optional filters and pagination |
POST |
/api/issues/ |
Create a new issue |
GET |
/api/issues/{id} |
Get a single issue |
PUT |
/api/issues/{id} |
Update an issue |
DELETE |
/api/issues/{id} |
Delete an issue and all its child records |
POST |
/api/issues/{id}/transition |
Transition the issue to a new lifecycle status |
POST |
/api/issues/{id}/links |
Add a link to an issue |
DELETE |
/api/issues/{id}/links/{link_id} |
Remove a link |
POST |
/api/issues/{id}/decisions |
Record a decision |
DELETE |
/api/issues/{id}/decisions/{decision_id} |
Remove a decision |
POST |
/api/issues/{id}/actions |
Add a next-action item |
PUT |
/api/issues/{id}/actions/{action_id} |
Update an action item |
DELETE |
/api/issues/{id}/actions/{action_id} |
Remove an action item |
Imports¶
| Method | Path | Description |
|---|---|---|
POST |
/api/imports/ |
Upload and import a CSV or XLSX file |
Request: multipart/form-data with fields:
file— upload filesheet_name— worksheet name for XLSXcolumn_map— JSON-encoded dict mapping source headers to canonical fields
Response: ImportResult — { created_count, skipped_count, warnings, row_errors, preview }
Dashboard¶
| Method | Path | Description |
|---|---|---|
GET |
/api/dashboard/ |
Get aggregated summary statistics |
Response: DashboardSummary — { total, by_status, by_category, by_type, recently_updated }
Exports¶
| Method | Path | Description |
|---|---|---|
GET |
/api/exports/ |
Export issues as a downloadable file |
Query parameters:
format—csv,xlsx, ormarkdownstatus— filter by statuscategory— filter by category
Attachments¶
| Method | Path | Description |
|---|---|---|
GET |
/api/issues/{issue_id}/attachments/ |
List attachments for an issue |
POST |
/api/issues/{issue_id}/attachments/ |
Upload a file attachment |
DELETE |
/api/issues/{issue_id}/attachments/{attachment_id} |
Delete an attachment |
Interactive Docs¶
FastAPI generates interactive API documentation at:
- Swagger UI: http://127.0.0.1:8000/docs
- ReDoc: http://127.0.0.1:8000/redoc
Use those pages as the most exact reference for request and response schemas.