Submit onboarding
Loads the onboarding data. Includes information about the people involved, the questionnaire answers (obtained from Get questions) and acceptance of terms and conditions.
/v1/onboardings/{onboarding_id}Request
Headers
| Field | Type | Required | Description |
|---|---|---|---|
Authorization | string | Yes | Access token in Bearer ACCESS_TOKEN format |
Content-Type | string | Yes | Must be application/json |
Path Parameters
| Field | Type | Required | Description |
|---|---|---|---|
onboarding_id | string | Yes | Onboarding ID obtained when creating the onboarding |
Not applicable: Query Parameters.
Body
| Field | Type | Required | Description |
|---|---|---|---|
referrer | string | No | Identifier of the referrer associated with the onboarding |
people | array | Yes | List of people involved (minimum 1) |
Fields per person
| Field | Type | Required | Description |
|---|---|---|---|
accepted_terms_and_conditions_at | string (datetime) | Yes | Date and time of T&C acceptance in ISO 8601 format |
accepted_optional_terms_and_conditions_at | string (datetime) | null | No | Date and time of optional T&C acceptance |
questions | array | Yes | Questionnaire answers. See Questionnaire fields |
person | object | Yes | Person data. See Physical Person or Juridical Person |
Questionnaire fields
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Question text, exactly as returned by Get questions |
choice | string | Yes | Selected option |
Response
2XX Success
| Field | Type | Description |
|---|---|---|
status | string | Processing status. Allowed values: PROCESSING, FAILED |
Error Codes
| Status | Description |
|---|---|
401 | Unauthorized — invalid or missing token |
403 | Forbidden — unauthorized client |
400 | Bad Request — submitted data is invalid |
404 | Not Found — onboarding does not exist |
409 | Conflict — onboarding is in a state that does not allow updates |
422 | Validation Error — submitted parameters are invalid |
500 | Internal Server Error — internal server error |
Code Example
- cURL (individual)
- cURL (business)
- JavaScript
- Python
- Node.js
curl -X PUT "https://b2b.allaria.cloud/v1/onboardings/ONBOARDING_ID" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"referrer": "referrer-id",
"people": [
{
"accepted_terms_and_conditions_at": "2024-01-15T10:30:00Z",
"accepted_optional_terms_and_conditions_at": null,
"questions": [
{ "name": "What is the source of your funds?", "choice": "Salary" }
],
"person": {
"type": "PHYSICAL",
"tax_type": "CUIT",
"tax_id": "20304050607",
"name": "Juan",
"last_name": "Pérez",
"email": "juan@example.com",
"gender": "MALE",
"civil_status": "SINGLE",
"employment_status": "DEPENDENCY_RELATIONSHIP",
"telephone": "+5491112345678",
"birth_date": "1990-01-15",
"citizenship": "Argentina",
"birth_country": "Argentina",
"pep": "NONE",
"is_qualified_investor": false,
"holder_type": "OWNER",
"activities": ["Employee"],
"address": {
"street": "Av. Corrientes",
"number": 1234,
"floor": "3",
"apartment": "B",
"zip_code": "1043",
"city": "Buenos Aires",
"municipality": "Buenos Aires",
"state": "CABA",
"country": "Argentina"
},
"identity_document": {
"type": "DNI",
"id_number": "30405060",
"procedure_id": "12345678901",
"version": "A",
"creation_date": "2015-01-01",
"expiration_date": "2025-01-01"
}
}
}
]
}'
curl -X PUT "https://b2b.allaria.cloud/v1/onboardings/ONBOARDING_ID" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"referrer": "referrer-id",
"people": [
{
"accepted_terms_and_conditions_at": "2024-01-15T10:30:00Z",
"accepted_optional_terms_and_conditions_at": null,
"questions": [
{ "name": "What is the source of your funds?", "choice": "Business activity" }
],
"person": {
"type": "JURIDICAL",
"tax_type": "CUIT",
"tax_id": "30304050607",
"legal_name": "Company S.A.",
"email": "company@example.com",
"corporate_type": "SA",
"registration_number": "123456789",
"registration_country": "Argentina",
"registration_province": "CABA",
"registration_authority": "GENERAL_INSPECTION_OF_JUSTICE",
"registration_date": "2010-05-20",
"activities": ["Business activity"],
"has_joint_signature": false,
"is_public_entity": false,
"is_in_economic_group": false,
"is_complex_structure": false,
"is_qualified_investor": false,
"address": {
"street": "Av. del Libertador",
"number": 5678,
"zip_code": "1426",
"city": "Buenos Aires",
"state": "CABA",
"country": "Argentina"
},
"representatives": [
{
"type": "OWNER",
"name": "María",
"last_name": "García",
"tax_type": "CUIT",
"tax_id": "27304050607",
"gender": "FEMALE",
"birth_date": "1985-03-10T00:00:00Z",
"civil_status": "MARRIED",
"citizenship": "Argentina",
"birth_country": "Argentina",
"telephone": "+5491187654321",
"email": "maria@company.com",
"pep": "NONE",
"activities": ["Management and corporate governance"],
"address": {
"street": "Example Street",
"number": 100,
"city": "Buenos Aires",
"state": "CABA",
"country": "Argentina"
},
"identity_document": {
"type": "DNI",
"id_number": "28040506",
"procedure_id": "12345678901",
"version": "B",
"creation_date": "2018-06-01",
"expiration_date": "2028-06-01"
},
"accepted_terms_and_conditions_at": "2024-01-15T10:30:00Z"
}
],
"shareholders": [
{
"ownership": 100.0,
"person": {
"type": "PHYSICAL",
"tax_type": "CUIT",
"tax_id": "27304050607",
"name": "María",
"last_name": "García",
"birth_date": "1985-03-10",
"citizenship": "Argentina",
"civil_status": "MARRIED",
"pep": "NONE",
"activities": ["Management and corporate governance"],
"address": {
"street": "Example Street",
"number": 100,
"city": "Buenos Aires",
"state": "CABA",
"country": "Argentina"
}
}
}
]
}
}
]
}'
const response = await fetch('https://b2b.allaria.cloud/v1/onboardings/ONBOARDING_ID', {
method: 'PUT',
headers: {
'Authorization': 'Bearer ACCESS_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({
referrer: 'referrer-id',
people: [
{
accepted_terms_and_conditions_at: '2024-01-15T10:30:00Z',
accepted_optional_terms_and_conditions_at: null,
questions: [
{ name: 'What is the source of your funds?', choice: 'Salary' }
],
person: {
type: 'PHYSICAL',
tax_type: 'CUIT',
tax_id: '20304050607',
name: 'Juan',
last_name: 'Pérez',
email: 'juan@example.com',
gender: 'MALE',
civil_status: 'SINGLE',
employment_status: 'DEPENDENCY_RELATIONSHIP',
telephone: '+5491112345678',
birth_date: '1990-01-15',
citizenship: 'Argentina',
birth_country: 'Argentina',
pep: 'NONE',
is_qualified_investor: false,
holder_type: 'OWNER',
activities: ['Employee'],
address: {
street: 'Av. Corrientes',
number: 1234,
floor: '3',
apartment: 'B',
zip_code: '1043',
city: 'Buenos Aires',
municipality: 'Buenos Aires',
state: 'CABA',
country: 'Argentina'
},
identity_document: {
type: 'DNI',
id_number: '30405060',
procedure_id: '12345678901',
version: 'A',
creation_date: '2015-01-01',
expiration_date: '2025-01-01'
}
}
}
]
})
});
const data = await response.json();
console.log(data);
import requests
response = requests.put(
'https://b2b.allaria.cloud/v1/onboardings/ONBOARDING_ID',
headers={
'Authorization': 'Bearer ACCESS_TOKEN',
'Content-Type': 'application/json'
},
json={
'referrer': 'referrer-id',
'people': [
{
'accepted_terms_and_conditions_at': '2024-01-15T10:30:00Z',
'accepted_optional_terms_and_conditions_at': None,
'questions': [
{ 'name': 'What is the source of your funds?', 'choice': 'Salary' }
],
'person': {
'type': 'PHYSICAL',
'tax_type': 'CUIT',
'tax_id': '20304050607',
'name': 'Juan',
'last_name': 'Pérez',
'email': 'juan@example.com',
'gender': 'MALE',
'civil_status': 'SINGLE',
'employment_status': 'DEPENDENCY_RELATIONSHIP',
'telephone': '+5491112345678',
'birth_date': '1990-01-15',
'citizenship': 'Argentina',
'birth_country': 'Argentina',
'pep': 'NONE',
'is_qualified_investor': False,
'holder_type': 'OWNER',
'activities': ['Employee'],
'address': {
'street': 'Av. Corrientes',
'number': 1234,
'floor': '3',
'apartment': 'B',
'zip_code': '1043',
'city': 'Buenos Aires',
'municipality': 'Buenos Aires',
'state': 'CABA',
'country': 'Argentina'
},
'identity_document': {
'type': 'DNI',
'id_number': '30405060',
'procedure_id': '12345678901',
'version': 'A',
'creation_date': '2015-01-01',
'expiration_date': '2025-01-01'
}
}
}
]
}
)
print(response.json())
const axios = require('axios');
const { data } = await axios.put(
'https://b2b.allaria.cloud/v1/onboardings/ONBOARDING_ID',
{
referrer: 'referrer-id',
people: [
{
accepted_terms_and_conditions_at: '2024-01-15T10:30:00Z',
accepted_optional_terms_and_conditions_at: null,
questions: [
{ name: 'What is the source of your funds?', choice: 'Salary' }
],
person: {
type: 'PHYSICAL',
tax_type: 'CUIT',
tax_id: '20304050607',
name: 'Juan',
last_name: 'Pérez',
email: 'juan@example.com',
gender: 'MALE',
civil_status: 'SINGLE',
employment_status: 'DEPENDENCY_RELATIONSHIP',
telephone: '+5491112345678',
birth_date: '1990-01-15',
citizenship: 'Argentina',
birth_country: 'Argentina',
pep: 'NONE',
is_qualified_investor: false,
holder_type: 'OWNER',
activities: ['Employee'],
address: {
street: 'Av. Corrientes',
number: 1234,
floor: '3',
apartment: 'B',
zip_code: '1043',
city: 'Buenos Aires',
municipality: 'Buenos Aires',
state: 'CABA',
country: 'Argentina'
},
identity_document: {
type: 'DNI',
id_number: '30405060',
procedure_id: '12345678901',
version: 'A',
creation_date: '2015-01-01',
expiration_date: '2025-01-01'
}
}
}
]
},
{
headers: {
Authorization: 'Bearer ACCESS_TOKEN',
'Content-Type': 'application/json'
}
}
);
console.log(data);
{
"status": "PROCESSING"
}
Physical Person (INDIVIDUAL)
Two fields in this section have conditional requirements:
pep_details: required whenpepisDIRECTorFAMILY. Must be omitted ornullwhenpepisNONE.spouse: required whencivil_statusisMARRIED. Must be omitted ornullfor all other marital statuses.
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Must be PHYSICAL |
tax_type | string | Yes | Tax identification type. Value: CUIT |
tax_id | string | Yes | Person's CUIT. 11 digits, prefix 20, 23, 24 or 27 |
name | string | Yes | First name |
last_name | string | Yes | Last name |
email | string | Yes | Contact email |
gender | string | Yes | Gender. Allowed values: MALE, FEMALE, OTHER |
civil_status | string | Yes | Marital status. Allowed values: SINGLE, MARRIED, DIVORCED, WIDOWED |
employment_status | string | Yes | Employment status. See Employment status |
telephone | string | Yes | Phone in international format. Pattern: ^\+\d{9,19}$ (e.g. +5491112345678) |
birth_date | string (date) | Yes | Date of birth in YYYY-MM-DD format |
citizenship | string | Yes | Nationality. Use the citizenship field from Get countries |
birth_country | string | Yes | Country of birth. Use the name field from Get countries |
pep | string | Yes | Politically exposed person. Allowed values: DIRECT, FAMILY, NONE |
pep_details | string | null | No | Details if pep is DIRECT or FAMILY |
is_qualified_investor | boolean | Yes | Indicates if the person is a qualified investor |
holder_type | string | Yes | Account role. Allowed values: OWNER, CO_OWNER. Only one OWNER per request |
activities | array[string] | Yes | Economic activities (minimum 1). Use the name field from Get activities with type=PHYSICAL |
years_in_activity | string | null | No | Years in activity. See Years in activity |
address | object | Yes | Address. See Address |
identity_document | object | Yes | Identity document. See Identity document |
bank_account | object | null | No | Bank account. See Bank account |
foreign_tax_detail | object | null | No | Foreign tax details. See Foreign tax details |
spouse | object | null | No | Spouse (required if civil_status is MARRIED). See Spouse |
Juridical Person (BUSINESS)
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Must be JURIDICAL |
tax_type | string | Yes | Tax identification type. Value: CUIT |
tax_id | string | Yes | Company CUIT. 11 digits, prefix 30, 33 or 34 |
legal_name | string | Yes | Legal company name |
email | string | Yes | Contact email |
corporate_type | string | Yes | Corporate type. See Corporate type |
registration_number | string | Yes | Registration number (digits only) |
registration_country | string | Yes | Country of registration. Use name from Get countries |
registration_province | string | Yes | Province of registration. Use name from Get provinces |
registration_authority | string | Yes | Registration authority. See Registration authority |
registration_authority_details | string | null | No | Details if authority is OTHER |
registration_date | string (date) | Yes | Date of registration in YYYY-MM-DD format |
activities | array[string] | Yes | Economic activities (minimum 1). Use the name field from Get activities with type=JURIDICAL |
activities_details | string | null | No | Additional activity details |
has_joint_signature | boolean | Yes | Indicates if joint signature is required |
is_public_entity | boolean | Yes | Indicates if it is a public entity |
is_in_economic_group | boolean | Yes | Indicates if it belongs to an economic group |
is_complex_structure | boolean | Yes | Indicates if it has a complex structure |
is_qualified_investor | boolean | Yes | Indicates if it is a qualified investor |
address | object | Yes | Address. See Address |
representatives | array | Yes | Legal representatives (minimum 1). See Representative |
shareholders | array | No | Shareholders. See Shareholder |
bank_account | object | null | No | Bank account. See Bank account |
foreign_tax_detail | object | null | No | Foreign tax details. See Foreign tax details |
Auxiliary schemas
Address
| Field | Type | Required | Description |
|---|---|---|---|
street | string | Yes | Street name |
number | integer | null | No | Door number |
floor | string | null | No | Floor |
apartment | string | null | No | Apartment |
zip_code | string | null | No | Zip code |
city | string | Yes | City |
municipality | string | null | No | Municipality |
state | string | Yes | Province. Use name from Get provinces |
country | string | Yes | Country. Use name from Get countries |
Identity document
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Document type. Value: DNI |
id_number | string | Yes | DNI number. Exactly 8 digits (^\d{8}$) |
procedure_id | string | Yes | DNI procedure number. Exactly 11 digits (^\d{11}$) |
version | string | Yes | DNI version. 1 letter (^[A-Za-z]$) |
creation_date | string (date) | Yes | Issue date in YYYY-MM-DD format |
expiration_date | string (date) | Yes | Expiration date in YYYY-MM-DD format |
Bank account
| Field | Type | Required | Description |
|---|---|---|---|
cxu | string | Yes | CVU/CBU of 22 digits (^\d{22}$) |
Foreign tax details
| Field | Type | Required | Description |
|---|---|---|---|
id_number | string | Yes | Foreign tax identification number |
foreign_address | object | Yes | Foreign address. Same fields as Address |
Spouse
| Field | Type | Required | Description |
|---|---|---|---|
tax_type | string | Yes | Value: CUIT |
tax_id | string | Yes | Spouse's CUIT. 11 digits, prefix 20, 23, 24 or 27 |
name | string | Yes | First name |
last_name | string | Yes | Last name |
Representative
Two fields in this section have conditional requirements:
pep_details: required whenpepisDIRECTorFAMILY. Must be omitted ornullwhenpepisNONE.spouse: required whencivil_statusisMARRIED. Must be omitted ornullfor all other marital statuses.
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Representative role. Allowed values: OWNER, ADMIN |
tax_type | string | Yes | Tax identification type. Value: CUIT |
tax_id | string | Yes | Person's CUIT. 11 digits, prefix 20, 23, 24 or 27 |
name | string | Yes | First name |
last_name | string | Yes | Last name |
email | string | Yes | Contact email |
gender | string | Yes | Gender. Allowed values: MALE, FEMALE, OTHER |
civil_status | string | Yes | Marital status. Allowed values: SINGLE, MARRIED, DIVORCED, WIDOWED |
employment_status | string | Yes | Employment status. See Employment status |
telephone | string | Yes | Phone in international format. Pattern: ^\+\d{9,19}$ (e.g. +5491112345678) |
birth_date | string (datetime) | Yes | Date of birth in ISO 8601 with time (YYYY-MM-DDTHH:MM:SSZ) |
citizenship | string | Yes | Nationality. Use the citizenship field from Get countries |
birth_country | string | Yes | Country of birth. Use the name field from Get countries |
pep | string | Yes | Politically exposed person. Allowed values: DIRECT, FAMILY, NONE |
pep_details | string | null | No | Details if pep is DIRECT or FAMILY |
is_qualified_investor | boolean | Yes | Indicates if the person is a qualified investor |
activities | array[string] | Yes | Economic activities (minimum 1). Use the name field from Get activities with type=PHYSICAL |
years_in_activity | string | null | No | Years in activity. See Years in activity |
address | object | Yes | Address. See Address |
identity_document | object | Yes | Identity document. See Identity document |
bank_account | object | null | No | Bank account. See Bank account |
foreign_tax_detail | object | null | No | Foreign tax details. See Foreign tax details |
spouse | object | null | No | Spouse (required if civil_status is MARRIED). See Spouse |
accepted_terms_and_conditions_at | string (datetime) | Yes | Date and time of T&C acceptance |
accepted_optional_terms_and_conditions_at | string (datetime) | null | No | Date and time of optional T&C acceptance |
iva_tax_payer | string | null | No | VAT taxpayer status. Allowed values: REGISTERED_RESPONSIBLE, EXEMPT, MONOTAX, END_CONSUMER |
Shareholder
| Field | Type | Required | Description |
|---|---|---|---|
ownership | number | Yes | Ownership percentage (0–100) |
person | object | Yes | Shareholder. Can be a physical person (type: "PHYSICAL") or juridical person (type: "JURIDICAL"). See fields below |
Shareholder — Physical Person
pep_details: required whenpepisDIRECTorFAMILY. Must be omitted ornullwhenpepisNONE.spouse: required whencivil_statusisMARRIED. Must be omitted ornullfor all other marital statuses.
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Must be PHYSICAL |
name | string | Yes | First name |
last_name | string | Yes | Last name |
tax_type | string | Yes | Tax identification type. Value: CUIT |
tax_id | string | Yes | Person's CUIT. 11 digits, prefix 20, 23, 24 or 27 |
birth_date | string (date) | Yes | Date of birth in YYYY-MM-DD format |
citizenship | string | Yes | Nationality. Use the citizenship field from Get countries |
civil_status | string | Yes | Marital status. Allowed values: SINGLE, MARRIED, DIVORCED, WIDOWED |
spouse | object | null | No | Spouse (required if civil_status is MARRIED). See Spouse |
pep | string | Yes | Politically exposed person. Allowed values: DIRECT, FAMILY, NONE |
pep_details | string | null | No | Details if pep is DIRECT or FAMILY |
address | object | Yes | Address. See Address |
activities | array[string] | Yes | Economic activities (minimum 1). Use the name field from Get activities with type=PHYSICAL |
foreign_tax_detail | object | null | No | Foreign tax details. See Foreign tax details |
Shareholder — Juridical Person
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Must be JURIDICAL |
tax_type | string | Yes | Tax identification type. Value: CUIT |
tax_id | string | Yes | Company CUIT. 11 digits, prefix 30, 33 or 34 |
legal_name | string | Yes | Legal company name |
activities | array[string] | Yes | Economic activities (minimum 1). Use the name field from Get activities with type=JURIDICAL |
foreign_tax_detail | object | null | No | Foreign tax details. See Foreign tax details |
Reference enums
Employment status
| Value | Description |
|---|---|
DEPENDENCY_RELATIONSHIP | Employee |
STUDENT | Student |
INDEPENDENT | Self-employed |
MONOTAX | Monotax contributor |
AUTONOMOUS | Autonomous |
RETIRED | Retired/Pensioner |
UNEMPLOYED | Unemployed |
Years in activity
| Value | Description |
|---|---|
LESS_THAN_A_YEAR | Less than a year |
ONE_YEAR | 1 year |
TWO_YEARS | 2 years |
THREE_YEARS | 3 years |
FOUR_YEARS | 4 years |
FIVE_YEARS | 5 years |
SIX_YEARS | 6 years |
SEVEN_YEARS | 7 years |
EIGHT_YEARS | 8 years |
NINE_YEARS | 9 years |
TEN_OR_MORE_YEARS | 10 years or more |
Corporate type
| Value | Description |
|---|---|
SA | Sociedad Anónima (Corporation) |
SRL | Sociedad de Responsabilidad Limitada (LLC) |
SAS | Sociedad por Acciones Simplificada (Simplified Corporation) |
COOP | Cooperative |
CONS | Consortium |
FID | Trust |
GOB | Government entity |
SGR | Mutual Guarantee Society |
OTHER | Other |
Registration authority
| Value | Description |
|---|---|
GENERAL_INSPECTION_OF_JUSTICE | General Inspection of Justice (IGJ) |
DIRECTORATE_OF_LEGAL_ENTITIES | Directorate of Legal Entities |
OTHER | Other |
Validations
Individual onboarding
Cross-person uniqueness
The following uniqueness rules apply across the physical person and all co-owners in the request:
| Rule | Description |
|---|---|
Unique tax_type + tax_id | No two people may share the same tax identification pair |
Unique id_number | No two people may share the same document number |
Unique email | No two people may share the same email address |
Physical person field rules
Applies to the main physical person and each co-owner individually.
| Field | Rule |
|---|---|
pep + pep_details | If pep is DIRECT or FAMILY → pep_details is required. If pep is NONE → pep_details must be null |
civil_status + spouse | If civil_status is MARRIED → spouse is required. Any other status → spouse must be omitted or null |
spouse.tax_id | Cannot equal the tax_id of the person declaring the spouse |
years_in_activity | Required when employment_status is INDEPENDENT, MONOTAX, AUTONOMOUS or DEPENDENCY_RELATIONSHIP. Must be omitted or null when employment_status is STUDENT, RETIRED or UNEMPLOYED |
Activities by employment status
The allowed values for activities depend on employment_status:
employment_status | Allowed activities |
|---|---|
DEPENDENCY_RELATIONSHIP | Empleado/Apoderado, Empleado Público, Diplomático/Funcionario Público, Docente, Policía/Militar/otras Fuerzas de Seguridad |
RETIRED | Jubilado/a y/o Pensionado/a |
UNEMPLOYED | Desocupado, Ama de Casa |
STUDENT, INDEPENDENT, MONOTAX, AUTONOMOUS | Any activity returned by Get activities |
Database validations
Applied to the physical person and each co-owner individually:
| Check | Rule |
|---|---|
| Document uniqueness | The DNI id_number cannot already be registered in the system under a different tax_id |
| Email uniqueness | The email cannot already exist in the system associated with a different document |
Required documents
Applied individually to the physical person and each co-owner:
| Document | Required |
|---|---|
DNI_FRONT | Yes |
DNI_BACK | Yes |
WORTH_STATEMENT | No (optional) |
Business onboarding
Juridical person field rules
| Field | Rule |
|---|---|
registration_authority_details | Required if registration_authority is OTHER. Must be omitted or null if registration_authority is GENERAL_INSPECTION_OF_JUSTICE or DIRECTORATE_OF_LEGAL_ENTITIES |
Representatives structure
| Rule | Detail |
|---|---|
Exactly 1 OWNER | There must be exactly one representative with type: OWNER — no more, no less |
ADMIN without joint signature | If has_joint_signature is false, no ADMIN representatives are allowed |
ADMIN with joint signature | If has_joint_signature is true, minimum 1 and maximum 2 ADMIN representatives |
JOINT_SIGNATURE without joint signature | If has_joint_signature is false, no representative may have signature_type: JOINT_SIGNATURE |
| Minimum age | No representative may be a minor |
| Uniqueness | No duplicates of tax_type + tax_id, id_number (DNI), passport number, or email among representatives |
Shareholders
| Rule | Detail |
|---|---|
| Allowed corporate types | SA, SAS, SRL, OTHER may include shareholders. COOP, CONS, FID, GOB, SGR must not include shareholders — sending them will result in an error |
| Uniqueness | No duplicate tax_type + tax_id pairs among shareholders |
Shareholder tax_id | Cannot equal the tax_id of the juridical person |
Representative field rules
Each representative is subject to the same field-level validations as the physical person in an individual onboarding: pep + pep_details, years_in_activity, spouse, and activities by employment_status.
Database validations
Applied to each national representative:
| Check | Rule |
|---|---|
| Email uniqueness | The email cannot already exist in the system associated with a different document |
| Document uniqueness | The DNI id_number cannot already be registered in the system under a different tax_id |
Required documents
Per representative:
| Document | Required |
|---|---|
DNI_FRONT | Yes |
DNI_BACK | Yes |
Per juridical person — by corporate_type:
corporate_type | Required documents |
|---|---|
SA | BALANCE, SHARES_REGISTER, STATUTE, AUTHORITIES (+ SHAREHOLDERS_NOTE if juridical-person shareholders are present) |
SAS | BALANCE, STATUTE (+ SHAREHOLDERS_NOTE if juridical-person shareholders are present) |
SRL | BALANCE, STATUTE (+ SHAREHOLDERS_NOTE if juridical-person shareholders are present) |
OTHER | STATUTE, AUTHORITIES, WORTH_STATEMENT (+ SHAREHOLDERS_NOTE if juridical-person shareholders are present) |
COOP | BALANCE, STATUTE, AUTHORITIES, MEMBERS_NOTE |
CONS | BALANCE, HORIZONTAL_PROPERTY_REGULATIONS, AUTHORITIES, EXPENSE_LIQUIDATION, CO_OWNER_LIST |
FID | BALANCE, TRUST_NOTE, TRUST_CONSTITUTION_CONTRACT |
GOB | BALANCE, STATUTE, AUTHORITIES |
SGR | BALANCE, STATUTE, AUTHORITIES, PARTNERS_NOTE, PARTNERS_LIST |