MinuteDock

Tasks

Tasks are one way to organise your Entries in MinuteDock. Each entry can have multiple Tasks.

Tasks Overview

{
  "id": 42,
Integer

Primary Key identifier for this task.

  "name": "admin",
String

A name to use for this Task.

  "description": "Administrative tasks, reconciling Xero and things like that.",
String

A longer description for this Task.

  "short_code": "admin",
String

A short reference code ("#-code") to use for this Task in the MinuteDock Dock Bar.

  "has_detail": false,
Boolean

Whether or not this task has extra detail associated (this is a hidden feature, feel free to ask us about enabling it for your account)

  "detail_name": "foo",
String

A name for the extra detail associated with this Task (this is a hidden feature, feel free to ask us about enabling it for your account)

  "hidden": false,
Boolean

Whether or not this Task is hidden in MinuteDock.

  "default_rate_dollars": 100.0
Number (Float)

The default rate for this Task in dollars.

}

List all Available Tasks

Open in API Explorer
GET /tasks.json

Lists all available tasks for the currently selected account.

Example Request

Format:
curl --request GET \
  --url https://https//minutedock.com/api/v1/tasks.json \
  --header 'accept: application/json' \
  --header 'apikey: YOUR API KEY HERE' \
  --header 'content-type: multipart/form-data; boundary=---011000010111000001101001'
require 'uri'
require 'net/http'

