curl --request POST \
--url https://api.smokeball.com/tasks \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json-patch+json' \
--header 'x-api-key: <api-key>' \
--data '
{
"staffId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"matterId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"completedByStaffId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"assigneeIds": [
"<string>"
],
"subject": "Review contract for John Smith",
"note": "Contract needs to be reviewed and discussed with John",
"isCompleted": false,
"categories": [
"<string>"
],
"completedDate": "2020-02-15T13:00:00Z",
"completedDateOnly": "2020-02-15",
"dueDate": "2020-02-15T13:00:00Z",
"dueDateOnly": "2020-02-15",
"duration": "PT4H33M"
}
'import requests
url = "https://api.smokeball.com/tasks"
payload = {
"staffId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"matterId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"completedByStaffId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"assigneeIds": ["<string>"],
"subject": "Review contract for John Smith",
"note": "Contract needs to be reviewed and discussed with John",
"isCompleted": False,
"categories": ["<string>"],
"completedDate": "2020-02-15T13:00:00Z",
"completedDateOnly": "2020-02-15",
"dueDate": "2020-02-15T13:00:00Z",
"dueDateOnly": "2020-02-15",
"duration": "PT4H33M"
}
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',
matterId: '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8',
completedByStaffId: '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8',
assigneeIds: ['<string>'],
subject: 'Review contract for John Smith',
note: 'Contract needs to be reviewed and discussed with John',
isCompleted: false,
categories: ['<string>'],
completedDate: '2020-02-15T13:00:00Z',
completedDateOnly: '2020-02-15',
dueDate: '2020-02-15T13:00:00Z',
dueDateOnly: '2020-02-15',
duration: 'PT4H33M'
})
};
fetch('https://api.smokeball.com/tasks', 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",
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',
'matterId' => '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8',
'completedByStaffId' => '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8',
'assigneeIds' => [
'<string>'
],
'subject' => 'Review contract for John Smith',
'note' => 'Contract needs to be reviewed and discussed with John',
'isCompleted' => false,
'categories' => [
'<string>'
],
'completedDate' => '2020-02-15T13:00:00Z',
'completedDateOnly' => '2020-02-15',
'dueDate' => '2020-02-15T13:00:00Z',
'dueDateOnly' => '2020-02-15',
'duration' => 'PT4H33M'
]),
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"
payload := strings.NewReader("{\n \"staffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"matterId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"completedByStaffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"assigneeIds\": [\n \"<string>\"\n ],\n \"subject\": \"Review contract for John Smith\",\n \"note\": \"Contract needs to be reviewed and discussed with John\",\n \"isCompleted\": false,\n \"categories\": [\n \"<string>\"\n ],\n \"completedDate\": \"2020-02-15T13:00:00Z\",\n \"completedDateOnly\": \"2020-02-15\",\n \"dueDate\": \"2020-02-15T13:00:00Z\",\n \"dueDateOnly\": \"2020-02-15\",\n \"duration\": \"PT4H33M\"\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")
.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 \"matterId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"completedByStaffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"assigneeIds\": [\n \"<string>\"\n ],\n \"subject\": \"Review contract for John Smith\",\n \"note\": \"Contract needs to be reviewed and discussed with John\",\n \"isCompleted\": false,\n \"categories\": [\n \"<string>\"\n ],\n \"completedDate\": \"2020-02-15T13:00:00Z\",\n \"completedDateOnly\": \"2020-02-15\",\n \"dueDate\": \"2020-02-15T13:00:00Z\",\n \"dueDateOnly\": \"2020-02-15\",\n \"duration\": \"PT4H33M\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.smokeball.com/tasks")
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 \"matterId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"completedByStaffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"assigneeIds\": [\n \"<string>\"\n ],\n \"subject\": \"Review contract for John Smith\",\n \"note\": \"Contract needs to be reviewed and discussed with John\",\n \"isCompleted\": false,\n \"categories\": [\n \"<string>\"\n ],\n \"completedDate\": \"2020-02-15T13:00:00Z\",\n \"completedDateOnly\": \"2020-02-15\",\n \"dueDate\": \"2020-02-15T13:00:00Z\",\n \"dueDateOnly\": \"2020-02-15\",\n \"duration\": \"PT4H33M\"\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 task
Creates a task.
curl --request POST \
--url https://api.smokeball.com/tasks \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json-patch+json' \
--header 'x-api-key: <api-key>' \
--data '
{
"staffId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"matterId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"completedByStaffId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"assigneeIds": [
"<string>"
],
"subject": "Review contract for John Smith",
"note": "Contract needs to be reviewed and discussed with John",
"isCompleted": false,
"categories": [
"<string>"
],
"completedDate": "2020-02-15T13:00:00Z",
"completedDateOnly": "2020-02-15",
"dueDate": "2020-02-15T13:00:00Z",
"dueDateOnly": "2020-02-15",
"duration": "PT4H33M"
}
'import requests
url = "https://api.smokeball.com/tasks"
payload = {
"staffId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"matterId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"completedByStaffId": "750eb5c5-ac0b-7d11-4997-e0ce9d8896c8",
"assigneeIds": ["<string>"],
"subject": "Review contract for John Smith",
"note": "Contract needs to be reviewed and discussed with John",
"isCompleted": False,
"categories": ["<string>"],
"completedDate": "2020-02-15T13:00:00Z",
"completedDateOnly": "2020-02-15",
"dueDate": "2020-02-15T13:00:00Z",
"dueDateOnly": "2020-02-15",
"duration": "PT4H33M"
}
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',
matterId: '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8',
completedByStaffId: '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8',
assigneeIds: ['<string>'],
subject: 'Review contract for John Smith',
note: 'Contract needs to be reviewed and discussed with John',
isCompleted: false,
categories: ['<string>'],
completedDate: '2020-02-15T13:00:00Z',
completedDateOnly: '2020-02-15',
dueDate: '2020-02-15T13:00:00Z',
dueDateOnly: '2020-02-15',
duration: 'PT4H33M'
})
};
fetch('https://api.smokeball.com/tasks', 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",
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',
'matterId' => '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8',
'completedByStaffId' => '750eb5c5-ac0b-7d11-4997-e0ce9d8896c8',
'assigneeIds' => [
'<string>'
],
'subject' => 'Review contract for John Smith',
'note' => 'Contract needs to be reviewed and discussed with John',
'isCompleted' => false,
'categories' => [
'<string>'
],
'completedDate' => '2020-02-15T13:00:00Z',
'completedDateOnly' => '2020-02-15',
'dueDate' => '2020-02-15T13:00:00Z',
'dueDateOnly' => '2020-02-15',
'duration' => 'PT4H33M'
]),
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"
payload := strings.NewReader("{\n \"staffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"matterId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"completedByStaffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"assigneeIds\": [\n \"<string>\"\n ],\n \"subject\": \"Review contract for John Smith\",\n \"note\": \"Contract needs to be reviewed and discussed with John\",\n \"isCompleted\": false,\n \"categories\": [\n \"<string>\"\n ],\n \"completedDate\": \"2020-02-15T13:00:00Z\",\n \"completedDateOnly\": \"2020-02-15\",\n \"dueDate\": \"2020-02-15T13:00:00Z\",\n \"dueDateOnly\": \"2020-02-15\",\n \"duration\": \"PT4H33M\"\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")
.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 \"matterId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"completedByStaffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"assigneeIds\": [\n \"<string>\"\n ],\n \"subject\": \"Review contract for John Smith\",\n \"note\": \"Contract needs to be reviewed and discussed with John\",\n \"isCompleted\": false,\n \"categories\": [\n \"<string>\"\n ],\n \"completedDate\": \"2020-02-15T13:00:00Z\",\n \"completedDateOnly\": \"2020-02-15\",\n \"dueDate\": \"2020-02-15T13:00:00Z\",\n \"dueDateOnly\": \"2020-02-15\",\n \"duration\": \"PT4H33M\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.smokeball.com/tasks")
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 \"matterId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"completedByStaffId\": \"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8\",\n \"assigneeIds\": [\n \"<string>\"\n ],\n \"subject\": \"Review contract for John Smith\",\n \"note\": \"Contract needs to be reviewed and discussed with John\",\n \"isCompleted\": false,\n \"categories\": [\n \"<string>\"\n ],\n \"completedDate\": \"2020-02-15T13:00:00Z\",\n \"completedDateOnly\": \"2020-02-15\",\n \"dueDate\": \"2020-02-15T13:00:00Z\",\n \"dueDateOnly\": \"2020-02-15\",\n \"duration\": \"PT4H33M\"\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>"
}Body
Unique identifier of the associated staff member creating or updating the task.
1"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
Unique identifier of the matter associated to the task.
"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
Unique identifier of the associated staff member completing the task.
"750eb5c5-ac0b-7d11-4997-e0ce9d8896c8"
Unique identifier(s) of the associated staff member(s) assigned to the task.
The subject - this should be a short description of the task.
"Review contract for John Smith"
Notes on the task.
"Contract needs to be reviewed and discussed with John"
True when the task is completed.
false
Categories for the task.
Deprecated. Use CompletedDateOnly instead.
Completed date of the task 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 task. 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"
Deprecated. Use DueDateOnly instead.
Due date of the task in UTC.
"2020-02-15T13:00:00Z"
Due date of the task. Takes precendence over DueDate if set.
Any time/timezone information will be discarded and only the date portion will be considered.
"2020-02-15"
Duration of the task in ISO 8601 duration format.
"PT4H33M"