← Inicio/
API Reference
v1REST

API Reference

La API REST de JSNH Engine Lab permite integrar cualquier módulo de validación en tu aplicación en minutos. Usa tu API key para autenticarte y empieza a hacer llamadas.

Base URL: https://jsnhengine.com/api/v1

Autenticación

Incluye tu API key en el header Authorization de cada request. También puedes usar el header x-api-key como alternativa.

# Con Authorization: Bearer
curl -X POST https://jsnhengine.com/api/v1/email-validator \
  -H "Authorization: Bearer tu_api_key_aqui" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'

# Con x-api-key
curl -X POST https://jsnhengine.com/api/v1/email-validator \
  -H "x-api-key: tu_api_key_aqui" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'

401

API key inválida o ausente

402

Tokens insuficientes

429

Rate limit superado

Formato de respuesta

Todas las respuestas siguen el mismo formato JSON con los campos success, data y tokens_used.

Respuesta exitosa

{
  "success": true,
  "data": { ... },
  "tokens_used": 1
}

Respuesta de error

{
  "success": false,
  "error": "Descripción del error",
  "code": "INSUFFICIENT_TOKENS"
}

Los headers X-Tokens-Used, X-Tokens-Remaining-Daily y X-Tokens-Remaining-Paid están disponibles en cada respuesta.

GET

/balance

Consulta el saldo de tokens de tu cuenta.

curl https://jsnhengine.com/api/v1/balance \
  -H "Authorization: Bearer tu_api_key_aqui"
{
  "success": true,
  "data": {
    "daily_tokens": 95,
    "paid_tokens": 450,
    "total": 545
  }
}
GET

/modules

Lista todos los módulos disponibles con su endpoint y coste en tokens.

curl https://jsnhengine.com/api/v1/modules \
  -H "Authorization: Bearer tu_api_key_aqui"
POST

/batch

Procesa hasta 100 inputs en paralelo para cualquier módulo. Los tokens se descuentan solo por items procesados correctamente.

ParámetroTipoDescripción
modulestringSlug del módulo (ej: "email-validator")
inputsstring[]Array de hasta 100 strings a procesar
curl -X POST https://jsnhengine.com/api/v1/batch \
  -H "Authorization: Bearer tu_api_key_aqui" \
  -H "Content-Type: application/json" \
  -d '{
    "module": "email-validator",
    "inputs": [
      "[email protected]",
      "invalid-email",
      "[email protected]"
    ]
  }'
{
  "success": true,
  "data": {
    "module": "email-validator",
    "totalItems": 3,
    "successCount": 3,
    "errorCount": 0,
    "totalTokensDeducted": 3,
    "items": [
      { "index": 0, "input": "[email protected]", "status": "success", "result": {...}, "tokensUsed": 1 },
      { "index": 1, "input": "invalid-email", "status": "success", "result": {...}, "tokensUsed": 1 },
      { "index": 2, "input": "[email protected]", "status": "success", "result": {...}, "tokensUsed": 1 }
    ]
  },
  "tokens_used": 3
}
POST

/email-validator

1 token

Valida formato, sintaxis RFC 5322, dominio activo y detecta emails desechables.

Request

curl -X POST https://jsnhengine.com/api/v1/email-validator \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'

Campos de respuesta

is_validbooleanSi el email es válido
domainstringDominio del email
is_disposablebooleanSi es un email desechable
reasonstringMotivo del fallo (si aplica)
POST

/phone-validator

1 token

Valida número de teléfono, detecta país, tipo (móvil/fijo) y formato E.164.

Request

curl -X POST https://jsnhengine.com/api/v1/phone-validator \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"phone": "+34612345678"}'

Campos de respuesta

is_validbooleanSi el número es válido
countrystringPaís del número
typestringmobile | landline | voip
e164stringFormato E.164 normalizado
POST

/url-checker

2 tokens

Verifica si una URL es accesible, obtiene el código de estado HTTP y el título de la página.

Request

curl -X POST https://jsnhengine.com/api/v1/url-checker \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://google.com"}'

Campos de respuesta

is_reachablebooleanSi la URL responde
status_codenumberCódigo HTTP de respuesta
titlestringTítulo de la página (si disponible)
redirect_urlstringURL final tras redirecciones
POST

/ip-lookup

1 token

