Entity for your client and take the Entity from creation to an approved Know Your Customer (KYC) review entirely by API. At the end, you have an operational Entity that can own Account objects, without using the Dashboard.
This flow is for platforms that onboard many clients, such as marketplaces or wallets that hold balances under each client’s legal name. To create Account objects under your own Root Entity, see Create more accounts instead.
AvailabilityOnboarding by API supports Mexican
Entity objects. For Chilean entities and other countries, create the Entity from the Dashboard.Before you start
You need a test secret key (sk_test_...), available in the Dashboard under Developers → API Keys. Run the whole flow in test mode first, then switch to your live key.
Step 1 - Create the Entity
AnEntity is the legal account holder. Create one for your client with their legal name and Mexican tax ID (RFC). Set country_code to mx, and set holder_id to the client’s RFC.
Response
Entity id (ent_...); every onboarding call uses it. See The Entity object for the full attribute list.
Step 2 - Create the onboarding
TheOnboarding holds the KYC review for one Entity: company information, the legal representative, the transactional profile, and the shareholders. Create one onboarding per Entity and pass the structured data up front.
Response
submittableisfalseuntil every required field and document is in place.documentslists each company document slot and itsstatus(missingoruploaded). Read this array to know what is still outstanding.- Each shareholder carries a
documentslot, andlegal_entityshareholders can nestchildren.
identification_number is a Mexican Unique Population Registry Code (CURP). The settlement_account is an 18-digit standardized Mexican bank account number (CLABE). See The Onboarding object for every field.
Step 3 - Upload the company documents
Upload one file to each company document slot returned in thedocuments array. Send the file as multipart/form-data in the file field. Each file must be a PDF, JPEG, or PNG, and cannot exceed 20 MB. Uploading to a slot that already has a file replaces it.
Response
settlement_bank_statement, proof_of_address, representative_identification, representative_power_of_attorney, and shareholder_structure.
Step 4 - Upload each shareholder’s document
Each declared shareholder needs its identity document. Use the shareholderid (onbsh_...) from the Step 2 response. A natural_person shareholder uploads identification, and a legal_entity shareholder uploads articles_of_incorporation. The file rules match Step 3.
Response
Step 5 - Submit for review
Oncesubmittable is true, submit the onboarding for Fintoc to review. The onboarding must be in_progress, with every required field and document in place. On success, the onboarding moves to submitted and can no longer be modified.
Response
in_progress, the call returns a 422 Unprocessable Entity error.
Step 6 - Track the review
An onboarding moves throughpending, in_progress, submitted, and then approved, rejected, or cancelled. After you submit, Fintoc reviews the onboarding and emits a webhook event:
Subscribe to these events in Developers → Webhooks, or poll the onboarding directly:
Response
status to know where the onboarding stands. Once status is approved, the Entity is ready to transact.
Step 7 - Create accounts once approved
After theEntity is approved, create one or more Account objects under the Entity and pass the Entity’s entity_id. Each Account has its own balance and root Account Number. Outbound transfers from the Account show the client’s legal name on the receipt. See Create more accounts for the account details.
Response
Test the integration
Intest mode, run the full sequence above with your sk_test_... key. Create the Entity, create the onboarding, upload a sample file to every slot, and submit. Confirm that submittable turns true only after every slot reports uploaded, and that the onboarding reaches submitted. Step 6 covers the review result.
What’s next
- Create more accounts for an approved
Entity. - The Onboarding object and the onboarding endpoints in the API reference.