Documentación de la API para generación de firmas

Crea firmas manuscritas directamente desde tu código. Una API REST sencilla, autenticación por clave, formatos PNG · SVG · JPG · PDF y límites claros por plan.

REST · JSON Token Bearer Cuatro formatos Límites según el plan

⚡ Inicio rápido

Tres pasos desde el registro hasta tu primera firma.

1

Obtén una clave

Crea tu clave de API en la página de API de tu cuenta. La clave completa se muestra una sola vez.

2

Envía una solicitud

Haz un POST a /api/v1/signatures con un nombre y un apellido.

3

Obtén tu firma

La respuesta contiene la firma en el formato elegido (PNG, SVG, JPG o PDF) y su hash para volver a generarla.

🔗 URL base

Todas las respuestas son JSON. En caso de éxito: { "success": true, "data": {…}, "meta": {…} }; en caso de error: { "success": false, "error": { "code", "message" } }.

URL base
https://onlinesignatures.net/api/v1

🔑 Autenticación

Cada solicitud necesita un token Bearer en la cabecera Authorization. Crea y gestiona las claves en la página de API de tu cuenta: la clave completa se muestra una sola vez.

cURL
curl https://onlinesignatures.net/api/v1/usage \
  -H "Authorization: Bearer sk_live_your_token"

🎨 Formatos de salida

Por defecto, la firma se devuelve como PNG con fondo transparente. Añade el parámetro format para obtener otro formato; no consume cuota adicional.

PNG

png

por defecto

Fondo transparente. Ideal para superponer en documentos.

SVG

svg

para web

Firma incrustada en SVG: fácil de escalar e insertar en HTML.

JPG

jpg

ligero

Fondo blanco, el menor tamaño de archivo.

PDF

pdf

documento

Un PDF listo para usar con la firma.

ℹ️Los formatos disponibles dependen de tu plan: consulta la página Planes de API. Solicitar un formato que no tienes devuelve un error format_not_allowed (403).
Plan Claves Solicitudes / mes Solicitudes / minuto PNG SVG JPG PDF
API Start 4 5 000 50 ✓ — — —
API Pro 5 60 000 300 ✓ ✓ ✓ —
API Business 15 250 000 5 000 ✓ ✓ ✓ ✓
API Scale 50 1 000 000 3 000 ✓ ✓ ✓ ✓

Claves = cuántas claves de API puedes crear en este plan. Solicitudes / mes es la cuota principal; solicitudes / minuto es el límite contra ráfagas.

🔍 Calidad de imagen

De forma predeterminada, la firma se devuelve en calidad estándar (1×). Añade el parámetro quality para obtener una imagen más grande y nítida: 2× tiene el doble de píxeles y 4× el cuádruple. No consume cuota adicional.

1×

quality: 1

por defecto

Tamaño estándar. Perfecto para pantallas y páginas web.

2×

quality: 2

más nítida

El doble de píxeles. Más nítida en documentos y en pantallas de alta densidad.

4×

quality: 4

máxima

Cuatro veces los píxeles. Ideal para impresión y formatos grandes.

PNG · 4×
curl -X POST https://onlinesignatures.net/api/v1/signatures \
 -H "Authorization: Bearer sk_live_..." \
 -H "Content-Type: application/json" \
 -d '{"first_name":"Signature",
      "last_name":"Generator",
      "format":"png",
      "quality":4}'
ℹ️Start incluye 1×; Pro, Business y Scale incluyen 1×, 2× y 4×. Si pides una calidad superior a la de tu plan, se devuelve el error quality_not_allowed (403) y la solicitud no se cuenta.
ℹ️SVG es vectorial y se mantiene nítido a cualquier tamaño, por lo que el parámetro quality no lo modifica: se aplica a PNG, JPG y PDF. Una firma muy ancha puede renderizarse algo por debajo de 4× para respetar los límites de tamaño.

La misma firma con otra calidad

Para obtener exactamente la misma firma con otra calidad, guarda el hash de la respuesta y vuelve a solicitarla con POST /api/v1/signatures/replay. Cada llamada cuenta como una solicitud.

PNG · 1× → 4×
curl -X POST https://onlinesignatures.net/api/v1/signatures/replay \
 -H "Authorization: Bearer sk_live_..." \
 -H "Content-Type: application/json" \
 -d '{"hash":"eyJpdiI6...",
      "format":"png",
      "quality":4}'
