Integrate your tools with FlowBoard using our REST API.
All API requests require a valid API key passed via the Authorization header:
Authorization: Bearer YOUR_API_KEY
Rate limit: 100 requests per minute per API key. Exceeding this returns HTTP 429.
https://europe-west3-flowwboard.cloudfunctions.net
/submitTaskPermission: Submit Ideas or Submit Bugs
{
"title": "Task title (3-200 characters)",
"description": "Task description (0-5000 characters)",
"type": "idea" | "bug" | "feature" | "improvement" | "fix" | "chore",
"projectId": "optional, required for feature/improvement/fix/chore",
"tags": ["optional", "array", "of", "tags"],
"metadata": { "custom": "data" }
}{
"id": "task-id",
"taskNumber": 123,
"message": "Idea submitted successfully"
}curl -X POST https://europe-west3-flowwboard.cloudfunctions.net/submitTask \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Add dark mode support",
"description": "Users want a dark mode option.",
"type": "idea",
"tags": ["ui", "feature-request"]
}'/getTasksPermission: Search Tasks
| Parameter | Type | Description |
|---|---|---|
| board | string | "bugs", "ideas", or "flows" |
| projectId | string | Filter by project ID |
| projectName | string | Filter by project name (case-sensitive) |
| tags | string | Comma-separated tags (AND logic) |
| status | string | open, in_progress, blocked, ready, done, paused |
| statuses | string | Comma-separated statuses (OR logic) |
| assignee | string | Filter by assignee user ID |
| type | string | feature, improvement, fix, chore, bug |
| types | string | Comma-separated types |
| limit | number | Max results (default: 100, max: 500) |
| excludeReleased | boolean | Exclude released tasks (default: true) |
| excludeArchived | boolean | Exclude archived tasks (default: true) |
| includeDeleted | boolean | Include deleted tasks (default: false) |
{
"tasks": [
{
"id": "task-id",
"taskNumber": "123",
"title": "Task title",
"status": "open",
"type": "feature",
"tags": ["client-acme"],
"projectId": "proj123",
"assignee": "user123",
"createdAt": "2024-01-01T00:00:00.000Z"
}
],
"count": 1,
"filters": { ... }
}/getTask?taskId={taskId}Permission: Search Tasks
{
"task": {
"id": "task-id",
"title": "Task title",
"description": "Task description",
"status": "open",
"type": "feature",
"tags": ["ui"],
"taskNumber": "123"
},
"comments": [
{
"id": "comment-id",
"text": "Comment text",
"createdBy": "user123",
"createdAt": "2024-01-01T00:00:00.000Z"
}
]
}/updateTask?taskId={taskId}Permission: Update Tasks
{
"status": "open" | "in_progress" | "blocked" | "ready" | "done" | "paused",
"comment": "Add a comment (1-5000 characters)",
"assignee": "userId or empty string to clear",
"branchName": "feature/my-branch (0-200 characters)",
"externalReference": {
"type": "github_pr",
"url": "https://github.com/...",
"id": "optional",
"title": "optional"
}
}{
"success": true,
"taskId": "task-id",
"message": "Task updated successfully"
}/deleteTask?taskId={taskId}Permission: Update Tasks
Soft-deletes a task. The task can be restored from the Trash.
/listProjectsPermission: View Projects
Returns all projects in the workspace with their IDs, names, and descriptions.
/getComments?taskId={taskId}Permission: Manage Comments
Returns all comments for a given task, ordered by creation date.
/addCommentPermission: Manage Comments
{
"taskId": "task-id",
"text": "Comment text (1-5000 characters)"
}/listReleasesPermission: Search Tasks
Returns all releases in the workspace with version, date, and included tasks.
/getRelease?releaseId={releaseId}Permission: Search Tasks
Returns a single release with full details including all associated tasks.
/voteIdeaPermission: Submit Ideas
{
"ideaId": "idea-id"
}Connect AI tools like Claude Code, Cursor, and Windsurf to FlowBoard via our MCP server. Add this to your tool's MCP configuration:
{
"mcpServers": {
"flowboard": {
"command": "npx",
"args": ["-y", "@flowboardlabs/mcp-server"],
"env": { "FLOWBOARD_API_KEY": "YOUR_API_KEY" }
}
}
}{
"mcpServers": {
"flowboard": {
"command": "cmd",
"args": ["/c", "npx", "-y", "@flowboardlabs/mcp-server"],
"env": { "FLOWBOARD_API_KEY": "YOUR_API_KEY" }
}
}
}| Code | Description |
|---|---|
| 400 | Bad Request — Missing or invalid parameters |
| 401 | Unauthorized — Missing or invalid API key |
| 403 | Forbidden — API key lacks the required permission |
| 404 | Not Found — Task or resource not found |
| 429 | Too Many Requests — Rate limit exceeded (100 req/min) |
| 500 | Internal Server Error |
Check out the MCP Server guide for AI tool integration, or the GitHub/GitLab integration guide for webhook setup. For questions, contact support@flowboard.dev.