API REST de VerifyMX para tu backend
63 endpoints en producción cubriendo verificación de identidad mexicana, AML, credit check, OTP, firma electrónica y orquestación de workflows KYC. OpenAPI 3.1 público, Swagger UI embebida, OAuth client credentials y webhooks firmados HMAC.
Quick start
Cuatro llamadas para ir de cero a una verificación. Sin SDK necesario — solo curl o tu cliente HTTP favorito.
# 1. Registrar tu organización + obtener API key
curl -s -X POST https://api.verifymx.xyz/v1/auth/register \
-H "Content-Type: application/json" \
-d '{"orgName":"Acme MX","email":"dev@acme.mx","password":"supersecreto123"}'
# 2. Intercambiar API key por bearer token
TOKEN=$(curl -s -X POST https://api.verifymx.xyz/v1/auth/token \
-H "Content-Type: application/json" \
-d '{"grant_type":"client_credentials","client_id":"<orgId>","client_secret":"<apiKey>"}' \
| jq -r '.access_token')
# 3. Crear un workflow (INE + selfie con liveness)
curl -s -X POST https://api.verifymx.xyz/v1/workflows \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"INE + selfie","steps":[
{"type":"DOCUMENT_OCR","order":0},
{"type":"FACE_MATCH","order":1}
]}'
# 4. Crear una verificación contra ese workflow
curl -s -X POST https://api.verifymx.xyz/v1/verifications \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"workflowId":"<workflowId>"}'La respuesta del paso 4 incluye una URL única donde el usuario completa el flujo (subida de documento + selfie). Cuando termina, recibes un webhook firmado en la URL que hayas configurado.
14 familias de endpoints, 63 operaciones en total
La API cubre el flujo KYC completo más capacidades adyacentes (AML, credit, OTP, e-firma). Esto es el resumen — la especificación completa está en https://api.verifymx.xyz/v1/openapi.json.
| Familia | Endpoints | Qué hace |
|---|---|---|
| /v1/auth/* | 3 | Registro, login y emisión de tokens OAuth. |
| /v1/organizations/* | 10 | Gestión de la organización, API keys y métricas internas. |
| /v1/workflows/* | 7 | CRUD de workflows — define qué pasos componen una verificación (OCR + biometría + AML, etc.). |
| /v1/verifications/* | 5 | Crear, listar y consultar verificaciones individuales con su estado y resultado. |
| /v1/sdk/* | 6 | Endpoints diseñados para clientes SDK/Web — sesiones, eventos en tiempo real. |
| /v1/webhooks/* | 4 | CRUD de webhooks firmados HMAC con eventos por tipo. |
| /v1/aml/* | 3 | Screening AML contra listas de sanciones, PEPs y monitoreo continuo. |
| /v1/otp/* | 2 | Envío y verificación de OTPs por SMS / WhatsApp. |
| /v1/esignature/* | 3 | Firma electrónica con generación de PDF auditable. |
| /v1/credit/* | 2 | Consultas de credit check (en mercados aplicables). |
| /v1/location/* | 1 | Verificación de domicilio contra coordenadas y comprobantes. |
| /v1/custom-input/* | 3 | Formularios personalizados para captura adicional de datos. |
| /v1/documents/* | 1 | Acceso a imágenes de documentos procesados, con cifrado y expiración. |
| /v1/system/* | 4 | Healthchecks y telemetría del servicio. |
Capacidades para producción
OAuth client credentials
Grant type estándar para integraciones backend-a-backend. Tokens JWT con expiración, rotación segura, API keys revocables.
Webhooks firmados HMAC
Firma HMAC-SHA256 en cada entrega. Reintentos con backoff exponencial, auto-deshabilitación tras N fallas y endpoint de prueba para integración.
Workflows configurables
Define tu flujo KYC como una lista ordenada de pasos: DOCUMENT_OCR, FACE_MATCH, AML_SCREEN, CUSTOM_INPUT. Distintos workflows por producto, ramo o región.
OpenAPI 3.1 público
Genera tus propios clientes desde la spec con openapi-typescript, openapi-python-client o cualquier generador estándar. Compatible con Postman e Insomnia.
Audit log + retención configurable
Cada llamada queda en audit log para CNBV / PLD / LFPDPPP. Política de retención por organización; las imágenes se eliminan tras el plazo que tú definas.
Rate limits sensatos
10 req/s por organización con burst — suficiente para producción real. Límites más altos disponibles según contrato.
Explora la API ahora mismo
Tres entradas, todas públicas y sin autenticación para la exploración:
Especificación OpenAPI
JSON crudo. Lo que importas a Postman o a tu generador de clientes.
https://api.verifymx.xyz/v1/openapi.jsonSwagger UI interactiva
Navega y ejecuta llamadas en el navegador (necesitas un token para los endpoints autenticados).
https://api.verifymx.xyz/docsHealthcheck público
Para que tu monitoreo confirme que estamos arriba.
https://api.verifymx.xyz/health
FAQ
Preguntas frecuentes sobre la API
¿No encuentras tu pregunta? Escríbenos a soporte@verifymx.xyz y respondemos el mismo día hábil.
¿Dónde está la documentación completa de la API?
La especificación OpenAPI 3.1 completa se sirve en https://api.verifymx.xyz/v1/openapi.json. La interfaz Swagger UI está embebida en https://api.verifymx.xyz/docs para exploración interactiva. La misma especificación se puede importar a Postman, Insomnia o cualquier generador de clientes.
¿Cómo me autentico?
OAuth 2.0 con grant type client_credentials. Después de registrarte y crear una API key, intercambias tu organizationId + apiKey por un access token (bearer JWT). Las llamadas posteriores usan ese token en el header Authorization. Los tokens expiran y se renuevan llamando de nuevo a /v1/auth/token.
¿Tienen rate limits?
Sí. El default es 10 requests por segundo por organización, con burst permitido. Endpoints específicos pueden tener límites distintos (por ejemplo /v1/openapi.json tiene un límite relajado a 60 req/min para soportar CI). Si necesitas un límite mayor para producción, escríbenos.
¿Qué pasa con los webhooks?
Configuras URLs por evento (verification.completed, verification.failed, aml.match, etc.) en /v1/webhooks. Cada entrega lleva una firma HMAC-SHA256 en el header X-VerifyMX-Signature. Tienes reintentos automáticos con backoff exponencial y, si una URL falla repetidamente, se auto-deshabilita y te notificamos.
¿Hay un sandbox o entorno de pruebas?
Sí. Tu plan Starter (100 verificaciones gratis al mes) funciona como sandbox extendido — no hay un endpoint sandbox separado porque queremos que pruebes contra el mismo API que verás en producción. Para probar webhooks sin tráfico real, /v1/webhooks/:id/test dispara un evento sintético.
¿Mi API key tiene scope o roles?
Cada API key pertenece a una organización y hereda los permisos de su rol. Para entornos productivos, recomendamos crear keys separadas por servicio (onboarding, riesgo, soporte) y rotarlas vía /v1/organizations/me/api-keys.
¿Cuándo llegan los SDKs nativos?
Los SDKs en Node.js y Web están en desarrollo y se liberarán en una fase próxima del roadmap. Mientras tanto, la API REST funciona idéntico con cualquier cliente HTTP (axios, fetch, requests, curl, etc.). Cuando los SDKs estén listos, migrar es trivial — los endpoints no cambian.
¿Puedo construir mi propio cliente generado desde el OpenAPI?
Sí, y de hecho lo recomendamos. La especificación en https://api.verifymx.xyz/v1/openapi.json es válida 3.1 y soporta todos los generadores estándar (openapi-typescript, openapi-python-client, swagger-codegen, openapi-generator). Si encuentras inconsistencias, escríbenos.
Reduce fraude sin afectar conversión. Empieza con 100 verificaciones gratis.
Sin tarjeta, sin compromiso. Una integración (API, SDK o widget), una factura CFDI, un equipo en español, control total de tu KYC.