POST/api/v1/signatures

Genera una firma nueva a partir de un nombre y un apellido.

PNG (por defecto)
curl -X POST https://onlinesignatures.net/api/v1/signatures \
 -H "Authorization: Bearer sk_live_..." \
 -H "Content-Type: application/json" \
 -d '{"first_name":"Signature",
      "last_name":"Generator"}'
PDF
curl -X POST https://onlinesignatures.net/api/v1/signatures \
 -H "Authorization: Bearer sk_live_..." \
 -H "Content-Type: application/json" \
 -d '{"first_name":"Signature",
      "last_name":"Generator",
      "format":"pdf"}'

Parámetros

first_nameopcional cadena, hasta 60 caracteres
last_nameopcional cadena, hasta 60 caracteres
middle_nameopcional cadena, hasta 60 caracteres
formatopcional png (por defecto), svg, jpg, pdf — dentro de tu plan
qualityopcional 1 (por defecto), 2, 4 — dentro de tu plan
ℹ️Indica al menos un campo: nombre o apellido (una sola palabra, una inicial, o nombre y apellido).
Éxito 201
{
  "success": true,
  "data": {
    "id": 1842,
    "hash": "eyJpdiI6...",
    "format": "pdf",
    "mime": "application/pdf",
    "signature": "data:application/pdf;
       base64,JVBER..."
  },
  "meta": { "quota": { "remaining":179 } }
}
Error 403
{
  "success": false,
  "error": {
    "code": "format_not_allowed",
    "message": "The pdf format is
      not available on
      your plan."
  }
}
GET/api/v1/signatures/{hash}

Vuelve a generar una firma creada anteriormente por su hash. También puedes indicar el formato con ?format=.

cURL
curl "https://onlinesignatures.net/api/v1/signatures/{hash}?format=svg" \
  -H "Authorization: Bearer sk_live_your_token"
GET/api/v1/usage

Devuelve tu plan, los formatos disponibles, el límite mensual, lo que has usado y cuándo se reinicia.

Éxito 200
{
  "success": true,
  "data": {
    "plan": "Business",
    "formats": ["png", "svg", "jpg"],
    "rate_per_minute": 1000,
    "key": { "name": "Production", "masked": "sk_live_a1b2…8f9c" },
    "quota": { "limit": 500, "used": 321, "remaining": 179 }
  }
}

⏱️ Límites y cuota

La cuota mensual es el límite principal y depende de tu plan (consulta Planes de API). Además, un límite de solicitudes por minuto (también por plan) protege frente a ráfagas. Las respuestas incluyen las cabeceras X-Quota-Limit, X-Quota-Remaining y X-Quota-Reset para autorregularte. Cambiar de formato no consume cuota adicional: una generación = una solicitud.

⚠️ Códigos de error

401 · invalid_api_keyFalta la clave o no es válida
403 · key_disabled / plan_requiredClave desactivada o plan sin API
403 · format_not_allowedFormato no disponible en tu plan
403 · quality_not_allowedCalidad no disponible en tu plan
422 · validation_errorCampos de la solicitud no válidos (incluido un formato desconocido)
429 · rate_limitedSe superó el límite por minuto: haz una pausa y reintenta
429 · quota_exceededSe agotó la cuota mensual del plan
503 · render_unavailableGeneración temporalmente no disponible, inténtalo más tarde

💬 Preguntas y respuestas

¿Cambiar el formato consume cuota adicional?

No. Una generación es una solicitud, independientemente del formato de salida.

¿Qué formatos están disponibles?

PNG, SVG, JPG y PDF. El conjunto de formatos disponibles depende de tu plan.

¿Qué ocurre si solicito un formato que no está en mi plan?

La API devuelve un error format_not_allowed (403) y no cuenta la solicitud.

¿Qué hace el parámetro quality?

Añade "quality": 1, 2 o 4 a la solicitud para obtener una firma más nítida y detallada. 1× es la calidad estándar; 2× y 4× son más nítidas. Start incluye 1×; Pro y los planes superiores incluyen 1×, 2× y 4×. No consume cuota adicional.

¿Cómo obtengo la misma firma en 1× y 4×?

Crea la firma una vez y guarda el hash de la respuesta. Después envía POST /api/v1/signatures/replay con ese hash y quality 1, luego 4: el nombre y la rúbrica no cambian, solo la nitidez.