---
title: "createKanbanBoard"
method: POST
path: "/v1/kanban/board"
tags: ["Kanban"]
---

# createKanbanBoard

`POST /v1/kanban/board`

Creates a new Kanban board with the provided configuration.

A board must have a title and a config containing at least one dataset. Swimlanes and filters can be configured to display specific subsets of workflow tasks or entities.

## Request body

- Board — Summary representation of a Kanban board, returned in list responses. Does not include swimlane and filter configuration details.
  - `id` string
  - `title` string, required
  - `description` string
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `created_by` string
  - `org_id` string
  - `updated_by` string
  - `shared_with` string[]
  - `shared_with_org` boolean
  - `owners` string[] — Array of user IDs who have full ownership rights for this board (view, edit, delete)
  - `config` object, required
    - `dataset` string
    - `swimlanes` Swimlane[]
      - `id` string
      - `title` string
      - `position` number
      - `filter` BoardFilter — A filter group containing one or more filter items or nested filter groups. Items are combined using the specified logical operator (AND/OR).
        - `items` union[], required
          - union
            - FilterItem
              - …
            - FilterGroup
              - …
        - `combination` 'AND' | 'OR', required
      - `title_chip_variant` string
    - `card_config` object
      - `fields` string[]
    - `board_filter` BoardFilter — A filter group containing one or more filter items or nested filter groups. Items are combined using the specified logical operator (AND/OR).
      - `items` union[], required
        - union
          - FilterItem
            - `key` string, required — The field key to filter on
            - `operator` 'EQUALS' | 'NOT_EQUALS' | 'EMPTY' | 'NOT_EMPTY' | 'CONTAINS' | 'NOT_CONTAINS' | 'IS_ONE_OF' | 'IS_NONE_OF' | 'GREATER_THAN' | 'LESS_THAN' | 'GREATER_THAN_OR_EQUAL' | 'LESS_THAN_OR_EQUAL', required — The comparison operator for filtering
            - `value` union — The value to compare against - can be a single value (string, number, boolean, or dynamic date) or an array of values
              - …
            - `data_type` 'string' | 'number' | 'boolean' | 'date' — The data type of the field
          - FilterGroup
            - `items` FilterItem[], required
              - …
            - `combination` 'AND' | 'OR', required
      - `combination` 'AND' | 'OR', required
    - `sorting` Sorting — Defines how query results should be sorted. Specify a field name and sort direction.
      - `field` string, required
      - `direction` 'asc' | 'desc'
    - `group_by` GroupBy — Defines how tasks should be grouped within each swimlane. Tasks with the same group value are returned adjacently in the result set.
      - `field` 'context_entity' | 'phase' | 'task', required — Property to group tasks by within each swimlane
    - `search_query` string

## Response `200`

Successfully created board

- Board — Summary representation of a Kanban board, returned in list responses. Does not include swimlane and filter configuration details.
  - `id` string
  - `title` string, required
  - `description` string
  - `created_at` string, date-time
  - `updated_at` string, date-time
  - `created_by` string
  - `org_id` string
  - `updated_by` string
  - `shared_with` string[]
  - `shared_with_org` boolean
  - `owners` string[] — Array of user IDs who have full ownership rights for this board (view, edit, delete)
  - `config` object, required
    - `dataset` string
    - `swimlanes` Swimlane[]
      - `id` string
      - `title` string
      - `position` number
      - `filter` BoardFilter — A filter group containing one or more filter items or nested filter groups. Items are combined using the specified logical operator (AND/OR).
        - `items` union[], required
          - union
            - FilterItem
              - …
            - FilterGroup
              - …
        - `combination` 'AND' | 'OR', required
      - `title_chip_variant` string
    - `card_config` object
      - `fields` string[]
    - `board_filter` BoardFilter — A filter group containing one or more filter items or nested filter groups. Items are combined using the specified logical operator (AND/OR).
      - `items` union[], required
        - union
          - FilterItem
            - `key` string, required — The field key to filter on
            - `operator` 'EQUALS' | 'NOT_EQUALS' | 'EMPTY' | 'NOT_EMPTY' | 'CONTAINS' | 'NOT_CONTAINS' | 'IS_ONE_OF' | 'IS_NONE_OF' | 'GREATER_THAN' | 'LESS_THAN' | 'GREATER_THAN_OR_EQUAL' | 'LESS_THAN_OR_EQUAL', required — The comparison operator for filtering
            - `value` union — The value to compare against - can be a single value (string, number, boolean, or dynamic date) or an array of values
              - …
            - `data_type` 'string' | 'number' | 'boolean' | 'date' — The data type of the field
          - FilterGroup
            - `items` FilterItem[], required
              - …
            - `combination` 'AND' | 'OR', required
      - `combination` 'AND' | 'OR', required
    - `sorting` Sorting — Defines how query results should be sorted. Specify a field name and sort direction.
      - `field` string, required
      - `direction` 'asc' | 'desc'
    - `group_by` GroupBy — Defines how tasks should be grouped within each swimlane. Tasks with the same group value are returned adjacently in the result set.
      - `field` 'context_entity' | 'phase' | 'task', required — Property to group tasks by within each swimlane
    - `search_query` string

## Other responses

- `400` — Bad request - Invalid input data
- `401` — Unauthorized - Authentication required
- `403` — Forbidden - Insufficient permissions
- `500` — Internal server error

---

[API](https://skmtc.dev/epilot/apis/kanban-api.md) · [All operations](https://skmtc.dev/epilot/apis/kanban-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/epilot/kanban-api/revisions/051153ffb2ea/schema)
