Listar Agentes
curl --request GET \
--url https://api.tess.im/agents \
--header 'Authorization: Bearer <token>' \
--header 'x-workspace-id: <x-workspace-id>'import requests
url = "https://api.tess.im/agents"
headers = {
"x-workspace-id": "<x-workspace-id>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-workspace-id': '<x-workspace-id>', Authorization: 'Bearer <token>'}
};
fetch('https://api.tess.im/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.tess.im/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>",
"x-workspace-id: <x-workspace-id>"
],
]);
$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.tess.im/agents"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-workspace-id", "<x-workspace-id>")
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.tess.im/agents")
.header("x-workspace-id", "<x-workspace-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tess.im/agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-workspace-id"] = '<x-workspace-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyAgentes
Listar Agentes
Enumera todos los agentes compatibles con búsqueda, filtrado y paginación.
GET
/
agents
Listar Agentes
curl --request GET \
--url https://api.tess.im/agents \
--header 'Authorization: Bearer <token>' \
--header 'x-workspace-id: <x-workspace-id>'import requests
url = "https://api.tess.im/agents"
headers = {
"x-workspace-id": "<x-workspace-id>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-workspace-id': '<x-workspace-id>', Authorization: 'Bearer <token>'}
};
fetch('https://api.tess.im/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.tess.im/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>",
"x-workspace-id: <x-workspace-id>"
],
]);
$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.tess.im/agents"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-workspace-id", "<x-workspace-id>")
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.tess.im/agents")
.header("x-workspace-id", "<x-workspace-id>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tess.im/agents")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-workspace-id"] = '<x-workspace-id>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_bodyEjemplos de código
curl --request GET \
--url 'https://api.tess.im/agents' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'x-workspace-id: YOUR_WORKSPACE_ID'
const axios = require('axios');
const config = {
method: 'get',
url: 'https://api.tess.im/agents',
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'x-workspace-id': 'YOUR_WORKSPACE_ID'
}
};
try {
const response = await axios(config);
console.log(response.data);
} catch (error) {
console.error(error);
}
import requests
url = "https://api.tess.im/agents"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"x-workspace-id": "YOUR_WORKSPACE_ID"
}
response = requests.get(url, headers=headers)
print(response.json())
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tess.im/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 YOUR_API_KEY",
"x-workspace-id: YOUR_WORKSPACE_ID"
]
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "Error: " . $err;
} else {
echo $response;
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.tess.im/agents"))
.header("Authorization", "Bearer YOUR_API_KEY")
.header("x-workspace-id", "YOUR_WORKSPACE_ID")
.GET()
.build();
HttpResponse<String> response = client.send(request,
HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
client := &http.Client{}
req, err := http.NewRequest("GET", "https://api.tess.im/agents", nil)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Authorization", "Bearer YOUR_API_KEY")
req.Header.Add("x-workspace-id", "YOUR_WORKSPACE_ID")
resp, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main(string[] args)
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_API_KEY");
client.DefaultRequestHeaders.Add("x-workspace-id", "YOUR_WORKSPACE_ID");
try
{
var response = await client.GetAsync("https://api.tess.im/agents");
response.EnsureSuccessStatusCode();
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
catch(HttpRequestException e)
{
Console.WriteLine("\nException Caught!");
Console.WriteLine("Message :{0} ",e.Message);
}
}
}
}
require 'uri'
require 'net/http'
require 'json'
uri = URI('https://api.tess.im/agents')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer YOUR_API_KEY'
request['x-workspace-id'] = 'YOUR_WORKSPACE_ID'
response = http.request(request)
puts response.read_body
Encabezados
integer
requerido
ID del workspace. Obligatorio a partir del 01/09/2026. Hasta entonces, si se omite, se usa el workspace seleccionado del usuario (deprecated). Después de la fecha, ausencia → 422.
Nota: Este campo será obligatorio en una futura versión de la API. Se recomienda configurarlo ahora para garantizar la compatibilidad con futuras actualizaciones.
Parámetros de consulta
string
Buscar agentes por título, descripción y descripción larga
string
Filtrar por tipo de agente (chat, imagen, texto, vídeo)
integer
Página actual (predeterminado: 1)
integer
Número de elementos por página (predeterminado: 15)
Resposta
{
"current_page": 1,
"data": [
{
"id": 8794,
"title": "Tess AI - API Docs Helper",
"description": null,
"long_description": null,
"workspace_id": 11,
"visibility": "public",
"slug": "tess-ai-docs-helper-pB9ujA",
"active": 1,
"type": "chat",
"questions": [
{
"type": "select",
"name": "temperature",
"description": "Dile a Tess si quieres que sea más objetiva o más creativa en sus respuestas.",
"required": true,
"options": [
"0",
"0.25",
"0.5",
"0.75",
"1"
]
},
{
"type": "select",
"name": "model",
"description": "Elige la versión del modelo",
"required": true,
"options": [
"gpt-4o-mini",
"gpt-4o",
"tess-5",
"tess-ai-3",
"gpt-o1-preview",
"gpt-o1-mini",
"gemini-2.0-flash",
"gemini-1.5-flash",
"gemini-1.5-pro",
"claude-3-5-haiku-latest",
"claude-3-5-sonnet-20240620",
"claude-3-5-sonnet-latest",
"claude-3-opus-20240229",
"meta-llama-3.1-405b-instruct",
"meta-llama-3-70b-instruct",
"meta-llama-3-8b-instruct",
"cohere-command-r",
"cohere-command-r-plus",
"gpt-3.5-turbo",
"gpt-4-turbo",
"claude-3-haiku-20240307",
"claude-3-sonnet-20240229",
"gemini-1.0-pro",
"llama-2-13b-chat",
"llama-2-70b-chat"
]
},
{
"type": "select",
"name": "tools",
"description": "Seleccione la versión del modelo",
"required": true,
"options": [
"no-tools",
"internet",
"twitter",
"wikipedia",
"quora",
"reddit",
"medium",
"linkedin",
"instagram",
"facebook"
]
},
{
"type": "number",
"name": "root_id",
"description": "El ID de sesión almacenado para continuar la conversación.",
"required": false
},
{
"type": "array",
"name": "messages",
"description": "La lista de mensajes en el historial de chat. Usa una lista de objetos con rol y contenido, similar a la API de OpenAI.",
"required": true
}
],
"created_at": "2025-01-05T18:09:18.000000Z",
"updated_at": "2025-01-05T18:45:31.000000Z",
"created_by": 13
}
],
"first_page_url": "https://api.tess.im/agents?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "https://api.tess.im/agents?page=1",
"links": [
{
"url": null,
"label": "pagination.previous",
"active": false
},
{
"url": "https://api.tess.im/agents?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "pagination.next",
"active": false
}
],
"next_page_url": null,
"path": "https://api.tess.im/agents",
"per_page": 15,
"prev_page_url": null,
"to": 1,
"total": 1
}
⌘I