Geolocalización de IP: país, ciudad, ISP, coordenadas y ASN.

Request

curl -X POST https://jsnhengine.com/api/v1/ip-lookup \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"ip": "8.8.8.8"}'

Campos de respuesta

countrystringPaís
citystringCiudad
ispstringProveedor de internet
lat / lonnumberCoordenadas geográficas
POST

/domain-validator

2 tokens

Valida formato de dominio, resuelve DNS (A/AAAA/MX) y verifica TLD válido.

Request

curl -X POST https://jsnhengine.com/api/v1/domain-validator \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"domain": "google.com"}'

Campos de respuesta

is_valid_formatbooleanSi el formato es correcto
is_activebooleanSi el dominio tiene DNS activo
tldstringTLD del dominio
has_mxbooleanSi tiene registros MX
POST

/mx-checker

2 tokens

Resuelve registros MX, los ordena por prioridad y detecta el proveedor de email.

Request

curl -X POST https://jsnhengine.com/api/v1/mx-checker \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"domain": "gmail.com"}'

Campos de respuesta

has_mx_recordsbooleanSi tiene registros MX
recordsarrayLista de registros MX con prioridad
primary_providerstringProveedor detectado (Google, Microsoft...)
POST

/disposable-email

1 token

Detecta si un email pertenece a un proveedor de emails desechables o temporales.

Request

curl -X POST https://jsnhengine.com/api/v1/disposable-email \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'

Campos de respuesta

is_disposablebooleanSi es desechable
domainstringDominio analizado
confidence_scorenumberPuntuación de confianza 0-100
POST

/proxy-detector

2 tokens

Detecta si una IP es Tor, VPN comercial o datacenter. Risk score 0-100.

Request

curl -X POST https://jsnhengine.com/api/v1/proxy-detector \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"ip": "185.220.101.5"}'

Campos de respuesta

is_torbooleanSi es un nodo Tor
is_vpnbooleanSi es una VPN conocida
is_datacenterbooleanSi pertenece a un datacenter
risk_scorenumberPuntuación de riesgo 0-100
threat_typestringTipo de amenaza detectada
POST

/event-planner

3 tokens

Extrae fecha, hora, lugar y participantes de texto en lenguaje natural. Devuelve estructura de evento lista para usar.

Request

curl -X POST https://jsnhengine.com/api/v1/event-planner \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"text": "Team meeting tomorrow at 10am in the conference room"}'

Campos de respuesta

eventTimestringHora del evento (ISO 8601 o HH:mm)
eventDatestringFecha del evento
locationstringLugar del evento
participantsarrayLista de participantes detectados
titlestringTítulo inferido del evento
POST

/text-cleaner

5 tokens

Limpia texto en bruto: elimina HTML, corrige encoding y normaliza espacios en blanco.

Request

curl -X POST https://jsnhengine.com/api/v1/text-cleaner \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"text": "<p>Hello&nbsp;<strong>world</strong>!</p>"}'

Campos de respuesta

cleaned_textstringTexto limpio y normalizado
original_lengthnumberLongitud del texto original
cleaned_lengthnumberLongitud del texto limpio
reduction_percentnumberPorcentaje de reducción
changes_appliedarrayLista de transformaciones aplicadas
POST

/keyword-extractor

5 tokens

Extrae keywords y frases clave de cualquier texto con puntuación de relevancia y detección de idioma.

Request

curl -X POST https://jsnhengine.com/api/v1/keyword-extractor \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"text": "Machine learning is transforming data science pipelines."}'

Campos de respuesta

keywordsarrayKeywords con score, tipo y ocurrencias
total_foundnumberTotal de keywords encontradas
language_detectedstringIdioma detectado (ISO 639-1)
top_keywordstringKeyword principal del texto
POST

/task-generator

5 tokens

Convierte un objetivo en lenguaje natural en una lista de tareas priorizadas con tiempo estimado.

Request

curl -X POST https://jsnhengine.com/api/v1/task-generator \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"goal": "Launch a landing page for my SaaS product"}'

Campos de respuesta

goal_summarystringResumen del objetivo interpretado
tasksarrayTareas con id, título, descripción, prioridad y minutos
total_tasksnumberNúmero total de tareas generadas
estimated_total_minutesnumberDuración total estimada en minutos
POST

/iban-validator

1 token

