Update an agent's visibility, archive state or pin
curl --request PATCH \
--url https://api.guild.ai/v1/agents/{agent_id_or_name} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"is_public": null,
"is_archived": null,
"is_pinned": null,
"avatar_url": null,
"maintainer_id": null,
"category": null,
"tags": null
}
'import requests
url = "https://api.guild.ai/v1/agents/{agent_id_or_name}"
payload = {
"is_public": None,
"is_archived": None,
"is_pinned": None,
"avatar_url": None,
"maintainer_id": None,
"category": None,
"tags": None
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
is_public: null,
is_archived: null,
is_pinned: null,
avatar_url: null,
maintainer_id: null,
category: null,
tags: null
})
};
fetch('https://api.guild.ai/v1/agents/{agent_id_or_name}', 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.guild.ai/v1/agents/{agent_id_or_name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'is_public' => null,
'is_archived' => null,
'is_pinned' => null,
'avatar_url' => null,
'maintainer_id' => null,
'category' => null,
'tags' => null
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.guild.ai/v1/agents/{agent_id_or_name}"
payload := strings.NewReader("{\n \"is_public\": null,\n \"is_archived\": null,\n \"is_pinned\": null,\n \"avatar_url\": null,\n \"maintainer_id\": null,\n \"category\": null,\n \"tags\": null\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.guild.ai/v1/agents/{agent_id_or_name}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"is_public\": null,\n \"is_archived\": null,\n \"is_pinned\": null,\n \"avatar_url\": null,\n \"maintainer_id\": null,\n \"category\": null,\n \"tags\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.guild.ai/v1/agents/{agent_id_or_name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"is_public\": null,\n \"is_archived\": null,\n \"is_pinned\": null,\n \"avatar_url\": null,\n \"maintainer_id\": null,\n \"category\": null,\n \"tags\": null\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"agent_type": "GUILD_TYPESCRIPT",
"description": "<string>",
"is_public": true,
"name": "<string>",
"owner_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"cached_forks_count": 123,
"cached_installs_count": 123,
"cached_likes_count": 123,
"is_pinned": true,
"moderation_state": "ACTIVE",
"status": "CREATED",
"archived_at": "2023-11-07T05:31:56Z",
"archived_by_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"avatar_url": "<string>",
"category_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"creation_template": "LLM",
"creator_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"forked_from_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"generated_description": "<string>",
"maintainer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"archived_by": "<unknown>",
"category": "<unknown>",
"creator": "<unknown>",
"forks_count": 123,
"full_name": "<string>",
"git_url": "<string>",
"installs_count": 123,
"is_description_autogenerated": "<unknown>",
"last_updated_by": "<unknown>",
"latest_published_version": "<unknown>",
"latest_version": "<unknown>",
"likes_count": 123,
"maintainer": {},
"owner": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"creator_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"cached_forks_count": 123,
"cached_forks_public_count": 123,
"cached_installs_count": 123,
"cached_installs_public_count": 123,
"cached_likes_count": 123,
"cached_likes_public_count": 123,
"avatar_url": "<string>",
"banner_url": "<string>",
"bio": "<string>",
"closure_requested_at": "2023-11-07T05:31:56Z",
"closure_requested_by_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"discord_url": "<string>",
"email_domain": "<string>",
"full_name": "<string>",
"github_url": "<string>",
"linkedin_url": "<string>",
"threads_url": "<string>",
"website_url": "<string>",
"x_url": "<string>",
"youtube_url": "<string>",
"member_count": "<unknown>",
"viewer_membership_id": "<unknown>",
"viewer_membership_public": "<unknown>",
"viewer_role": "ADMIN",
"type": "organization"
},
"public_profile_url": "<unknown>",
"type": "<unknown>",
"viewer_can_edit": true
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}Authorizations
OAuth 2.0 authorization code flow with PKCE (S256). Discovery: https://api.guild.ai/.well-known/oauth-authorization-server.
Path Parameters
Body
Response
Successful response
GUILD_TYPESCRIPT, GUILD_NATIVE, GOOSE, OPENCLAW, LANGGRAPH, ADK Manual description field. Can be empty; the effective description falls back to generated_description.
8192Whether the asset is visible to the community or only its owner.
Unique name identifying the asset within the owner account.
100The account that owns this entity.
A cached version of the forks count. Might not be up to date.
A cached version of the installs count. Might not be up to date.
A cached version of the likes count. Might not be up to date.
If true, it means the agent is pinned on the owner's account's profile.
Operator-controlled moderation/curation state. Owners cannot change this; only operators can, via the hub kebab menu or ops tooling.
ACTIVE, DEMOTED, UNLISTED, DISABLED, TAKEN_DOWN CREATED, GIT_REPOSITORY_CREATED, READY 255The category this agent is sorted in.
If applicable, the template that was selected during the creation of this agent. Note: it doesn't mean the agent is still following the template now.
LLM, AUTO_MANAGED_STATE, BLANK, GOOSE, GUILD_NATIVE, OPENCLAW, LANGGRAPH, ADK The user, agent or API key that created this agent. Null for legacy rows created before creator attribution was recorded.
If applicable, the ID of the agent version this agent was forked from.
LLM-generated description based on agent code. Regenerated automatically on every commit.
8192OPTIONAL. Refers to the person within an organization that is tasked with maintaining the agent.
The user who created this agent.
Number of times this agent has been forked
Full agent name in format "owner_name/agent_name"
URL to the agent's git repository
Number of times this agent has been installed in workspaces
The user who pushed the newest version of this agent.
Number of likes this agent has received
Maintainer of the agent (for organization-owned agents)
- Option 1
- Option 2
Show child attributes
Show child attributes
Whether the current viewer can edit this agent
curl --request PATCH \
--url https://api.guild.ai/v1/agents/{agent_id_or_name} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"is_public": null,
"is_archived": null,
"is_pinned": null,
"avatar_url": null,
"maintainer_id": null,
"category": null,
"tags": null
}
'import requests
url = "https://api.guild.ai/v1/agents/{agent_id_or_name}"
payload = {
"is_public": None,
"is_archived": None,
"is_pinned": None,
"avatar_url": None,
"maintainer_id": None,
"category": None,
"tags": None
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
is_public: null,
is_archived: null,
is_pinned: null,
avatar_url: null,
maintainer_id: null,
category: null,
tags: null
})
};
fetch('https://api.guild.ai/v1/agents/{agent_id_or_name}', 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.guild.ai/v1/agents/{agent_id_or_name}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'is_public' => null,
'is_archived' => null,
'is_pinned' => null,
'avatar_url' => null,
'maintainer_id' => null,
'category' => null,
'tags' => null
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.guild.ai/v1/agents/{agent_id_or_name}"
payload := strings.NewReader("{\n \"is_public\": null,\n \"is_archived\": null,\n \"is_pinned\": null,\n \"avatar_url\": null,\n \"maintainer_id\": null,\n \"category\": null,\n \"tags\": null\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.guild.ai/v1/agents/{agent_id_or_name}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"is_public\": null,\n \"is_archived\": null,\n \"is_pinned\": null,\n \"avatar_url\": null,\n \"maintainer_id\": null,\n \"category\": null,\n \"tags\": null\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.guild.ai/v1/agents/{agent_id_or_name}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"is_public\": null,\n \"is_archived\": null,\n \"is_pinned\": null,\n \"avatar_url\": null,\n \"maintainer_id\": null,\n \"category\": null,\n \"tags\": null\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"agent_type": "GUILD_TYPESCRIPT",
"description": "<string>",
"is_public": true,
"name": "<string>",
"owner_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"cached_forks_count": 123,
"cached_installs_count": 123,
"cached_likes_count": 123,
"is_pinned": true,
"moderation_state": "ACTIVE",
"status": "CREATED",
"archived_at": "2023-11-07T05:31:56Z",
"archived_by_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"avatar_url": "<string>",
"category_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"creation_template": "LLM",
"creator_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"forked_from_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"generated_description": "<string>",
"maintainer_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"archived_by": "<unknown>",
"category": "<unknown>",
"creator": "<unknown>",
"forks_count": 123,
"full_name": "<string>",
"git_url": "<string>",
"installs_count": 123,
"is_description_autogenerated": "<unknown>",
"last_updated_by": "<unknown>",
"latest_published_version": "<unknown>",
"latest_version": "<unknown>",
"likes_count": 123,
"maintainer": {},
"owner": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"creator_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"cached_forks_count": 123,
"cached_forks_public_count": 123,
"cached_installs_count": 123,
"cached_installs_public_count": 123,
"cached_likes_count": 123,
"cached_likes_public_count": 123,
"avatar_url": "<string>",
"banner_url": "<string>",
"bio": "<string>",
"closure_requested_at": "2023-11-07T05:31:56Z",
"closure_requested_by_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"discord_url": "<string>",
"email_domain": "<string>",
"full_name": "<string>",
"github_url": "<string>",
"linkedin_url": "<string>",
"threads_url": "<string>",
"website_url": "<string>",
"x_url": "<string>",
"youtube_url": "<string>",
"member_count": "<unknown>",
"viewer_membership_id": "<unknown>",
"viewer_membership_public": "<unknown>",
"viewer_role": "ADMIN",
"type": "organization"
},
"public_profile_url": "<unknown>",
"type": "<unknown>",
"viewer_can_edit": true
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}{
"error": "<string>",
"message": "<string>"
}