List agents
curl --request GET \
--url https://api.lehar.ai/ca/api/v0/agent/all \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.lehar.ai/ca/api/v0/agent/all"
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.lehar.ai/ca/api/v0/agent/all', 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.lehar.ai/ca/api/v0/agent/all",
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.lehar.ai/ca/api/v0/agent/all"
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.lehar.ai/ca/api/v0/agent/all")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lehar.ai/ca/api/v0/agent/all")
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{
"data": [
{
"id": "agent_sales_hi",
"name": "Sales Agent",
"objective": "You are a sales assistant for {{company}}.",
"instruction": "Be polite, concise, and never invent prices.",
"task": "Qualify the lead and book a callback.",
"faqs": null,
"sample_conversations": null,
"channel": "voice",
"config": {
"llm_provider": "gemini",
"tts_provider": "sarvam",
"speaker": "shubh"
},
"tools": [],
"custom_variables": [
"callee_name",
"company"
],
"questionnaire": null,
"template_agent_id": null,
"knowledge_base_id": null,
"pronunciation_dictionary_id": null,
"customer_id": "customer_01EXAMPLE",
"owner_user_id": "user_01EXAMPLE",
"created_by_user_id": "user_01EXAMPLE",
"visibility": "private",
"status": "published",
"published_at": "2026-05-22T11:00:00Z",
"created_at": "2026-05-22T10:00:00Z",
"updated_at": "2026-05-22T11:00:00Z"
}
],
"pagination": {
"limit": 20,
"offset": 0,
"total": 1
}
}Agents
List agents
Returns the agent catalog for the workspace (drafts and published). An API key sees every agent in the workspace, including each member’s private agents. Use visibility and owner_user_id to narrow the list. Scope sessions:read.
GET
/
agent
/
all
List agents
curl --request GET \
--url https://api.lehar.ai/ca/api/v0/agent/all \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.lehar.ai/ca/api/v0/agent/all"
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.lehar.ai/ca/api/v0/agent/all', 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.lehar.ai/ca/api/v0/agent/all",
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.lehar.ai/ca/api/v0/agent/all"
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.lehar.ai/ca/api/v0/agent/all")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lehar.ai/ca/api/v0/agent/all")
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{
"data": [
{
"id": "agent_sales_hi",
"name": "Sales Agent",
"objective": "You are a sales assistant for {{company}}.",
"instruction": "Be polite, concise, and never invent prices.",
"task": "Qualify the lead and book a callback.",
"faqs": null,
"sample_conversations": null,
"channel": "voice",
"config": {
"llm_provider": "gemini",
"tts_provider": "sarvam",
"speaker": "shubh"
},
"tools": [],
"custom_variables": [
"callee_name",
"company"
],
"questionnaire": null,
"template_agent_id": null,
"knowledge_base_id": null,
"pronunciation_dictionary_id": null,
"customer_id": "customer_01EXAMPLE",
"owner_user_id": "user_01EXAMPLE",
"created_by_user_id": "user_01EXAMPLE",
"visibility": "private",
"status": "published",
"published_at": "2026-05-22T11:00:00Z",
"created_at": "2026-05-22T10:00:00Z",
"updated_at": "2026-05-22T11:00:00Z"
}
],
"pagination": {
"limit": 20,
"offset": 0,
"total": 1
}
}Authorizations
ApiKeyAuthBearerAuth
Query Parameters
Items to return (max 100).
Required range:
x <= 100Items to skip.
Only agents with this visibility. workspace agents are shared with the whole workspace; private agents belong to one user.
Available options:
workspace, private Only private agents owned by this user. Workspace agents have no owner.
Response
200 - application/json
Paginated agent catalog

