cURL
curl 'https://api.gumloop.com/api/v1/agents/abc123DEFghiJKL' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN'
from gumloop import Gumloop
client = Gumloop(access_token="YOUR_ACCESS_TOKEN")
response = client.agents.retrieve("abc123DEFghiJKL")
print(response.agent.name)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gumloop.com/api/v1/agents/{agent_id}', 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.gumloop.com/api/v1/agents/{agent_id}",
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>"
],
]);
$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.gumloop.com/api/v1/agents/{agent_id}"
req, _ := http.NewRequest("GET", url, nil)
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://api.gumloop.com/api/v1/agents/{agent_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gumloop.com/api/v1/agents/{agent_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"agent": {
"id": "abc123DEFghiJKL",
"name": "Sales research agent",
"description": "Researches accounts and drafts outreach",
"team_id": "team_4f8c92ab",
"is_active": true,
"tools": [],
"metadata": {},
"model_name": "anthropic/claude-sonnet-4",
"system_prompt": "You are a B2B sales research assistant.",
"resources": [],
"skill_ids": [
"skill_2b9c",
"skill_7f1a"
],
"folder_id": "folder_91ab",
"type": null,
"created_at": "2026-05-15T14:32:00Z",
"active_trigger_count": null,
"creator": {
"id": "user_8c2a1b",
"first_name": "Ada",
"last_name": "Lovelace",
"email": "ada@example.com",
"profile_picture": null
}
}
}Retrieve agent
Retrieve a single agent by ID.
In addition to regular agent IDs, agent_id accepts the reserved aliases gumball (your personal Gumball agent) and analytics (your analytics agent) on all agent-scoped endpoints. The alias resolves to your own copy of the platform agent, creating it on first use, and responses report the alias back as the agent’s id.
GET
/
agents
/
{agent_id}
cURL
curl 'https://api.gumloop.com/api/v1/agents/abc123DEFghiJKL' \
-H 'Authorization: Bearer YOUR_ACCESS_TOKEN'
from gumloop import Gumloop
client = Gumloop(access_token="YOUR_ACCESS_TOKEN")
response = client.agents.retrieve("abc123DEFghiJKL")
print(response.agent.name)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gumloop.com/api/v1/agents/{agent_id}', 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.gumloop.com/api/v1/agents/{agent_id}",
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>"
],
]);
$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.gumloop.com/api/v1/agents/{agent_id}"
req, _ := http.NewRequest("GET", url, nil)
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://api.gumloop.com/api/v1/agents/{agent_id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gumloop.com/api/v1/agents/{agent_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"agent": {
"id": "abc123DEFghiJKL",
"name": "Sales research agent",
"description": "Researches accounts and drafts outreach",
"team_id": "team_4f8c92ab",
"is_active": true,
"tools": [],
"metadata": {},
"model_name": "anthropic/claude-sonnet-4",
"system_prompt": "You are a B2B sales research assistant.",
"resources": [],
"skill_ids": [
"skill_2b9c",
"skill_7f1a"
],
"folder_id": "folder_91ab",
"type": null,
"created_at": "2026-05-15T14:32:00Z",
"active_trigger_count": null,
"creator": {
"id": "user_8c2a1b",
"first_name": "Ada",
"last_name": "Lovelace",
"email": "ada@example.com",
"profile_picture": null
}
}
}Authorizations
Path Parameters
ID of the agent to retrieve. Also accepts the reserved aliases gumball and analytics.
Response
The requested agent.
Show child attributes
Show child attributes
Was this page helpful?