url = URI("https://https//minutedock.com/api/v1/tasks.json")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)
request["content-type"] = 'multipart/form-data; boundary=---011000010111000001101001'
request["accept"] = 'application/json'
request["apikey"] = 'YOUR API KEY HERE'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "GET",
  "hostname": "https",
  "port": null,
  "path": "//minutedock.com/api/v1/tasks.json",
  "headers": {
    "content-type": "multipart/form-data; boundary=---011000010111000001101001",
    "accept": "application/json",
    "apikey": "YOUR API KEY HERE"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("https")

payload = ""

headers = {
    'content-type': "multipart/form-data; boundary=---011000010111000001101001",
    'accept': "application/json",
    'apikey': "YOUR API KEY HERE"
    }

conn.request("GET", "//minutedock.com/api/v1/tasks.json", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://https//minutedock.com/api/v1/tasks.json",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_POSTFIELDS => "",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "apikey: YOUR API KEY HERE",
    "content-type: multipart/form-data; boundary=---011000010111000001101001"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://https//minutedock.com/api/v1/tasks.json"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("content-type", "multipart/form-data; boundary=---011000010111000001101001")
	req.Header.Add("accept", "application/json")
	req.Header.Add("apikey", "YOUR API KEY HERE")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Responses

200 Success Tasks List
[
  "id": 42,
Integer

Primary Key identifier for this task.

  "name": "admin",
String

A name to use for this Task.

  "description": "Administrative tasks, reconciling Xero and things like that.",
String

A longer description for this Task.

  "short_code": "admin",
String

A short reference code ("#-code") to use for this Task in the MinuteDock Dock Bar.

  "has_detail": false,
Boolean

Whether or not this task has extra detail associated (this is a hidden feature, feel free to ask us about enabling it for your account)

  "detail_name": "foo",
String

A name for the extra detail associated with this Task (this is a hidden feature, feel free to ask us about enabling it for your account)

  "hidden": false,
Boolean

Whether or not this Task is hidden in MinuteDock.

  "default_rate_dollars": 100.0
Number (Float)

The default rate for this Task in dollars.

]

Archive Task

Open in API Explorer
POST /tasks/{id}/archive.json

This is an alternative to deleting a task that will hide it task from # menus in MinuteDock, but not delete it.

Example Request

Format:
curl --request POST \
  --url 'https://minutedock.com/api/v1/tasks/{id}/archive.json' \
  --header 'accept: application/json' \
  --header 'content-type: multipart/form-data; boundary=---011000010111000001101001'
require 'uri'
require 'net/http'

url = URI("https://minutedock.com/api/v1/tasks/baz/archive.json")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'multipart/form-data; boundary=---011000010111000001101001'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "minutedock.com",
  "port": null,
  "path": "/api/v1/tasks/baz/archive.json",
  "headers": {
    "accept": "application/json",
    "content-type": "multipart/form-data; boundary=---011000010111000001101001"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("minutedock.com")

payload = ""

headers = {
    'accept': "application/json",
    'content-type': "multipart/form-data; boundary=---011000010111000001101001"
    }

conn.request("POST", "/api/v1/tasks/baz/archive.json", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://minutedock.com/api/v1/tasks/baz/archive.json",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "content-type: multipart/form-data; boundary=---011000010111000001101001"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://minutedock.com/api/v1/tasks/baz/archive.json"

	req, _ := http.NewRequest("POST", url, nil)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "multipart/form-data; boundary=---011000010111000001101001")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Path Parameters

Name Type Required Description Example
id Integer Required baz

Responses

200 Success Tasks Default
{
  "id": 42,
Integer

Primary Key identifier for this task.

  "name": "admin",
String

A name to use for this Task.

  "description": "Administrative tasks, reconciling Xero and things like that.",
String

A longer description for this Task.

  "short_code": "admin",
String

A short reference code ("#-code") to use for this Task in the MinuteDock Dock Bar.

  "has_detail": false,
Boolean

Whether or not this task has extra detail associated (this is a hidden feature, feel free to ask us about enabling it for your account)

  "detail_name": "foo",
String

A name for the extra detail associated with this Task (this is a hidden feature, feel free to ask us about enabling it for your account)

  "hidden": false,
Boolean

Whether or not this Task is hidden in MinuteDock.

  "default_rate_dollars": 100.0
Number (Float)

The default rate for this Task in dollars.

}

Create Task

Open in API Explorer
POST /tasks.json

Create a new task

Example Request

Format:
curl --request POST \
  --url https://minutedock.com/api/v1/tasks.json \
  --header 'accept: application/json' \
  --header 'content-type: multipart/form-data; boundary=---011000010111000001101001' \
  --form 'task[name]=Web Development' \
  --form 'task[default_rate_dollars]=180' \
  --form 'task[description]=Web development in Ruby' \
  --form 'task[short_code]=#webdev' \
  --form 'task[has_detail]=true' \
  --form 'task[detail_name]=ruby'
require 'uri'
require 'net/http'

url = URI("https://minutedock.com/api/v1/tasks.json")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'multipart/form-data; boundary=---011000010111000001101001'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[name]\"\r\n\r\nWeb Development\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[default_rate_dollars]\"\r\n\r\n180\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[description]\"\r\n\r\nWeb development in Ruby\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[short_code]\"\r\n\r\n#webdev\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[has_detail]\"\r\n\r\ntrue\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[detail_name]\"\r\n\r\nruby\r\n-----011000010111000001101001--"

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "POST",
  "hostname": "minutedock.com",
  "port": null,
  "path": "/api/v1/tasks.json",
  "headers": {
    "accept": "application/json",
    "content-type": "multipart/form-data; boundary=---011000010111000001101001"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[name]\"\r\n\r\nWeb Development\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[default_rate_dollars]\"\r\n\r\n180\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[description]\"\r\n\r\nWeb development in Ruby\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[short_code]\"\r\n\r\n#webdev\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[has_detail]\"\r\n\r\ntrue\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[detail_name]\"\r\n\r\nruby\r\n-----011000010111000001101001--");
req.end();
import http.client

conn = http.client.HTTPSConnection("minutedock.com")

payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[name]\"\r\n\r\nWeb Development\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[default_rate_dollars]\"\r\n\r\n180\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[description]\"\r\n\r\nWeb development in Ruby\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[short_code]\"\r\n\r\n#webdev\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[has_detail]\"\r\n\r\ntrue\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[detail_name]\"\r\n\r\nruby\r\n-----011000010111000001101001--"

headers = {
    'accept': "application/json",
    'content-type': "multipart/form-data; boundary=---011000010111000001101001"
    }

conn.request("POST", "/api/v1/tasks.json", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://minutedock.com/api/v1/tasks.json",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[name]\"\r\n\r\nWeb Development\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[default_rate_dollars]\"\r\n\r\n180\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[description]\"\r\n\r\nWeb development in Ruby\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[short_code]\"\r\n\r\n#webdev\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[has_detail]\"\r\n\r\ntrue\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[detail_name]\"\r\n\r\nruby\r\n-----011000010111000001101001--",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "content-type: multipart/form-data; boundary=---011000010111000001101001"
  ),
));

$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/ioutil"
)

