Open individual account
Opens an Allaria account for a natural person your company has already verified. One account per request — the cuentas array takes exactly one item.
/v1/aperturas/apertura-cuentaSeveral fields below are marked Conditional because your PSP group decides whether they are required — see Internal and external PSPs. Account opening is also only accepted 09:30–17:00 on business days.
Request
Headers
| Field | Type | Required | Description |
|---|---|---|---|
Authorization | string | Yes | Access token in Bearer ACCESS_TOKEN format |
Content-Type | string | Yes | Must be application/json |
Not applicable: Path Parameters, Query Parameters.
Body
| Field | Type | Required | Description |
|---|---|---|---|
cuentas | array | Yes | Accounts to open. Exactly one account per request. |
Identity
| Field | Type | Required | Description |
|---|---|---|---|
nombres | string | Yes | Given names. Max 255 characters. |
apellido | string | Yes | Surname. Max 255 characters. |
tipo_documento | string | Yes | Document type. The codigo from tipos-documento. Several other fields are validated more strictly when this is the DNI code. |
documento | integer | Yes | Document number. Validated differently for foreign document types. |
numero_tramite_dni | integer | Conditional | DNI transaction number, 11 digits. Required for Argentine DNI. |
cuil | integer | Yes | CUIL. For foreign holders, see tomar_cuil_como. |
cuit | integer | No | CUIT, 10 to 13 digits. |
tomar_cuil_como | string | No | Interpret cuil as another identifier: cuil, cdi, cie or nif. |
fecha_nacimiento | string | Yes | Date of birth, YYYY-MM-DD HH:mm:ss. |
sexo | string | Yes | 1, 2 or 3 — the codigo from sexo. |
estado_civil | string | Yes | The codigo from estado-civil. Codes are not sequential. |
nacionalidad | string | Yes | Nationality. The codigo from the Esco paises catalogue — a different catalogue from paises-cv. |
lugar_nacimiento | string | Yes | Place of birth. The name from paises-cv, e.g. Argentina — not a code. |
emails | string | Yes | One or more email addresses, comma-separated. |
Address
| Field | Type | Required | Description |
|---|---|---|---|
calle | string | Yes | Street name. Max 255 characters. |
altura_domicilio | string | Yes | Street number. Max 12 characters. |
piso | string | No | Floor. Accepts a string, e.g. "PB". |
departamento | string | No | Apartment. Max 10 characters. |
cp | integer | No | Postal code. |
localidad | string | Yes | Locality. The code from localidades-cv — not the locality name. |
codigo_pais_domicilio | integer | Yes | Country. The codigo from the Esco paises catalogue. |
codigo_provincia_domicilio | integer | Yes | Province. The codigo from the Esco provincias catalogue. |
telefono | string | No | Phone number. Max 100 characters. |
Tax and activity
| Field | Type | Required | Description |
|---|---|---|---|
actividad | string | Yes | Economic activity. The codigo from actividades. |
residencia_fiscal | string | Yes | Tax residence. The opcion from residencia-fiscal, e.g. Argentina. Drives numero_impositivo and ssn. |
provincia_fiscal | string | Yes | Tax province. The opcion from provincia-fiscal. |
tipo_contribuyente_iva | string | Conditional | The codigo from tipos-contrib-iva. Required when tipo_documento is not the DNI code — i.e. for a foreign document. Ignored for an Argentine DNI. |
numero_impositivo | string | Conditional | Foreign tax ID (NIT). Required when residencia_fiscal is not Argentina. Max 24 characters. |
ssn | string | Conditional | US Social Security Number. Required when residencia_fiscal is Estados Unidos. Max 24 characters. |
Compliance
| Field | Type | Required | Description |
|---|---|---|---|
es_pep | string | Yes | Politically exposed person status. The opcion from es-pep. |
motivo_consideracion_pep | string | Conditional | Reason for the PEP status. Required for external PSPs when es_pep is not No. Max 255 characters. |
es_sujeto_obligado | boolean | Yes | Whether the account holder is themselves an obliged entity (sujeto obligado) before the UIF. |
frente_dni | string | Conditional | Front of the ID, base64-encoded. Required for external PSPs — Allaria uses it for the Renaper check. |
dorso_dni | string | Conditional | Back of the ID, base64-encoded. Same condition as frente_dni. |
pri | string | Conditional | Investor Risk Profile: Riesgo Bajo, Riesgo Medio or Riesgo Alto. Required for internal PSPs. For an external PSP Allaria computes it from the risk matrix — do not send it. |
matriz_riesgo_descripcion | string | Conditional | Risk matrix result: Bajo, Medio, Medio Forzado, Alto, Alto Forzado or Alto-Comité. Same condition as pri: required for internal PSPs. |
Qualified investor
| Field | Type | Required | Description |
|---|---|---|---|
es_inversor_calificado | boolean | No | When true, exactly one of tope_uva or sujeto_institucional must also be true. |
tope_uva | boolean | No | Qualifies through the UVA threshold. Mutually exclusive with sujeto_institucional. |
sujeto_institucional | boolean | No | Qualifies as an institutional subject. Mutually exclusive with tope_uva. |
Account and identifiers
| Field | Type | Required | Description |
|---|---|---|---|
external_id | string | Conditional | Your own identifier for this account. Mandatory or optional depending on the arrangement Allaria set up for you, and always required when crypto is true. This is what you poll the status with, so send one even when it is optional. |
comitente | integer | Conditional | Account number. Only accepted if Allaria enabled that for you; otherwise it is assigned from a reserved range and sending one is rejected. Must not already exist. |
ingresos_mensuales | string | Conditional | Monthly income bracket. Required in almost every arrangement. Current values: Menos de 1.300.000, De 1.300.000 a 2.600.000, De 2.600.000 a 4.000.000, De 4.000.000 a 5.500.000, De 5.500.000 a 6.500.000, Más de 6.500.000. The older brackets (Menos de 1.000.000 … Más de 5.000.000) are still accepted. |
patrimonio_estimado | string | Conditional | Estimated net worth bracket. Same condition as ingresos_mensuales. Current values: Menos de 12.000.000, De 12.000.000 a 20.000.000, De 20.000.000 a 40.000.000, De 40.000.000 a 80.000.000, De 80.000.000 a 100.000.000, Más de 100.000.000. The older brackets are still accepted. |
terminos_condiciones | string | Yes | When the holder accepted the terms and conditions, YYYY-MM-DD HH:mm:ss. |
fecha_psp_apertura_cuenta | string | Yes | When the holder requested the account on your side, YYYY-MM-DD HH:mm:ss. |
referente | string | No | Referrer. |
crypto | boolean | No | Opens a crypto-enabled account. Only available if Allaria enabled it for you, and forces external_id and comitente to be required. |
Response
2XX Success
Status: 201 Created. The response is always 201 when the request itself was accepted — it says nothing about whether the accounts were created. Read errores and the per-account fields.
Account created:
| Field | Type | Description |
|---|---|---|
data.total_cuentas | integer | Accounts received in the request |
data.errores | boolean | true when the account failed |
data.ejecutado | string | When the request was processed |
data.renaper | object | null | Renaper rejections keyed by CUIL, or null when there were none. Only populated for external PSPs |
data.repet | object | null | Repet rejections keyed by CUIL, or null when there were none. Same condition as renaper |
data.esco | object | null | Per-account result keyed by CUIL. null when the request never reached Esco |
data.esco[cuil].error | boolean | Whether this account failed in Esco |
data.esco[cuil].errorMensaje | string | Esco's message. Empty string on success |
data.esco[cuil].cuenta_creada | boolean | Whether the account was created in Esco |
data.esco[cuil].habilitada | string | null | When the account becomes enabled |
data.detalle_errores | object | Field-level validation errors, keyed cuentas.N.fieldname. Absent when there are none |
Rejected by Renaper or Repet: errores is true, esco is null, and the failing service carries an object keyed by CUIL. detalle_errores is not present.
{
"data": {
"total_cuentas": 1,
"errores": true,
"ejecutado": "2026-08-20T14:53:22+00:00",
"renaper": [{ "27412010812": "No vigente." }],
"repet": null,
"esco": null
}
}
renaper message | Meaning |
|---|---|
Error de conexión con Renaper. Por favor, volver a intentar. | Connection failure or unknown result |
No vigente. | The DNI is not valid |
El cuit y el cuil no son idénticos. | CUIT ≠ CUIL |
El documento no está incluido en el cuil/cuit | The document number is not contained in the CUIL |
Persona posiblemente fallecida según RENAPER. | Possibly deceased |
Error. | Any other Renaper error |
repet message | Meaning |
|---|---|
Error. Por favor, volver a intentar. | Network error with Repet |
Listado por REPET | The person is listed in Repet |
Rejected by field validation: detalle_errores appears. This can happen before Renaper and Repet run (format and length rules) or after them (blacklist, underage, province mismatch, comitente problems).
{
"data": {
"total_cuentas": 1,
"errores": true,
"ejecutado": "2026-08-20T18:53:40+00:00",
"renaper": null,
"repet": null,
"esco": null,
"detalle_errores": {
"cuentas.0.numero_tramite_dni": ["La cuentas.0.numero_tramite_dni debe tener 11 dígitos."]
}
}
}
| Field | detalle_errores message | Meaning |
|---|---|---|
cuentas.N.cuil | El campo cuentas.N.cuit está blacklisted. | The CUIL/CUIT is blacklisted |
cuentas.N.fecha_nacimiento | El campo cuentas.N.fecha_nacimiento es menor de 18 años según renaper. | Under 18 according to Renaper |
cuentas.N.codigo_provincia_domicilio | El campo cuentas.N.codigo_provincia_domicilio no pertenece al país ingresado en el campo codigo_pais_domicilio | The province does not belong to the country you sent |
cuentas.N.comitente | El campo cuentas.N.comitente ya existe en la base de datos. | That comitente is taken |
cuentas.N.comitente | El campo cuentas.N.comitente está vacío, y para la campaña ingresada se necesita el comitente. | Your arrangement requires you to send one |
cuentas.N.comitente | El campo cuentas.N.comitente debe ser mayor a 100000000 para allaria+ pero menor a 200000000. | Outside the Allaria+ range |
cuentas.N.comitente | El campo cuentas.N.comitente documento existe en este rango. | That document already has a comitente in this range |
cuentas.N.comitente | El campo cuentas.N.comitente No se pudo procesar la cuenta en este momento por alta concurrencia. Por favor, reintente en unos segundos. | Could not acquire the lock — retry in a few seconds |
cuentas.N.terminos_condiciones | El campo cuentas.N.terminos_condiciones no se encuentra firmado. | The terms and conditions timestamp was not accepted as a valid signature |
The account is created asynchronously. Poll Get account status until it reaches CREACION_FINALIZADA.
Error Codes
| Status | Description |
|---|---|
401 | Unauthorized — invalid or missing access token |
403 | Forbidden — your credentials are not authorized for Aperturas |
422 | Validation failed. The body varies by cause: field errors ({"cuentas.0.campo": ["message"]}), outside the operation window ({"cuentas": ["La ventana de operación es de 9.30hs a 17hs de lunes a viernes días hábiles..."]}), or no PSP group assigned ({"error": "No hay una campania asociada al usuario. Hablar con Allaria."}) |
500 | An external system is unavailable: {"error": true, "msg": "El sistema X está caído, por favor reintente más tarde"}, where msg names RENAPER or REPET. Also returned for unexpected internal errors |
Code Example
- cURL
- JavaScript
- Python
- Node.js
curl -X POST "https://b2b.allaria.cloud/v1/aperturas/apertura-cuenta" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"cuentas": [
{
"external_id": "12a34",
"nombres": "Juan Gabriel",
"apellido": "Pérez",
"tipo_documento": "6",
"documento": 31232123,
"numero_tramite_dni": 12345678910,
"cuil": 20312321234,
"fecha_nacimiento": "1985-04-12 00:00:00",
"sexo": "1",
"estado_civil": "2",
"nacionalidad": "1",
"lugar_nacimiento": "ARGENTINA",
"emails": "juan.perez@example.com",
"telefono": "1155551234",
"calle": "Calle Falsa",
"altura_domicilio": "123",
"piso": "2",
"departamento": "B",
"cp": 1425,
"localidad": "CABALLITO",
"codigo_pais_domicilio": 1,
"codigo_provincia_domicilio": 1,
"actividad": "16",
"residencia_fiscal": "Argentina",
"provincia_fiscal": "Ciudad Autonoma de Buenos Aires",
"es_pep": "No",
"es_sujeto_obligado": false,
"ingresos_mensuales": "Menos de 1.300.000",
"patrimonio_estimado": "Menos de 12.000.000",
"pri": "Riesgo Medio",
"matriz_riesgo_descripcion": "Bajo",
"terminos_condiciones": "2026-08-20 14:30:00",
"fecha_psp_apertura_cuenta": "2026-08-20 14:30:00"
}
]
}'
const response = await fetch('https://b2b.allaria.cloud/v1/aperturas/apertura-cuenta', {
method: 'POST',
headers: {
'Authorization': 'Bearer ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
cuentas: [
{
external_id: '12a34',
nombres: 'Juan Gabriel',
apellido: 'Pérez',
tipo_documento: '6',
documento: 31232123,
numero_tramite_dni: 12345678910,
cuil: 20312321234,
fecha_nacimiento: '1985-04-12 00:00:00',
sexo: '1',
estado_civil: '2',
nacionalidad: '1',
lugar_nacimiento: 'ARGENTINA',
emails: 'juan.perez@example.com',
calle: 'Calle Falsa',
altura_domicilio: '123',
cp: 1425,
localidad: 'CABALLITO',
codigo_pais_domicilio: 1,
codigo_provincia_domicilio: 1,
actividad: '16',
residencia_fiscal: 'Argentina',
provincia_fiscal: 'Ciudad Autonoma de Buenos Aires',
es_pep: 'No',
es_sujeto_obligado: false,
ingresos_mensuales: 'Menos de 1.300.000',
patrimonio_estimado: 'Menos de 12.000.000',
pri: 'Riesgo Medio',
matriz_riesgo_descripcion: 'Bajo',
terminos_condiciones: '2026-08-20 14:30:00',
fecha_psp_apertura_cuenta: '2026-08-20 14:30:00'
}
]
})
});
const data = await response.json();
console.log(data);
import requests
payload = {
'cuentas': [
{
'external_id': '12a34',
'nombres': 'Juan Gabriel',
'apellido': 'Pérez',
'tipo_documento': '6',
'documento': 31232123,
'numero_tramite_dni': 12345678910,
'cuil': 20312321234,
'fecha_nacimiento': '1985-04-12 00:00:00',
'sexo': '1',
'estado_civil': '2',
'nacionalidad': '1',
'lugar_nacimiento': 'ARGENTINA',
'emails': 'juan.perez@example.com',
'calle': 'Calle Falsa',
'altura_domicilio': '123',
'cp': 1425,
'localidad': 'CABALLITO',
'codigo_pais_domicilio': 1,
'codigo_provincia_domicilio': 1,
'actividad': '16',
'residencia_fiscal': 'Argentina',
'provincia_fiscal': 'Ciudad Autonoma de Buenos Aires',
'es_pep': 'No',
'es_sujeto_obligado': False,
'ingresos_mensuales': 'Menos de 1.300.000',
'patrimonio_estimado': 'Menos de 12.000.000',
'pri': 'Riesgo Medio',
'matriz_riesgo_descripcion': 'Bajo',
'terminos_condiciones': '2026-08-20 14:30:00',
'fecha_psp_apertura_cuenta': '2026-08-20 14:30:00'
}
]
}
response = requests.post(
'https://b2b.allaria.cloud/v1/aperturas/apertura-cuenta',
headers={
'Authorization': 'Bearer ACCESS_TOKEN',
'Content-Type': 'application/json'
},
json=payload
)
print(response.json())
const axios = require('axios');
const response = await axios.post(
'https://b2b.allaria.cloud/v1/aperturas/apertura-cuenta',
{
cuentas: [
{
external_id: '12a34',
nombres: 'Juan Gabriel',
apellido: 'Pérez',
tipo_documento: '6',
documento: 31232123,
numero_tramite_dni: 12345678910,
cuil: 20312321234,
fecha_nacimiento: '1985-04-12 00:00:00',
sexo: '1',
estado_civil: '2',
nacionalidad: '1',
lugar_nacimiento: 'ARGENTINA',
emails: 'juan.perez@example.com',
calle: 'Calle Falsa',
altura_domicilio: '123',
cp: 1425,
localidad: 'CABALLITO',
codigo_pais_domicilio: 1,
codigo_provincia_domicilio: 1,
actividad: '16',
residencia_fiscal: 'Argentina',
provincia_fiscal: 'Ciudad Autonoma de Buenos Aires',
es_pep: 'No',
es_sujeto_obligado: false,
ingresos_mensuales: 'Menos de 1.300.000',
patrimonio_estimado: 'Menos de 12.000.000',
pri: 'Riesgo Medio',
matriz_riesgo_descripcion: 'Bajo',
terminos_condiciones: '2026-08-20 14:30:00',
fecha_psp_apertura_cuenta: '2026-08-20 14:30:00'
}
]
},
{
headers: {
Authorization: 'Bearer ACCESS_TOKEN',
'Content-Type': 'application/json'
}
}
);
console.log(response.data);
{
"data": {
"total_cuentas": 1,
"errores": false,
"ejecutado": "2026-08-20T15:03:54+00:00",
"renaper": null,
"repet": null,
"esco": {
"23253177349": {
"error": false,
"errorMensaje": "",
"cuenta_creada": true,
"habilitada": "2026-08-24T15:03:54+00:00"
}
}
}
}