curl --request POST \
--url https://api.smokeball.com/tasks/{taskId}/subtasks \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json-patch+json' \
--header 'x-api-key: <api-key>' \
--data '
{
"staffId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"subject": "Confer with Mary",
"completedByStaffId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"isCompleted": false,
"completedDate": "2020-02-15T13:00:00Z",
"completedDateOnly": "2020-02-15"
}
'import requests
url = "https://api.smokeball.com/tasks/{taskId}/subtasks"
payload = {
"staffId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"subject": "Confer with Mary",
"completedByStaffId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"isCompleted": False,
"completedDate": "2020-02-15T13:00:00Z",
"completedDateOnly": "2020-02-15"
}
headers = {
"x-api-key": "<api-key>",
"Authorization": "<api-key>",
"Content-Type": "application/json-patch+json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-api-key': '<api-key>',
Authorization: '<api-key>',
'Content-Type': 'application/json-patch+json'
},
body: JSON.stringify({
staffId: '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8',
subject: 'Confer with Mary',
completedByStaffId: '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8',
isCompleted: false,
completedDate: '2020-02-15T13:00:00Z',
completedDateOnly: '2020-02-15'
})
};
fetch('https://api.smokeball.com/tasks/{taskId}/subtasks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.smokeball.com/tasks/{taskId}/subtasks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'staffId' => '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8',
'subject' => 'Confer with Mary',
'completedByStaffId' => '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8',
'isCompleted' => false,
'completedDate' => '2020-02-15T13:00:00Z',
'completedDateOnly' => '2020-02-15'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json-patch+json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.smokeball.com/tasks/{taskId}/subtasks"
payload := strings.NewReader("{\n \"staffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"subject\": \"Confer with Mary\",\n \"completedByStaffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"isCompleted\": false,\n \"completedDate\": \"2020-02-15T13:00:00Z\",\n \"completedDateOnly\": \"2020-02-15\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json-patch+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.smokeball.com/tasks/{taskId}/subtasks")
.header("x-api-key", "<api-key>")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json-patch+json")
.body("{\n \"staffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"subject\": \"Confer with Mary\",\n \"completedByStaffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"isCompleted\": false,\n \"completedDate\": \"2020-02-15T13:00:00Z\",\n \"completedDateOnly\": \"2020-02-15\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.smokeball.com/tasks/{taskId}/subtasks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json-patch+json'
request.body = "{\n \"staffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"subject\": \"Confer with Mary\",\n \"completedByStaffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"isCompleted\": false,\n \"completedDate\": \"2020-02-15T13:00:00Z\",\n \"completedDateOnly\": \"2020-02-15\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"href": "<string>",
"relation": "<string>",
"method": "GET"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}Create a subtask
Creates a subtask for a specified task.
curl --request POST \
--url https://api.smokeball.com/tasks/{taskId}/subtasks \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json-patch+json' \
--header 'x-api-key: <api-key>' \
--data '
{
"staffId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"subject": "Confer with Mary",
"completedByStaffId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"isCompleted": false,
"completedDate": "2020-02-15T13:00:00Z",
"completedDateOnly": "2020-02-15"
}
'import requests
url = "https://api.smokeball.com/tasks/{taskId}/subtasks"
payload = {
"staffId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"subject": "Confer with Mary",
"completedByStaffId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"isCompleted": False,
"completedDate": "2020-02-15T13:00:00Z",
"completedDateOnly": "2020-02-15"
}
headers = {
"x-api-key": "<api-key>",
"Authorization": "<api-key>",
"Content-Type": "application/json-patch+json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-api-key': '<api-key>',
Authorization: '<api-key>',
'Content-Type': 'application/json-patch+json'
},
body: JSON.stringify({
staffId: '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8',
subject: 'Confer with Mary',
completedByStaffId: '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8',
isCompleted: false,
completedDate: '2020-02-15T13:00:00Z',
completedDateOnly: '2020-02-15'
})
};
fetch('https://api.smokeball.com/tasks/{taskId}/subtasks', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.smokeball.com/tasks/{taskId}/subtasks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'staffId' => '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8',
'subject' => 'Confer with Mary',
'completedByStaffId' => '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8',
'isCompleted' => false,
'completedDate' => '2020-02-15T13:00:00Z',
'completedDateOnly' => '2020-02-15'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json-patch+json",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.smokeball.com/tasks/{taskId}/subtasks"
payload := strings.NewReader("{\n \"staffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"subject\": \"Confer with Mary\",\n \"completedByStaffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"isCompleted\": false,\n \"completedDate\": \"2020-02-15T13:00:00Z\",\n \"completedDateOnly\": \"2020-02-15\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json-patch+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.smokeball.com/tasks/{taskId}/subtasks")
.header("x-api-key", "<api-key>")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json-patch+json")
.body("{\n \"staffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"subject\": \"Confer with Mary\",\n \"completedByStaffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"isCompleted\": false,\n \"completedDate\": \"2020-02-15T13:00:00Z\",\n \"completedDateOnly\": \"2020-02-15\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.smokeball.com/tasks/{taskId}/subtasks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json-patch+json'
request.body = "{\n \"staffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"subject\": \"Confer with Mary\",\n \"completedByStaffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"isCompleted\": false,\n \"completedDate\": \"2020-02-15T13:00:00Z\",\n \"completedDateOnly\": \"2020-02-15\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"href": "<string>",
"relation": "<string>",
"method": "GET"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"instance": "<string>"
}Path Parameters
Body
Data transfer object for a subtask.
Unique identifier of the associated staff member creating or updating the subtask.
1"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
Subject of the subtask.
1"Confer with Mary"
Unique identifier of the associated staff member who completed the subtask.
"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
True when the subtask is completed.
false
Deprecated. Use CompletedDateOnly instead.
Completed date of the subtask in UTC. If not provided and IsCompleted is set to true, the current date will be used.
"2020-02-15T13:00:00Z"
Completed date of the subtask. Takes precendence over CompletedDate if set. If not provided and IsCompleted is set to true, the current date will be used.
Any time/timezone information will be discarded and only the date portion will be considered.
"2020-02-15"