Kepla API

Tasks

Tasks allow users to manage their follow-up actions on records. They are always associated with a record, have a status, title, description, due date and can be assigned to multiple users or teams.

Tasks can be retrieved, created, updated and deleted through the API. They support standard pagination and are identified by their ID.

Tasks Overview

{
  "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
  "author": {
  "author": { ... }
Object
    "createdAt": "2015-11-02T00:30:23.968Z",
String
    "email": "[email protected]",
String (Email)
    "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
    "name": "Tom Maitland"
String
  },
  "authorId": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
  "complete": false,
Boolean
  "createdAt": "2016-07-20T13:58:14.092Z",
String
  "date": null,
String (Date-time)

The due date for the task

  "description": "foo",
String

A longer description giving more detail about the task

  "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
  "name": "API Task",
String

A human readable title for the task

  "recordId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)

The ID of the record to attach this task to

  teams: [
Array
    {
    { ... }
Object

Condensed

      "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
      "createdAt": null,
String (Date-time)
      "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
      "name": "API Team"
String
    }
  ]
  "updatedAt": null,
String (Date-time)
  users: [
Array
    {
    { ... }
Object

Condensed

      "createdAt": "2015-11-02T00:30:23.968Z",
String
      "email": "[email protected]",
String (Email)
      "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
      "name": "Tom Maitland"
String
    }
  ]
  "record": {
  "record": { ... }
Object

Only included if expand is set to "record"

    "{fieldId}": "Field value",
String
    "createdAt": "2015-07-22T19:30:11.203Z",
String
    "id": "5aa2220d-4997-4e47-a651-b9d44b63224f",
String
    "typeId": "7806762b-2b30-4e12-bbe9-fafd6150cf4d",
String
    "updatedAt": "2016-07-19T11:06:54.313Z",
String
    "display": {
    "display": { ... }
Object
      "title": "Joe API",
String

The first value on the record by field order

      "subtitle": "[email protected]"
String

The second value on the record by field order

    }
  }
}

Retrieve a Task

Open in API Explorer
GET /tasks/:task

Retrieves the specified task with its author, teams and users.

Example Request

Format:
curl --request GET \
  --url https://api.kepla.com/v1/tasks/:task \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR API KEY HERE'
require 'uri'
require 'net/http'

url = URI("https://api.kepla.com/v1/tasks/:task")

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["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR API KEY HERE'

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

var options = {
  "method": "GET",
  "hostname": "api.kepla.com",
  "port": null,
  "path": "/v1/tasks/:task",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer 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("api.kepla.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR API KEY HERE"
    }

conn.request("GET", "/v1/tasks/:task", headers=headers)

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

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

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kepla.com/v1/tasks/:task",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR API KEY HERE"
  ),
));

$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://api.kepla.com/v1/tasks/:task"

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

	req.Header.Add("accept", "application/json")
	req.Header.Add("authorization", "Bearer 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))

}

Path Parameters

Name Type Required Description Example
task String (uuid) Required

The task ID to retrieve

04fe9a97-a579-43c5-bb1a-58ed29bf0a6a

Responses

200 Success Tasks Default
{
  "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
  "author": {
  "author": { ... }
Object
    "createdAt": "2015-11-02T00:30:23.968Z",
String
    "email": "[email protected]",
String (Email)
    "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
    "name": "Tom Maitland"
String
  },
  "authorId": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
  "complete": false,
Boolean
  "createdAt": "2016-07-20T13:58:14.092Z",
String
  "date": null,
String (Date-time)

The due date for the task

  "description": "foo",
String

A longer description giving more detail about the task

  "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
  "name": "API Task",
String

A human readable title for the task

  "recordId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)

The ID of the record to attach this task to

  teams: [
Array
    {
    { ... }
Object

Condensed

      "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
      "createdAt": null,
String (Date-time)
      "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
      "name": "API Team"
String
    }
  ]
  "updatedAt": null,
String (Date-time)
  users: [
Array
    {
    { ... }
Object

Condensed

      "createdAt": "2015-11-02T00:30:23.968Z",
String
      "email": "[email protected]",
String (Email)
      "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
      "name": "Tom Maitland"
String
    }
  ]
  "record": {
  "record": { ... }
Object

Only included if expand is set to "record"

    "{fieldId}": "Field value",
String
    "createdAt": "2015-07-22T19:30:11.203Z",
String
    "id": "5aa2220d-4997-4e47-a651-b9d44b63224f",
String
    "typeId": "7806762b-2b30-4e12-bbe9-fafd6150cf4d",
String
    "updatedAt": "2016-07-19T11:06:54.313Z",
String
    "display": {
    "display": { ... }
Object
      "title": "Joe API",
String

The first value on the record by field order

      "subtitle": "[email protected]"
String

The second value on the record by field order

    }
  }
}

