Back to top

Kaiten API

JSON API version: 1

Base URL: https://<your_domain>.kaiten.io/api/v1

Latest API version is always available at https://<your_domain>.kaiten.io/api/latest

If you have any questions or need help with integration feel free to write us at support@kaiten.io or contact us via in-app chat.

All requests must contain bearer auth header.

Authorization: Bearer <api_key>

Example:

Authorization: Bearer 296a5709-99bc-49a7-96e0-c0a1b236091f

You can get the API key in the user profile.

API consumes and produces application/json.

Spaces

Create new space

Create new space
POST/spaces

Creates a new Space.

Example URI

POST /spaces
Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
titlestringtrue
minLength: 1
maxLength: 256
external_id
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "external_id": {
      "oneOf": [
        {
          "type": [
            "number",
            "string"
          ],
          "maxLength": 1024,
          "description": "Any external id you want to assign to space. Not exposed in web interface"
        },
        {
          "type": "null",
          "description": "Any external id you want to assign to space. Not exposed in web interface"
        }
      ]
    }
  },
  "required": [
    "title"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "title": "Space 1"
}

Retrieve list of spaces

Retrieve list of spaces
GET/spaces

Example URI

GET /spaces
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "title": "Space 1"
  }
]

Retrieve space

Retrieve space
GET/spaces/{space_id}

Example URI

GET /spaces/space_id
URI Parameters
HideShow
space_id
number (required) 

Space ID

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "title": "Space 1"
}

Update space

Update space
PATCH/spaces/{space_id}

Example URI

PATCH /spaces/space_id
URI Parameters
HideShow
space_id
number (required) 

Space ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
titlestring
minLength: 1
maxLength: 256
external_id
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256
    },
    "external_id": {
      "oneOf": [
        {
          "type": [
            "number",
            "string"
          ],
          "maxLength": 1024,
          "description": "Any external id you want to assign to space. Not exposed in web interface"
        },
        {
          "type": "null",
          "description": "Any external id you want to assign to space. Not exposed in web interface"
        }
      ]
    }
  },
  "anyOf": [
    {
      "required": [
        "title"
      ]
    },
    {
      "required": [
        "external_id"
      ]
    }
  ]
}
Response  200
HideShow
Body
{
  "id": 1,
  "title": "Space 1"
}

Boards

Create new board

Create new board
POST/spaces/{space_id}/boards

Example URI

POST /spaces/space_id/boards
URI Parameters
HideShow
space_id
number (required) 

Space ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
titlestringtrueTitle of the new board
minLength: 1
maxLength: 128
description
topintegerY coordinate of the board on space
leftintegerX coordinate of the board on space
default_card_type_idintegerDefault card type for new cards on board
first_image_is_coverbooleanAutomatically mark first uploaded card's image as card's cover
reset_lane_spent_timebooleanReset lane spent time when card changed lane
automove_cardsbooleanAutomatically move cards depending on their children state
backward_moves_enabledbooleanAllow automatic backward movement for summary boards
sort_ordernumberPosition
columnsarraytrueBoard columns
external_id
lanesarraytrueBoard lanes
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "Title of the new board"
    },
    "description": {
      "oneOf": [
        {
          "type": "string",
          "description": "Description"
        },
        {
          "type": "null",
          "description": "Description"
        }
      ]
    },
    "top": {
      "type": "integer",
      "description": "Y coordinate of the board on space"
    },
    "left": {
      "type": "integer",
      "description": "X coordinate of the board on space"
    },
    "default_card_type_id": {
      "type": "integer",
      "description": "Default card type for new cards on board"
    },
    "first_image_is_cover": {
      "type": "boolean",
      "description": "Automatically mark first uploaded card's image as card's cover"
    },
    "reset_lane_spent_time": {
      "type": "boolean",
      "description": "Reset lane spent time when card changed lane"
    },
    "automove_cards": {
      "type": "boolean",
      "description": "Automatically move cards depending on their children state"
    },
    "backward_moves_enabled": {
      "type": "boolean",
      "description": "Allow automatic backward movement for summary boards"
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    },
    "columns": {
      "type": "array",
      "description": "Board columns",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "minLength": 0,
            "maxLength": 128,
            "description": "Title"
          },
          "sort_order": {
            "type": "number",
            "description": "Position",
            "minimum": 0,
            "exclusiveMinimum": 0
          },
          "type": {
            "enum": [
              1,
              2,
              3
            ],
            "description": "1 - queue, 2 – in progress, 3 – done"
          },
          "wip_limit": {
            "type": "integer",
            "description": "Work in progress recommended limit for column"
          },
          "col_count": {
            "type": "integer",
            "description": "Width"
          },
          "archive_after_days": {
            "type": "integer",
            "description": "Specify amont of days after which cards will be automatically archived. Works only for columns with type **done**"
          },
          "months_to_hide_cards": {
            "type": [
              "integer",
              "null"
            ],
            "description": "Hide cards not moved for the last N months"
          },
          "rules": {
            "type": "integer",
            "minimum": 0,
            "description": "Bit mask for column rules. Rules: 1 - checklists must be checked, 2 - display FIFO order"
          },
          "default_tags": {
            "type": [
              "string",
              "null"
            ],
            "description": "Default tags"
          }
        },
        "required": [
          "title"
        ]
      }
    },
    "external_id": {
      "oneOf": [
        {
          "type": [
            "number",
            "string"
          ],
          "maxLength": 1024,
          "description": "Any external id you want to assign to board. Not exposed in web interface"
        },
        {
          "type": "null",
          "description": "Any external id you want to assign to board. Not exposed in web interface"
        }
      ]
    },
    "lanes": {
      "type": "array",
      "description": "Board lanes",
      "items": {
        "type": "object",
        "properties": {
          "title": {
            "type": "string",
            "minLength": 0,
            "maxLength": 128,
            "description": "Title"
          },
          "sort_order": {
            "type": "number",
            "description": "Position",
            "minimum": 0,
            "exclusiveMinimum": 0
          },
          "wip_limit": {
            "type": "integer",
            "description": "Work in progress recommended limit for lane"
          },
          "row_count": {
            "type": "integer",
            "description": "Height"
          },
          "default_tags": {
            "type": [
              "string",
              "null"
            ],
            "description": "Default tags"
          }
        },
        "required": [
          "title"
        ]
      }
    }
  },
  "required": [
    "title",
    "columns",
    "lanes"
  ]
}
Response  200
HideShow
Body
{
  "id": 1,
  "title": "New board",
  "top": 0,
  "left": 0
}

Get list of boards

Get list of boards
GET/spaces/{space_id}/boards

Example URI

GET /spaces/space_id/boards
URI Parameters
HideShow
space_id
number (required) 

Space ID

Response  200
HideShow
Body
[
  {
    "id": 1,
    "title": "New board",
    "top": 0,
    "left": 0
  }
]

Get board

Get board
GET/spaces/{space_id}/boards/{id}

Example URI

GET /spaces/space_id/boards/id
URI Parameters
HideShow
space_id
number (required) 

Space ID

id
number (required) 

Board ID

Response  200
HideShow
Body
{
  "id": 1,
  "title": "New board",
  "top": 0,
  "left": 0
}

Update board

Update board
PATCH/spaces/{space_id}/boards/{id}

Example URI

PATCH /spaces/space_id/boards/id
URI Parameters
HideShow
space_id
number (required) 

Space ID

id
number (required) 

