Get a task
curl --request GET \
--url https://api.heffl.com/api/v2/tasks/{id} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.heffl.com/api/v2/tasks/{id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.heffl.com/api/v2/tasks/{id}', 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.heffl.com/api/v2/tasks/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.heffl.com/api/v2/tasks/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.heffl.com/api/v2/tasks/{id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.heffl.com/api/v2/tasks/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"number": "<string>",
"title": "<string>",
"status": "OPEN",
"type": "call",
"showTime": true,
"assigneeIds": [
"<string>"
],
"tagIds": [
"<string>"
],
"description": "<string>",
"priority": "LOW",
"dueDate": "2023-11-07T05:31:56Z",
"startDate": "2023-11-07T05:31:56Z",
"durationMinutes": 123,
"completedOn": "2023-11-07T05:31:56Z",
"entity": "projects",
"entityId": "<string>",
"projectId": "<string>",
"leadId": "<string>",
"dealId": "<string>",
"clientId": "<string>",
"contactId": "<string>",
"createdById": "<string>",
"createdByName": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}Tasks
Get a task
Retrieves a single task by its ID (tsk_ prefix).
GET
/
tasks
/
{id}
Get a task
curl --request GET \
--url https://api.heffl.com/api/v2/tasks/{id} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.heffl.com/api/v2/tasks/{id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.heffl.com/api/v2/tasks/{id}', 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.heffl.com/api/v2/tasks/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.heffl.com/api/v2/tasks/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.heffl.com/api/v2/tasks/{id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.heffl.com/api/v2/tasks/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"number": "<string>",
"title": "<string>",
"status": "OPEN",
"type": "call",
"showTime": true,
"assigneeIds": [
"<string>"
],
"tagIds": [
"<string>"
],
"description": "<string>",
"priority": "LOW",
"dueDate": "2023-11-07T05:31:56Z",
"startDate": "2023-11-07T05:31:56Z",
"durationMinutes": 123,
"completedOn": "2023-11-07T05:31:56Z",
"entity": "projects",
"entityId": "<string>",
"projectId": "<string>",
"leadId": "<string>",
"dealId": "<string>",
"clientId": "<string>",
"contactId": "<string>",
"createdById": "<string>",
"createdByName": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
}
}Authorizations
API key for authentication. Get yours at app.heffl.com/settings/developers
Path Parameters
Task ID
Response
OK
Task ID
Auto-generated task number
Task title
Task status
Available options:
OPEN, IN_PROGRESS, ON_HOLD, COMPLETED, CANCELLED Task type
Available options:
call, todo, meeting Whether to show time on the due date
Assignee user IDs
Tag IDs
Task description
Task priority
Available options:
LOW, MEDIUM, HIGH Due date
Start date
Duration in minutes
When the task was completed
Linked entity type
Available options:
projects, leads, deals Linked entity ID
Linked project ID
Linked lead ID
Linked deal ID
Linked client ID
Linked contact ID
Creator user ID
Creator name
When the task was created
When the task was last updated
Custom field values as top-level cf_* keys (for example cf_follow_up_type). There is no customFields wrapper.