Analytics
Los endpoints de Analytics te dan acceso programático a las métricas de firma electrónica de tu organización — los mismos datos que aparecen en el dashboard de Analíticas. Ideal para construir dashboards personalizados, automatizar reportes y detectar cuellos de botella.
Cada llamada a un endpoint de Analytics consume 1 crédito. Los scope requeridos son analytics:read o analytics:*.
Get KPI metrics
Retorna los indicadores clave de rendimiento (KPIs) de tu organización para un periodo dado: total de documentos, completados, pendientes, expirados, tasa de completación y tiempo promedio de firma.
/v2/analytics/kpisQuery parameters
curl -X GET "https://api.allsign.io/v2/analytics/kpis" \
-H "Authorization: Bearer ALLSIGN_LIVE_SK"Configura el request y haz click en Enviar Request para ver la respuesta aquí.
Query parameters
- Name
period- Type
- string
- Description
Periodo de tiempo:
7d,30d(default),90d, o12m.
Response
- Name
totalDocs- Type
- integer
- Description
Total de documentos en el periodo.
- Name
completed- Type
- integer
- Description
Documentos completamente firmados.
- Name
pending- Type
- integer
- Description
Documentos esperando firmas.
- Name
expired- Type
- integer
- Description
Documentos expirados.
- Name
completionRate- Type
- number
- Description
Porcentaje de completación (0-100).
- Name
avgSignTimeHours- Type
- number | null
- Description
Tiempo promedio de firma en horas.
nullsi no hay documentos completados.
Response (200)
{
"totalDocs": 142,
"completed": 98,
"pending": 31,
"expired": 13,
"completionRate": 69.0,
"avgSignTimeHours": 4.2
}
Python
import requests
API_KEY = "allsign_live_sk_TU_API_KEY"
BASE_URL = "https://api.allsign.io"
response = requests.get(
f"{BASE_URL}/v2/analytics/kpis",
headers={"Authorization": f"Bearer {API_KEY}"},
params={"period": "30d"},
)
data = response.json()
print(f"Completados: {data['completed']}/{data['totalDocs']} ({data['completionRate']}%)")
# → Completados: 98/142 (69.0%)
JavaScript
const response = await fetch('https://api.allsign.io/v2/analytics/kpis?period=30d', {
headers: { 'Authorization': 'Bearer allsign_live_sk_TU_API_KEY' },
});
const { totalDocs, completed, completionRate } = await response.json();
console.log(`Completados: ${completed}/${totalDocs} (${completionRate}%)`);
// → Completados: 98/142 (69.0%)
Get signing funnel
Retorna el embudo de firma con el conteo y porcentaje de documentos en cada etapa: Enviados → En progreso → Completados → Expirados.
/v2/analytics/funnelQuery parameters
curl -X GET "https://api.allsign.io/v2/analytics/funnel" \
-H "Authorization: Bearer ALLSIGN_LIVE_SK"Configura el request y haz click en Enviar Request para ver la respuesta aquí.
Query parameters
- Name
period- Type
- string
- Description
Periodo de tiempo:
7d,30d(default),90d, o12m.
Response
Retorna un array con 4 etapas del embudo.
- Name
label- Type
- string
- Description
Nombre de la etapa.
- Name
count- Type
- integer
- Description
Número de documentos en esta etapa.
- Name
pct- Type
- number
- Description
Porcentaje respecto al total.
Response (200)
[
{ "label": "Enviados", "count": 142, "pct": 100 },
{ "label": "En progreso", "count": 31, "pct": 21.8 },
{ "label": "Completados", "count": 98, "pct": 69.0 },
{ "label": "Expirados", "count": 13, "pct": 9.2 }
]
Get monthly trend
Retorna documentos firmados y tiempo promedio de firma por mes para los últimos 6 meses.
/v2/analytics/trendcurl -X GET "https://api.allsign.io/v2/analytics/trend" \
-H "Authorization: Bearer ALLSIGN_LIVE_SK"Configura el request y haz click en Enviar Request para ver la respuesta aquí.
Response
- Name
month- Type
- string
- Description
Abreviación del mes (e.g.
Jan,Feb).
- Name
signed- Type
- integer
- Description
Documentos completamente firmados en este mes.
- Name
avgHours- Type
- number
- Description
Tiempo promedio de firma en horas.
Response (200)
[
{ "month": "Oct", "signed": 12, "avgHours": 5.3 },
{ "month": "Nov", "signed": 18, "avgHours": 3.8 },
{ "month": "Dec", "signed": 15, "avgHours": 4.1 },
{ "month": "Jan", "signed": 22, "avgHours": 3.5 },
{ "month": "Feb", "signed": 19, "avgHours": 4.0 },
{ "month": "Mar", "signed": 25, "avgHours": 3.2 }
]
Get recent events
Retorna los eventos de documentos más recientes del tenant. Excluye eventos internos (S3, procesamiento PDF, generación de evidencia).
/v2/analytics/eventsQuery parameters
curl -X GET "https://api.allsign.io/v2/analytics/events" \
-H "Authorization: Bearer ALLSIGN_LIVE_SK"Configura el request y haz click en Enviar Request para ver la respuesta aquí.
Query parameters
- Name
limit- Type
- integer
- Description
Máximo de eventos a retornar (1-50, default: 8).
Response
- Name
id- Type
- string
- Description
ID del evento.
- Name
documentName- Type
- string
- Description
Nombre del documento.
- Name
eventType- Type
- string
- Description
Tipo de evento (e.g.
document.created,signature.signed).
- Name
actorName- Type
- string
- Description
Nombre del usuario que ejecutó la acción.
- Name
actorInitials- Type
- string
- Description
Iniciales del actor (e.g.
JP).
- Name
createdAt- Type
- datetime
- Description
Fecha/hora del evento (ISO 8601).
Response (200)
[
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"documentName": "Contrato de Servicios 2025.pdf",
"eventType": "signature.signed",
"actorName": "Juan Pérez",
"actorInitials": "JP",
"createdAt": "2025-03-22T14:30:00Z"
}
]
Get signing bottlenecks
Identifica los firmantes con más firmas pendientes — útil para detectar cuellos de botella en tu flujo de firma.
/v2/analytics/bottlenecksQuery parameters
curl -X GET "https://api.allsign.io/v2/analytics/bottlenecks" \
-H "Authorization: Bearer ALLSIGN_LIVE_SK"Configura el request y haz click en Enviar Request para ver la respuesta aquí.
Query parameters
- Name
limit- Type
- integer
- Description
Máximo de entradas (1-20, default: 5).
Response
- Name
signerName- Type
- string
- Description
Nombre del firmante.
- Name
signerEmail- Type
- string | null
- Description
Email del firmante.
- Name
pendingCount- Type
- integer
- Description
Número de firmas pendientes.
- Name
avgDays- Type
- number
- Description
Días promedio que lleva pendiente.
Response (200)
[
{
"signerName": "María García",
"signerEmail": "maria@empresa.com",
"pendingCount": 7,
"avgDays": 12.3
},
{
"signerName": "Carlos López",
"signerEmail": "carlos@empresa.com",
"pendingCount": 4,
"avgDays": 5.8
}
]
Python — Alerta automática de bottleneck
import requests
API_KEY = "allsign_live_sk_TU_API_KEY"
response = requests.get(
"https://api.allsign.io/v2/analytics/bottlenecks",
headers={"Authorization": f"Bearer {API_KEY}"},
params={"limit": 3},
)
for signer in response.json():
if signer["avgDays"] > 7:
print(f"⚠️ {signer['signerName']} tiene {signer['pendingCount']} firmas "
f"pendientes ({signer['avgDays']} días promedio)")
Get team activity
Retorna estadísticas por miembro del equipo: documentos enviados, firmados, y tasa de completación.
/v2/analytics/teamQuery parameters
curl -X GET "https://api.allsign.io/v2/analytics/team" \
-H "Authorization: Bearer ALLSIGN_LIVE_SK"Configura el request y haz click en Enviar Request para ver la respuesta aquí.
Query parameters
- Name
period- Type
- string
- Description
Periodo de tiempo:
7d,30d(default),90d, o12m.
Response
- Name
userId- Type
- string
- Description
UUID del miembro.
- Name
name- Type
- string
- Description
Nombre del miembro.
- Name
initials- Type
- string
- Description
Iniciales (e.g.
JP).
- Name
role- Type
- string
- Description
Rol en el tenant (
owner,admin,member).
- Name
sent- Type
- integer
- Description
Documentos enviados por este miembro.
- Name
signed- Type
- integer
- Description
Documentos completamente firmados.
- Name
rate- Type
- number
- Description
Tasa de completación (porcentaje).
Response (200)
[
{
"userId": "550e8400-e29b-41d4-a716-446655440001",
"name": "Ana Rodríguez",
"initials": "AR",
"role": "admin",
"sent": 45,
"signed": 38,
"rate": 84.4
},
{
"userId": "550e8400-e29b-41d4-a716-446655440002",
"name": "Pedro Sánchez",
"initials": "PS",
"role": "member",
"sent": 22,
"signed": 15,
"rate": 68.2
}
]
JavaScript — Reporte semanal por equipo
const response = await fetch('https://api.allsign.io/v2/analytics/team?period=7d', {
headers: { 'Authorization': 'Bearer allsign_live_sk_TU_API_KEY' },
});
const team = await response.json();
console.log('📊 Reporte semanal:');
team.forEach(m => {
console.log(` ${m.name}: ${m.signed}/${m.sent} docs (${m.rate}%)`);
});