Board ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
titlestringTitle of the new board
minLength: 1
maxLength: 128
description
topintegerY coordinate of the board on space
leftintegerX coordinate of the board on space
type1 - place on space with coordinates (top, left), 5 - attach to space as sidebar
cell_wip_limitsarrayJSON containing wip limits rules for cells
default_card_type_idintegerDefault card type for new cards on board
default_tagsstring,nullDefault tags
first_image_is_coverbooleanAutomatically mark first uploaded card's image as card's cover
reset_lane_spent_timebooleanReset lane spent time when card changed lane
automove_cardsbooleanAutomatically move cards depending on their children state
backward_moves_enabledbooleanAllow automatic backward movement for summary boards
move_parents_to_donebooleanAutomatically move parent cards to done when their children cards on this board is done
hide_done_policiesbooleanHide done checklist policies
hide_done_policies_in_done_columnbooleanHide done checklist policies only in done column
sort_ordernumberPosition
external_id
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "Title of the new board"
    },
    "description": {
      "oneOf": [
        {
          "type": "string",
          "description": "Description"
        },
        {
          "type": "null",
          "description": "Description"
        }
      ]
    },
    "top": {
      "type": "integer",
      "description": "Y coordinate of the board on space"
    },
    "left": {
      "type": "integer",
      "description": "X coordinate of the board on space"
    },
    "type": {
      "enum": [
        1,
        5
      ],
      "description": "1 - place on space with coordinates (top, left), 5 - attach to space as sidebar"
    },
    "cell_wip_limits": {
      "type": "array",
      "description": "JSON containing wip limits rules for cells"
    },
    "default_card_type_id": {
      "type": "integer",
      "description": "Default card type for new cards on board"
    },
    "default_tags": {
      "type": [
        "string",
        "null"
      ],
      "description": "Default tags"
    },
    "first_image_is_cover": {
      "type": "boolean",
      "description": "Automatically mark first uploaded card's image as card's cover"
    },
    "reset_lane_spent_time": {
      "type": "boolean",
      "description": "Reset lane spent time when card changed lane"
    },
    "automove_cards": {
      "type": "boolean",
      "description": "Automatically move cards depending on their children state"
    },
    "backward_moves_enabled": {
      "type": "boolean",
      "description": "Allow automatic backward movement for summary boards"
    },
    "move_parents_to_done": {
      "type": "boolean",
      "description": "Automatically move parent cards to done when their children cards on this board is done"
    },
    "hide_done_policies": {
      "type": "boolean",
      "description": "Hide done checklist policies"
    },
    "hide_done_policies_in_done_column": {
      "type": "boolean",
      "description": "Hide done checklist policies only in done column"
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    },
    "external_id": {
      "oneOf": [
        {
          "type": [
            "number",
            "string"
          ],
          "maxLength": 1024,
          "description": "Any external id you want to assign to board. Not exposed in web interface"
        },
        {
          "type": "null",
          "description": "Any external id you want to assign to board. Not exposed in web interface"
        }
      ]
    }
  },
  "anyOf": [
    {
      "required": [
        "title"
      ]
    },
    {
      "required": [
        "external_id"
      ]
    },
    {
      "required": [
        "description"
      ]
    },
    {
      "required": [
        "top"
      ]
    },
    {
      "required": [
        "left"
      ]
    },
    {
      "required": [
        "type"
      ]
    },
    {
      "required": [
        "cell_wip_limits"
      ]
    },
    {
      "required": [
        "default_card_type_id"
      ]
    },
    {
      "required": [
        "default_tags"
      ]
    },
    {
      "required": [
        "first_image_is_cover"
      ]
    },
    {
      "required": [
        "reset_lane_spent_time"
      ]
    },
    {
      "required": [
        "automove_cards"
      ]
    },
    {
      "required": [
        "backward_moves_enabled"
      ]
    },
    {
      "required": [
        "move_parents_to_done"
      ]
    },
    {
      "required": [
        "hide_done_policies"
      ]
    },
    {
      "required": [
        "hide_done_policies_in_done_column"
      ]
    }
  ]
}
Response  200
HideShow
Body
{
  "id": 1,
  "title": "New board",
  "top": 0,
  "left": 0
}

Remove board

Remove board
DELETE/spaces/{space_id}/boards/{id}

Example URI

DELETE /spaces/space_id/boards/id
URI Parameters
HideShow
space_id
number (required) 

Space ID

id
number (required) 

Board ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
forcebooleanRemove cascade (all related data will be gone)
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "force": {
      "type": "boolean",
      "description": "Remove cascade (all related data will be gone)"
    }
  }
}
Response  200
HideShow
Body
{
  "id": 1
}

Columns

Create new column

Create new column
POST/boards/{board_id}/columns

Example URI

POST /boards/42/columns
URI Parameters
HideShow
board_id
number (required) Example: 42
Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
titlestringtrueTitle
minLength: 1
maxLength: 128
sort_ordernumberPosition
type1 - queue, 2 – in progress, 3 – done
last_moved_warning_after_daysintegerWarning appears on stale cards
last_moved_warning_after_hoursintegerWarning appears on stale cards
last_moved_warning_after_minutesintegerWarning appears on stale cards
wip_limitintegerWork in progress recommended limit for column
wip_limit_type1 – card's count, 2 – card's size
col_countintegerWidth
archive_after_daysintegerSpecify amont of days after which cards will be automatically archived. Works only for columns with type **done**
months_to_hide_cardsinteger,nullHide cards not moved for the last N months
rulesintegerBit mask for column rules. Rules: 1 - checklists must be checked, 2 - display FIFO order
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "Title"
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    },
    "type": {
      "enum": [
        1,
        2,
        3
      ],
      "description": "1 - queue, 2 – in progress, 3 – done"
    },
    "last_moved_warning_after_days": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    },
    "last_moved_warning_after_hours": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    },
    "last_moved_warning_after_minutes": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    },
    "wip_limit": {
      "type": "integer",
      "description": "Work in progress recommended limit for column"
    },
    "wip_limit_type": {
      "enum": [
        1,
        2
      ],
      "description": "1 – card's count, 2 – card's size"
    },
    "col_count": {
      "type": "integer",
      "description": "Width"
    },
    "archive_after_days": {
      "type": "integer",
      "description": "Specify amont of days after which cards will be automatically archived. Works only for columns with type **done**"
    },
    "months_to_hide_cards": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Hide cards not moved for the last N months"
    },
    "rules": {
      "type": "integer",
      "minimum": 0,
      "description": "Bit mask for column rules. Rules: 1 - checklists must be checked, 2 - display FIFO order"
    }
  },
  "required": [
    "title"
  ]
}
Response  200
HideShow
Body
{
  "id": 1,
  "title": "Lane 1",
  "sort_order": 1,
  "wip_limit": 1,
  "wip_limit_type": 1,
  "last_moved_warning_after_minutes": 1,
  "board_id": 1,
  "col_count": 1,
  "type": 1,
  "archive_after_days": 1,
  "column_id": 0
}

Update column

Update column
PATCH/boards/{board_id}/columns/{id}

Example URI

PATCH /boards/42/columns/421
URI Parameters
HideShow
board_id
number (required) Example: 42
id
number (required) Example: 421

Column ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
titlestringTitle
maxLength: 128
sort_ordernumberPosition
type1 - queue, 2 – in progress, 3 – done
wip_limitintegerWork in progress recommended limit for column
wip_limit_type1 – card's count, 2 – card's size
last_moved_warning_after_daysintegerWarning appears on stale cards
last_moved_warning_after_hoursintegerWarning appears on stale cards
last_moved_warning_after_minutesintegerWarning appears on stale cards
col_countintegerWidth
archive_after_daysintegerSpecify amount of days after which cards will be automatically archived. Works only for columns with type **done**
months_to_hide_cardsinteger,nullHide cards not moved for the last N months
rulesintegerBit mask for column rules. Rules: 1 - checklists must be checked, 2 - display FIFO order
default_tagsstring,nullDefault tags
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 0,
      "maxLength": 128,
      "description": "Title"
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    },
    "type": {
      "enum": [
        1,
        2,
        3
      ],
      "description": "1 - queue, 2 – in progress, 3 – done"
    },
    "wip_limit": {
      "type": "integer",
      "description": "Work in progress recommended limit for column"
    },
    "wip_limit_type": {
      "enum": [
        1,
        2
      ],
      "description": "1 – card's count, 2 – card's size"
    },
    "last_moved_warning_after_days": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    },
    "last_moved_warning_after_hours": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    },
    "last_moved_warning_after_minutes": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    },
    "col_count": {
      "type": "integer",
      "description": "Width"
    },
    "archive_after_days": {
      "type": "integer",
      "description": "Specify amount of days after which cards will be automatically archived. Works only for columns with type **done**"
    },
    "months_to_hide_cards": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Hide cards not moved for the last N months"
    },
    "rules": {
      "type": "integer",
      "minimum": 0,
      "description": "Bit mask for column rules. Rules: 1 - checklists must be checked, 2 - display FIFO order"
    },
    "default_tags": {
      "type": [
        "string",
        "null"
      ],
      "description": "Default tags"
    }
  },
  "anyOf": [
    {
      "required": [
        "last_moved_warning_after_minutes"
      ]
    },
    {
      "required": [
        "last_moved_warning_after_hours"
      ]
    },
    {
      "required": [
        "last_moved_warning_after_days"
      ]
    },
    {
      "required": [
        "title"
      ]
    },
    {
      "required": [
        "sort_order"
      ]
    },
    {
      "required": [
        "type"
      ]
    },
    {
      "required": [
        "wip_limit"
      ]
    },
    {
      "required": [
        "wip_limit_type"
      ]
    },
    {
      "required": [
        "col_count"
      ]
    },
    {
      "required": [
        "archive_after_days"
      ]
    },
    {
      "required": [
        "months_to_hide_cards"
      ]
    },
    {
      "required": [
        "rules"
      ]
    },
    {
      "required": [
        "default_tags"
      ]
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "title": "Lane 1",
  "sort_order": 1,
  "wip_limit": 1,
  "wip_limit_type": 1,
  "last_moved_warning_after_minutes": 1,
  "board_id": 1,
  "col_count": 1,
  "type": 1,
  "archive_after_days": 1,
  "column_id": 0
}

Merge subcolumns

Merge subcolumns
POST/boards/{board_id}/columns/{id}/merge

Example URI

POST /boards/42/columns/421/merge
URI Parameters
HideShow
board_id
number (required) Example: 42
id
number (required) Example: 421

Column ID

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "title": "Lane 1",
  "sort_order": 1,
  "wip_limit": 1,
  "wip_limit_type": 1,
  "last_moved_warning_after_minutes": 1,
  "board_id": 1,
  "col_count": 1,
  "type": 1,
  "archive_after_days": 1,
  "column_id": 0
}

Remove column

Remove column
DELETE/boards/{board_id}/columns/{id}

Example URI

DELETE /boards/42/columns/421
URI Parameters
HideShow
board_id
number (required) Example: 42
id
number (required) Example: 421

Column ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
forcebooleanRemove cascade (all related data will be gone)
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "force": {
      "type": "boolean",
      "description": "Remove cascade (all related data will be gone)"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}

Subcolumn

Create new subcolumn

Create new subcolumn
POST/columns/{column_id}/subcolumns

Example URI

POST /columns/column_id/subcolumns
URI Parameters
HideShow
column_id
number (required) 

