Important: this guide explains the flow and the concepts involved. To check all available fields, types, and responses, see the onboarding creation API reference.
1. How the organization model works
In this model, there are two main parties:- Distributor organization: the organization that holds the API credentials and controls the flow for its customers.
- Customer organization: the organization created during onboarding, which will be used for the customer’s transactions.
Trio-Target-Org-Id header.
Also see Acting on another organization.
2. Creating the onboarding
Onboarding is created through the endpoint:client_id and client_secret.
Required data
To start onboarding, send the company’s data, the representative’s data, and the consent data.
Within
business_infos, information such as the following is provided:
- annual revenue;
- average ticket.
- name;
- tax ID (CPF);
- phone number;
- email.
- the tax ID (CPF) of the person responsible for the consent;
- IP address;
- date and time of the authorization.
3. Creation example
4. What happens after creation
Onboarding creation is synchronous. After the request is processed, the API returns the main identifiers of the structure that was created, including:entity_id;org_id;company_id;external_id;tax_number;status.
Best practice: save theorg_id,entity_id, andexternal_idin your system. Theorg_idwill be used later to perform operations on the customer’s organization.
5. Liveness step
After creation, onboarding moves on to the validation process. The representative needs to complete the facial recognition (liveness) check required to open the account. Example:6. Compliance analysis
Once liveness is completed, the customer’s information moves on to Compliance analysis. The distributor organization does not need to keep polling the API to find out whether the analysis has finished. Tracking should be done through entity webhooks. Events in theentity category are sent whenever the Compliance status of an entity created through onboarding changes.
See the Entity events reference.
7. Onboarding webhooks
The main events related to onboarding are:entity.in_review
Indicates that the entity has entered the analysis stage.
When applicable, the event also contains the representative’s liveness_link.
entity.approved
Indicates that the entity was approved by Compliance and is ready to operate.
entity.rejected
Indicates that the entity was rejected by Compliance.
In this case, the event contains a reason field describing the reason for the rejection.
8. Using the customer’s organization
Once onboarding has been approved, the distributor organization can make calls on behalf of the customer’s organization. To do this, use the same credentials as the distributor organization and provide the customer’sorg_id in the header:
403.
Important: access to the organization is configured at the organization level and must be enabled for the integration.
9. Complete flow
The complete flow can be understood as follows:10. Integration recommendations
Save the identifiers
AfterPOST /onboarding, store at least the following in your system:
external_id;org_id;entity_id;company_id;tax_number;- current status.
Use external_id as your system’s reference
The external_id should be a reference that lets you easily identify the customer within your application.
Example:
Only enable operations after approval
Keep the customer in an onboarding state while Compliance is analyzing the entity. After receiving:Handle rejections
When you receive:reason returned by the webhook so the customer’s case can be handled appropriately.
References
Retrieving the bank account after approval
Once the entity is approved (entity.approved), the customer’s bank account is typically made available within a few minutes. It is not created at the exact same instant as the approval event, so you should not assume the account identifier is available immediately.
To retrieve it, call the list virtual accounts endpoint, passing the customer’s org_id in the header:

