Saltar al contenido principal

Autenticación

AIAgentCore utiliza autenticación mediante Bearer token. Todos los endpoints protegidos de la API requieren un token válido en el encabezado Authorization.

Descripción General

Existen dos tipos de autenticación:

TipoCaso de UsoCómo Obtenerlo
Token de API de la empresaIntegraciones servidor a servidor, scriptsPágina de Configuración del Panel
JWT de sesiónSesiones de frontend/panelPOST /api/auth/login

Token de API de la Empresa

La forma más sencilla de autenticarse. Obtén tu token desde el Panel:

  1. Inicia sesión en app.aiagentcore.com
  2. Ve a Configuración
  3. Copia el Token de API

Úsalo en cada solicitud:

curl -H "Authorization: Bearer YOUR_API_TOKEN" \
https://api.aiagentcore.com/api/agents

Autenticación por Sesión (JWT)

Para acceso programático, puedes obtener un JWT de sesión mediante el endpoint de inicio de sesión.

Registro

curl -X POST https://api.aiagentcore.com/api/auth/register \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "your-secure-password",
"companyName": "Acme Corp"
}'

Respuesta (201 Created):

{
"user": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "user@example.com"
},
"company": {
"id": 1,
"companyId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"companyName": "Acme Corp"
}
}
info

Las cuentas nuevas reciben $5 en créditos gratuitos y un pipeline de ventas predeterminado con 6 etapas.

Inicio de Sesión

curl -X POST https://api.aiagentcore.com/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "your-secure-password"
}'

Respuesta (200 OK):

{
"session": {
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"refresh_token": "v1.MjE0...",
"expires_at": 1712345678
},
"user": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "user@example.com",
"companyId": 1
}
}

Renovar Token

Los tokens de acceso expiran. Usa el token de renovación para obtener una nueva sesión sin volver a autenticarte:

curl -X POST https://api.aiagentcore.com/api/auth/refresh \
-H "Content-Type: application/json" \
-d '{
"refresh_token": "v1.MjE0..."
}'

Respuesta (200 OK):

{
"session": {
"access_token": "eyJhbGciOiJIUzI1NiIs...",
"refresh_token": "v1.new-refresh-token...",
"expires_at": 1712349278
}
}

Obtener Usuario Actual

curl -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
https://api.aiagentcore.com/api/auth/me

Respuesta (200 OK):

{
"user": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"email": "user@example.com",
"companyId": 1,
"isSuperadmin": false
},
"company": {
"id": 1,
"companyId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"companyName": "Acme Corp",
"createdAt": "2026-01-15T10:30:00.000Z"
}
}

Respuestas de Error

EstadoCódigoDescripción
401INVALID_CREDENTIALSCorreo electrónico o contraseña incorrectos
401REFRESH_FAILEDToken de renovación inválido o expirado
500USER_CREATION_FAILEDEl registro falló (es posible que el correo electrónico ya exista)
500INTERNAL_ERRORError del servidor

Todas las respuestas de error siguen este formato:

{
"error": {
"code": "INVALID_CREDENTIALS",
"message": "Invalid email or password"
}
}

Aislamiento Multi-Tenant

Todos los datos están limitados por companyId. Tu token de API o JWT restringe automáticamente el acceso únicamente a los recursos de tu empresa. No es posible acceder a los agentes, conversaciones o datos de otra empresa.