Column ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
titlestringtrueTitle
minLength: 1
maxLength: 128
sort_ordernumberPosition
type1 - queue, 2 – in progress, 3 – done
archive_after_daysintegerSpecify amont of days after which cards will be automatically archived. Works only for columns with type **done**
months_to_hide_cardsinteger,nullHide cards not moved for the last N months
col_countintegerWidth
rulesintegerBit mask for column rules. Rules: 1 - checklists must be checked, 2 - display FIFO order
last_moved_warning_after_minutesintegerWarning appears on stale cards
last_moved_warning_after_hoursintegerWarning appears on stale cards
last_moved_warning_after_daysintegerWarning appears on stale cards
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "Title"
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    },
    "type": {
      "enum": [
        1,
        2,
        3
      ],
      "description": "1 - queue, 2 – in progress, 3 – done"
    },
    "archive_after_days": {
      "type": "integer",
      "description": "Specify amont of days after which cards will be automatically archived. Works only for columns with type **done**"
    },
    "months_to_hide_cards": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Hide cards not moved for the last N months"
    },
    "col_count": {
      "type": "integer",
      "description": "Width"
    },
    "rules": {
      "type": "integer",
      "minimum": 0,
      "description": "Bit mask for column rules. Rules: 1 - checklists must be checked, 2 - display FIFO order"
    },
    "last_moved_warning_after_minutes": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    },
    "last_moved_warning_after_hours": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    },
    "last_moved_warning_after_days": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    }
  },
  "required": [
    "title"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 0,
  "title": "Lane 1",
  "sort_order": 0,
  "wip_limit": 0,
  "wip_limit_type": 0,
  "last_moved_warning_after_minutes": 0,
  "board_id": 0,
  "col_count": 0,
  "type": 0,
  "archive_after_days": 0,
  "column_id": 243
}

Get list of subcolumns

Get list of subcolumns
GET/columns/{column_id}/subcolumns

Example URI

GET /columns/column_id/subcolumns
URI Parameters
HideShow
column_id
number (required) 

Column ID

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": 0,
    "title": "Lane 1",
    "sort_order": 0,
    "wip_limit": 0,
    "wip_limit_type": 0,
    "last_moved_warning_after_minutes": 0,
    "board_id": 0,
    "col_count": 0,
    "type": 0,
    "archive_after_days": 0,
    "column_id": 243
  }
]

Merge subcolumns

Merge subcolumns
POST/columns/{column_id}/merge

Example URI

POST /columns/column_id/merge
URI Parameters
HideShow
column_id
number (required) 

Column ID

Request
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json

Update subcolumn

Update subcolumn
PATCH/columns/{column_id}/subcolumns/{id}

Example URI

PATCH /columns/column_id/subcolumns/id
URI Parameters
HideShow
column_id
number (required) 

Column ID

id
number (required) 

Subcolumn ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
titlestringTitle
minLength: 1
maxLength: 128
sort_ordernumberPosition
type1 - queue, 2 – in progress, 3 – done
archive_after_daysintegerSpecify amont of days after which cards will be automatically archived. Works only for columns with type **done**
months_to_hide_cardsinteger,nullHide cards not moved for the last N months
col_countintegerWidth
rulesintegerBit mask for column rules. Rules: 1 - checklists must be checked, 2 - display FIFO order
default_tagsstring,nullDefault tags
last_moved_warning_after_minutesintegerWarning appears on stale cards
last_moved_warning_after_hoursintegerWarning appears on stale cards
last_moved_warning_after_daysintegerWarning appears on stale cards
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "Title"
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    },
    "type": {
      "enum": [
        1,
        2,
        3
      ],
      "description": "1 - queue, 2 – in progress, 3 – done"
    },
    "archive_after_days": {
      "type": "integer",
      "description": "Specify amont of days after which cards will be automatically archived. Works only for columns with type **done**"
    },
    "months_to_hide_cards": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Hide cards not moved for the last N months"
    },
    "col_count": {
      "type": "integer",
      "description": "Width"
    },
    "rules": {
      "type": "integer",
      "minimum": 0,
      "description": "Bit mask for column rules. Rules: 1 - checklists must be checked, 2 - display FIFO order"
    },
    "default_tags": {
      "type": [
        "string",
        "null"
      ],
      "description": "Default tags"
    },
    "last_moved_warning_after_minutes": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    },
    "last_moved_warning_after_hours": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    },
    "last_moved_warning_after_days": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    }
  },
  "anyOf": [
    {
      "required": [
        "title"
      ]
    },
    {
      "required": [
        "sort_order"
      ]
    },
    {
      "required": [
        "type"
      ]
    },
    {
      "required": [
        "col_count"
      ]
    },
    {
      "required": [
        "rules"
      ]
    },
    {
      "required": [
        "archive_after_days"
      ]
    },
    {
      "required": [
        "months_to_hide_cards"
      ]
    },
    {
      "required": [
        "default_tags"
      ]
    },
    {
      "required": [
        "last_moved_warning_after_minutes"
      ]
    },
    {
      "required": [
        "last_moved_warning_after_hours"
      ]
    },
    {
      "required": [
        "last_moved_warning_after_days"
      ]
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 0,
  "title": "Lane 1",
  "sort_order": 0,
  "wip_limit": 0,
  "wip_limit_type": 0,
  "last_moved_warning_after_minutes": 0,
  "board_id": 0,
  "col_count": 0,
  "type": 0,
  "archive_after_days": 0,
  "column_id": 243
}

Remove subcolumn

Remove subcolumn
DELETE/columns/{column_id}/subcolumns/{id}

Example URI

DELETE /columns/column_id/subcolumns/id
URI Parameters
HideShow
column_id
number (required) 

Column ID

id
number (required) 

Subcolumn ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
forcebooleanRemove cascade (all related data will be gone)
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "force": {
      "type": "boolean",
      "description": "Remove cascade (all related data will be gone)"
    }
  }
}
Response  200
HideShow
Body
{
  "id": 1
}

Lanes

Create new lane

Create new lane
POST/boards/{board_id}/lanes

Example URI

POST /boards/483/lanes
URI Parameters
HideShow
board_id
number (required) Example: 483
Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
titlestringtrueTitle
minLength: 1
maxLength: 128
sort_ordernumberPosition
wip_limitintegerWork in progress recommended limit for lane
wip_limit_type1 – card's count, 2 – card's size
last_moved_warning_after_daysintegerWarning appears on stale cards
last_moved_warning_after_hoursintegerWarning appears on stale cards
last_moved_warning_after_minutesintegerWarning appears on stale cards
row_countintegerHeight
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "Title"
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    },
    "wip_limit": {
      "type": "integer",
      "description": "Work in progress recommended limit for lane"
    },
    "wip_limit_type": {
      "enum": [
        1,
        2
      ],
      "description": "1 – card's count, 2 – card's size"
    },
    "last_moved_warning_after_days": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    },
    "last_moved_warning_after_hours": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    },
    "last_moved_warning_after_minutes": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    },
    "row_count": {
      "type": "integer",
      "description": "Height"
    }
  },
  "required": [
    "title"
  ]
}
Response  200
HideShow
Body
{
  "id": 1,
  "title": "Lane 1",
  "sort_order": 1,
  "wip_limit": 1,
  "wip_limit_type": 1,
  "last_moved_warning_after_minutes": 1,
  "board_id": 1,
  "row_count": 1
}

Update lane

Update lane
PATCH/boards/{board_id}/lanes/{id}

Example URI

PATCH /boards/483/lanes/id
URI Parameters
HideShow
board_id
number (required) Example: 483
id
number (required) 

Lane ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
titlestringTitle
maxLength: 128
sort_ordernumberPosition
wip_limitintegerWork in progress recommended limit for lane
wip_limit_type1 – card's count, 2 – card's size
last_moved_warning_after_daysintegerWarning appears on stale cards
last_moved_warning_after_hoursintegerWarning appears on stale cards
last_moved_warning_after_minutesintegerWarning appears on stale cards
row_countintegerHeight
default_tagsstring,nullDefault tags
default_card_type_idinteger,nullDefault card type for new cards in lane
condition1 - live, 2 - archived, 3 - deleted
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "minLength": 0,
      "maxLength": 128,
      "description": "Title"
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    },
    "wip_limit": {
      "type": "integer",
      "description": "Work in progress recommended limit for lane"
    },
    "wip_limit_type": {
      "enum": [
        1,
        2
      ],
      "description": "1 – card's count, 2 – card's size"
    },
    "last_moved_warning_after_days": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    },
    "last_moved_warning_after_hours": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    },
    "last_moved_warning_after_minutes": {
      "type": "integer",
      "description": "Warning appears on stale cards"
    },
    "row_count": {
      "type": "integer",
      "description": "Height"
    },
    "default_tags": {
      "type": [
        "string",
        "null"
      ],
      "description": "Default tags"
    },
    "default_card_type_id": {
      "type": [
        "integer",
        "null"
      ],
      "description": "Default card type for new cards in lane"
    },
    "condition": {
      "enum": [
        1,
        2
      ],
      "description": "1 - live, 2 - archived, 3 - deleted"
    }
  },
  "anyOf": [
    {
      "required": [
        "last_moved_warning_after_minutes"
      ]
    },
    {
      "required": [
        "last_moved_warning_after_hours"
      ]
    },
    {
      "required": [
        "last_moved_warning_after_days"
      ]
    },
    {
      "required": [
        "title"
      ]
    },
    {
      "required": [
        "sort_order"
      ]
    },
    {
      "required": [
        "wip_limit"
      ]
    },
    {
      "required": [
        "wip_limit_type"
      ]
    },
    {
      "required": [
        "row_count"
      ]
    },
    {
      "required": [
        "default_tags"
      ]
    },
    {
      "required": [
        "default_card_type_id"
      ]
    },
    {
      "required": [
        "condition"
      ]
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "title": "Lane 1",
  "sort_order": 1,
  "wip_limit": 1,
  "wip_limit_type": 1,
  "last_moved_warning_after_minutes": 1,
  "board_id": 1,
  "row_count": 1
}

Remove lane

Remove lane
DELETE/boards/{board_id}/lanes/{id}

Example URI

DELETE /boards/483/lanes/id
URI Parameters
HideShow
board_id
number (required) Example: 483
id
number (required) 

Lane ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
forcebooleanRemove cascade (all related data will be gone)
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "force": {
      "type": "boolean",
      "description": "Remove cascade (all related data will be gone)"
    }
  }
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}

