Kanboard Documentation

Subtask API Procedures

createSubtask

  • Purpose: Create a new subtask
  • Parameters:
    • task_id (integer, required)
    • title (integer, required)
    • user_id (int, optional)
    • time_estimated (int, optional)
    • time_spent (int, optional)
    • status (int, optional)
  • Result on success: subtask_id
  • Result on failure: false

Request example:

{
    "jsonrpc": "2.0",
    "method": "createSubtask",
    "id": 2041554661,
    "params": {
        "task_id": 1,
        "title": "Subtask #1"
    }
}

Response example:

{
    "jsonrpc": "2.0",
    "id": 2041554661,
    "result": 45
}

getSubtask

  • Purpose: Get subtask information
  • Parameters:
    • subtask_id (integer)
  • Result on success: subtask properties
  • Result on failure: null

Request example:

{
    "jsonrpc": "2.0",
    "method": "getSubtask",
    "id": 133184525,
    "params": {
        "subtask_id": 1
    }
}

Response example:

{
    "jsonrpc": "2.0",
    "id": 133184525,
    "result": {
        "id": "1",
        "title": "Subtask #1",
        "status": "0",
        "time_estimated": "0",
        "time_spent": "0",
        "task_id": "1",
        "user_id": "0"
    }
}

getAllSubtasks

  • Purpose: Get all available subtasks
  • Parameters:
    • task_id (integer, required)
  • Result on success: List of subtasks
  • Result on failure: false

Request example:

{
    "jsonrpc": "2.0",
    "method": "getAllSubtasks",
    "id": 2087700490,
    "params": {
        "task_id": 1
    }
}

Response example:

{
    "jsonrpc": "2.0",
    "id": 2087700490,
    "result": [
        {
            "id": "1",
            "title": "Subtask #1",
            "status": "0",
            "time_estimated": "0",
            "time_spent": "0",
            "task_id": "1",
            "user_id": "0",
            "username": null,
            "name": null,
            "status_name": "Todo"
        }
    ]
}

updateSubtask

  • Purpose: Update a subtask
  • Parameters:
    • id (integer, required)
    • task_id (integer, required)
    • title (integer, optional)
    • user_id (integer, optional)
    • time_estimated (integer, optional)
    • time_spent (integer, optional)
    • status (integer, optional)
  • Result on success: true
  • Result on failure: false

Request example:

{
    "jsonrpc": "2.0",
    "method": "updateSubtask",
    "id": 191749979,
    "params": {
        "id": 1,
        "task_id": 1,
        "status": 1,
        "time_spent": 5,
        "user_id": 1
    }
}

Response example:

{
    "jsonrpc": "2.0",
    "id": 191749979,
    "result": true
}

removeSubtask

  • Purpose: Remove a subtask
  • Parameters:
    • subtask_id (integer, required)
  • Result on success: true
  • Result on failure: false

Request example:

{
    "jsonrpc": "2.0",
    "method": "removeSubtask",
    "id": 1382487306,
    "params": {
        "subtask_id": 1
    }
}

Response example:

{
    "jsonrpc": "2.0",
    "id": 1382487306,
    "result": true
}