Skip to main content
Use the API to create and onboard an Entity that can own Account objects after approval, without using the dashboard. This flow is for platforms that create an Entity for each client, 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 entities outside Mexico, create the Entity from the dashboard.

Before you start

You need a test secret key (sk_test_...). Find the key 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

An Entity 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
Save the Entity ID (ent_...); every onboarding call uses this value. See The Entity object for the full attribute list.

Step 2: Create the onboarding

The Onboarding holds the Know Your Customer review for one Entity. The review includes company information, the legal representative, the transactional profile, and the shareholders. Create one onboarding per Entity and pass the structured data in the request.
Response
Three details to note in the response:
  • submittable is false until every required field and document is in place.
  • documents lists each company document slot and its status, either missing or uploaded. Read this array to identify outstanding documents.
  • Each shareholder has a document slot. A legal_entity shareholder can include nested children.
Some fields use Mexico-specific identifiers. The legal representative’s 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 in the documents array. Send the file as multipart/form-data in the file field. Each file must be a PDF, JPEG, or PNG. The maximum file size is 20 MB. Uploading to a slot that already has a file replaces the existing file.
Response
Repeat for each remaining slot: 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 a document. Use the shareholder id (onbsh_...) from the Step 2 response. Upload identification for a natural_person shareholder. Upload articles_of_incorporation for a legal_entity shareholder. The file rules match Step 3.
Response

Step 5: Submit for review

Once submittable is true, submit the onboarding for Fintoc to review. The onboarding must be in_progress and include every required field and document. After submission, the onboarding moves to submitted and can no longer be modified.
Response
If a required field or document is missing, or the onboarding is no longer in_progress, the call returns a 422 Unprocessable Entity error.

Step 6: Track the review

An onboarding moves through pending, in_progress, submitted, and then approved, rejected, or cancelled. Fintoc sends one of these webhook events when it approves or rejects the onboarding: Subscribe to these events in the dashboard under Developers → Webhooks, or poll the onboarding directly:
Response
Check status to track the onboarding. Once status is approved, the Entity is ready to transact.

Step 7: Create accounts once approved

After the Entity is approved, create one or more Account objects under the Entity. Pass the Entity ID as entity_id. Each Account has its own balance and root account number. Outbound transfer receipts show the client’s legal name. See Create more accounts for account creation details.
Response

Test the integration

In test mode, run the full sequence above with your sk_test_... key. Create the Entity and onboarding, upload a sample file to every slot, and submit the onboarding. Confirm that submittable turns true only after every slot reports uploaded. Confirm that the onboarding reaches submitted, then track the review result as described in Step 6.

What’s next