curl --request GET \
--url https://api.example.com/agentsimport requests
url = "https://api.example.com/agents"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/agents', 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.example.com/agents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/agents"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/agents")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"acp_type": "sync",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"status": "Unknown",
"status_reason": "<string>",
"registration_metadata": {},
"registered_at": "2023-11-07T05:31:56Z",
"agent_input_type": "text",
"production_deployment_id": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}List Agents
List all registered agents, optionally filtered by query parameters.
curl --request GET \
--url https://api.example.com/agentsimport requests
url = "https://api.example.com/agents"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/agents', 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.example.com/agents",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/agents"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/agents")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body[
{
"id": "<string>",
"name": "<string>",
"description": "<string>",
"acp_type": "sync",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"status": "Unknown",
"status_reason": "<string>",
"registration_metadata": {},
"registered_at": "2023-11-07T05:31:56Z",
"agent_input_type": "text",
"production_deployment_id": "<string>"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Query Parameters
Task ID
Limit
x >= 1Page number
x >= 1Field to order by
Order direction (asc or desc)
JSON-encoded object used to filter agents on registration_metadata.agent_card.metadata via JSONB containment. Example: {"permits_capable": true}. Only matches cards published through the direct registration path: registrations that carry a deployment_id write the card to the deployment record instead of registration_metadata, so those agents never match this filter.
Response
Successful Response
The unique identifier of the agent.
The unique name of the agent.
The description of the action.
The type of the ACP Server (Either sync or async)
sync, async, agentic The timestamp when the agent was created
The timestamp when the agent was last updated
The status of the action, indicating if it's building, ready, failed, etc.
Ready, Failed, Unknown, Deleted, Unhealthy, BuildOnly The reason for the status of the action.
The metadata for the agent's registration.
The timestamp when the agent was last registered
The type of input the agent expects.
text, json ID of the current production deployment.

