API Reference
Cardholders Un cardholder es la persona física dueña de las tarjetas. Crear un cardholder dispara KYC en el card issuer contra el documento local (DNI/CUIT en AR, CURP/RFC en MX, RUT en CL, etc.).
El objeto Cardholder ejemplo COPY
{
"id": "ch_01HW3FN4Y8K2RJTM9TWPXKP3VZ",
"firstName": "Ada",
"lastName": "Lovelace",
"dateOfBirth": "1990-03-15",
"phoneNumber": "+5491150000000",
"email": "ada@argentive.ai",
"taxId": "20-12345678-9",
"country": "AR",
"kycStatus": "approved",
"createdAt": "2026-06-24T11:48:00Z",
"updatedAt": "2026-06-24T11:48:12Z"
}Crear un cardholder POST /api/v1/cardholders
Body
dateOfBirthrequired
string (ISO 8601)
Fecha de nacimiento — yyyy-mm-dd.
phoneNumberrequired
string (E.164)
Teléfono con prefijo internacional.
Único por cardholder (no por country).
CUIT en AR (20-...), RFC en MX, RUT en CL, CPF en BR. Validado server-side.
countryrequired
string (ISO 3166-1)
AR · MX · BR · CL · CO · PE · UY
Determina el flow KYC y la moneda default.
Opcional. DNI / RUT / CURP / CPF.
identificationValue
string
Opcional. Número del documento que matchea el type.
Request curl COPY
curl -X POST "$ARGENTIVE_BASE/api/v1/cardholders" \
-H "Authorization: Bearer $ARGENTIVE_KEY" \
-H "Content-Type: application/json" \
-d '{
"firstName": "Ada",
"lastName": "Lovelace",
"dateOfBirth": "1990-03-15",
"phoneNumber": "+5491150000000",
"email": "ada@argentive.ai",
"taxId": "20-12345678-9",
"country": "AR"
}'Response — 201 Created response COPY
{
"id": "ch_01HW3FN4Y8K2RJTM9TWPXKP3VZ",
"firstName": "Ada",
"lastName": "Lovelace",
"country": "AR",
"kycStatus": "pending",
"createdAt": "2026-06-24T11:48:00Z"
}Nota
El campo kycStatus arranca en pending. El issuer resuelve KYC de forma async — vas a recibir un webhook cardholder.updated con kycStatus: "approved" o "rejected". Hasta que esté approved, no podés emitir cards.
Obtener un cardholder GET /api/v1/cardholders/:id
curl COPY
curl "$ARGENTIVE_BASE/api/v1/cardholders/ch_01HW3FN4Y8K2RJTM9TWPXKP3VZ" \
-H "Authorization: Bearer $ARGENTIVE_KEY"Listar cardholders GET /api/v1/cardholders
Query params
Filtrar por país (ISO 3166-1).
kycStatus
string
pending · approved · rejected · review
Filtrar por estado de KYC.
curl COPY
curl "$ARGENTIVE_BASE/api/v1/cardholders?country=AR&kycStatus=approved&limit=50" \
-H "Authorization: Bearer $ARGENTIVE_KEY"Actualizar un cardholder PATCH /api/v1/cardholders/:id
Solo se pueden actualizar email, phoneNumber y identificationValue. Para cambios al nombre o taxId hay que crear un nuevo cardholder (es una restricción del emisor regulado).
curl COPY
curl -X PATCH "$ARGENTIVE_BASE/api/v1/cardholders/ch_01HW3FN4Y8..." \
-H "Authorization: Bearer $ARGENTIVE_KEY" \
-H "Content-Type: application/json" \
-d '{ "email": "ada@nuevo.com" }'Setup de payment method POST /api/v1/cardholders/:id/payment-method/setup
Devuelve una URL de checkout hospedada (Mercado Pago en AR/MX/BR, dLocal en cross-border) donde el cardholder registra su tarjeta o CBU/CLABE.
response COPY
{
"checkoutUrl": "https://checkout.mercadopago.com/v1/init/...",
"expiresAt": "2026-06-24T12:48:00Z"
}Status del payment method GET /api/v1/cardholders/:id/payment-method/status
response COPY
{
"hasPaymentMethod": true,
"paymentMethodId": "pm_01HW3FN6Q9...",
"type": "card",
"last4": "4242",
"brand": "visa",
"expiry": "2027-08"
}Onboarding hosted POST /api/v1/cardholder_onboarding_sessions
Si querés que el usuario final cree el cardholder él mismo (sin que tu app le pida documentos), creá una sesión de onboarding hosted. Argentive devuelve una URL pública, recolecta los datos del KYC y te devuelve el cardholder creado por webhook.
Body
URL a la que se redirige el user al terminar.
Tu ID interno del user — vuelve en el webhook.
country
string
AR · MX · BR · CL · CO · PE · UY
Pre-seleccionar país.
Opaque value que vuelve en el webhook (CSRF).
response COPY
{
"id": "cos_01HW3FN7XK4MNQ...",
"url": "https://onboarding.argentive.card/s/cos_01HW3FN7XK4MNQ",
"status": "pending",
"expiresAt": "2026-06-25T11:48:00Z"
}Cuando el cardholder termina el flow, vas a recibir el webhook cardholder_onboarding_session.completed con el cardholderId ya creado.