Valida números IBAN: formato, longitud por país y checksum MOD-97. Soporta más de 70 países.

Request

curl -X POST https://jsnhengine.com/api/v1/iban-validator \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"iban": "DE89370400440532013000"}'

Campos de respuesta

ibanstringIBAN normalizado (sin espacios, mayúsculas)
iban_formattedstringIBAN formateado en grupos de 4
is_validbooleanTrue si el IBAN es válido
country_codestringCódigo ISO 3166-1 alpha-2 del país
country_namestringNombre completo del país
bank_codestring | nullCódigo del banco (primeros 4 dígitos del BBAN)
check_digitsstringDígitos de control del IBAN
errorstring | nullDescripción del error si is_valid es false
POST

/vat-validator

1 token

Valida números de IVA europeos (VAT) por país: formato, longitud y checksum donde aplica.

Request

curl -X POST https://jsnhengine.com/api/v1/vat-validator \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"vat_number": "DE123456789"}'

Campos de respuesta

vat_normalizedstringNúmero VAT normalizado
is_validbooleanTrue si el VAT es válido
country_codestringCódigo del país
country_namestringNombre del país
format_validbooleanTrue si el formato es correcto
checksum_validboolean | nullResultado del checksum (null si no aplica)
errorstring | nullDescripción del error
POST

/credit-card-validator

1 token

Valida números de tarjeta: algoritmo Luhn, tipo de tarjeta (Visa, Mastercard, Amex, etc.) y BIN.

Request

curl -X POST https://jsnhengine.com/api/v1/credit-card-validator \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"card_number": "4532015112830366"}'

Campos de respuesta

card_number_maskedstringNúmero enmascarado (solo primeros y últimos 4 dígitos)
is_validbooleanTrue si la tarjeta es válida
luhn_validbooleanTrue si pasa el algoritmo Luhn
card_typestringTipo de tarjeta (Visa, Mastercard, Amex...)
card_networkstringRed de pago
binstringBank Identification Number (primeros 6 dígitos)
errorstring | nullDescripción del error
POST

/password-strength

1 token

Analiza la fortaleza de una contraseña: score 0-4, entropía, patrones comunes y sugerencias de mejora.

Request

curl -X POST https://jsnhengine.com/api/v1/password-strength \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"password": "MyS3cur3P@ss!"}'

Campos de respuesta

scorenumberScore 0 (muy débil) a 4 (muy fuerte)
score_labelstringEtiqueta: very_weak, weak, fair, strong, very_strong
entropy_bitsnumberEntropía estimada en bits
crack_time_estimatestringTiempo estimado para crackear
suggestionsarrayLista de sugerencias para mejorar
warningsarrayAdvertencias (contraseña común, patrón detectado)
POST

/language-detector

1 token

Detecta el idioma de cualquier texto. Soporta más de 25 idiomas con código ISO 639-1 y nivel de confianza.

Request

curl -X POST https://jsnhengine.com/api/v1/language-detector \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"text": "The quick brown fox jumps over the lazy dog"}'

Campos de respuesta

language_codestringCódigo ISO 639-1 del idioma detectado
language_name_enstringNombre del idioma en inglés
language_name_nativestringNombre del idioma en su idioma nativo
confidencenumberNivel de confianza (0.0 - 1.0)
scriptstringSistema de escritura (Latin, Cyrillic, Arabic...)
candidatesarrayTop 3 candidatos con código y confianza
POST

/spam-detector

3 tokens

Detecta si un texto es spam, phishing, scam o contenido legítimo. Usa LLM para análisis semántico profundo.

Request

curl -X POST https://jsnhengine.com/api/v1/spam-detector \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"text": "Congratulations! You have been selected to receive a $1000 gift card. Click here now!"}'

Campos de respuesta

is_spambooleanTrue si el texto es spam
classificationstring'spam' o 'ham' (legítimo)
categorystringCategoría: phishing, promotional, scam, adult, malware, legitimate, uncertain
confidencenumberNivel de confianza (0.0 - 1.0)
spam_scorenumberScore de spam (0-100)
signalsarraySeñales de spam detectadas
safe_to_displaybooleanFalse si el contenido es peligroso
POST

/text-summarizer

5 tokens

Resume cualquier texto extrayendo los puntos clave y calculando métricas de compresión. Soporta múltiples idiomas.

Request

