Interact with Kanboard project management via JSON-RPC API. Use when working with Kanboard tasks, projects, boards, columns, swimlanes, comments, subtasks, and users. Trigger on: "create task", "move task", "show board", "list projects", "add comment", "kanboard", "kanban task". Supports both Application API (token) and User API (login/password).
Interact with Kanboard project management via JSON-RPC API. Use when working with Kanboard tasks, projects, boards, columns, swimlanes, comments, subtasks, and users. Trigger on: "create task", "move task", "show board", "list projects", "add comment", "kanboard", "kanban task". Supports both Application API (token) and User API (login/password).
Kanboard uses JSON-RPC 2.0 over HTTP POST. All calls go to a single endpoint.
Auth modes
Mode
User
Password
Application API
jsonrpc
$KANBOARD_API_TOKEN
User API
$KANBOARD_USER
$KANBOARD_PASS
Application API skips permission checks and has no session. Use it for automation.
User API respects project permissions; required for "My…" procedures.
# List all users (Application API only)
kb getAllUsers
# Get user by ID
kb getUserById '{"user_id": 3}'# Get user by username
kb getUserByName '{"username": "alice"}'# Create user
kb createUser '{
"username": "bob",
"password": "S3cur3P@ss",
"name": "Bob Smith",
"email": "bob@example.com",
"role": "app-user"
}'# Roles: app-admin | app-manager | app-user# Update user
kb updateUser '{"id": 3, "name": "Bob Jones", "email": "bob.jones@example.com"}'# Disable / Enable user
kb disableUser '{"user_id": 3}'
kb enableUser '{"user_id": 3}'# Remove user
kb removeUser '{"user_id": 3}'# Current user (User API only)
kb getMe
kb getMyProjects
kb getMyDashboard
kb getMyActivityStream
kb getMyCalendar
kb getMyNotifications
Project Permissions
# List project users
kb getProjectUsers '{"project_id": 1}'# Add user to project
kb addProjectUser '{
"project_id": 1,
"user_id": 3,
"role": "project-member"
}'# Roles: project-manager | project-member | project-viewer# Change user role in project
kb changeProjectUserRole '{"project_id": 1, "user_id": 3, "role": "project-manager"}'# Remove user from project
kb removeProjectUser '{"project_id": 1, "user_id": 3}'# Add/remove group to project
kb addProjectGroup '{"project_id": 1, "group_id": 2, "role": "project-member"}'
kb removeProjectGroup '{"project_id": 1, "group_id": 2}'
Tags
# Get all tags for a project
kb getTagsByProject '{"project_id": 1}'# Create tag
kb createTag '{"project_id": 1, "tag": "urgent"}'# Update tag
kb updateTag '{"id": 4, "tag": "critical"}'# Remove tag
kb removeTag '{"tag_id": 4}'# Get tags for a task
kb getTaskTags '{"task_id": 42}'# Assign tags to a task (replaces existing tags)
kb setTaskTags '{"project_id": 1, "task_id": 42, "tags": ["bug", "urgent"]}'
Task Links (Internal)
# Get link types
kb getAllLinks
# Get links for a task
kb getAllTaskLinks '{"task_id": 42}'# Create task link
kb createTaskLink '{
"task_id": 42,
"opposite_task_id": 55,
"link_id": 1
}'# Common link_id: 1=relates to, 2=blocks, 3=is blocked by, 4=duplicates, 5=is duplicated by# Remove task link
kb removeTaskLink '{"task_link_id": 8}'
Application
# Get app version
kb getVersion
# Get app timezone
kb getTimezone
# Get app default language
kb getDefaultLanguage
# Get current datetime
kb now
# Get available board column types
kb getDefaultTaskColors