summaryrefslogtreecommitdiff
path: root/doc/api-subtask-procedures.markdown
diff options
context:
space:
mode:
Diffstat (limited to 'doc/api-subtask-procedures.markdown')
-rw-r--r--doc/api-subtask-procedures.markdown194
1 files changed, 194 insertions, 0 deletions
diff --git a/doc/api-subtask-procedures.markdown b/doc/api-subtask-procedures.markdown
new file mode 100644
index 00000000..c1dbae37
--- /dev/null
+++ b/doc/api-subtask-procedures.markdown
@@ -0,0 +1,194 @@
+API Subtask 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:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "method": "createSubtask",
+ "id": 2041554661,
+ "params": {
+ "task_id": 1,
+ "title": "Subtask #1"
+ }
+}
+```
+
+Response example:
+
+```json
+{
+ "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:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "method": "getSubtask",
+ "id": 133184525,
+ "params": {
+ "subtask_id": 1
+ }
+}
+```
+
+Response example:
+
+```json
+{
+ "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:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "method": "getAllSubtasks",
+ "id": 2087700490,
+ "params": {
+ "task_id": 1
+ }
+```
+
+Response example:
+
+```json
+{
+ "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:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "method": "updateSubtask",
+ "id": 191749979,
+ "params": {
+ "id": 1,
+ "task_id": 1,
+ "status": 1,
+ "time_spent": 5,
+ "user_id": 1
+ }
+}
+```
+
+Response example:
+
+```json
+{
+ "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:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "method": "removeSubtask",
+ "id": 1382487306,
+ "params": {
+ "subtask_id": 1
+ }
+}
+```
+
+Response example:
+
+```json
+{
+ "jsonrpc": "2.0",
+ "id": 1382487306,
+ "result": true
+}
+```