func main() {

	url := "https://minutedock.com/api/v1/tasks.json"

	payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[name]\"\r\n\r\nWeb Development\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[default_rate_dollars]\"\r\n\r\n180\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[description]\"\r\n\r\nWeb development in Ruby\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[short_code]\"\r\n\r\n#webdev\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[has_detail]\"\r\n\r\ntrue\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[detail_name]\"\r\n\r\nruby\r\n-----011000010111000001101001--")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "multipart/form-data; boundary=---011000010111000001101001")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Form Data Parameters

Name Type Required Description Example
task[name] String Optional

A sweet name for your new task.

Web Development
task[short_code] String Optional

Short reference for your new task.

#webdev
task[default_rate_dollars] Integer Optional

Default rate in dollars for your new task.

180
task[description] String Optional

A description for your new task

Web development in Ruby
task[has_detail] Boolean Optional

Set this if your task should have a detail

true
task[detail_name] String Optional

The detailed name for your task

ruby

Responses

200 Success Tasks Default
{
  "id": 42,
Integer

Primary Key identifier for this task.

  "name": "admin",
String

A name to use for this Task.

  "description": "Administrative tasks, reconciling Xero and things like that.",
String

A longer description for this Task.

  "short_code": "admin",
String

A short reference code ("#-code") to use for this Task in the MinuteDock Dock Bar.

  "has_detail": false,
Boolean

Whether or not this task has extra detail associated (this is a hidden feature, feel free to ask us about enabling it for your account)

  "detail_name": "foo",
String

A name for the extra detail associated with this Task (this is a hidden feature, feel free to ask us about enabling it for your account)

  "hidden": false,
Boolean

Whether or not this Task is hidden in MinuteDock.

  "default_rate_dollars": 100.0
Number (Float)

The default rate for this Task in dollars.

}

Update Task

Open in API Explorer
PUT /tasks/{id}.json

Update an existing task

Example Request

Format:
curl --request PUT \
  --url https://minutedock.com/api/v1/tasks/123.json \
  --header 'accept: application/json' \
  --header 'content-type: multipart/form-data; boundary=---011000010111000001101001' \
  --form 'task[detail_name]=norf' \
  --form 'task[has_detail]=false' \
  --form 'task[name]=Superb Web Development' \
  --form 'task[short_code]=#superwebdev' \
  --form 'task[default_rate_dollars]=210'
require 'uri'
require 'net/http'

url = URI("https://minutedock.com/api/v1/tasks/123.json")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Put.new(url)
request["accept"] = 'application/json'
request["content-type"] = 'multipart/form-data; boundary=---011000010111000001101001'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[detail_name]\"\r\n\r\nnorf\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[has_detail]\"\r\n\r\nfalse\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[name]\"\r\n\r\nSuperb Web Development\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[short_code]\"\r\n\r\n#superwebdev\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[default_rate_dollars]\"\r\n\r\n210\r\n-----011000010111000001101001--"

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "PUT",
  "hostname": "minutedock.com",
  "port": null,
  "path": "/api/v1/tasks/123.json",
  "headers": {
    "accept": "application/json",
    "content-type": "multipart/form-data; boundary=---011000010111000001101001"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[detail_name]\"\r\n\r\nnorf\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[has_detail]\"\r\n\r\nfalse\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[name]\"\r\n\r\nSuperb Web Development\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[short_code]\"\r\n\r\n#superwebdev\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[default_rate_dollars]\"\r\n\r\n210\r\n-----011000010111000001101001--");
req.end();
import http.client

conn = http.client.HTTPSConnection("minutedock.com")

payload = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[detail_name]\"\r\n\r\nnorf\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[has_detail]\"\r\n\r\nfalse\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[name]\"\r\n\r\nSuperb Web Development\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[short_code]\"\r\n\r\n#superwebdev\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[default_rate_dollars]\"\r\n\r\n210\r\n-----011000010111000001101001--"

headers = {
    'accept': "application/json",
    'content-type': "multipart/form-data; boundary=---011000010111000001101001"
    }

