List agents
curl --request GET \
--url https://api.sandbox.brickken.com/get-agents \
--header 'x-api-key: <api-key>'import requests
url = "https://api.sandbox.brickken.com/get-agents"
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.sandbox.brickken.com/get-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.sandbox.brickken.com/get-agents",
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.sandbox.brickken.com/get-agents"
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.sandbox.brickken.com/get-agents")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.brickken.com/get-agents")
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{
"agents": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"chainId": "84532",
"ownerWalletAddress": "<string>",
"agentId": "<string>",
"standard": "ERC-8004",
"registryAddress": "<string>",
"agentURI": "<string>",
"metadataCid": "<string>",
"name": "<string>",
"description": "<string>",
"image": "<string>",
"services": [
{}
],
"supportedTrust": [
"<string>"
],
"x402Support": true,
"active": true,
"lifecycleStatus": "<string>",
"status": "<string>",
"actualTxHash": "<string>",
"error": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"aiModelName": "<string>",
"aiModelProvider": "<string>",
"profileRevision": 123
}
],
"total": 123,
"limit": 123,
"offset": 123
}Agent Reads
List Agents
List API-key-scoped agents or x402 owner-scoped agents.
GET
/
get-agents
List agents
curl --request GET \
--url https://api.sandbox.brickken.com/get-agents \
--header 'x-api-key: <api-key>'import requests
url = "https://api.sandbox.brickken.com/get-agents"
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.sandbox.brickken.com/get-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.sandbox.brickken.com/get-agents",
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.sandbox.brickken.com/get-agents"
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.sandbox.brickken.com/get-agents")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sandbox.brickken.com/get-agents")
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{
"agents": [
{
"uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"chainId": "84532",
"ownerWalletAddress": "<string>",
"agentId": "<string>",
"standard": "ERC-8004",
"registryAddress": "<string>",
"agentURI": "<string>",
"metadataCid": "<string>",
"name": "<string>",
"description": "<string>",
"image": "<string>",
"services": [
{}
],
"supportedTrust": [
"<string>"
],
"x402Support": true,
"active": true,
"lifecycleStatus": "<string>",
"status": "<string>",
"actualTxHash": "<string>",
"error": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"aiModelName": "<string>",
"aiModelProvider": "<string>",
"profileRevision": 123
}
],
"total": 123,
"limit": 123,
"offset": 123
}With an API key, the result is scoped to agents associated with that API client;
For x402, also pass
chainId and ownerWalletAddress are optional filters.
Without an API key, the endpoint returns an x402 challenge priced at 0.000001 USDC. Both chainId and ownerWalletAddress are required, and the x402 payer must match the owner wallet.
limit defaults to 50 and accepts 1–100. offset defaults to 0 and cannot be negative.
Client examples
- CLI
- MCP
- SDK
brickken agent list --chain 84532 --limit 20 --offset 0 --json
{
"name": "get_agents",
"arguments": {
"chainId": "84532",
"limit": 20,
"offset": 0
}
}
const result = await bkn.agent.list({
chainId: '84532',
limit: 20,
offset: 0,
})
ownerWalletAddress to the CLI, MCP tool, or SDK call. The CLI and SDK use the configured payment signer.Authorizations
apiKeyAuthx402Payment
Query Parameters
Optional with API-key auth; required for x402.
Optional API-key filter; required for x402 and must match the payer.
Pattern:
^0x[a-fA-F0-9]{40}$Required range:
1 <= x <= 100Required range:
x >= 0