Company users

List of users

Retrieve list of users
GET/users

Example URI

GET /users
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "full_name": "John Doe",
    "username": "johnny",
    "email": "johnyy@example.com",
    "initials": "Hello, world!",
    "lng": "Hello, world!",
    "activated": true,
    "role": 1
  }
]

Cards

Retrieve card list

Retrieve card list
GET/cards

Example URI

GET /cards
URI Parameters
HideShow
query
String (optional) Example: Card name

Search strings

limit
Number (optional) Example: 100

maximum amount of (can’t exceed 100)

skip
Number (optional) 

amount of cards to skip

space_id
Number (optional) 

Space ID

board_id
Number (optional) 

Board ID

column_id
Number (optional) 

Column ID

lane_id
Number (optional) 

Lane ID

condition
Number (optional) 

1 - on board, 2 - archived

type_id
Number (optional) 

Card Type ID

created_before
string (required) Example: 2015

01-01 (String, Optional) - Created before date (format: ISO 8601)

created_after
string (required) Example: 2016

02-04T22:44:30.652Z (String, Optional) - Created after date (format: ISO 8601)

updated_before
string (required) Example: 2015

01-01 (String, Optional) - Updated before date (format: ISO 8601)

updated_after
string (required) Example: 2016

02-04T22:44:30.652Z (String, Optional) - Updated after date (format: ISO 8601)

Create new card
POST/cards

Creates a new Card.

To create a card at the beginning of the cell send position: 1 and position: 2 to place the card in the end.

Example URI

POST /cards
Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
titlenumber,stringtrueTitle
minLength: 1
maxLength: 1024
asapbooleanASAP marker
due_date
due_date_time_presentbooleanFlag indicating that deadline is specified up to hours and minutes
sort_ordernumberNumber of card in the cell (board_id, column_id, lane_id)
description
business_value
expires_laterbooleanFixed deadline or not. Date dependant flag in terms of Kanban
size_text
board_idintegertrueBoard ID
column_idintegerColumn ID
lane_idintegerLane ID
owner_idintegerOwner ID
owner_emailstringOwner email address. Only works if email belongs to company user
position1 - first in cell, 2 – last in cell. Overrides sort_order if present
type_idintegerCard type ID
external_id
text_format_type_id1 - markdown (default), 2 – html, 3 - jira wiki format
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": [
        "number",
        "string"
      ],
      "minLength": 1,
      "maxLength": 1024,
      "description": "Title"
    },
    "asap": {
      "type": "boolean",
      "description": "ASAP marker",
      "default": false
    },
    "due_date": {
      "oneOf": [
        {
          "type": "string",
          "description": "Deadline. ISO 8601 format"
        },
        {
          "type": "null",
          "description": "Empty card description"
        }
      ]
    },
    "due_date_time_present": {
      "type": "boolean",
      "description": "Flag indicating that deadline is specified up to hours and minutes"
    },
    "sort_order": {
      "type": "number",
      "minimum": 0,
      "exclusiveMinimum": 0,
      "description": "Number of card in the cell (board_id, column_id, lane_id)"
    },
    "description": {
      "oneOf": [
        {
          "type": [
            "number",
            "string"
          ],
          "maxLength": 32768,
          "description": "Description for card"
        },
        {
          "type": "null",
          "description": "Empty card description"
        }
      ]
    },
    "business_value": {
      "oneOf": [
        {
          "type": [
            "number",
            "string"
          ],
          "maxLength": 32768,
          "description": "Business value description"
        },
        {
          "type": "null",
          "description": "Empty business value description"
        }
      ]
    },
    "expires_later": {
      "type": "boolean",
      "description": "Fixed deadline or not. Date dependant flag in terms of Kanban"
    },
    "size_text": {
      "oneOf": [
        {
          "type": [
            "number",
            "string"
          ],
          "maxLength": 267,
          "description": "Size. Example of acceptable values: '1', '23.45', '.5', 'S', '3 M', 'L', 'XL', etc..."
        },
        {
          "type": "null",
          "description": "Empty size text"
        }
      ]
    },
    "board_id": {
      "type": "integer",
      "description": "Board ID"
    },
    "column_id": {
      "type": "integer",
      "description": "Column ID"
    },
    "lane_id": {
      "type": "integer",
      "description": "Lane ID"
    },
    "owner_id": {
      "type": "integer",
      "description": "Owner ID"
    },
    "owner_email": {
      "type": "string",
      "description": "Owner email address. Only works if email belongs to company user"
    },
    "position": {
      "enum": [
        1,
        2
      ],
      "description": "1 - first in cell, 2 – last in cell. Overrides sort_order if present"
    },
    "type_id": {
      "type": "integer",
      "description": "Card type ID"
    },
    "external_id": {
      "oneOf": [
        {
          "type": [
            "number",
            "string"
          ],
          "maxLength": 1024,
          "description": "Any external id you want to assign to card. Not exposed in web interface"
        },
        {
          "type": "null",
          "description": "Any external id you want to assign to card. Not exposed in web interface"
        }
      ]
    },
    "text_format_type_id": {
      "enum": [
        1,
        2,
        3
      ],
      "description": "1 - markdown (default), 2 – html, 3 - jira wiki format"
    }
  },
  "required": [
    "title",
    "board_id"
  ]
}
Response  200
HideShow
Body
{
  "id": 42,
  "title": "New task",
  "asap": true,
  "due_date": "2016-03-14T03:14:15.926Z",
  "description": "Task description",
  "business_value": "This will increase profits by 20%",
  "expires_later": true,
  "size_text": "1 SP",
  "board_id": 1,
  "column_id": 1,
  "lane_id": 1,
  "owner_id": 1,
  "type_id": 1,
  "project_id": 1,
  "milestone_id": 1,
  "sort_order": 1,
  "state": 1,
  "parents_count": 1,
  "children_count": 1,
  "children_done": 1,
  "goals_total": 1,
  "goals_done": 1,
  "blocking_card": true,
  "blocked": true,
  "version": 1,
  "updater_id": 1,
  "completed_on_time": true,
  "completed_at": "2016-03-14T03:14:15.926Z",
  "last_moved_at": "2016-03-14T03:14:15.926Z",
  "due_date_time_present": true,
  "size": 1,
  "size_unit": "SP"
}

Retrieve card

Retrieve card
GET/cards/{card_id}

Example URI

GET /cards/123
URI Parameters
HideShow
card_id
number (required) Example: 123

Card ID

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 42,
  "title": "New task",
  "asap": true,
  "due_date": "2016-03-14T03:14:15.926Z",
  "description": "Task description",
  "business_value": "This will increase profits by 20%",
  "expires_later": true,
  "size_text": "1 SP",
  "board_id": 1,
  "column_id": 1,
  "lane_id": 1,
  "owner_id": 1,
  "type_id": 1,
  "project_id": 1,
  "milestone_id": 1,
  "sort_order": 1,
  "state": 1,
  "parents_count": 1,
  "children_count": 1,
  "children_done": 1,
  "goals_total": 1,
  "goals_done": 1,
  "blocking_card": true,
  "blocked": true,
  "version": 1,
  "updater_id": 1,
  "completed_on_time": true,
  "completed_at": "2016-03-14T03:14:15.926Z",
  "last_moved_at": "2016-03-14T03:14:15.926Z",
  "due_date_time_present": true,
  "size": 1,
  "size_unit": "SP"
}

Update card

Update card
PATCH/cards/{card_id}

Example URI

PATCH /cards/123
URI Parameters
HideShow
card_id
number (required) Example: 123