conn.request("PUT", "/api/v1/tasks/123.json", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://minutedock.com/api/v1/tasks/123.json",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[detail_name]\"\r\n\r\nnorf\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[has_detail]\"\r\n\r\nfalse\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[name]\"\r\n\r\nSuperb Web Development\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[short_code]\"\r\n\r\n#superwebdev\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[default_rate_dollars]\"\r\n\r\n210\r\n-----011000010111000001101001--",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "content-type: multipart/form-data; boundary=---011000010111000001101001"
  ),
));

$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/ioutil"
)

func main() {

	url := "https://minutedock.com/api/v1/tasks/123.json"

	payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[detail_name]\"\r\n\r\nnorf\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[has_detail]\"\r\n\r\nfalse\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[name]\"\r\n\r\nSuperb Web Development\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[short_code]\"\r\n\r\n#superwebdev\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"task[default_rate_dollars]\"\r\n\r\n210\r\n-----011000010111000001101001--")

	req, _ := http.NewRequest("PUT", url, payload)

	req.Header.Add("accept", "application/json")
	req.Header.Add("content-type", "multipart/form-data; boundary=---011000010111000001101001")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Form Data Parameters

Name Type Required Description Example
task[has_detail] Boolean Optional false
task[detail_name] String Optional norf
task[name] String Optional

The updated name for your new task

Superb Web Development
task[short_code] String Optional

The updated short reference code for your new task.

#superwebdev
task[default_rate_dollars] Integer Optional

The updated default rate (in Dollars) for your new task

210

Path Parameters

Name Type Required Description Example
id Integer Required 123

Responses

200 Success Tasks Default
{
  "id": 42,
Integer

Primary Key identifier for this task.

  "name": "admin",
String

A name to use for this Task.

  "description": "Administrative tasks, reconciling Xero and things like that.",
String

A longer description for this Task.

  "short_code": "admin",
String

A short reference code ("#-code") to use for this Task in the MinuteDock Dock Bar.

  "has_detail": false,
Boolean

Whether or not this task has extra detail associated (this is a hidden feature, feel free to ask us about enabling it for your account)

  "detail_name": "foo",
String

A name for the extra detail associated with this Task (this is a hidden feature, feel free to ask us about enabling it for your account)

  "hidden": false,
Boolean

Whether or not this Task is hidden in MinuteDock.

  "default_rate_dollars": 100.0
Number (Float)

The default rate for this Task in dollars.

}

Delete Task

Open in API Explorer
DELETE /tasks/{id}.json

This will remove the task, and any associated Entries from MinuteDock.

Example Request

Format:
curl --request DELETE \
  --url https://minutedock.com/api/v1/tasks/123.json \
  --header 'accept: application/json' \
  --header 'content-type: multipart/form-data; boundary=---011000010111000001101001'
require 'uri'
require 'net/http'

url = URI("https://minutedock.com/api/v1/tasks/123.json")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Delete.new(url)
request["content-type"] = 'multipart/form-data; boundary=---011000010111000001101001'
request["accept"] = 'application/json'

response = http.request(request)
puts response.read_body
var http = require("https");

var options = {
  "method": "DELETE",
  "hostname": "minutedock.com",
  "port": null,
  "path": "/api/v1/tasks/123.json",
  "headers": {
    "content-type": "multipart/form-data; boundary=---011000010111000001101001",
    "accept": "application/json"
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.end();
import http.client

conn = http.client.HTTPSConnection("minutedock.com")

payload = ""

headers = {
    'content-type': "multipart/form-data; boundary=---011000010111000001101001",
    'accept': "application/json"
    }

conn.request("DELETE", "/api/v1/tasks/123.json", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://minutedock.com/api/v1/tasks/123.json",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_POSTFIELDS => "",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "content-type: multipart/form-data; boundary=---011000010111000001101001"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
package main

import (
	"fmt"
	"net/http"
	"io/ioutil"
)

func main() {

	url := "https://minutedock.com/api/v1/tasks/123.json"

	req, _ := http.NewRequest("DELETE", url, nil)

	req.Header.Add("content-type", "multipart/form-data; boundary=---011000010111000001101001")
	req.Header.Add("accept", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := ioutil.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}

Path Parameters

Name Type Required Description Example
id Integer Required

Task id to remove.

123

Responses

200 Success Tasks Deleted task
{
  "id": 123,
Integer
  "status": "deleted"
String
}