Skip to content

vikunja

vikunja

Vikunja open-source task management — project planning, kanban boards, and task tracking

Coverage

23% (18 of ~80 endpoints)

Focus: projects, tasks, views, buckets, labels, comments, positions

Missing: teams, users, shares, attachments, notifications, webhooks, subscriptions, filters, saved filters

Last reviewed: 2026-03-26

Tools (15)

POST set_task_position Set task position (sort order) within a project view. The position is a float64 value — use values between existing tasks to insert.
GET list_project_tasks List all tasks in a project view. Use view_id from list_views. Supports sorting by position, due_date, created, etc. Kanban views return buckets with nested tasks, not a flat list.
GET get_task Get a single task by its ID, including all details, assignees, labels, and relations.
PUT create_task Create a new task in a project. Priority: 0=unset, 1=low, 2=medium, 3=high, 4=urgent, 5=critical.
POST update_task Update an existing task. Only include fields you want to change. Set bucket_id to move between kanban columns.
DELETE delete_task Permanently delete a task.
GET list_projects List all projects accessible to the authenticated user.
GET get_project Get a single project by ID.
GET list_views List all views (list, kanban, gantt, table) for a project. Each view has its own task positions. Call this first to get view_id for list_project_tasks.
GET list_buckets List all kanban buckets for a project view. Returns bucket id, title, and task count. Use bucket_id in update_task to move tasks between columns.
PUT create_bucket Create a new kanban bucket in a project view.
GET list_labels List all labels.
PUT add_label_to_task Add a label to a task.
GET list_task_comments List all comments on a task.
PUT create_task_comment Add a comment to a task.

Setup

  1. Navigate to Vikunja → User Settings → API Tokens
  2. Click 'Create a token', enter a name and select permissions
  3. Copy the generated token (starts with tk_)

Environment variable: CREDENTIAL_VIKUNJA_API_TOKEN

Authentication docs ↗

Vikunja is self-hosted. Replace the URL with your instance address.

Install

Add to your backends.yaml:

- name: vikunja
  transport: rest
  dadl: /app/dadl/vikunja.dadl
  url: "https://your-vikunja-instance.com/api/v1"

Set the credential:

CREDENTIAL_VIKUNJA_API_TOKEN=your-token-here