List Tasks

Open in API Explorer
GET /tasks

Returns a list of all tasks in the account that match the specified criteria. By default the endpoint will return every task in the account ordered by date due.

Example Request

Format:
curl --request GET \
  --url 'https://api.kepla.com/v1/tasks?recordId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&userId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&teamId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&hideComplete=true&type=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&expand=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&before=2016-08-06&after=2016-08-06&search=foo&offset=0&limit=50&order=asc&orderBy=date' \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR API KEY HERE'
require 'uri'
require 'net/http'

url = URI("https://api.kepla.com/v1/tasks?recordId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&userId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&teamId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&hideComplete=true&type=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&expand=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&before=2016-08-06&after=2016-08-06&search=foo&offset=0&limit=50&order=asc&orderBy=date")

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["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR API KEY HERE'

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

var options = {
  "method": "GET",
  "hostname": "api.kepla.com",
  "port": null,
  "path": "/v1/tasks?recordId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&userId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&teamId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&hideComplete=true&type=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&expand=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&before=2016-08-06&after=2016-08-06&search=foo&offset=0&limit=50&order=asc&orderBy=date",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer 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("api.kepla.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR API KEY HERE"
    }

conn.request("GET", "/v1/tasks?recordId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&userId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&teamId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&hideComplete=true&type=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&expand=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&before=2016-08-06&after=2016-08-06&search=foo&offset=0&limit=50&order=asc&orderBy=date", headers=headers)

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

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

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kepla.com/v1/tasks?recordId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&userId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&teamId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&hideComplete=true&type=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&expand=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&before=2016-08-06&after=2016-08-06&search=foo&offset=0&limit=50&order=asc&orderBy=date",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR API KEY HERE"
  ),
));

$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://api.kepla.com/v1/tasks?recordId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&userId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&teamId=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&hideComplete=true&type=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&expand=04fe9a97-a579-43c5-bb1a-58ed29bf0a6a&before=2016-08-06&after=2016-08-06&search=foo&offset=0&limit=50&order=asc&orderBy=date"

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

	req.Header.Add("accept", "application/json")
	req.Header.Add("authorization", "Bearer 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))

}

Query Parameters

Name Type Required Description Example
recordId String (uuid) Optional

Retrieve tasks for this record ID (cannot be used in conjunction with userId or teamId)

04fe9a97-a579-43c5-bb1a-58ed29bf0a6a
userId String (uuid) Optional

Retrieve tasks assigned to this user ID (cannot be used in conjunction with recordId or teamId)

04fe9a97-a579-43c5-bb1a-58ed29bf0a6a
teamId String (uuid) Optional

Retrieve tasks assigned to this team ID (cannot be used in conjunction with recordId or userId)

04fe9a97-a579-43c5-bb1a-58ed29bf0a6a
hideComplete Boolean Optional

Hide complete tasks

true
type String (uuid) Optional

Retrieve tasks on records with this type ID (must be used in conjunction with expand)

04fe9a97-a579-43c5-bb1a-58ed29bf0a6a
expand String (uuid) Optional

When this contains "record" it will include a condensed version of the record object with each task. It is required to filter tasks by record type.

04fe9a97-a579-43c5-bb1a-58ed29bf0a6a
before String (date) Optional

Retrieve tasks due before the specified date

2019-01-23
after String (date) Optional

Retrieve tasks due after the specified date

