Obtener Todos los Agentes por Organización
Recupera todos los agentes de IA asociados con tu organización.
Endpoint
GET /api/v1/agents
Autenticación
Este endpoint requiere autenticación con API key. Incluye tu API key en el encabezado Authorization usando el esquema Bearer.
Formato del Encabezado:
Authorization: Bearer {PUBLIC_KEY}:{SECRET_KEY}
Solicitud
Encabezados
| Encabezado | Tipo | Requerido | Descripción |
|---|---|---|---|
Authorization | string | Sí | Tu API key en el formato Bearer pk_xxx:sk_xxx |
Parámetros de Consulta
Este endpoint no acepta parámetros de consulta.
Respuesta
Respuesta Exitosa
Código de Estado: 200 OK
Cuerpo de la Respuesta:
{
"success": true,
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Customer Support Agent",
"description": "AI agent for handling customer inquiries",
"system_prompt": "You are a helpful customer support assistant...",
"slug": "customer-support",
"model": {
"name": "gpt-4",
"display_name": "GPT-4",
"pricing": {
"input_per_1k_tokens": 0.03,
"output_per_1k_tokens": 0.06
},
"context_window": 8192
},
"created_at": "2024-01-15T10:30:00Z",
"updated_at": "2024-01-20T14:45:00Z",
"url": "https://agentsgt.com/api/v1/agents/basic/550e8400-e29b-41d4-a716-446655440000"
},
{
"id": "660e8400-e29b-41d4-a716-446655440001",
"name": "Sales Assistant",
"description": "AI agent for sales support and lead qualification",
"system_prompt": "You are a sales assistant that helps qualify leads...",
"slug": "sales-assistant",
"model": {
"name": "gpt-3.5-turbo",
"display_name": "GPT-3.5 Turbo",
"pricing": {
"input_per_1k_tokens": 0.0015,
"output_per_1k_tokens": 0.002
},
"context_window": 4096
},
"created_at": "2024-01-10T08:20:00Z",
"updated_at": "2024-01-18T16:30:00Z",
"url": "https://agentsgt.com/api/v1/agents/basic/660e8400-e29b-41d4-a716-446655440001"
}
]
}
Campos de la Respuesta
| Campo | Tipo | Descripción |
|---|---|---|
success | boolean | Indica si la solicitud fue exitosa |
data | array | Arreglo de objetos de agente |
data[].id | string (UUID) | Identificador único del agente |
data[].name | string | Nombre del agente |
data[].description | string | null | Descripción del propósito del agente |
data[].system_prompt | string | null | El prompt de sistema que define el comportamiento del agente |
data[].slug | string | null | Identificador compatible con URL del agente |
data[].model | object | Información sobre el modelo de IA utilizado por el agente |
data[].model.name | string | Nombre interno del modelo |
data[].model.display_name | string | Nombre legible del modelo |
data[].model.pricing | object | Información de precios del modelo |
data[].model.pricing.input_per_1k_tokens | number | Costo por 1,000 tokens de entrada (en USD) |
data[].model.pricing.output_per_1k_tokens | number | Costo por 1,000 tokens de salida (en USD) |
data[].model.context_window | number | Tamaño máximo de la ventana de contexto en tokens |
data[].created_at | string (ISO 8601) | Marca de tiempo de cuándo se creó el agente |
data[].updated_at | string (ISO 8601) | Marca de tiempo de la última actualización del agente |
data[].url | string | URL directa de la API para interactuar con este agente específico |
Respuestas de Error
401 Unauthorized
Encabezado de Autorización Faltante:
Status: 401 Unauthorized
Body: "Unauthorized"
Formato de Autorización Inválido:
Status: 401 Unauthorized
Body: "Invalid authorization format"
API Key Inválida:
Status: 401 Unauthorized
Body: "Invalid API key"
API Key No Asociada con Organización:
Status: 401 Unauthorized
Body: "API key not associated with a valid organization"
500 Internal Server Error
Status: 500 Internal Server Error
Body: "Internal server error"
Ejemplos de Uso
cURL
curl -X GET https://agentsgt.com/api/v1/agents \
-H "Authorization: Bearer pk_1234567890abcdef:sk_abcdef1234567890"
JavaScript (Fetch API)
const publicKey = 'pk_1234567890abcdef';
const secretKey = 'sk_abcdef1234567890';
fetch('https://agentsgt.com/api/v1/agents', {
method: 'GET',
headers: {
'Authorization': `Bearer ${publicKey}:${secretKey}`,
'Content-Type': 'application/json'
}
})
.then(response => response.json())
.then(data => {
console.log('Agents:', data.data);
})
.catch(error => {
console.error('Error:', error);
});
Python (Requests)
import requests
public_key = 'pk_1234567890abcdef'
secret_key = 'sk_abcdef1234567890'
headers = {
'Authorization': f'Bearer {public_key}:{secret_key}',
'Content-Type': 'application/json'
}
response = requests.get(
'https://agentsgt.com/api/v1/agents',
headers=headers
)
if response.status_code == 200:
data = response.json()
print(f"Found {len(data['data'])} agents")
for agent in data['data']:
print(f"- {agent['name']} ({agent['id']})")
else:
print(f"Error: {response.status_code} - {response.text}")
Node.js (Axios)
const axios = require('axios');
const publicKey = 'pk_1234567890abcdef';
const secretKey = 'sk_abcdef1234567890';
axios.get('https://agentsgt.com/api/v1/agents', {
headers: {
'Authorization': `Bearer ${publicKey}:${secretKey}`,
'Content-Type': 'application/json'
}
})
.then(response => {
console.log(`Found ${response.data.data.length} agents`);
response.data.data.forEach(agent => {
console.log(`- ${agent.name} (${agent.id})`);
});
})
.catch(error => {
console.error('Error:', error.response?.data || error.message);
});
Notas
- Los agentes se devuelven en orden descendente por fecha de creación (los más recientes primero)
- La marca de tiempo
last_used_atde la API key se actualiza automáticamente cuando se llama a este endpoint - Solo se devuelven los agentes que pertenecen a la organización asociada con la API key
- La API key debe estar habilitada (
is_enabled: true) para autenticarse exitosamente - Cada agente incluye un campo
urldirecto que se puede usar para interactuar con ese agente específico a través de la API