curl -X POST https://jsnhengine.com/api/v1/text-summarizer \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"text": "Artificial intelligence is transforming industries worldwide. Machine learning models are becoming more capable..."}'

Campos de respuesta

summarystringResumen generado
original_lengthnumberLongitud del texto original (chars)
summary_lengthnumberLongitud del resumen (chars)
compression_rationumberRatio de compresión (0.0 - 1.0)
key_pointsarrayPuntos clave extraidos
language_detectedstringIdioma detectado (ISO 639-1)
POST

/sentiment-analyzer

5 tokens

Analiza el sentimiento de un texto con detección de emociones, aspectos y score de confianza.

Request

curl -X POST https://jsnhengine.com/api/v1/sentiment-analyzer \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"text": "I absolutely love this product! The delivery was fast and the quality exceeded my expectations."}'

Campos de respuesta

sentimentstring'positive', 'negative' o 'neutral'
scorenumberScore de sentimiento (-1.0 a 1.0)
confidencenumberConfianza del modelo (0.0 - 1.0)
aspectsarrayAspectos detectados con sentimiento individual
emotionsobjectEmociones detectadas: joy, sadness, anger, fear, surprise, disgust
language_detectedstringIdioma detectado (ISO 639-1)
POST

/text-translator

5 tokens

Traduce texto entre idiomas con detección automática del idioma origen. Soporta más de 50 idiomas.

Request

curl -X POST https://jsnhengine.com/api/v1/text-translator \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"text": "Hello, how are you today?"}'

Campos de respuesta

translated_textstringTexto traducido
source_languagestringIdioma origen detectado (ISO 639-1)
target_languagestringIdioma destino (ISO 639-1)
confidencenumberConfianza de la traducción (0.0 - 1.0)
word_countnumberNúmero de palabras del texto original
character_countnumberNúmero de caracteres del texto original
POST

/pii-detector

5 tokens

Detecta y enmascara datos personales (PII) como emails, teléfonos, nombres, DNIs y más. Esencial para cumplimiento GDPR.

Request

curl -X POST https://jsnhengine.com/api/v1/pii-detector \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"text": "Contact John Smith at [email protected] or call +1-555-123-4567"}'

Campos de respuesta

contains_piibooleanTrue si se detectó PII
pii_countnumberNúmero de entidades PII detectadas
entitiesarrayEntidades PII con tipo, valor, posición y versión enmascarada
masked_textstringTexto con PII enmascarado
risk_levelstring'low', 'medium' o 'high'
categoriesarrayCategorías de PII encontradas
POST

/email-writer

5 tokens

Genera emails profesionales a partir de un contexto y tono. Soporta formal, amigable, asertivo y empático.

Request

curl -X POST https://jsnhengine.com/api/v1/email-writer \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"context": "Following up on our meeting about the Q3 marketing proposal"}'

Campos de respuesta

subjectstringAsunto del email generado
bodystringCuerpo del email
word_countnumberNúmero de palabras
tone_appliedstringTono aplicado
language_usedstringIdioma del email
POST

/job-description-generator

5 tokens

Genera descripciones de trabajo profesionales a partir de rol, empresa y requisitos. Ideal para equipos de RRHH.

Request

curl -X POST https://jsnhengine.com/api/v1/job-description-generator \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"role": "Senior Frontend Developer"}'

Campos de respuesta

titlestringTítulo del puesto
summarystringResumen del puesto
responsibilitiesarrayResponsabilidades del puesto
requirements_formattedarrayRequisitos formateados
nice_to_havearrayRequisitos deseables
benefitsarrayBeneficios ofrecidos
full_descriptionstringDescripción completa en Markdown
POST

/changelog-generator

5 tokens

Convierte commits de git en un changelog profesional estructurado siguiendo Conventional Commits.

Request

curl -X POST https://jsnhengine.com/api/v1/changelog-generator \
  -H "Authorization: Bearer tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{"commits": "feat: add user authentication
fix: resolve login redirect bug
perf: optimize database queries"}'

Campos de respuesta

versionstringVersión del changelog
datestringFecha del changelog
sectionsarraySecciones: feat, fix, breaking, perf, docs, chore
full_changelogstringChangelog completo en formato Markdown
commit_countnumberNúmero de commits procesados

¿Listo para integrar? Crea tu API key desde el Dashboard.

Ir al Dashboard →