2019-01-23
search String Optional

Retrieve tasks where the name or description contain the following terms

foo
offset Integer Optional

The number of tasks to skip from the start of the collection

0
limit Integer Optional

The maximum number of tasks to retrieve

50
order String Optional

The direction to order tasks in. Can be desc or asc.

asc
orderBy String Optional

The key to order tasks by. This can be any field on the task object.

date

Responses

200 Success Tasks Envelope
{
  tasks: [
Array
    {
    { ... }
Object

List

      "items": {
      "items": { ... }
Object
        "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
        "author": {
        "author": { ... }
Object
          "createdAt": "2015-11-02T00:30:23.968Z",
String
          "email": "[email protected]",
String (Email)
          "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
          "name": "Tom Maitland"
String
        },
        "authorId": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
        "complete": false,
Boolean
        "createdAt": "2016-07-20T13:58:14.092Z",
String
        "date": null,
String (Date-time)

The due date for the task

        "description": "foo",
String

A longer description giving more detail about the task

        "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
        "name": "API Task",
String

A human readable title for the task

        "recordId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)

The ID of the record to attach this task to

        teams: [
Array
          {
          { ... }
Object

Condensed

            "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
            "createdAt": null,
String (Date-time)
            "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
            "name": "API Team"
String
          }
        ]
        "updatedAt": null,
String (Date-time)
        users: [
Array
          {
          { ... }
Object

Condensed

            "createdAt": "2015-11-02T00:30:23.968Z",
String
            "email": "[email protected]",
String (Email)
            "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
            "name": "Tom Maitland"
String
          }
        ]
        "record": {
        "record": { ... }
Object

Only included if expand is set to "record"

          "{fieldId}": "Field value",
String
          "createdAt": "2015-07-22T19:30:11.203Z",
String
          "id": "5aa2220d-4997-4e47-a651-b9d44b63224f",
String
          "typeId": "7806762b-2b30-4e12-bbe9-fafd6150cf4d",
String
          "updatedAt": "2016-07-19T11:06:54.313Z",
String
          "display": {
          "display": { ... }
Object
            "title": "Joe API",
String

The first value on the record by field order

            "subtitle": "[email protected]"
String

The second value on the record by field order

          }
        }
      }
    }
  ]
  "total": 10,
Integer
  "options": {
  "options": { ... }
Object
    "limit": 50,
Integer
    "offset": 0
Integer
  }
}
204 Bad Request Tasks Bad request
{
  "name": "BadRequestError",
String
  "message": "You can only filter on user or team ID, not both",
String
  "status": 400
Integer
}

Create a Task

Open in API Explorer
POST /tasks

Creates a task with the parameters provided in the request.

Example Request

Format:
curl --request POST \
  --url https://api.kepla.com/v1/tasks \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR API KEY HERE' \
  --header 'content-type: application/json' \
  --data '{"name":"API Demo","description":"Demo description here","date":"2016-07-30","complete":false,"recordId":"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a"}'
require 'uri'
require 'net/http'

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

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["authorization"] = 'Bearer YOUR API KEY HERE'
request["content-type"] = 'application/json'
request.body = "{\"name\":\"API Demo\",\"description\":\"Demo description here\",\"date\":\"2016-07-30\",\"complete\":false,\"recordId\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\"}"

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

var options = {
  "method": "POST",
  "hostname": "api.kepla.com",
  "port": null,
  "path": "/v1/tasks",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR API KEY HERE",
    "content-type": "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.write(JSON.stringify({ name: 'API Demo',
  description: 'Demo description here',
  date: '2016-07-30',
  complete: false,
  recordId: '04fe9a97-a579-43c5-bb1a-58ed29bf0a6a' }));
req.end();
import http.client

conn = http.client.HTTPSConnection("api.kepla.com")

payload = "{\"name\":\"API Demo\",\"description\":\"Demo description here\",\"date\":\"2016-07-30\",\"complete\":false,\"recordId\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\"}"

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR API KEY HERE",
    'content-type': "application/json"
    }