Card ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
titlenumber,stringTitle
minLength: 1
maxLength: 1024
asapbooleanASAP marker
due_date
due_date_time_presentbooleanFlag indicating that deadline is specified up to hours and minutes
sort_ordernumberNumber of card in the cell (board_id, column_id, lane_id)
description
business_value
expires_laterbooleanFixed deadline or not. Date dependant flag in terms of Kanban
size_text
board_idintegerBoard ID
column_idintegerColumn ID
lane_idintegerLane ID
owner_idintegerOwner ID
type_idintegerCard type ID
blockedbooleanSend false to release all blocks related to this card
condition1 - live, 2 - archived, 3 - deleted
external_id
text_format_type_id1 - markdown (default), 2 – html, 3 - jira wiki format
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "title": {
      "type": [
        "number",
        "string"
      ],
      "minLength": 1,
      "maxLength": 1024,
      "description": "Title"
    },
    "asap": {
      "type": "boolean",
      "description": "ASAP marker",
      "default": false
    },
    "due_date": {
      "oneOf": [
        {
          "type": "string",
          "description": "Deadline. ISO 8601 format"
        },
        {
          "type": "null",
          "description": "Empty card description"
        }
      ]
    },
    "due_date_time_present": {
      "type": "boolean",
      "description": "Flag indicating that deadline is specified up to hours and minutes"
    },
    "sort_order": {
      "type": "number",
      "minimum": 0,
      "exclusiveMinimum": 0,
      "description": "Number of card in the cell (board_id, column_id, lane_id)"
    },
    "description": {
      "oneOf": [
        {
          "type": [
            "number",
            "string"
          ],
          "maxLength": 32768,
          "description": "Description for card"
        },
        {
          "type": "null",
          "description": "Empty card description"
        }
      ]
    },
    "business_value": {
      "oneOf": [
        {
          "type": [
            "number",
            "string"
          ],
          "maxLength": 32768,
          "description": "Business value description"
        },
        {
          "type": "null",
          "description": "Empty business value description"
        }
      ]
    },
    "expires_later": {
      "type": "boolean",
      "description": "Fixed deadline or not. Date dependant flag in terms of Kanban"
    },
    "size_text": {
      "oneOf": [
        {
          "type": [
            "number",
            "string"
          ],
          "maxLength": 267,
          "description": "Size. Example of acceptable values: '1', '23.45', '.5', 'S', '3 M', 'L', 'XL', etc..."
        },
        {
          "type": "null",
          "description": "Empty size text"
        }
      ]
    },
    "board_id": {
      "type": "integer",
      "description": "Board ID"
    },
    "column_id": {
      "type": "integer",
      "description": "Column ID"
    },
    "lane_id": {
      "type": "integer",
      "description": "Lane ID"
    },
    "owner_id": {
      "type": "integer",
      "description": "Owner ID"
    },
    "type_id": {
      "type": "integer",
      "description": "Card type ID"
    },
    "blocked": {
      "type": "boolean",
      "description": "Send false to release all blocks related to this card"
    },
    "condition": {
      "enum": [
        1,
        2
      ],
      "description": "1 - live, 2 - archived, 3 - deleted"
    },
    "external_id": {
      "oneOf": [
        {
          "type": [
            "number",
            "string"
          ],
          "maxLength": 1024,
          "description": "Any external id you want to assign to card. Not exposed in web interface"
        },
        {
          "type": "null",
          "description": "Any external id you want to assign to card. Not exposed in web interface"
        }
      ]
    },
    "text_format_type_id": {
      "enum": [
        1,
        2,
        3
      ],
      "description": "1 - markdown (default), 2 – html, 3 - jira wiki format"
    }
  }
}
Response  200
HideShow
Body
{
  "id": 42,
  "title": "New task",
  "asap": true,
  "due_date": "2016-03-14T03:14:15.926Z",
  "description": "Task description",
  "business_value": "This will increase profits by 20%",
  "expires_later": true,
  "size_text": "1 SP",
  "board_id": 1,
  "column_id": 1,
  "lane_id": 1,
  "owner_id": 1,
  "type_id": 1,
  "project_id": 1,
  "milestone_id": 1,
  "sort_order": 1,
  "state": 1,
  "parents_count": 1,
  "children_count": 1,
  "children_done": 1,
  "goals_total": 1,
  "goals_done": 1,
  "blocking_card": true,
  "blocked": true,
  "version": 1,
  "updater_id": 1,
  "completed_on_time": true,
  "completed_at": "2016-03-14T03:14:15.926Z",
  "last_moved_at": "2016-03-14T03:14:15.926Z",
  "due_date_time_present": true,
  "size": 1,
  "size_unit": "SP"
}

Unblock card

Unblock card
PATCH/cards/{card_id}

Example URI

PATCH /cards/123
URI Parameters
HideShow
card_id
number (required) Example: 123

Card ID

Request
Headers
Content-Type: application/json
Body
{
    blocked: false
}
Response  200
HideShow
Body
{
  "id": 42,
  "title": "New task",
  "asap": true,
  "due_date": "2016-03-14T03:14:15.926Z",
  "description": "Task description",
  "business_value": "This will increase profits by 20%",
  "expires_later": true,
  "size_text": "1 SP",
  "board_id": 1,
  "column_id": 1,
  "lane_id": 1,
  "owner_id": 1,
  "type_id": 1,
  "project_id": 1,
  "milestone_id": 1,
  "sort_order": 1,
  "state": 1,
  "parents_count": 1,
  "children_count": 1,
  "children_done": 1,
  "goals_total": 1,
  "goals_done": 1,
  "blocking_card": true,
  "blocked": true,
  "version": 1,
  "updater_id": 1,
  "completed_on_time": true,
  "completed_at": "2016-03-14T03:14:15.926Z",
  "last_moved_at": "2016-03-14T03:14:15.926Z",
  "due_date_time_present": true,
  "size": 1,
  "size_unit": "SP"
}

Archive card

Archive card
PATCH/cards/{card_id}

Example URI

PATCH /cards/123
URI Parameters
HideShow
card_id
number (required) Example: 123

Card ID

Request
Headers
Content-Type: application/json
Body
{
    condition: 2
}
Response  200
HideShow
Body
{
  "id": 42,
  "title": "New task",
  "asap": true,
  "due_date": "2016-03-14T03:14:15.926Z",
  "description": "Task description",
  "business_value": "This will increase profits by 20%",
  "expires_later": true,
  "size_text": "1 SP",
  "board_id": 1,
  "column_id": 1,
  "lane_id": 1,
  "owner_id": 1,
  "type_id": 1,
  "project_id": 1,
  "milestone_id": 1,
  "sort_order": 1,
  "state": 1,
  "parents_count": 1,
  "children_count": 1,
  "children_done": 1,
  "goals_total": 1,
  "goals_done": 1,
  "blocking_card": true,
  "blocked": true,
  "version": 1,
  "updater_id": 1,
  "completed_on_time": true,
  "completed_at": "2016-03-14T03:14:15.926Z",
  "last_moved_at": "2016-03-14T03:14:15.926Z",
  "due_date_time_present": true,
  "size": 1,
  "size_unit": "SP"
}

Restore card from archive

Restore card from archive
PATCH/cards/{card_id}

Example URI

PATCH /cards/123
URI Parameters
HideShow
card_id
number (required) Example: 123

Card ID

Request
Headers
Content-Type: application/json
Body
{
    condition: 1
}
Response  200
HideShow
Body
{
  "id": 42,
  "title": "New task",
  "asap": true,
  "due_date": "2016-03-14T03:14:15.926Z",
  "description": "Task description",
  "business_value": "This will increase profits by 20%",
  "expires_later": true,
  "size_text": "1 SP",
  "board_id": 1,
  "column_id": 1,
  "lane_id": 1,
  "owner_id": 1,
  "type_id": 1,
  "project_id": 1,
  "milestone_id": 1,
  "sort_order": 1,
  "state": 1,
  "parents_count": 1,
  "children_count": 1,
  "children_done": 1,
  "goals_total": 1,
  "goals_done": 1,
  "blocking_card": true,
  "blocked": true,
  "version": 1,
  "updater_id": 1,
  "completed_on_time": true,
  "completed_at": "2016-03-14T03:14:15.926Z",
  "last_moved_at": "2016-03-14T03:14:15.926Z",
  "due_date_time_present": true,
  "size": 1,
  "size_unit": "SP"
}

Card blockers

Block card

Block card
POST/cards/{card_id}/blockers

Example URI

POST /cards/12/blockers
URI Parameters
HideShow
card_id
number (required) Example: 12

Card ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
reasonstringBlock reason
minLength: 1
maxLength: 4096
blocker_card_idintegerBlocker card ID
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "reason": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4096,
      "description": "Block reason"
    },
    "blocker_card_id": {
      "type": "integer",
      "description": "Blocker card ID"
    }
  },
  "oneOf": [
    {
      "required": [
        "reason"
      ]
    },
    {
      "required": [
        "blocker_card_id"
      ]
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "reason": "Hello, world!",
  "card_id": 1,
  "blocker_id": 1,
  "blocker_card_id": 1,
  "released": false,
  "released_by_id": 1
}

Card tags

Add tag

Add tag
POST/cards/{card_id}/tags

Example URI

POST /cards/123/tags
URI Parameters
HideShow
card_id
number (required) Example: 123

Card ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
namestringtrueTag's name
minLength: 1
maxLength: 128
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "Tag's name"
    }
  },
  "required": [
    "name"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "reason": "Hello, world!",
  "card_id": 1,
  "blocker_id": 1,
  "blocker_card_id": 1,
  "released": false,
  "released_by_id": 1
}

Remove tag from card

Remove tag from card
DELETE/cards/{card_id}/tags/{tag_id}

Example URI

DELETE /cards/2134/tags/436
URI Parameters
HideShow
card_id
number (required) Example: 2134

Card ID

tag_id
number (required) Example: 436

Tag ID

Response  200

Card comments

Add comment

Add comment
POST/cards/{card_id}/comments

Example URI

POST /cards/1723/comments
URI Parameters
HideShow
card_id
number (required) Example: 1723

