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 (api_call). El scope requerido es analytics:read. Si no tienes créditos disponibles, la respuesta será 402 Payment Required. El cobro del crédito ocurre después de ejecutar la consulta (la query corre primero y la reserva del crédito se hace al final), por lo que el 402 se levanta una vez resuelta la consulta.
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}%)`);
});