conn.request("POST", "/v1/tasks", 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://api.kepla.com/v1/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 => "{\"name\":\"API Demo\",\"description\":\"Demo description here\",\"date\":\"2016-07-30\",\"complete\":false,\"recordId\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\"}",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR API KEY HERE",
    "content-type: application/json"
  ),
));

$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://api.kepla.com/v1/tasks"

	payload := strings.NewReader("{\"name\":\"API Demo\",\"description\":\"Demo description here\",\"date\":\"2016-07-30\",\"complete\":false,\"recordId\":\"04fe9a97-a579-43c5-bb1a-58ed29bf0a6a\"}")

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

	req.Header.Add("accept", "application/json")
	req.Header.Add("authorization", "Bearer YOUR API KEY HERE")
	req.Header.Add("content-type", "application/json")

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

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

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

}

Request Body

Name Type Required Description Example
payload Object Required
{
  "name": "API Demo",
String
  "description": "Demo description here",
String
  "date": "2016-07-30",
String (Date)
  "complete": false,
Boolean
  "recordId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a"
String (Uuid)
}

Responses

201 Success Tasks Default
{
  "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
  "author": {
  "author": { ... }
Object
    "createdAt": "2015-11-02T00:30:23.968Z",
String
    "email": "[email protected]",
String (Email)
    "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
    "name": "Tom Maitland"
String
  },
  "authorId": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
  "complete": false,
Boolean
  "createdAt": "2016-07-20T13:58:14.092Z",
String
  "date": null,
String (Date-time)

The due date for the task

  "description": "foo",
String

A longer description giving more detail about the task

  "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
  "name": "API Task",
String

A human readable title for the task

  "recordId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)

The ID of the record to attach this task to

  teams: [
Array
    {
    { ... }
Object

Condensed

      "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
      "createdAt": null,
String (Date-time)
      "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
      "name": "API Team"
String
    }
  ]
  "updatedAt": null,
String (Date-time)
  users: [
Array
    {
    { ... }
Object

Condensed

      "createdAt": "2015-11-02T00:30:23.968Z",
String
      "email": "[email protected]",
String (Email)
      "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
      "name": "Tom Maitland"
String
    }
  ]
  "record": {
  "record": { ... }
Object

Only included if expand is set to "record"

    "{fieldId}": "Field value",
String
    "createdAt": "2015-07-22T19:30:11.203Z",
String
    "id": "5aa2220d-4997-4e47-a651-b9d44b63224f",
String
    "typeId": "7806762b-2b30-4e12-bbe9-fafd6150cf4d",
String
    "updatedAt": "2016-07-19T11:06:54.313Z",
String
    "display": {
    "display": { ... }
Object
      "title": "Joe API",
String

The first value on the record by field order

      "subtitle": "[email protected]"
String

The second value on the record by field order

    }
  }
}

Update a Task

Open in API Explorer
POST /tasks/:task

Updates the specified task with new data provided in the request.

Example Request

Format:
curl --request POST \
  --url https://api.kepla.com/v1/tasks/:task \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR API KEY HERE' \
  --header 'content-type: application/x-www-form-urlencoded'
require 'uri'
require 'net/http'

url = URI("https://api.kepla.com/v1/tasks/:task")

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["authorization"] = 'Bearer YOUR API KEY HERE'
request["content-type"] = 'application/x-www-form-urlencoded'

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

var options = {
  "method": "POST",
  "hostname": "api.kepla.com",
  "port": null,
  "path": "/v1/tasks/:task",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR API KEY HERE",
    "content-type": "application/x-www-form-urlencoded"
  }
};

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("api.kepla.com")

payload = ""

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR API KEY HERE",
    'content-type': "application/x-www-form-urlencoded"
    }

conn.request("POST", "/v1/tasks/:task", 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://api.kepla.com/v1/tasks/:task",
  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",
    "authorization: Bearer YOUR API KEY HERE",
    "content-type: application/x-www-form-urlencoded"
  ),
));

$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://api.kepla.com/v1/tasks/:task"

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

	req.Header.Add("accept", "application/json")
	req.Header.Add("authorization", "Bearer YOUR API KEY HERE")
	req.Header.Add("content-type", "application/x-www-form-urlencoded")

	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
