ListLeadNextActionsAPI mirrors the erdo_list_lead_next_actions MCP tool.
curl --request GET \
--url https://api.erdo.ai/v1/lead-next-actions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.erdo.ai/v1/lead-next-actions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.erdo.ai/v1/lead-next-actions', 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.erdo.ai/v1/lead-next-actions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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://api.erdo.ai/v1/lead-next-actions"
req, _ := http.NewRequest("GET", 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.get("https://api.erdo.ai/v1/lead-next-actions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.erdo.ai/v1/lead-next-actions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"limit": 123,
"next_actions": [
{
"accompanying_email": {
"body_markdown": "<string>",
"error": "<string>",
"execution_ref": "<string>",
"sent_at": "2023-11-07T05:31:56Z",
"status": "<string>",
"subject": "<string>",
"to": "<string>"
},
"action_input": {},
"action_kind": "<string>",
"approval_request_id": "<string>",
"canonical_lead_id": "<string>",
"created_by": "<string>",
"dataset_id": "<string>",
"decided_at": "2023-11-07T05:31:56Z",
"decided_by": "<string>",
"decided_by_external_ref": "<string>",
"due_at": "2023-11-07T05:31:56Z",
"error": "<string>",
"evaluated_at": "2023-11-07T05:31:56Z",
"executed_at": "2023-11-07T05:31:56Z",
"execution_ref": "<string>",
"facts": {
"bedrooms": {
"source_column": "<string>",
"value": "<string>"
},
"broker": {
"source_column": "<string>",
"value": "<string>"
},
"budget": {
"source_column": "<string>",
"value": "<string>"
},
"financing": {
"source_column": "<string>",
"value": "<string>"
},
"language": {
"source_column": "<string>",
"value": "<string>"
},
"purpose": {
"source_column": "<string>",
"value": "<string>"
},
"timeline": {
"source_column": "<string>",
"value": "<string>"
}
},
"handoff_alert": {
"error": "<string>",
"execution_ref": "<string>",
"sent_at": "2023-11-07T05:31:56Z",
"status": "<string>"
},
"id": "<string>",
"lead_reference": "<string>",
"mode": "<string>",
"model": "<string>",
"playbook_revision": 123,
"policy_digest": "<string>",
"priority": "<string>",
"priority_reason": "<string>",
"rationale": "<string>",
"revisit_at": "2023-11-07T05:31:56Z",
"rule": "<string>",
"source": "<string>",
"stage": "<string>",
"status": "<string>",
"undone_by_external_ref": "<string>"
}
],
"offset": 123
}{
"code": "not_found",
"details": {},
"message": "<string>"
}API Reference
ListLeadNextActionsAPI mirrors the erdo_list_lead_next_actions MCP tool.
GET
/
v1
/
lead-next-actions
ListLeadNextActionsAPI mirrors the erdo_list_lead_next_actions MCP tool.
curl --request GET \
--url https://api.erdo.ai/v1/lead-next-actions \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.erdo.ai/v1/lead-next-actions"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.erdo.ai/v1/lead-next-actions', 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.erdo.ai/v1/lead-next-actions",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
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://api.erdo.ai/v1/lead-next-actions"
req, _ := http.NewRequest("GET", 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.get("https://api.erdo.ai/v1/lead-next-actions")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.erdo.ai/v1/lead-next-actions")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"limit": 123,
"next_actions": [
{
"accompanying_email": {
"body_markdown": "<string>",
"error": "<string>",
"execution_ref": "<string>",
"sent_at": "2023-11-07T05:31:56Z",
"status": "<string>",
"subject": "<string>",
"to": "<string>"
},
"action_input": {},
"action_kind": "<string>",
"approval_request_id": "<string>",
"canonical_lead_id": "<string>",
"created_by": "<string>",
"dataset_id": "<string>",
"decided_at": "2023-11-07T05:31:56Z",
"decided_by": "<string>",
"decided_by_external_ref": "<string>",
"due_at": "2023-11-07T05:31:56Z",
"error": "<string>",
"evaluated_at": "2023-11-07T05:31:56Z",
"executed_at": "2023-11-07T05:31:56Z",
"execution_ref": "<string>",
"facts": {
"bedrooms": {
"source_column": "<string>",
"value": "<string>"
},
"broker": {
"source_column": "<string>",
"value": "<string>"
},
"budget": {
"source_column": "<string>",
"value": "<string>"
},
"financing": {
"source_column": "<string>",
"value": "<string>"
},
"language": {
"source_column": "<string>",
"value": "<string>"
},
"purpose": {
"source_column": "<string>",
"value": "<string>"
},
"timeline": {
"source_column": "<string>",
"value": "<string>"
}
},
"handoff_alert": {
"error": "<string>",
"execution_ref": "<string>",
"sent_at": "2023-11-07T05:31:56Z",
"status": "<string>"
},
"id": "<string>",
"lead_reference": "<string>",
"mode": "<string>",
"model": "<string>",
"playbook_revision": 123,
"policy_digest": "<string>",
"priority": "<string>",
"priority_reason": "<string>",
"rationale": "<string>",
"revisit_at": "2023-11-07T05:31:56Z",
"rule": "<string>",
"source": "<string>",
"stage": "<string>",
"status": "<string>",
"undone_by_external_ref": "<string>"
}
],
"offset": 123
}{
"code": "not_found",
"details": {},
"message": "<string>"
}Authorizations
An Erdo API key (erdo_api_...) or scoped token (erdo_token_...).
Query Parameters
Dataset narrows to one lead dataset, by slug or id.
Status narrows to one status, e.g. pending_approval.
Priority narrows to high, medium or low.
Limit caps the returned suggestions. Defaults to 50, capped at 200.
Offset skips that many suggestions, for paging.
AllDecisions returns EVERY decision the organization made, newest first, one row per decision rather than one per lead — including decisions already carried out, refused, expired or replaced, so one lead appears as many times as it was decided about. Omitted, the read is each lead's latest decision only, highest priority first, which is the queue a person works.

