curl --request GET \
--url https://app.base44.com/api/v1/compliance/{workspace_id}/agents \
--header 'Authorization: Bearer <token>' \
--header 'api_key: <api-key>'import requests
url = "https://app.base44.com/api/v1/compliance/{workspace_id}/agents"
headers = {
"api_key": "<api-key>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {api_key: '<api-key>', Authorization: 'Bearer <token>'}
};
fetch('https://app.base44.com/api/v1/compliance/{workspace_id}/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://app.base44.com/api/v1/compliance/{workspace_id}/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 => [
"Authorization: Bearer <token>",
"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://app.base44.com/api/v1/compliance/{workspace_id}/agents"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api_key", "<api-key>")
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://app.base44.com/api/v1/compliance/{workspace_id}/agents")
.header("api_key", "<api-key>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/v1/compliance/{workspace_id}/agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["api_key"] = '<api-key>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "68a1f3c2b7d9e4005c20e8f6:support_agent",
"app_id": "68a1f3c2b7d9e4005c20e8f6",
"agent_name": "support_agent",
"standalone": false,
"lifecycle": "active",
"channels": [
{
"type": "slack",
"configured": true,
"active": true
}
],
"allow_anonymous_access": false,
"model": "claude-sonnet-5-5"
}
],
"pagination": {
"total": 347,
"has_more": true,
"next_cursor": "gAAAAABn7vJ..."
}
}List agents
Retrieves a list of AI agents in a workspace, including Superagents.
Use this method to view, for each agent:
- Whether it’s a Superagent or belongs to an app.
- Whether people can use it without signing in.
- Which AI model it uses.
- The channels people can use to reach it.
To call this method, your API key must include the compliance:inventory:read scope.
curl --request GET \
--url https://app.base44.com/api/v1/compliance/{workspace_id}/agents \
--header 'Authorization: Bearer <token>' \
--header 'api_key: <api-key>'import requests
url = "https://app.base44.com/api/v1/compliance/{workspace_id}/agents"
headers = {
"api_key": "<api-key>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {api_key: '<api-key>', Authorization: 'Bearer <token>'}
};
fetch('https://app.base44.com/api/v1/compliance/{workspace_id}/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://app.base44.com/api/v1/compliance/{workspace_id}/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 => [
"Authorization: Bearer <token>",
"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://app.base44.com/api/v1/compliance/{workspace_id}/agents"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api_key", "<api-key>")
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://app.base44.com/api/v1/compliance/{workspace_id}/agents")
.header("api_key", "<api-key>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/v1/compliance/{workspace_id}/agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["api_key"] = '<api-key>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "68a1f3c2b7d9e4005c20e8f6:support_agent",
"app_id": "68a1f3c2b7d9e4005c20e8f6",
"agent_name": "support_agent",
"standalone": false,
"lifecycle": "active",
"channels": [
{
"type": "slack",
"configured": true,
"active": true
}
],
"allow_anonymous_access": false,
"model": "claude-sonnet-5-5"
}
],
"pagination": {
"total": 347,
"has_more": true,
"next_cursor": "gAAAAABn7vJ..."
}
}Authorizations
Identifies the workspace you can read and limits your access to the key's scopes. A workspace owner or admin creates the key and shares it with you. See Workspace API key for more details.
The signed authentication token that identifies you as the security partner. Sign a new token for each request with your signing key, using RS256 or ES256, and send it as a bearer token in the Authorization header. See Sign an authentication token for more details.
Path Parameters
Workspace ID. Learn more about how to retrieve your workspace ID.
Query Parameters
Cursor for the next page. Pass the next_cursor value from the previous response back unchanged. Don't send limit with it, because the cursor already carries the limit. Cursors are valid for 24 hours, and a cursor from a different workspace isn't valid. Sending limit with a cursor, or an invalid cursor, returns a 400 error.
Number of items per page. The maximum is 1000. Don't send it with cursor, because the cursor already carries the limit.
Default: 100.
1 <= x <= 1000Was this page helpful?