task String (uuid) Required

The task ID to update

04fe9a97-a579-43c5-bb1a-58ed29bf0a6a

Request Body

Name Type Required Description Example
payload Object Required {}

Responses

200 Success Tasks Default
{
  "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
  "author": {
  "author": { ... }
Object
    "createdAt": "2015-11-02T00:30:23.968Z",
String
    "email": "[email protected]",
String (Email)
    "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
    "name": "Tom Maitland"
String
  },
  "authorId": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
  "complete": false,
Boolean
  "createdAt": "2016-07-20T13:58:14.092Z",
String
  "date": null,
String (Date-time)

The due date for the task

  "description": "foo",
String

A longer description giving more detail about the task

  "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
  "name": "API Task",
String

A human readable title for the task

  "recordId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)

The ID of the record to attach this task to

  teams: [
Array
    {
    { ... }
Object

Condensed

      "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
      "createdAt": null,
String (Date-time)
      "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
      "name": "API Team"
String
    }
  ]
  "updatedAt": null,
String (Date-time)
  users: [
Array
    {
    { ... }
Object

Condensed

      "createdAt": "2015-11-02T00:30:23.968Z",
String
      "email": "[email protected]",
String (Email)
      "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
      "name": "Tom Maitland"
String
    }
  ]
  "record": {
  "record": { ... }
Object

Only included if expand is set to "record"

    "{fieldId}": "Field value",
String
    "createdAt": "2015-07-22T19:30:11.203Z",
String
    "id": "5aa2220d-4997-4e47-a651-b9d44b63224f",
String
    "typeId": "7806762b-2b30-4e12-bbe9-fafd6150cf4d",
String
    "updatedAt": "2016-07-19T11:06:54.313Z",
String
    "display": {
    "display": { ... }
Object
      "title": "Joe API",
String

The first value on the record by field order

      "subtitle": "[email protected]"
String

The second value on the record by field order

    }
  }
}

Add a User

Open in API Explorer
PUT /tasks/:task/users/:user

Assigns the specified user to the task, giving them the ability to see it under their name in the app.

Example Request

Format:
curl --request PUT \
  --url https://api.kepla.com/v1/tasks/:task/users/:user \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR API KEY HERE' \
  --header 'content-type: multipart/form-data; boundary=---011000010111000001101001'
require 'uri'
require 'net/http'

url = URI("https://api.kepla.com/v1/tasks/:task/users/:user")

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["authorization"] = 'Bearer YOUR API KEY HERE'
request["content-type"] = 'multipart/form-data; boundary=---011000010111000001101001'

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

