curl --request GET \
--url https://atollhq.com/api/orgs/{id}/agents/workforce \
--cookie sb-%3Cproject-ref%3E-auth-token=import requests
url = "https://atollhq.com/api/orgs/{id}/agents/workforce"
headers = {"cookie": "sb-%3Cproject-ref%3E-auth-token="}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {cookie: 'sb-%3Cproject-ref%3E-auth-token='}};
fetch('https://atollhq.com/api/orgs/{id}/agents/workforce', 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://atollhq.com/api/orgs/{id}/agents/workforce",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_COOKIE => "sb-%3Cproject-ref%3E-auth-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://atollhq.com/api/orgs/{id}/agents/workforce"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("cookie", "sb-%3Cproject-ref%3E-auth-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://atollhq.com/api/orgs/{id}/agents/workforce")
.header("cookie", "sb-%3Cproject-ref%3E-auth-token=")
.asString();require 'uri'
require 'net/http'
url = URI("https://atollhq.com/api/orgs/{id}/agents/workforce")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["cookie"] = 'sb-%3Cproject-ref%3E-auth-token='
response = http.request(request)
puts response.read_body{
"agents": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"display_name": "<string>",
"avatar_url": "<string>",
"role": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"last_used_at": "2023-11-07T05:31:56Z",
"scope": "personal",
"project_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"projects": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
],
"owner": {
"display_name": "<string>",
"avatar_url": "<string>"
},
"capabilities": {
"can_view": true,
"can_manage_access": true,
"can_manage_keys": true,
"can_disable": true,
"can_revoke": true
},
"key_prefix": "<string>"
}
],
"total": 1,
"limit": 50,
"offset": 1,
"nextOffset": 1,
"truncated": true
}{
"error": "Unauthorized",
"code": "unauthorized"
}{
"error": "Unauthorized",
"code": "unauthorized"
}{
"error": "Unauthorized",
"code": "unauthorized"
}{
"error": "Unauthorized",
"code": "unauthorized"
}{
"error": "Unauthorized",
"code": "unauthorized"
}Read the authorized workforce projection
Human-only bounded read contract. Organization owners/admins may request the full inventory or a project filter. Other human members must have effective admin access to the requested project and receive only explicitly scoped agents plus personal agents whose owner inherits access. Unauthorised project filters are concealed as 404. The response omits credentials, emails, auth IDs, hidden projects, private content, lifecycle fields, and organization capacity; project-admin read visibility does not grant management authority.
curl --request GET \
--url https://atollhq.com/api/orgs/{id}/agents/workforce \
--cookie sb-%3Cproject-ref%3E-auth-token=import requests
url = "https://atollhq.com/api/orgs/{id}/agents/workforce"
headers = {"cookie": "sb-%3Cproject-ref%3E-auth-token="}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {cookie: 'sb-%3Cproject-ref%3E-auth-token='}};
fetch('https://atollhq.com/api/orgs/{id}/agents/workforce', 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://atollhq.com/api/orgs/{id}/agents/workforce",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_COOKIE => "sb-%3Cproject-ref%3E-auth-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://atollhq.com/api/orgs/{id}/agents/workforce"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("cookie", "sb-%3Cproject-ref%3E-auth-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://atollhq.com/api/orgs/{id}/agents/workforce")
.header("cookie", "sb-%3Cproject-ref%3E-auth-token=")
.asString();require 'uri'
require 'net/http'
url = URI("https://atollhq.com/api/orgs/{id}/agents/workforce")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["cookie"] = 'sb-%3Cproject-ref%3E-auth-token='
response = http.request(request)
puts response.read_body{
"agents": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"display_name": "<string>",
"avatar_url": "<string>",
"role": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"last_used_at": "2023-11-07T05:31:56Z",
"scope": "personal",
"project_ids": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"projects": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>"
}
],
"owner": {
"display_name": "<string>",
"avatar_url": "<string>"
},
"capabilities": {
"can_view": true,
"can_manage_access": true,
"can_manage_keys": true,
"can_disable": true,
"can_revoke": true
},
"key_prefix": "<string>"
}
],
"total": 1,
"limit": 50,
"offset": 1,
"nextOffset": 1,
"truncated": true
}{
"error": "Unauthorized",
"code": "unauthorized"
}{
"error": "Unauthorized",
"code": "unauthorized"
}{
"error": "Unauthorized",
"code": "unauthorized"
}{
"error": "Unauthorized",
"code": "unauthorized"
}{
"error": "Unauthorized",
"code": "unauthorized"
}Authorizations
Authenticated Supabase web session for a human Atoll user. The cookie name includes the deployment's Supabase project reference and may be chunked.
Path Parameters
Organization identifier
Query Parameters
Project filter; required for project-admin reads
1 <= x <= 100x >= 0Response
Authorized workforce projection