Card ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
textstringtrueComment
minLength: 1
maxLength: 4096
attachmentsarray
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4096,
      "description": "Comment"
    },
    "attachments": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "card_id": {
            "type": "integer"
          },
          "size": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "type": "integer"
          }
        },
        "required": [
          "name",
          "url",
          "card_id",
          "type"
        ]
      }
    }
  },
  "required": [
    "text"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "author_id": 1,
  "edited": true,
  "card_id": 1,
  "text": "Comment text"
}

Update comment

Update comment
PATCH/cards/{card_id}/comments/{comment_id}

Example URI

PATCH /cards/4732/comments/16
URI Parameters
HideShow
card_id
number (required) Example: 4732

Card ID

comment_id
number (required) Example: 16

Comment ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
textstringComment
minLength: 1
maxLength: 4096
attachmentsarray
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4096,
      "description": "Comment"
    },
    "attachments": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "card_id": {
            "type": "integer"
          },
          "size": {
            "oneOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": {
            "type": "integer"
          }
        },
        "required": [
          "name",
          "url",
          "card_id",
          "type"
        ]
      }
    }
  },
  "anyOf": [
    {
      "required": [
        "text"
      ]
    },
    {
      "required": [
        "attachments"
      ]
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "author_id": 1,
  "edited": true,
  "card_id": 1,
  "text": "Comment text"
}

Remove comment

Remove comment
DELETE/cards/{card_id}/comments/{comment_id}

Example URI

DELETE /cards/2173/comments/273
URI Parameters
HideShow
card_id
number (required) Example: 2173

Card ID

comment_id
number (required) Example: 273

Comment ID

Response  200

Card children

Add children

Add children
POST/cards/{card_id}/children

Example URI

POST /cards/12/children
URI Parameters
HideShow
card_id
number (required) Example: 12

Card ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
card_idintegertrueID of child card
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "card_id": {
      "type": "integer",
      "description": "ID of child card"
    }
  },
  "required": [
    "card_id"
  ]
}
Response  200

Remove children

Remove children
DELETE/cards/{card_id}/children/{id}

Example URI

DELETE /cards/26/children/726
URI Parameters
HideShow
card_id
number (required) Example: 26
id
number (required) Example: 726
Response  200
HideShow
Body
{
  "id": 1
}

Card users

Add user to card

Add user to card
POST/cards/{card_id}/users

Example URI

POST /cards/53/users
URI Parameters
HideShow
card_id
number (required) Example: 53

Card ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
user_idintegertrueUser ID
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "user_id": {
      "type": "integer",
      "description": "User ID"
    }
  },
  "required": [
    "user_id"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "full_name": "John Doe",
  "username": "johnny",
  "email": "johnyy@example.com",
  "initials": "Hello, world!",
  "lng": "Hello, world!",
  "activated": true,
  "type": 1
}

Update user role

Update user role
PATCH/cards/{card_id}/users/{id}

Example URI

PATCH /cards/12/users/15
URI Parameters
HideShow
card_id
number (required) Example: 12

Card ID

id
number (required) Example: 15

User ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
typeintegertrueMake user responsible for card
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "type": {
      "type": "integer",
      "minimum": 2,
      "maximum": 2,
      "description": "Make user responsible for card"
    }
  },
  "required": [
    "type"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "full_name": "John Doe",
  "username": "johnny",
  "email": "johnyy@example.com",
  "initials": "Hello, world!",
  "lng": "Hello, world!",
  "activated": true,
  "type": 1
}

Remove user from card

Remove user from card
DELETE/cards/{card_id}/users/{id}

Example URI

DELETE /cards/12/users/15
URI Parameters
HideShow
card_id
number (required) Example: 12

Card ID

id
number (required) Example: 15

User ID

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}

Card time logs, NOT STABLE YET

Get time logs

Get time logs
GET/cards/{card_id}/time-logs

Example URI

GET /cards/43425/time-logs
URI Parameters
HideShow
card_id
number (required) Example: 43425

Card ID

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "created": "2016-03-14T03:14:15.926Z",
    "updated": "2016-03-14T03:14:15.926Z",
    "card_id": 1,
    "user_id": 1,
    "role_id": 1,
    "author_id": 1,
    "updater_id": 1,
    "time_spent": 1,
    "for_date": "2016-03-14",
    "comment": "Hello, world!"
  }
]

Add time log

Add time log
POST/cards/{card_id}/time-logs

Example URI

POST /cards/43425/time-logs
URI Parameters
HideShow
card_id
number (required) Example: 43425

Card ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
role_idintegertrueRole id, predefined role is: -1 - Employee
time_spentintegertrueMinutes to log
for_datestringtrueLog date in format YYYY-MM-DD, for example 2025-12-24
commentstringAnything you would like to comment along with time log
maxLength: 4096
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "role_id": {
      "type": "integer",
      "description": "Role id, predefined role is: -1 - Employee"
    },
    "time_spent": {
      "type": "integer",
      "description": "Minutes to log"
    },
    "for_date": {
      "type": "string",
      "description": "Log date in format YYYY-MM-DD, for example 2025-12-24"
    },
    "comment": {
      "type": "string",
      "maxLength": 4096,
      "description": "Anything you would like to comment along with time log"
    }
  },
  "required": [
    "role_id",
    "time_spent",
    "for_date"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "created": "2016-03-14T03:14:15.926Z",
  "updated": "2016-03-14T03:14:15.926Z",
  "card_id": 1,
  "user_id": 1,
  "role_id": 1,
  "author_id": 1,
  "updater_id": 1,
  "time_spent": 1,
  "for_date": "2016-03-14",
  "comment": "Hello, world!"
}

Update log record

Update log record
PATCH/cards/{card_id}/time-logs/{id}

Example URI

PATCH /cards/234/time-logs/2384
URI Parameters
HideShow
card_id
number (required) Example: 234

Card ID

id
number (required) Example: 2384

Time log ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
role_idintegerRole id, predefined role is: -1 - Employee
time_spentintegerMinutes to log
for_datestringLog date in format YYYY-MM-DD, for example 2025-12-24
commentstringAnything you would like to comment along with time log
maxLength: 4096
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "role_id": {
      "type": "integer",
      "description": "Role id, predefined role is: -1 - Employee"
    },
    "time_spent": {
      "type": "integer",
      "description": "Minutes to log"
    },
    "for_date": {
      "type": "string",
      "description": "Log date in format YYYY-MM-DD, for example 2025-12-24"
    },
    "comment": {
      "type": "string",
      "maxLength": 4096,
      "description": "Anything you would like to comment along with time log"
    }
  },
  "anyOf": [
    {
      "required": [
        "role_id"
      ]
    },
    {
      "required": [
        "time_spent"
      ]
    },
    {
      "required": [
        "for_date"
      ]
    },
    {
      "required": [
        "comment"
      ]
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "created": "2016-03-14T03:14:15.926Z",
  "updated": "2016-03-14T03:14:15.926Z",
  "card_id": 1,
  "user_id": 1,
  "role_id": 1,
  "author_id": 1,
  "updater_id": 1,
  "time_spent": 1,
  "for_date": "2016-03-14",
  "comment": "Hello, world!"
}

Remove time log

Remove time log
DELETE/cards/{card_id}/time-logs/{id}

Example URI

DELETE /cards/2348/time-logs/627
URI Parameters
HideShow
card_id
number (required) Example: 2348

Card ID

id
number (required) Example: 627

Time log ID

Response  200

Tags

List of tags

Retrieve list of tags
GET/tags

Example URI

GET /tags
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "name": "Tag 1"
  }
]

Card checklists

Add checklist to card

Add checklist to card
POST/cards/{card_id}/checklists

Example URI

POST /cards/65/checklists
URI Parameters
HideShow
card_id
number (required) Example: 65
Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
namestringtrueName
minLength: 1
maxLength: 1024
sort_ordernumberPosition
items_source_checklist_idintegerChecklist id to copy list items from
exclude_item_idsarrayIf source id is presented, these ids will be used to not include list items in created checklist
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1024,
      "description": "Name"
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    },
    "items_source_checklist_id": {
      "type": "integer",
      "minimum": 1,
      "description": "Checklist id to copy list items from"
    },
    "exclude_item_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "If source id is presented, these ids will be used to not include list items in created checklist"
    }
  },
  "required": [
    "name"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "name": "Checklist 1",
  "sort_order": 1
}

Update checklist

Update checklist
PATCH/cards/{card_id}/checklists/{id}

Example URI

PATCH /cards/81/checklists/59
URI Parameters
HideShow
card_id
number (required) Example: 81
id
number (required) Example: 59
Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
namestringName
minLength: 1
maxLength: 1024
sort_ordernumberPosition
card_idnumberMove to card id
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1024,
      "description": "Name"
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    },
    "card_id": {
      "type": "number",
      "description": "Move to card id"
    }
  },
  "anyOf": [
    {
      "required": [
        "name"
      ]
    },
    {
      "required": [
        "sort_order"
      ]
    },
    {
      "required": [
        "card_id"
      ]
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "name": "Checklist 1",
  "sort_order": 1
}

Remove checklist from card

Remove checklist from card
DELETE/cards/{card_id}/checklists/{id}

Example URI

DELETE /cards/81/checklists/59
URI Parameters
HideShow
card_id
number (required) Example: 81

Card ID

id
number (required) Example: 59

Checklist ID

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}

Card Checklist items

Add item to checklist

Add item to checklist
POST/cards/{card_id}/checklists/{checklist_id}/items

