Sandbox

Test your integration using fictitious but valid-looking CURPs.

Test Identifiers 🧪

These test accounts are created directly in production and return consistent, realistic data across all endpoints — so you can validate your integration without relying on real user identifiers.

IdentifierNameEmploymentInvoices
POEH800731HDFRRR01Harry James Potter Evans
GAWH790919MDFRRR02Hermione Jean Granger Wilkins
WEPR800301HNLRRR03Ron Bilius Weasley Prewett
KACF070706MDFRRLA4Frida Kahlo Calderón
RIBD861208HDFRRR05Diego Rivera Barrientos
JUGB060321HOCRRRA6Benito Pablo Juárez García
AARJ481112MDFRRR07Juana Inés de Asbaje y Ramírez
ZASE790808HMSRRL08Emiliano Zapata Salazar
VACJ820227HVZRLR09José Vasconcelos Calderón
FEGM840408MSNRRR10María Félix Güereña
GOBR640221HDFMRT12Roberto Gómez Bolaños

How to use the Sandbox 🪄

The flow is identical to production.


  1. Create Consent

You still need to create Consent before starting a verification.

POST /consents

{
	"identifier": "POEH800731HDFRRR01",
	"ip_address": "192.168.1.100",
	"privacy_notice_url": "https\://example.com/privacy"
}

  1. Start a Verification
POST /verifications

{
  "identifier": "POEH800731HDFRRR01"
}

  1. Webhook Notification

When the verification completes, we send a webhook event:

{
  "event": "verification.completed",
  "verification_id": "01982e40-d53a-7560-8c69-ddb96bd9ca8c",
  "identifier": "POEH800731HDFRRR01",
  "data_available": true,
  "entities": ["profile","employment"],
  "last_updated_at": "2025-07-24T10:01:30Z",
  "timestamp": "2025-07-24T10:01:30Z",
	"external_id":null
}

  1. Retrieve Data

You can then fetch the available data using:

  • GET /profile/POEH800731HDFRRR01
  • GET /employments/POEH800731HDFRRR01
  • GET /invoices/POEH800731HDFRRR01

💡

Tips

  • Treat these CURPs as if they were real identifiers in production.
  • You can reuse them indefinitely; data does not change unless updated by Buró de Ingresos.
  • Great for end-to-end integration testing and client demos.