Overview
The Onboarding API lets your company open an Allaria or Allaria+ account on behalf of one of your end customers, with Allaria performing the identity verification and customer due diligence.
You collect the customer's data and documents through your own product, send them through this API, and Allaria runs the KYC/AML review and creates the account.
Who this section is for
Companies that are not obliged entities (sujetos obligados): they are not registered before the UIF, so they cannot collect and transmit customers' personal data to open accounts on their own account.
Allaria is an obliged entity. When the customer's data goes through this API, the verification obligation and the responsibility for the KYC review sit with Allaria, not with you.
That is the point of the flow: it is how a company that is not an obliged entity brings customers into a regulated account.
The practical consequences:
- The data model is dictated by regulation, not by convenience. The number of required fields, the documents, the questionnaire and the shareholder breakdown all exist because an obliged entity must collect them. They cannot be trimmed down.
- Approval is not immediate. Submitting an onboarding starts a review. The result is
APPROVEDorREJECTED, and you find out by polling. - Values must match Allaria's catalogues exactly. Countries, provinces, activities and questionnaire questions are not free text — see Reference data.
Do not use this section — open accounts through Aperturas instead. Allaria opens the account on the strength of your own due diligence, without repeating this flow.
Unsure which applies to you? Ask integraciones@allaria.com.ar before building.
What you get at the end
A completed onboarding produces one or more accounts, each with:
- its own identifier;
- a
type:ALLARIA,ALLARIAMASorALLARIAMAS_INTERNAL; - a
cvu, for wallet accounts.
From then on, the customer is operated through the Allaria or Allaria+ APIs, not through this section.
Prerequisites
Every endpoint here is authenticated. Before your first call you need your IP whitelisted and an access token — see Get started.
The flow
POST /v1/onboardings opens the process and returns an onboarding_id. You declare two things here that cannot be changed afterwards:
company_type— which company the account is opened at:ALLARIA(brokerage) orALLARIAMAS(wallet).onboarding_type—INDIVIDUALfor a natural person,BUSINESSfor a legal entity. This decides which fields and which documents are required in the following steps.
The response also carries a ttl: the Unix timestamp (in seconds) at which the onboarding expires, 60 days after it is created. Compare it against the current time — it is an instant, not a countdown. After it expires, start a new onboarding.
POST /v1/onboardings/{onboarding_id}/documents does not receive the file:
- Call it right before uploading; it returns a presigned URL.
PUTthe file straight to that URL before it expires — 600 seconds (10 minutes) today. Read the window fromexpires_in_secondsinstead of hardcoding 600, in case it changes.
Which documents are required depends on onboarding_type (full list on the endpoint page):
INDIVIDUAL: both sides of the DNI and a net worth statement.BUSINESS: corporate documentation — bylaws, authorities, share register, partner/shareholder notes, and so on.
Before building the submission body, query the Reference data endpoints. Countries, provinces, economic activities and questionnaire questions must be sent with the exact values Allaria returns.
PUT /v1/onboardings/{onboarding_id} sends the whole dataset in one call: the people involved, the questionnaire answers and the acceptance of terms and conditions. This is the largest request of the flow and the one whose shape depends most on onboarding_type.
For a BUSINESS, "the people involved" is not just the company: representatives and shareholders are declared too, each with their own person record.
Submitting closes the data-entry phase and hands the onboarding over to review.
GET /v1/onboardings — for the full list — or GET /v1/onboardings/{onboarding_id} for one. The onboarding sits at PENDING until the review finishes, then becomes APPROVED or REJECTED.
APPROVED does not mean the accounts are usable yet. Check the state of each account in the accounts array:
COMPLETED— the account is ready. Only this state means that.PENDING_MANUAL_INPUT— an Allaria operator has to step in; there is nothing for you to retry.
Reference data
The four endpoints under Reference data are read-only catalogues. They are not steps in the flow — you call them whenever you need to build a valid submission body, and their values change rarely enough to be cached.
| Endpoint | Feeds these fields in Submit onboarding |
|---|---|
| Get questions | The questions array — each answer must quote the question text exactly as returned |
| Get countries | citizenship, birth_country, country, registration_country |
| Get provinces | state, registration_province — takes the country's ISO Alpha-2 code from Get countries |
| Get activities | activities, split by person type (PHYSICAL / JURIDICAL) |
Sending a value that is not in these catalogues fails validation with 422.
Individual vs. Business at a glance
INDIVIDUAL | BUSINESS | |
|---|---|---|
| Who is onboarded | One natural person | A legal entity, plus its representatives and shareholders |
| People in the submission | One | Several — the entity, each representative, each shareholder |
| Documents | DNI (front and back), net worth statement | Bylaws, board authorities, share register, partner/shareholder notes, balance sheet, and others depending on the entity type |
| Activities | Queried with type=PHYSICAL | Queried with type=JURIDICAL for the entity, type=PHYSICAL for the people |
Common failure modes
| Symptom | Cause |
|---|---|
404 on document upload or submission | The onboarding_id does not exist, or the onboarding's ttl expired — create a new one |
422 on submission | A value is missing, or does not match a reference-data catalogue |
403 on every endpoint here | Your credentials are not authorized for onboarding — contact integraciones@allaria.com.ar |
| Request times out with no status code | Your IP is not whitelisted — see Access |