Example URI

POST /cards/213/checklists/62/items
URI Parameters
HideShow
card_id
number (required) Example: 213

Card ID

checklist_id
number (required) Example: 62

Checklist ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
textstringtrueContent of item
minLength: 1
maxLength: 4096
sort_ordernumberPosition
checkedbooleanState
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4096,
      "description": "Content of item"
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    },
    "checked": {
      "type": "boolean",
      "description": "State"
    }
  },
  "required": [
    "text"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "text": "Checklist item 1",
  "sort_order": 1,
  "checked": true,
  "checklist_id": 1,
  "checker_id": 1,
  "user_id": 1
}

Update checklist item

Update checklist item
PATCH/cards/{card_id}/checklists/{checklist_id}/items/{id}

Example URI

PATCH /cards/826/checklists/826/items/82
URI Parameters
HideShow
card_id
number (required) Example: 826

Card ID

checklist_id
number (required) Example: 826

Checklist ID

id
number (required) Example: 82

Checklist item ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
text
sort_ordernumberPosition
checklist_idintegerID of new checklist
checkedbooleanState
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "text": {
      "oneOf": [
        {
          "type": "string",
          "maxLength": 4096,
          "description": "Content of item"
        },
        {
          "type": "null",
          "description": "Content of item"
        }
      ]
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    },
    "checklist_id": {
      "type": "integer",
      "description": "ID of new checklist"
    },
    "checked": {
      "type": "boolean",
      "description": "State"
    }
  },
  "anyOf": [
    {
      "required": [
        "text"
      ]
    },
    {
      "required": [
        "sort_order"
      ]
    },
    {
      "required": [
        "checklist_id"
      ]
    },
    {
      "required": [
        "checked"
      ]
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "text": "Checklist item 1",
  "sort_order": 1,
  "checked": true,
  "checklist_id": 1,
  "checker_id": 1,
  "user_id": 1
}

Remove checklist item

Remove checklist item
DELETE/cards/{card_id}/checklists/{checklist_id}/items/{id}

Example URI

DELETE /cards/826/checklists/826/items/82
URI Parameters
HideShow
card_id
number (required) Example: 826

Card ID

checklist_id
number (required) Example: 826

Checklist ID

id
number (required) Example: 82

Checklist item ID

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}

Card Definition of Done (Acceptance Criteria)

Add DoD item to card

Add DoD item to card
POST/cards/{card_id}/definition-of-done

Example URI

POST /cards/266/definition-of-done
URI Parameters
HideShow
card_id
number (required) Example: 266

Card ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
textstringtrueContent of item
minLength: 1
maxLength: 4096
sort_ordernumberPosition
checkedbooleanState
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4096,
      "description": "Content of item"
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    },
    "checked": {
      "type": "boolean",
      "description": "State"
    }
  },
  "required": [
    "text"
  ]
}
Response  200
HideShow
Body
{
  "id": 1,
  "text": "Checklist item 1",
  "sort_order": 1,
  "checked": true,
  "checklist_id": 1,
  "checker_id": 1,
  "user_id": 1
}

Update DoD item

Update DoD item
PATCH/cards/{card_id}/definition-of-done/{id}

Example URI

PATCH /cards/2189/definition-of-done/736
URI Parameters
HideShow
card_id
number (required) Example: 2189

Card ID

id
number (required) Example: 736

Definition of done item ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
textstringContent of item
minLength: 1
maxLength: 4096
sort_ordernumberPosition
checkedbooleanState
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4096,
      "description": "Content of item"
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    },
    "checked": {
      "type": "boolean",
      "description": "State"
    }
  },
  "anyOf": [
    {
      "required": [
        "text"
      ]
    },
    {
      "required": [
        "sort_order"
      ]
    },
    {
      "required": [
        "checked"
      ]
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "text": "Checklist item 1",
  "sort_order": 1,
  "checked": true,
  "checklist_id": 1,
  "checker_id": 1,
  "user_id": 1
}

Remove DoD item from card

Remove DoD item from card
DELETE/cards/{card_id}/definition-of-done/{id}

Example URI

DELETE /cards/263/definition-of-done/726
URI Parameters
HideShow
card_id
number (required) Example: 263

Card ID

id
number (required) Example: 726
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}

Card types

Create new card type

Create new card type
POST/card-types

Example URI

POST /card-types
Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
letterstringtrueCharacter that represents type. Maximum length for letters is 1 (length 11 is for emoji)
minLength: 1
maxLength: 11
namestringtrueType name
minLength: 1
maxLength: 64
colorintegertrueColor number
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "letter": {
      "type": "string",
      "minLength": 1,
      "maxLength": 11,
      "description": "Character that represents type. Maximum length for letters is 1 (length 11 is for emoji)"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "Type name"
    },
    "color": {
      "type": "integer",
      "minimum": 2,
      "maximum": 25,
      "description": "Color number"
    }
  },
  "required": [
    "letter",
    "name",
    "color"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "name": "Feature",
  "color": 20,
  "letter": "F"
}

Get list of card types

Get list of card types
GET/card-types

Example URI

GET /card-types
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "name": "Feature",
    "color": 20,
    "letter": "F"
  }
]

Update card type

Update card type
PATCH/card-types/{id}

Example URI

PATCH /card-types/27
URI Parameters
HideShow
id
number (required) Example: 27

Card type ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
letterstringCharacter that represents type. Maximum length for letters is 1 (length 11 is for emoji)
minLength: 1
maxLength: 11
namestringType name
minLength: 1
maxLength: 64
colorintegerColor number
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "letter": {
      "type": "string",
      "minLength": 1,
      "maxLength": 11,
      "description": "Character that represents type. Maximum length for letters is 1 (length 11 is for emoji)"
    },
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 64,
      "description": "Type name"
    },
    "color": {
      "type": "integer",
      "minimum": 2,
      "maximum": 25,
      "description": "Color number"
    }
  },
  "anyOf": [
    {
      "required": [
        "letter"
      ]
    },
    {
      "required": [
        "name"
      ]
    },
    {
      "required": [
        "color"
      ]
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "name": "Feature",
  "color": 20,
  "letter": "F"
}

Remove card type

Remove card type
DELETE/card-types/{id}

Example URI

DELETE /card-types/716
URI Parameters
HideShow
id
number (required) Example: 716

Card type ID

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}

Space users

Get list of users

Get list of users
GET/spaces/{space_id}/users

Example URI

GET /spaces/162/users
URI Parameters
HideShow
space_id
number (required) Example: 162

Space ID

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "full_name": "John Doe",
    "username": "johnny",
    "email": "johnyy@example.com",
    "initials": "Hello, world!",
    "lng": "Hello, world!",
    "activated": true,
    "role": 1
  }
]

Get user

Get user
GET/spaces/{space_id}/users/{id}

Example URI

GET /spaces/726/users/id
URI Parameters
HideShow
space_id
number (required) Example: 726

Space ID

id
number (required) 

User ID

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "full_name": "John Doe",
  "username": "johnny",
  "email": "johnyy@example.com",
  "initials": "Hello, world!",
  "lng": "Hello, world!",
  "activated": true,
  "role": 1
}

Invite user to space

Invite user to space
POST/spaces/{space_id}/users

Example URI

POST /spaces/277/users
URI Parameters
HideShow
space_id
number (required) Example: 277

Space ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
emailstringtrueUser email address
role1 - reader, 2 - writer, 3 - admin
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "email": {
      "type": "string",
      "description": "User email address"
    },
    "role": {
      "enum": [
        1,
        2,
        3
      ],
      "description": "1 - reader, 2 - writer, 3 - admin"
    }
  },
  "required": [
    "email"
  ]
}

Change user role and notification settings

Change user role and notification settings
PATCH/spaces/{space_id}/users/{id}

Example URI

PATCH /spaces/277/users/id
URI Parameters
HideShow
space_id
number (required) Example: 277

Space ID

id
number (required) 

User ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
role1 - reader, 2 - writer, 3 - admin
notifications_enabledbooleanEnabled or disable notifications for space events
space_group_idSpace group id
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "role": {
      "enum": [
        1,
        2,
        3
      ],
      "description": "1 - reader, 2 - writer, 3 - admin"
    },
    "notifications_enabled": {
      "type": "boolean",
      "description": "Enabled or disable notifications for space events"
    },
    "space_group_id": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "description": "Space group id"
    }
  },
  "anyOf": [
    {
      "required": [
        "role"
      ]
    },
    {
      "required": [
        "space_group_id"
      ]
    }
  ]
}
Response  200

Remove user from space

Remove user from space
DELETE/spaces/{space_id}/users/{id}

Example URI

DELETE /spaces/648/users/id
URI Parameters
HideShow
space_id
number (required) Example: 648

Space ID

id
number (required) 

User ID

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}

Template checklists

Create new template checklist

Create new template checklist
POST/boards/{board_id}/template-checklists

Example URI

POST /boards/112/template-checklists
URI Parameters
HideShow
board_id
number (required) Example: 112
Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
namestringname
minLength: 1
maxLength: 512
apply_type_idsarraypolicy will apply for cards with following card types
sort_ordernumberPosition
column_idnumberpolicy will apply on specific column
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "description": "name"
    },
    "apply_type_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "policy will apply for cards with following card types"
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    },
    "column_id": {
      "type": "number",
      "description": "policy will apply on specific column"
    }
  },
  "anyOf": [
    {
      "required": [
        "name"
      ]
    },
    {
      "required": [
        "apply_type_ids"
      ]
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "name": "Hello, world!",
  "board_id": 1
}

Get list of template checklists

Get list of template checklists
GET/boards/{board_id}/template-checklists

Example URI

GET /boards/78/template-checklists
URI Parameters
HideShow
board_id
number (required) Example: 78
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "name": "Hello, world!",
    "board_id": 1
  }
]

