Open business account
Opens an Allaria account for a legal entity your company has already verified, together with its representatives, shareholders and ultimate beneficial owners. One account per request.
/v1/aperturas/apertura-cuenta-juridicaSeveral 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.
Unlike Open individual account, this endpoint does not accept base64 images. Upload each file to POST /v1/aperturas/storage/push first, then reference the returned file name in frente_dni / dorso_dni.
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 | Exactly one account. The array carries the entity and every person attached to it. |
The entity
| Field | Type | Required | Description |
|---|---|---|---|
persona_juridica | object | Yes | The account holder. See Legal entity. |
actividad | array[string] | Yes | Economic activity codigos from actividades. |
fecha_constitucion | string | Yes | Incorporation date, YYYY-MM-DD HH:mm:ss. |
numero_inscripcion | integer | Yes | Registration number. |
tipo_registracion_juridica | integer | Yes | The codigo from tipos-registracion-juridica. |
estructura_accionaria | string | Yes | Simple or Compleja. |
grupo_economico | boolean | Yes | Whether the entity belongs to an economic group. |
es_especulativo_oportunista | boolean | Yes | Whether the entity's profile is speculative/opportunistic. |
lugar_constitucion | string | Conditional | Province of incorporation. Required for external PSPs. |
canal_ingreso | string | Conditional | On Line or Presencial. Required for external PSPs. |
fecha_ingreso | string | Conditional | Relationship age bracket, e.g. Entre 2 y 5 años. Required for external PSPs. |
valuacion | string | Conditional | Valuation bracket, e.g. Entre 5 y 50 millones. Required for external PSPs. |
es_entidad_publica | boolean | Conditional | Whether the entity is a public body. Required for external PSPs, optional for internal ones. |
perfil_transaccional | string | No | Transactional profile. |
People attached to the entity
Each array holds person records built from the same base shape — see Person record.
| Field | Type | Required | Description |
|---|---|---|---|
personas_fisicas | array | Yes | Representatives / signatories. At least one. |
accionistas_fisicos | array | No | Individual shareholders. Each also requires porcentaje_participacion and the foreign-tax fields. |
accionistas_juridicos | array | No | Corporate shareholders. Each takes the Legal entity shape plus porcentaje_participacion, tipo_contribuyente_iva and the foreign-tax fields. |
beneficiarios | array | No | Ultimate beneficial owners. Same shape as accionistas_fisicos. |
Risk and dates
| Field | Type | Required | Description |
|---|---|---|---|
pri | string | Yes | Investor Risk Profile: Riesgo Bajo, Riesgo Medio or Riesgo Alto. Unlike the individual endpoint, this is always required — including for external PSPs. |
matriz_riesgo_descripcion | string | No | Risk matrix result: Bajo, Medio, Medio Forzado, Alto, Alto Forzado or Alto-Comité. |
terminos_condiciones | string | Yes | When the entity accepted the terms and conditions, YYYY-MM-DD HH:mm:ss. |
fecha_psp_apertura_cuenta | string | Yes | When the account was requested on your side, YYYY-MM-DD HH:mm:ss. |
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. 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. Rejected outright for external PSPs — it is assigned from a reserved range. For internal PSPs it must not already exist. |
crypto | boolean | No | Opens a crypto-enabled account. Forces external_id to be required. |
Auxiliary schemas
Legal entity
Used by persona_juridica and by each item of accionistas_juridicos.
| Field | Type | Required | Description |
|---|---|---|---|
razon_social | string | Yes | Legal name. Max 255 characters. |
cuit | integer | Yes | CUIT. |
cuil | integer | No | 10 to 13 digits. Must be distinct across the payload. |
tomar_cuit_como | string | No | Interpret cuit as another identifier: cuit, cdi, cie or nif. |
emails | string | Yes | One or more email addresses, comma-separated. |
domicilio | object | Yes | See Address. |
ssn | string | Conditional | Required when residencia_fiscal is the United States. Max 24 characters. |
residencia_fiscal_id | integer | No | The id of the row in residencia-fiscal — not its opcion, unlike the individual endpoint. |
provincia_fiscal_id | integer | No | The id of the row in provincia-fiscal — not its opcion. |
Person record
Used by personas_fisicas, accionistas_fisicos and beneficiarios.
| Field | Type | Required | Description |
|---|---|---|---|
nombres | string | Yes | Given names. Max 255 characters. |
apellido | string | Yes | Surname. Max 255 characters. |
tipo_documento | string | Yes | The codigo from tipos-documento. |
documento | integer | Yes | Document number. |
numero_tramite_dni | integer | Conditional | 11 digits. Required when tipo_documento is 6 (Argentine DNI). |
cuit | integer | Yes | CUIT/CUIL. |
emails | string | Yes | One or more email addresses, comma-separated. |
fecha_nacimiento | string | Yes | Date of birth, YYYY-MM-DD HH:mm:ss. Must be at least 18 years ago. |
sexo | string | Yes | 1, 2 or 3 — the codigo from sexo. |
estado_civil | string | Yes | The codigo from estado-civil. |
nacionalidad | string | Yes | The codigo from the Esco paises catalogue. |
lugar_nacimiento | string | Yes | The name from paises-cv, e.g. Argentina — not a code. |
actividad | string | No | The codigo from actividades. |
tipo_contribuyente_iva | string | Conditional | The codigo from tipos-contrib-iva. Required on every accionistas_juridicos item; optional on the other person arrays. |
es_pep | string | Yes | The opcion from es-pep. |
motivo_consideracion_pep | string | Conditional | Reason for the PEP status. Required unless es_pep is No or null. Max 255 characters. |
frente_dni | string | No | File name returned by POST /v1/aperturas/storage/push. Only on personas_fisicas. |
dorso_dni | string | No | File name returned by POST /v1/aperturas/storage/push. Only on personas_fisicas. |
porcentaje_participacion | number | Conditional | Ownership percentage, 0 to 100. Required on accionistas_fisicos, accionistas_juridicos and beneficiarios. |
domicilio | object | Yes | See Address. |
Address
Used as the domicilio object on every entity and person.
| Field | Type | Required | Description |
|---|---|---|---|
calle | string | Yes | Street name. Max 255 characters. |
altura_domicilio | string | Yes | Street number. Max 12 characters. |
cp | string | Yes | Postal code. |
localidad | string | Yes | The code from localidades-cv — not the locality name. |
codigo_pais_domicilio | integer | Yes | The codigo from the Esco paises catalogue. |
codigo_provincia_domicilio | integer | Yes | The codigo from the Esco provincias catalogue. |
piso | string | No | Floor. |
departamento | string | No | Apartment. Max 3 characters. |
telefono | string | No | Phone number. Max 100 characters. |
Foreign tax fields
Required on accionistas_fisicos, accionistas_juridicos and beneficiarios.
| Field | Type | Required | Description |
|---|---|---|---|
tributa_exterior | boolean | Yes | Whether the person or entity pays tax abroad. |
tributa_exterior_pais_codigo | integer | Conditional | The codigo from the Esco paises catalogue. Required when tributa_exterior is true. |
tributa_exterior_nif | integer | Conditional | Foreign tax ID. Required when tributa_exterior is true. |
Response
2XX Success
Same envelope as Open individual account, including the renaper, repet and detalle_errores message tables — see that page for the full list. 201 means the request was accepted; errores tells you whether the account was actually created.
| Field | Type | Description |
|---|---|---|
total_cuentas | integer | Accounts received in the request |
errores | boolean | true when the account failed |
ejecutado | string | When the request was processed |
renaper | object | null | Renaper rejections keyed by CUIL. Only populated for external PSPs |
repet | object | null | Repet rejections, keyed by CUIL |
esco | object | null | Result keyed by CUIT. null when the request failed before reaching Esco |
detalle_errores | object | Field-level validation errors, keyed by the failing path (e.g. cuentas.0.personas_fisicas.0.es_pep) |
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"}. Also returned for unexpected internal errors |
Code Example
- cURL
- JavaScript
- Python
- Node.js
curl -X POST "https://b2b.allaria.dev/v1/aperturas/apertura-cuenta-juridica" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"cuentas": [
{
"external_id": "12a34",
"persona_juridica": {
"razon_social": "Acme S.A.",
"cuit": 30123123235,
"emails": "contacto@acme.com",
"domicilio": {
"calle": "Av. Siempreviva",
"altura_domicilio": "742",
"cp": 1425,
"localidad": "CABALLITO",
"codigo_pais_domicilio": 1,
"codigo_provincia_domicilio": 1
}
},
"personas_fisicas": [
{
"nombres": "Juan Gabriel",
"apellido": "Pérez",
"tipo_documento": "6",
"documento": 31232123,
"numero_tramite_dni": 12345678910,
"cuit": 20312321234,
"emails": "juan.perez@acme.com",
"fecha_nacimiento": "1985-04-12 00:00:00",
"sexo": "1",
"estado_civil": "2",
"nacionalidad": "1",
"lugar_nacimiento": "ARGENTINA",
"es_pep": "No",
"domicilio": {
"calle": "Calle Falsa",
"altura_domicilio": "123",
"cp": 1425,
"localidad": "CABALLITO",
"codigo_pais_domicilio": 1,
"codigo_provincia_domicilio": 1
}
}
],
"accionistas_fisicos": [],
"accionistas_juridicos": [],
"beneficiarios": [],
"actividad": ["16"],
"fecha_constitucion": "2002-01-15 00:00:00",
"lugar_constitucion": "CORDOBA",
"numero_inscripcion": 1234,
"tipo_registracion_juridica": 1,
"estructura_accionaria": "Simple",
"grupo_economico": false,
"es_especulativo_oportunista": false,
"es_inversor_calificado": false,
"pri": "Riesgo Medio",
"matriz_riesgo_descripcion": "Medio",
"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.dev/v1/aperturas/apertura-cuenta-juridica', {
method: 'POST',
headers: {
'Authorization': 'Bearer ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
cuentas: [
{
external_id: '12a34',
persona_juridica: {
razon_social: 'Acme S.A.',
cuit: 30123123235,
emails: 'contacto@acme.com',
domicilio: {
calle: 'Av. Siempreviva',
altura_domicilio: '742',
cp: 1425,
localidad: 'CABALLITO',
codigo_pais_domicilio: 1,
codigo_provincia_domicilio: 1
}
},
personas_fisicas: [
{
nombres: 'Juan Gabriel',
apellido: 'Pérez',
tipo_documento: '6',
documento: 31232123,
cuit: 20312321234,
emails: 'juan.perez@acme.com',
fecha_nacimiento: '1985-04-12 00:00:00',
sexo: '1',
estado_civil: '2',
nacionalidad: '1',
lugar_nacimiento: 'ARGENTINA',
es_pep: 'No',
domicilio: {
calle: 'Calle Falsa',
altura_domicilio: '123',
cp: 1425,
localidad: 'CABALLITO',
codigo_pais_domicilio: 1,
codigo_provincia_domicilio: 1
}
}
],
actividad: ['16'],
fecha_constitucion: '2002-01-15 00:00:00',
numero_inscripcion: 1234,
tipo_registracion_juridica: 1,
estructura_accionaria: 'Simple',
grupo_economico: false,
es_especulativo_oportunista: false,
pri: 'Riesgo Medio',
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',
'persona_juridica': {
'razon_social': 'Acme S.A.',
'cuit': 30123123235,
'emails': 'contacto@acme.com',
'domicilio': {
'calle': 'Av. Siempreviva',
'altura_domicilio': '742',
'cp': 1425,
'localidad': 'CABALLITO',
'codigo_pais_domicilio': 1,
'codigo_provincia_domicilio': 1
}
},
'personas_fisicas': [
{
'nombres': 'Juan Gabriel',
'apellido': 'Pérez',
'tipo_documento': '6',
'documento': 31232123,
'cuit': 20312321234,
'emails': 'juan.perez@acme.com',
'fecha_nacimiento': '1985-04-12 00:00:00',
'sexo': '1',
'estado_civil': '2',
'nacionalidad': '1',
'lugar_nacimiento': 'ARGENTINA',
'es_pep': 'No',
'domicilio': {
'calle': 'Calle Falsa',
'altura_domicilio': '123',
'cp': 1425,
'localidad': 'CABALLITO',
'codigo_pais_domicilio': 1,
'codigo_provincia_domicilio': 1
}
}
],
'actividad': ['16'],
'fecha_constitucion': '2002-01-15 00:00:00',
'numero_inscripcion': 1234,
'tipo_registracion_juridica': 1,
'estructura_accionaria': 'Simple',
'grupo_economico': False,
'es_especulativo_oportunista': False,
'pri': 'Riesgo Medio',
'terminos_condiciones': '2026-08-20 14:30:00',
'fecha_psp_apertura_cuenta': '2026-08-20 14:30:00'
}
]
}
response = requests.post(
'https://b2b.allaria.dev/v1/aperturas/apertura-cuenta-juridica',
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.dev/v1/aperturas/apertura-cuenta-juridica',
{
cuentas: [
{
external_id: '12a34',
persona_juridica: {
razon_social: 'Acme S.A.',
cuit: 30123123235,
emails: 'contacto@acme.com',
domicilio: {
calle: 'Av. Siempreviva',
altura_domicilio: '742',
cp: 1425,
localidad: 'CABALLITO',
codigo_pais_domicilio: 1,
codigo_provincia_domicilio: 1
}
},
personas_fisicas: [
{
nombres: 'Juan Gabriel',
apellido: 'Pérez',
tipo_documento: '6',
documento: 31232123,
cuit: 20312321234,
emails: 'juan.perez@acme.com',
fecha_nacimiento: '1985-04-12 00:00:00',
sexo: '1',
estado_civil: '2',
nacionalidad: '1',
lugar_nacimiento: 'ARGENTINA',
es_pep: 'No',
domicilio: {
calle: 'Calle Falsa',
altura_domicilio: '123',
cp: 1425,
localidad: 'CABALLITO',
codigo_pais_domicilio: 1,
codigo_provincia_domicilio: 1
}
}
],
actividad: ['16'],
fecha_constitucion: '2002-01-15 00:00:00',
numero_inscripcion: 1234,
tipo_registracion_juridica: 1,
estructura_accionaria: 'Simple',
grupo_economico: false,
es_especulativo_oportunista: false,
pri: 'Riesgo Medio',
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": {
"30123123235": {
"error": false,
"errorMensaje": "",
"cuenta_creada": true,
"habilitada": "2026-08-24T15:03:54+00:00"
}
}
}
}