Entornos: live y sandbox

Hay dos entornos completamente aislados. La API key que uses decide en cuál caes — no hay un toggle aparte. Lo que creas con una key de prueba nace de prueba y así se queda para siempre.

Los dos entornos

Live (producción)Test (sandbox)
Prefijo de la keyallsign_live_sk_allsign_test_sk_
CobrosReales (consumen tu saldo)Ninguno
Emails / notificacionesSe envían de verdadSimulados (no salen al firmante)
Firma y NOM-151Validez legal plenaSimulada, con watermark, sin validez legal
livemodetruefalse

Usa allsign_test_sk_ para desarrollar e integrar sin riesgo; cambia a allsign_live_sk_ cuando estés listo para documentos con efectos reales.

Sandbox (test)

El sandbox reproduce el flujo completo —crear, enviar, firmar, webhooks— pero todo es simulado: no se cobra, los correos no salen al firmante real, y los PDFs firmados llevan un watermark que deja claro que no tienen validez legal. Es el lugar para armar y probar tu integración de punta a punta antes de tocar producción.

Todo recurso creado en sandbox trae livemode: false:

{
  "id": "doc_3f2a...",
  "status": "awaiting_signatures",
  "livemode": false,
  "createdAt": "2026-07-18T15:04:00Z"
}

El entorno de la key marca el documento

Al crear un recurso, el entorno de la key se estampa permanente en él. Un documento creado con una key de prueba queda en sandbox para siempre — no se "promueve" ni se convierte.

Los listados nunca se cruzan: GET /v3/documents con una key live solo devuelve documentos live, y viceversa. Para saber de qué entorno es un recurso concreto, lee su campo livemode — viaja en cada respuesta.

Para pasar a producción no conviertes tus documentos de prueba. Simplemente empiezas a crear con la key live; los de prueba se quedan en sandbox y ya. Trátalos como datos desechables.

Cómo saber en qué entorno estás

Tres señales, redundantes a propósito, te dicen el entorno sin adivinar:

  1. livemode en cada recursotrue = live, false = sandbox. La señal más directa.
  2. GET /v3/users/me — devuelve environment ("live" / "test") y livemode de la key con la que preguntas.
  3. El header AllSign-Environment — viene en cada respuesta autenticada.
GET /v3/users/me

{
  "id": "usr_9a1c...",
  "email": "tu@empresa.mx",
  "environment": "test",
  "livemode": false
}
HTTP/1.1 200 OK
AllSign-Environment: test
AllSign-Request-Id: req_...

Y en webhooks, el envelope del evento trae livemode, para que tu handler distinga sin depender de qué endpoint lo disparó:

{
  "eventId": "evt_7f3a...",
  "eventType": "document.completed",
  "apiVersion": "2026-07-11",
  "occurredAt": "2026-07-18T15:04:00.000Z",
  "tenantId": "…",
  "livemode": true,
  "data": { "documentId": "doc_2b9c...", "status": "completed" }
}