Update template checklist

Update template checklist
PATCH/boards/{board_id}/template-checklists/{id}

Example URI

PATCH /boards/172/template-checklists/817
URI Parameters
HideShow
board_id
number (required) Example: 172

Board ID

id
number (required) Example: 817

Template checklist ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
namestringname
minLength: 1
maxLength: 512
apply_type_idsarraypolicy will apply for cards with following card types
sort_ordernumberPosition
board_idnumberBoard id
column_idnumberColumn id
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 512,
      "description": "name"
    },
    "apply_type_ids": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "policy will apply for cards with following card types"
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    },
    "board_id": {
      "type": "number",
      "description": "Board id"
    },
    "column_id": {
      "type": "number",
      "description": "Column id"
    }
  },
  "anyOf": [
    {
      "required": [
        "name"
      ]
    },
    {
      "required": [
        "board_id"
      ]
    },
    {
      "required": [
        "column_id"
      ]
    },
    {
      "required": [
        "apply_type_ids"
      ]
    },
    {
      "required": [
        "sort_order"
      ]
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "name": "Hello, world!",
  "board_id": 1
}

Remove template checklist

Remove template checklist
DELETE/boards/{board_id}/template-checklists/{id}

Example URI

DELETE /boards/726/template-checklists/726
URI Parameters
HideShow
board_id
number (required) Example: 726

Board ID

id
number (required) Example: 726

Template checklist ID

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}

Template checklist items

Create new item

Create new item
POST/boards/{board_id}/template-checklists/{checklist_id}/items

Example URI

POST /boards/42/template-checklists/12/items
URI Parameters
HideShow
board_id
number (required) Example: 42

Board ID

checklist_id
number (required) Example: 12

Template checklist ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
textstringtrueContent of item
minLength: 1
maxLength: 4096
sort_ordernumberPosition
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4096,
      "description": "Content of item"
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    }
  },
  "required": [
    "text"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "text": "Hello, world!",
  "sort_order": 1,
  "policy_id": 1,
  "user_id": 1
}

Update template checklist item

Update template checklist item
PATCH/boards/{board_id}/template-checklists/{checklist_id}/items/{id}

Example URI

PATCH /boards/56/template-checklists/33/items/91
URI Parameters
HideShow
board_id
number (required) Example: 56

Board ID

checklist_id
number (required) Example: 33

Template checklist ID

id
number (required) Example: 91

Template checklist item ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
textstringContent of item
minLength: 1
maxLength: 4096
sort_ordernumberPosition
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "text": {
      "type": "string",
      "minLength": 1,
      "maxLength": 4096,
      "description": "Content of item"
    },
    "sort_order": {
      "type": "number",
      "description": "Position",
      "minimum": 0,
      "exclusiveMinimum": 0
    }
  },
  "anyOf": [
    {
      "required": [
        "text"
      ]
    },
    {
      "required": [
        "sort_order"
      ]
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "text": "Hello, world!",
  "sort_order": 1,
  "policy_id": 1,
  "user_id": 1
}

Remove template checklist item

Remove template checklist item
DELETE/boards/{board_id}/template-checklists/{checklist_id}/items/{id}

Example URI

DELETE /boards/12/template-checklists/52/items/85
URI Parameters
HideShow
board_id
number (required) Example: 12

Board ID

checklist_id
number (required) Example: 52

Template checklist ID

id
number (required) Example: 85

Template checklist item ID

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1
}

Timesheet, NOT STABLE YET

List of card time logs

Get list
GET/time-logs

Example URI

GET /time-logs
URI Parameters
HideShow
tag_ids
String (optional) Example: 234,2342,6435

Tag ids, comma-separated

user_ids
String (optional) Example: 34,345,345345

User ids, comma-separated

space_ids
String (optional) Example: 453,238945,2

Space ids, comma-separated

board_ids
String (optional) Example: 654,24,243

Board ids, comma-separated

from
String (optional) Example: 2025-12-01

Date from, format YYYY-MM-DD

to
String (optional) Example: 2025-12-30

Date from, format YYYY-MM-DD

Company groups, NOT STABLE YET

Add user to group. Group will be created if not exists

Add user to group
POST/api/users/{user_id}/groups

Example URI

POST /api/users/7/groups
URI Parameters
HideShow
user_id
number (required) Example: 7

User ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
namestringtrueGroup name
minLength: 1
maxLength: 128
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "Group name"
    }
  },
  "required": [
    "name"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "user": {
    "id": 1,
    "full_name": "John Doe",
    "username": "johnny",
    "email": "johnyy@example.com",
    "initials": "Hello, world!",
    "lng": "Hello, world!",
    "activated": true
  },
  "group": {
    "id": 1,
    "company_id": 1,
    "created": "2016-03-14T03:14:15.926Z",
    "updated": "2016-03-14T03:14:15.926Z",
    "name": "Hello, world!"
  }
}

Remove user from group

Remove user from group
DELETE/api/users/{user_id}/groups/{group_id}

Example URI

DELETE /api/users/7/groups/42
URI Parameters
HideShow
user_id
number (required) Example: 7

User ID

group_id
number (required) Example: 42

User ID

Request
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "user": {
    "id": 1,
    "full_name": "John Doe",
    "username": "johnny",
    "email": "johnyy@example.com",
    "initials": "Hello, world!",
    "lng": "Hello, world!",
    "activated": true
  }
}

Rename group

Update group
PATCH/api/company/groups/{group_id}

Example URI

PATCH /api/company/groups/42
URI Parameters
HideShow
group_id
number (required) Example: 42

Group ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
namestringGroup name
minLength: 1
maxLength: 128
permissionsnumberBitmap of user permissions
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "description": "Group name"
    },
    "permissions": {
      "type": "number",
      "description": "Bitmap of user permissions"
    }
  },
  "anyOf": [
    {
      "required": [
        "name"
      ]
    },
    {
      "required": [
        "permissions"
      ]
    }
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "company_id": 1,
  "created": "2016-03-14T03:14:15.926Z",
  "updated": "2016-03-14T03:14:15.926Z",
  "name": "Hello, world!"
}

Remove group

Remove group
DELETE/api/company/groups/{group_id}

Example URI

DELETE /api/company/groups/42
URI Parameters
HideShow
group_id
number (required) Example: 42

Group ID

Request
Headers
Content-Type: application/json
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "company_id": 1,
  "created": "2016-03-14T03:14:15.926Z",
  "updated": "2016-03-14T03:14:15.926Z",
  "name": "Hello, world!"
}

Invite all group users to space

Invite group
POST/api/spaces/{space_id}/groups

Example URI

POST /api/spaces/42/groups
URI Parameters
HideShow
space_id
number (required) Example: 42

Space ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
group_idintegertrueGroup ID
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "group_id": {
      "type": "integer",
      "description": "Group ID"
    }
  },
  "required": [
    "group_id"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "full_name": "John Doe",
    "username": "johnny",
    "email": "johnyy@example.com",
    "initials": "Hello, world!",
    "lng": "Hello, world!",
    "activated": true
  }
]

Add space to group

Add space to group
POST/company/groups/{group_id}/spaces/{space_id}

Example URI

POST /company/groups/7/spaces/42
URI Parameters
HideShow
group_id
number (required) Example: 7

Group ID

space_id
number (required) Example: 42

Space ID

Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "company_id": 1,
  "created": "2016-03-14T03:14:15.926Z",
  "updated": "2016-03-14T03:14:15.926Z",
  "name": "Hello, world!"
}

Update space role for group

Update space role for group
PATCH/company/groups/{group_id}/spaces/{space_id}

Example URI

PATCH /company/groups/7/spaces/42
URI Parameters
HideShow
group_id
number (required) Example: 7

Group ID

space_id
number (required) Example: 42

Space ID

Request
Headers
Content-Type: application/json
Attribute nameTypeRequiredDescriptionConstraints
roleintegertrueGroup role on space
HideShow
Schema
{
  "$schema": "http://json-schema.org/draft-06/schema",
  "type": "object",
  "properties": {
    "role": {
      "type": "integer",
      "description": "Group role on space"
    }
  },
  "required": [
    "role"
  ]
}
Response  200
HideShow
Headers
Content-Type: application/json
Body
{
  "id": 1,
  "company_id": 1,
  "created": "2016-03-14T03:14:15.926Z",
  "updated": "2016-03-14T03:14:15.926Z",
  "name": "Hello, world!"
}

Remove space from group

Remove space from group
DELETE/company/groups/{group_id}/spaces/{space_id}

Example URI

DELETE /company/groups/7/spaces/42
URI Parameters
HideShow
group_id
number (required) Example: 7

Group ID

space_id
number (required) Example: 42

Space ID

Response  200
HideShow
Headers
Content-Type: application/json
Body
[
  {
    "id": 1,
    "full_name": "John Doe",
    "username": "johnny",
    "email": "johnyy@example.com",
    "initials": "Hello, world!",
    "lng": "Hello, world!",
    "activated": true
  }
]

Generated by aglio on 28 Jul 2021