var options = {
  "method": "PUT",
  "hostname": "api.kepla.com",
  "port": null,
  "path": "/v1/tasks/:task/users/:user",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR API KEY HERE",
    "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("api.kepla.com")

payload = ""

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

conn.request("PUT", "/v1/tasks/:task/users/:user", 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://api.kepla.com/v1/tasks/:task/users/:user",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer 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://api.kepla.com/v1/tasks/:task/users/:user"

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

	req.Header.Add("accept", "application/json")
	req.Header.Add("authorization", "Bearer YOUR API KEY HERE")
	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
task String (uuid) Required

The task ID to update

04fe9a97-a579-43c5-bb1a-58ed29bf0a6a
user String (uuid) Required

The user ID to assign to the task

04fe9a97-a579-43c5-bb1a-58ed29bf0a6a

Responses

200 Success Tasks Default
{
  "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
  "author": {
  "author": { ... }
Object
    "createdAt": "2015-11-02T00:30:23.968Z",
String
    "email": "[email protected]",
String (Email)
    "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
    "name": "Tom Maitland"
String
  },
  "authorId": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
  "complete": false,
Boolean
  "createdAt": "2016-07-20T13:58:14.092Z",
String
  "date": null,
String (Date-time)

The due date for the task

  "description": "foo",
String

A longer description giving more detail about the task

  "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
  "name": "API Task",
String

A human readable title for the task

  "recordId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)

The ID of the record to attach this task to

  teams: [
Array
    {
    { ... }
Object

Condensed

      "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
      "createdAt": null,
String (Date-time)
      "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
      "name": "API Team"
String
    }
  ]
  "updatedAt": null,
String (Date-time)
  users: [
Array
    {
    { ... }
Object

Condensed

      "createdAt": "2015-11-02T00:30:23.968Z",
String
      "email": "[email protected]",
String (Email)
      "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
      "name": "Tom Maitland"
String
    }
  ]
  "record": {
  "record": { ... }
Object

Only included if expand is set to "record"

    "{fieldId}": "Field value",
String
    "createdAt": "2015-07-22T19:30:11.203Z",
String
    "id": "5aa2220d-4997-4e47-a651-b9d44b63224f",
String
    "typeId": "7806762b-2b30-4e12-bbe9-fafd6150cf4d",
String
    "updatedAt": "2016-07-19T11:06:54.313Z",
String
    "display": {
    "display": { ... }
Object
      "title": "Joe API",
String

The first value on the record by field order

      "subtitle": "[email protected]"
String

The second value on the record by field order

    }
  }
}

Add a Team

Open in API Explorer
PUT /tasks/:task/teams/:team

Assigns the specified team to the task. All users in the team will be able to see the task in the app.

Example Request

Format:
curl --request PUT \
  --url https://api.kepla.com/v1/tasks/:task/teams/:team \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR API KEY HERE' \
  --header 'content-type: multipart/form-data; boundary=---011000010111000001101001'
require 'uri'
require 'net/http'

url = URI("https://api.kepla.com/v1/tasks/:task/teams/:team")

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["authorization"] = 'Bearer YOUR API KEY HERE'
request["content-type"] = 'multipart/form-data; boundary=---011000010111000001101001'

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

var options = {
  "method": "PUT",
  "hostname": "api.kepla.com",
  "port": null,
  "path": "/v1/tasks/:task/teams/:team",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer YOUR API KEY HERE",
    "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("api.kepla.com")

payload = ""

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

conn.request("PUT", "/v1/tasks/:task/teams/:team", 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://api.kepla.com/v1/tasks/:task/teams/:team",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "PUT",
  CURLOPT_POSTFIELDS => "",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer 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://api.kepla.com/v1/tasks/:task/teams/:team"

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

	req.Header.Add("accept", "application/json")
	req.Header.Add("authorization", "Bearer YOUR API KEY HERE")
	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
task String (uuid) Required

The task ID to update

04fe9a97-a579-43c5-bb1a-58ed29bf0a6a
team String (uuid) Required

The team ID to assign to the task

04fe9a97-a579-43c5-bb1a-58ed29bf0a6a

Responses

200 Success Tasks Default
{
  "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
  "author": {
  "author": { ... }
Object
    "createdAt": "2015-11-02T00:30:23.968Z",
String
    "email": "[email protected]",
String (Email)
    "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
    "name": "Tom Maitland"
String
  },
  "authorId": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
  "complete": false,
Boolean
  "createdAt": "2016-07-20T13:58:14.092Z",
String
  "date": null,
String (Date-time)

The due date for the task

  "description": "foo",
String

A longer description giving more detail about the task

  "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
  "name": "API Task",
String

A human readable title for the task

  "recordId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)

The ID of the record to attach this task to

  teams: [
Array
    {
    { ... }
Object

Condensed

      "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
      "createdAt": null,
String (Date-time)
      "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
      "name": "API Team"
String
    }
  ]
  "updatedAt": null,
String (Date-time)
  users: [
Array
    {
    { ... }
Object

Condensed

      "createdAt": "2015-11-02T00:30:23.968Z",
String
      "email": "[email protected]",
String (Email)
      "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
      "name": "Tom Maitland"
String
    }
  ]
  "record": {
  "record": { ... }
Object

Only included if expand is set to "record"

    "{fieldId}": "Field value",
String
    "createdAt": "2015-07-22T19:30:11.203Z",
String
    "id": "5aa2220d-4997-4e47-a651-b9d44b63224f",
String
    "typeId": "7806762b-2b30-4e12-bbe9-fafd6150cf4d",
String
    "updatedAt": "2016-07-19T11:06:54.313Z",
String
    "display": {
    "display": { ... }
Object
      "title": "Joe API",
String

The first value on the record by field order

      "subtitle": "[email protected]"
String

The second value on the record by field order

    }
  }
}

Remove a User

Open in API Explorer
DELETE /tasks/:task/users/:user

Removes the specified user from the task.

Example Request

Format:
curl --request DELETE \
  --url https://api.kepla.com/v1/tasks/:task/users/:user \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR API KEY HERE'
require 'uri'
require 'net/http'

url = URI("https://api.kepla.com/v1/tasks/:task/users/:user")

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["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR API KEY HERE'

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

var options = {
  "method": "DELETE",
  "hostname": "api.kepla.com",
  "port": null,
  "path": "/v1/tasks/:task/users/:user",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer 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("api.kepla.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR API KEY HERE"
    }

conn.request("DELETE", "/v1/tasks/:task/users/:user", headers=headers)

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

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

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kepla.com/v1/tasks/:task/users/:user",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR API KEY HERE"
  ),
));

$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://api.kepla.com/v1/tasks/:task/users/:user"

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

	req.Header.Add("accept", "application/json")
	req.Header.Add("authorization", "Bearer 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))

}

Path Parameters

Name Type Required Description Example
task String (uuid) Required

The task ID to update

04fe9a97-a579-43c5-bb1a-58ed29bf0a6a
user String (uuid) Required

The user ID to remove from the task

04fe9a97-a579-43c5-bb1a-58ed29bf0a6a

Responses

200 Success Tasks Default
{
  "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
  "author": {
  "author": { ... }
Object
    "createdAt": "2015-11-02T00:30:23.968Z",
String
    "email": "[email protected]",
String (Email)
    "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
    "name": "Tom Maitland"
String
  },
  "authorId": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
  "complete": false,
Boolean
  "createdAt": "2016-07-20T13:58:14.092Z",
String
  "date": null,
String (Date-time)

The due date for the task

  "description": "foo",
String

A longer description giving more detail about the task

  "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
  "name": "API Task",
String

A human readable title for the task

  "recordId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)

The ID of the record to attach this task to

  teams: [
Array
    {
    { ... }
Object

Condensed

      "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
      "createdAt": null,
String (Date-time)
      "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
      "name": "API Team"
String
    }
  ]
  "updatedAt": null,
String (Date-time)
  users: [
Array
    {
    { ... }
Object

Condensed

      "createdAt": "2015-11-02T00:30:23.968Z",
String
      "email": "[email protected]",
String (Email)
      "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
      "name": "Tom Maitland"
String
    }
  ]
  "record": {
  "record": { ... }
Object

Only included if expand is set to "record"

    "{fieldId}": "Field value",
String
    "createdAt": "2015-07-22T19:30:11.203Z",
String
    "id": "5aa2220d-4997-4e47-a651-b9d44b63224f",
String
    "typeId": "7806762b-2b30-4e12-bbe9-fafd6150cf4d",
String
    "updatedAt": "2016-07-19T11:06:54.313Z",
String
    "display": {
    "display": { ... }
Object
      "title": "Joe API",
String

The first value on the record by field order

      "subtitle": "[email protected]"
String

The second value on the record by field order

    }
  }
}

Delete a Task

Open in API Explorer
DELETE /tasks/:task

Deletes the specified task from the account.

Example Request

Format:
curl --request DELETE \
  --url https://api.kepla.com/v1/tasks/:task \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR API KEY HERE'
require 'uri'
require 'net/http'

url = URI("https://api.kepla.com/v1/tasks/:task")

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["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR API KEY HERE'

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

var options = {
  "method": "DELETE",
  "hostname": "api.kepla.com",
  "port": null,
  "path": "/v1/tasks/:task",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer 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("api.kepla.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR API KEY HERE"
    }

conn.request("DELETE", "/v1/tasks/:task", headers=headers)

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

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

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kepla.com/v1/tasks/:task",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR API KEY HERE"
  ),
));

$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://api.kepla.com/v1/tasks/:task"

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

	req.Header.Add("accept", "application/json")
	req.Header.Add("authorization", "Bearer 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))

}

Path Parameters

Name Type Required Description Example
task String (uuid) Required

The task ID to delete

04fe9a97-a579-43c5-bb1a-58ed29bf0a6a

Responses

204 Success (Empty Response)

Remove a Team

Open in API Explorer
DELETE /tasks/:task/teams/:team

Removes the specified team from the task.

Example Request

Format:
curl --request DELETE \
  --url https://api.kepla.com/v1/tasks/:task/teams/:team \
  --header 'accept: application/json' \
  --header 'authorization: Bearer YOUR API KEY HERE'
require 'uri'
require 'net/http'

url = URI("https://api.kepla.com/v1/tasks/:task/teams/:team")

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["accept"] = 'application/json'
request["authorization"] = 'Bearer YOUR API KEY HERE'

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

var options = {
  "method": "DELETE",
  "hostname": "api.kepla.com",
  "port": null,
  "path": "/v1/tasks/:task/teams/:team",
  "headers": {
    "accept": "application/json",
    "authorization": "Bearer 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("api.kepla.com")

headers = {
    'accept': "application/json",
    'authorization': "Bearer YOUR API KEY HERE"
    }

conn.request("DELETE", "/v1/tasks/:task/teams/:team", headers=headers)

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

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

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.kepla.com/v1/tasks/:task/teams/:team",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_HTTPHEADER => array(
    "accept: application/json",
    "authorization: Bearer YOUR API KEY HERE"
  ),
));

$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://api.kepla.com/v1/tasks/:task/teams/:team"

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

	req.Header.Add("accept", "application/json")
	req.Header.Add("authorization", "Bearer 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))

}

Path Parameters

Name Type Required Description Example
task String (uuid) Required

The task ID to update

04fe9a97-a579-43c5-bb1a-58ed29bf0a6a
team String (uuid) Required

The team ID to assign to the task

04fe9a97-a579-43c5-bb1a-58ed29bf0a6a

Responses

200 Success Tasks Default
{
  "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
  "author": {
  "author": { ... }
Object
    "createdAt": "2015-11-02T00:30:23.968Z",
String
    "email": "[email protected]",
String (Email)
    "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
    "name": "Tom Maitland"
String
  },
  "authorId": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
  "complete": false,
Boolean
  "createdAt": "2016-07-20T13:58:14.092Z",
String
  "date": null,
String (Date-time)

The due date for the task

  "description": "foo",
String

A longer description giving more detail about the task

  "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
  "name": "API Task",
String

A human readable title for the task

  "recordId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)

The ID of the record to attach this task to

  teams: [
Array
    {
    { ... }
Object

Condensed

      "accountId": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
      "createdAt": null,
String (Date-time)
      "id": "04fe9a97-a579-43c5-bb1a-58ed29bf0a6a",
String (Uuid)
      "name": "API Team"
String
    }
  ]
  "updatedAt": null,
String (Date-time)
  users: [
Array
    {
    { ... }
Object

Condensed

      "createdAt": "2015-11-02T00:30:23.968Z",
String
      "email": "[email protected]",
String (Email)
      "id": "77c8a907-40b7-40ab-91ad-8034df0fa7a0",
String
      "name": "Tom Maitland"
String
    }
  ]
  "record": {
  "record": { ... }
Object

Only included if expand is set to "record"

    "{fieldId}": "Field value",
String
    "createdAt": "2015-07-22T19:30:11.203Z",
String
    "id": "5aa2220d-4997-4e47-a651-b9d44b63224f",
String
    "typeId": "7806762b-2b30-4e12-bbe9-fafd6150cf4d",
String
    "updatedAt": "2016-07-19T11:06:54.313Z",
String
    "display": {
    "display": { ... }
Object
      "title": "Joe API",
String

The first value on the record by field order

      "subtitle": "[email protected]"
String

The second value on the record by field order

    }
  }
}