Reset an agent heartbeat policy
curl --request DELETE \
--url https://atollhq.com/api/orgs/{id}/agents/{agentId}/heartbeat-policy \
--header 'Authorization: Bearer <token>'import requests
url = "https://atollhq.com/api/orgs/{id}/agents/{agentId}/heartbeat-policy"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://atollhq.com/api/orgs/{id}/agents/{agentId}/heartbeat-policy', 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://atollhq.com/api/orgs/{id}/agents/{agentId}/heartbeat-policy",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://atollhq.com/api/orgs/{id}/agents/{agentId}/heartbeat-policy"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://atollhq.com/api/orgs/{id}/agents/{agentId}/heartbeat-policy")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://atollhq.com/api/orgs/{id}/agents/{agentId}/heartbeat-policy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"agent": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"display_name": "<string>",
"avatar_url": "<string>"
},
"status": "default",
"is_default": true,
"saved_policy": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"org_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_member_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by_member_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"updated_by_member_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"sections": "<unknown>",
"signal_categories": "<unknown>",
"project_ids": "<unknown>",
"initiative_ids": "<unknown>",
"columns": "<unknown>"
},
"effective_policy": {
"sections": {
"goals": true,
"standalone_kpis": true,
"standalone_initiatives": true,
"assigned_issues": true,
"project_context": true,
"signals": true,
"attention": true
},
"signal_categories": {
"task": true,
"initiative": true,
"kpi": true,
"project": true
},
"project_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"initiative_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"columns": [
{
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
]
},
"selectable": {
"projects": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
],
"initiatives": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"project_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}
],
"columns": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "<string>",
"label": "<string>",
"position": 123
}
]
},
"stale_selections": {
"project_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"initiative_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"columns": "<unknown>"
}
}{
"error": "Unauthorized",
"code": "unauthorized"
}{
"error": "Unauthorized",
"code": "unauthorized"
}Agents
Reset an agent heartbeat policy
Deletes the saved policy and restores current default heartbeat behavior.
DELETE
/
api
/
orgs
/
{id}
/
agents
/
{agentId}
/
heartbeat-policy
Reset an agent heartbeat policy
curl --request DELETE \
--url https://atollhq.com/api/orgs/{id}/agents/{agentId}/heartbeat-policy \
--header 'Authorization: Bearer <token>'import requests
url = "https://atollhq.com/api/orgs/{id}/agents/{agentId}/heartbeat-policy"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://atollhq.com/api/orgs/{id}/agents/{agentId}/heartbeat-policy', 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://atollhq.com/api/orgs/{id}/agents/{agentId}/heartbeat-policy",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://atollhq.com/api/orgs/{id}/agents/{agentId}/heartbeat-policy"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://atollhq.com/api/orgs/{id}/agents/{agentId}/heartbeat-policy")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://atollhq.com/api/orgs/{id}/agents/{agentId}/heartbeat-policy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"agent": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"display_name": "<string>",
"avatar_url": "<string>"
},
"status": "default",
"is_default": true,
"saved_policy": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"org_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"agent_member_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_by_member_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"updated_by_member_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"sections": "<unknown>",
"signal_categories": "<unknown>",
"project_ids": "<unknown>",
"initiative_ids": "<unknown>",
"columns": "<unknown>"
},
"effective_policy": {
"sections": {
"goals": true,
"standalone_kpis": true,
"standalone_initiatives": true,
"assigned_issues": true,
"project_context": true,
"signals": true,
"attention": true
},
"signal_categories": {
"task": true,
"initiative": true,
"kpi": true,
"project": true
},
"project_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"initiative_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"columns": [
{
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"column_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}
]
},
"selectable": {
"projects": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
],
"initiatives": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"project_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}
],
"columns": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"key": "<string>",
"label": "<string>",
"position": 123
}
]
},
"stale_selections": {
"project_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"initiative_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"columns": "<unknown>"
}
}{
"error": "Unauthorized",
"code": "unauthorized"
}{
"error": "Unauthorized",
"code": "unauthorized"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Response
Default heartbeat policy management response
Show child attributes
Show child attributes
Available options:
default, customized Persisted policy. Stale focus IDs remain here so saved previews and real heartbeats fail closed until the sanitized editable policy is saved.
Show child attributes
Show child attributes
Sanitized editable form with stale selections removed.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Focus IDs retained by the saved runtime policy but removed from the editable effective policy.
Show child attributes
Show child attributes
⌘I

