curl --request POST \
--url https://api.fintoc.com/v2/entities/{entity_id}/onboardings \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"company_information": {
"incorporation_date": "2020-01-15",
"business_activity": "Servicios financieros",
"fiscal_address": "Av. Reforma 123, CDMX",
"business_address": "Av. Insurgentes 456, CDMX",
"settlement_account": "000000000000000000",
"phone": "+521111111111"
},
"legal_representatives": [
{
"first_name": "Test Customer 1",
"last_name": "Customer",
"email": "rep@example.com",
"nationality": "mx",
"identification_number": "AAAA010101HDFAAA01",
"position": "Director General"
}
],
"transactional_profile": {
"resource_origins": [
"trusts",
"investments"
],
"monthly_amount_range": "1_500000",
"monthly_operations_range": "1_15000"
},
"shareholders": [
{
"type": "natural_person",
"name": "Test Customer 2",
"last_name": "Customer",
"nationality": "mx",
"percentage": 60,
"holder_id": "AAAA010101AAA"
},
{
"type": "legal_entity",
"name": "Acme SA",
"nationality": "mx",
"percentage": 40,
"holder_id": "AAA010101AAA",
"children": [
{
"type": "natural_person",
"name": "Test Customer 3",
"last_name": "Customer",
"nationality": "mx",
"percentage": 80,
"holder_id": "AAAA010101AAA"
}
]
}
]
}
'import requests
url = "https://api.fintoc.com/v2/entities/{entity_id}/onboardings"
payload = {
"company_information": {
"incorporation_date": "2020-01-15",
"business_activity": "Servicios financieros",
"fiscal_address": "Av. Reforma 123, CDMX",
"business_address": "Av. Insurgentes 456, CDMX",
"settlement_account": "000000000000000000",
"phone": "+521111111111"
},
"legal_representatives": [
{
"first_name": "Test Customer 1",
"last_name": "Customer",
"email": "rep@example.com",
"nationality": "mx",
"identification_number": "AAAA010101HDFAAA01",
"position": "Director General"
}
],
"transactional_profile": {
"resource_origins": ["trusts", "investments"],
"monthly_amount_range": "1_500000",
"monthly_operations_range": "1_15000"
},
"shareholders": [
{
"type": "natural_person",
"name": "Test Customer 2",
"last_name": "Customer",
"nationality": "mx",
"percentage": 60,
"holder_id": "AAAA010101AAA"
},
{
"type": "legal_entity",
"name": "Acme SA",
"nationality": "mx",
"percentage": 40,
"holder_id": "AAA010101AAA",
"children": [
{
"type": "natural_person",
"name": "Test Customer 3",
"last_name": "Customer",
"nationality": "mx",
"percentage": 80,
"holder_id": "AAAA010101AAA"
}
]
}
]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
company_information: {
incorporation_date: '2020-01-15',
business_activity: 'Servicios financieros',
fiscal_address: 'Av. Reforma 123, CDMX',
business_address: 'Av. Insurgentes 456, CDMX',
settlement_account: '000000000000000000',
phone: '+521111111111'
},
legal_representatives: [
{
first_name: 'Test Customer 1',
last_name: 'Customer',
email: 'rep@example.com',
nationality: 'mx',
identification_number: 'AAAA010101HDFAAA01',
position: 'Director General'
}
],
transactional_profile: {
resource_origins: ['trusts', 'investments'],
monthly_amount_range: '1_500000',
monthly_operations_range: '1_15000'
},
shareholders: [
{
type: 'natural_person',
name: 'Test Customer 2',
last_name: 'Customer',
nationality: 'mx',
percentage: 60,
holder_id: 'AAAA010101AAA'
},
{
type: 'legal_entity',
name: 'Acme SA',
nationality: 'mx',
percentage: 40,
holder_id: 'AAA010101AAA',
children: [
{
type: 'natural_person',
name: 'Test Customer 3',
last_name: 'Customer',
nationality: 'mx',
percentage: 80,
holder_id: 'AAAA010101AAA'
}
]
}
]
})
};
fetch('https://api.fintoc.com/v2/entities/{entity_id}/onboardings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fintoc.com/v2/entities/{entity_id}/onboardings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'company_information' => [
'incorporation_date' => '2020-01-15',
'business_activity' => 'Servicios financieros',
'fiscal_address' => 'Av. Reforma 123, CDMX',
'business_address' => 'Av. Insurgentes 456, CDMX',
'settlement_account' => '000000000000000000',
'phone' => '+521111111111'
],
'legal_representatives' => [
[
'first_name' => 'Test Customer 1',
'last_name' => 'Customer',
'email' => 'rep@example.com',
'nationality' => 'mx',
'identification_number' => 'AAAA010101HDFAAA01',
'position' => 'Director General'
]
],
'transactional_profile' => [
'resource_origins' => [
'trusts',
'investments'
],
'monthly_amount_range' => '1_500000',
'monthly_operations_range' => '1_15000'
],
'shareholders' => [
[
'type' => 'natural_person',
'name' => 'Test Customer 2',
'last_name' => 'Customer',
'nationality' => 'mx',
'percentage' => 60,
'holder_id' => 'AAAA010101AAA'
],
[
'type' => 'legal_entity',
'name' => 'Acme SA',
'nationality' => 'mx',
'percentage' => 40,
'holder_id' => 'AAA010101AAA',
'children' => [
[
'type' => 'natural_person',
'name' => 'Test Customer 3',
'last_name' => 'Customer',
'nationality' => 'mx',
'percentage' => 80,
'holder_id' => 'AAAA010101AAA'
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fintoc.com/v2/entities/{entity_id}/onboardings"
payload := strings.NewReader("{\n \"company_information\": {\n \"incorporation_date\": \"2020-01-15\",\n \"business_activity\": \"Servicios financieros\",\n \"fiscal_address\": \"Av. Reforma 123, CDMX\",\n \"business_address\": \"Av. Insurgentes 456, CDMX\",\n \"settlement_account\": \"000000000000000000\",\n \"phone\": \"+521111111111\"\n },\n \"legal_representatives\": [\n {\n \"first_name\": \"Test Customer 1\",\n \"last_name\": \"Customer\",\n \"email\": \"rep@example.com\",\n \"nationality\": \"mx\",\n \"identification_number\": \"AAAA010101HDFAAA01\",\n \"position\": \"Director General\"\n }\n ],\n \"transactional_profile\": {\n \"resource_origins\": [\n \"trusts\",\n \"investments\"\n ],\n \"monthly_amount_range\": \"1_500000\",\n \"monthly_operations_range\": \"1_15000\"\n },\n \"shareholders\": [\n {\n \"type\": \"natural_person\",\n \"name\": \"Test Customer 2\",\n \"last_name\": \"Customer\",\n \"nationality\": \"mx\",\n \"percentage\": 60,\n \"holder_id\": \"AAAA010101AAA\"\n },\n {\n \"type\": \"legal_entity\",\n \"name\": \"Acme SA\",\n \"nationality\": \"mx\",\n \"percentage\": 40,\n \"holder_id\": \"AAA010101AAA\",\n \"children\": [\n {\n \"type\": \"natural_person\",\n \"name\": \"Test Customer 3\",\n \"last_name\": \"Customer\",\n \"nationality\": \"mx\",\n \"percentage\": 80,\n \"holder_id\": \"AAAA010101AAA\"\n }\n ]\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.fintoc.com/v2/entities/{entity_id}/onboardings")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"company_information\": {\n \"incorporation_date\": \"2020-01-15\",\n \"business_activity\": \"Servicios financieros\",\n \"fiscal_address\": \"Av. Reforma 123, CDMX\",\n \"business_address\": \"Av. Insurgentes 456, CDMX\",\n \"settlement_account\": \"000000000000000000\",\n \"phone\": \"+521111111111\"\n },\n \"legal_representatives\": [\n {\n \"first_name\": \"Test Customer 1\",\n \"last_name\": \"Customer\",\n \"email\": \"rep@example.com\",\n \"nationality\": \"mx\",\n \"identification_number\": \"AAAA010101HDFAAA01\",\n \"position\": \"Director General\"\n }\n ],\n \"transactional_profile\": {\n \"resource_origins\": [\n \"trusts\",\n \"investments\"\n ],\n \"monthly_amount_range\": \"1_500000\",\n \"monthly_operations_range\": \"1_15000\"\n },\n \"shareholders\": [\n {\n \"type\": \"natural_person\",\n \"name\": \"Test Customer 2\",\n \"last_name\": \"Customer\",\n \"nationality\": \"mx\",\n \"percentage\": 60,\n \"holder_id\": \"AAAA010101AAA\"\n },\n {\n \"type\": \"legal_entity\",\n \"name\": \"Acme SA\",\n \"nationality\": \"mx\",\n \"percentage\": 40,\n \"holder_id\": \"AAA010101AAA\",\n \"children\": [\n {\n \"type\": \"natural_person\",\n \"name\": \"Test Customer 3\",\n \"last_name\": \"Customer\",\n \"nationality\": \"mx\",\n \"percentage\": 80,\n \"holder_id\": \"AAAA010101AAA\"\n }\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fintoc.com/v2/entities/{entity_id}/onboardings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"company_information\": {\n \"incorporation_date\": \"2020-01-15\",\n \"business_activity\": \"Servicios financieros\",\n \"fiscal_address\": \"Av. Reforma 123, CDMX\",\n \"business_address\": \"Av. Insurgentes 456, CDMX\",\n \"settlement_account\": \"000000000000000000\",\n \"phone\": \"+521111111111\"\n },\n \"legal_representatives\": [\n {\n \"first_name\": \"Test Customer 1\",\n \"last_name\": \"Customer\",\n \"email\": \"rep@example.com\",\n \"nationality\": \"mx\",\n \"identification_number\": \"AAAA010101HDFAAA01\",\n \"position\": \"Director General\"\n }\n ],\n \"transactional_profile\": {\n \"resource_origins\": [\n \"trusts\",\n \"investments\"\n ],\n \"monthly_amount_range\": \"1_500000\",\n \"monthly_operations_range\": \"1_15000\"\n },\n \"shareholders\": [\n {\n \"type\": \"natural_person\",\n \"name\": \"Test Customer 2\",\n \"last_name\": \"Customer\",\n \"nationality\": \"mx\",\n \"percentage\": 60,\n \"holder_id\": \"AAAA010101AAA\"\n },\n {\n \"type\": \"legal_entity\",\n \"name\": \"Acme SA\",\n \"nationality\": \"mx\",\n \"percentage\": 40,\n \"holder_id\": \"AAA010101AAA\",\n \"children\": [\n {\n \"type\": \"natural_person\",\n \"name\": \"Test Customer 3\",\n \"last_name\": \"Customer\",\n \"nationality\": \"mx\",\n \"percentage\": 80,\n \"holder_id\": \"AAAA010101AAA\"\n }\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "onbprc_0ujsswThIGTUYm2K8FjOOfXtY1K",
"object": "onboarding",
"entity_id": "ent_8anBwgZktbZH6ydyHa6Tm0eM",
"status": "in_progress",
"source": "api",
"submitted_at": null,
"reviewed_at": null,
"submittable": false,
"data": {
"company_information": {
"incorporation_date": "2020-01-15T00:00:00.000Z",
"business_activity": "Servicios financieros",
"fiscal_address": "Av. Reforma 123, CDMX",
"business_address": "Av. Insurgentes 456, CDMX",
"settlement_account": "000000000000000000",
"phone": "+521111111111"
},
"transactional_profile": {
"resource_origins": [
"trusts",
"investments"
],
"monthly_amount_range": "1_500000",
"monthly_operations_range": "1_15000",
"declaration_accepted": true
}
},
"legal_representatives": [
{
"id": "onblr_0ujsswThIGTUYm2K8FjOOfXtY1K",
"object": "onboarding_legal_representative",
"first_name": "Test Customer 1",
"last_name": "Customer",
"email": "rep@example.com",
"nationality": "mx",
"identification_number": "AAAA010101HDFAAA01",
"position": "Director General",
"documents": [
{
"slot_key": "identification",
"status": "missing"
},
{
"slot_key": "power_of_attorney",
"status": "missing"
}
]
}
],
"shareholders": [
{
"id": "onbsh_0ujsswThIGTUYm2K8FjOOfXtY1K",
"object": "onboarding_shareholder",
"type": "natural_person",
"name": "Test Customer 2",
"last_name": "Customer",
"percentage": 60,
"holder_id": "AAAA010101AAA",
"parent_id": null,
"document": {
"slot_key": "identification",
"status": "missing"
}
},
{
"id": "onbsh_8anBwgZktbZH6ydyHa6Tm0eM",
"object": "onboarding_shareholder",
"type": "legal_entity",
"name": "Acme SA",
"percentage": 40,
"holder_id": "AAA010101AAA",
"parent_id": null,
"document": {
"slot_key": "articles_of_incorporation",
"status": "missing"
}
},
{
"id": "onbsh_9bnCxhAlucAI7zezIb7Un1fN",
"object": "onboarding_shareholder",
"type": "natural_person",
"name": "Test Customer 3",
"last_name": "Customer",
"percentage": 80,
"holder_id": "AAAA010101AAA",
"parent_id": "onbsh_8anBwgZktbZH6ydyHa6Tm0eM",
"document": {
"slot_key": "identification",
"status": "missing"
}
}
],
"documents": [
{
"slot_key": "tax_registration_certificate",
"status": "missing"
},
{
"slot_key": "settlement_bank_statement",
"status": "missing"
},
{
"slot_key": "proof_of_address",
"status": "missing"
},
{
"slot_key": "shareholder_structure",
"status": "missing"
},
{
"slot_key": "articles_of_incorporation",
"status": "missing"
}
]
}{
"error": {
"type": "invalid_request_error",
"code": "invalid_shareholder_structure",
"reason": "shareholder_participation_exceeded",
"message": "participation sum for this level exceeds 100",
"param": "shareholders",
"doc_url": "https://docs.fintoc.com/reference/errors"
}
}{
"error": {
"type": "authentication_error",
"code": "invalid_api_key",
"message": "Invalid API Key: invalid-*oken"
}
}{
"error": {
"type": "invalid_request_error",
"code": "missing_resource",
"param": "entity_id",
"message": "No such entity: ent_8anBwgZktbZH6ydyHa6Tm0eM",
"doc_url": "https://docs.fintoc.com/reference/errors"
}
}{
"error": {
"type": "conflicted_request_error",
"code": "conflicted_request",
"message": "An onboarding already exists for this entity",
"active_onboarding_id": "onbprc_0ujsswThIGTUYm2K8FjOOfXtY1K"
}
}{
"error": {
"type": "invalid_request_error",
"code": "country_not_supported",
"message": "Onboarding is not available for foreign entities"
}
}Create an onboarding
Starts an onboarding process for the entity using the company information, legal representatives, transactional profile, and shareholders provided in the request. Further requests upload documents and submit the onboarding, whose country is taken from the entity.
curl --request POST \
--url https://api.fintoc.com/v2/entities/{entity_id}/onboardings \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"company_information": {
"incorporation_date": "2020-01-15",
"business_activity": "Servicios financieros",
"fiscal_address": "Av. Reforma 123, CDMX",
"business_address": "Av. Insurgentes 456, CDMX",
"settlement_account": "000000000000000000",
"phone": "+521111111111"
},
"legal_representatives": [
{
"first_name": "Test Customer 1",
"last_name": "Customer",
"email": "rep@example.com",
"nationality": "mx",
"identification_number": "AAAA010101HDFAAA01",
"position": "Director General"
}
],
"transactional_profile": {
"resource_origins": [
"trusts",
"investments"
],
"monthly_amount_range": "1_500000",
"monthly_operations_range": "1_15000"
},
"shareholders": [
{
"type": "natural_person",
"name": "Test Customer 2",
"last_name": "Customer",
"nationality": "mx",
"percentage": 60,
"holder_id": "AAAA010101AAA"
},
{
"type": "legal_entity",
"name": "Acme SA",
"nationality": "mx",
"percentage": 40,
"holder_id": "AAA010101AAA",
"children": [
{
"type": "natural_person",
"name": "Test Customer 3",
"last_name": "Customer",
"nationality": "mx",
"percentage": 80,
"holder_id": "AAAA010101AAA"
}
]
}
]
}
'import requests
url = "https://api.fintoc.com/v2/entities/{entity_id}/onboardings"
payload = {
"company_information": {
"incorporation_date": "2020-01-15",
"business_activity": "Servicios financieros",
"fiscal_address": "Av. Reforma 123, CDMX",
"business_address": "Av. Insurgentes 456, CDMX",
"settlement_account": "000000000000000000",
"phone": "+521111111111"
},
"legal_representatives": [
{
"first_name": "Test Customer 1",
"last_name": "Customer",
"email": "rep@example.com",
"nationality": "mx",
"identification_number": "AAAA010101HDFAAA01",
"position": "Director General"
}
],
"transactional_profile": {
"resource_origins": ["trusts", "investments"],
"monthly_amount_range": "1_500000",
"monthly_operations_range": "1_15000"
},
"shareholders": [
{
"type": "natural_person",
"name": "Test Customer 2",
"last_name": "Customer",
"nationality": "mx",
"percentage": 60,
"holder_id": "AAAA010101AAA"
},
{
"type": "legal_entity",
"name": "Acme SA",
"nationality": "mx",
"percentage": 40,
"holder_id": "AAA010101AAA",
"children": [
{
"type": "natural_person",
"name": "Test Customer 3",
"last_name": "Customer",
"nationality": "mx",
"percentage": 80,
"holder_id": "AAAA010101AAA"
}
]
}
]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
company_information: {
incorporation_date: '2020-01-15',
business_activity: 'Servicios financieros',
fiscal_address: 'Av. Reforma 123, CDMX',
business_address: 'Av. Insurgentes 456, CDMX',
settlement_account: '000000000000000000',
phone: '+521111111111'
},
legal_representatives: [
{
first_name: 'Test Customer 1',
last_name: 'Customer',
email: 'rep@example.com',
nationality: 'mx',
identification_number: 'AAAA010101HDFAAA01',
position: 'Director General'
}
],
transactional_profile: {
resource_origins: ['trusts', 'investments'],
monthly_amount_range: '1_500000',
monthly_operations_range: '1_15000'
},
shareholders: [
{
type: 'natural_person',
name: 'Test Customer 2',
last_name: 'Customer',
nationality: 'mx',
percentage: 60,
holder_id: 'AAAA010101AAA'
},
{
type: 'legal_entity',
name: 'Acme SA',
nationality: 'mx',
percentage: 40,
holder_id: 'AAA010101AAA',
children: [
{
type: 'natural_person',
name: 'Test Customer 3',
last_name: 'Customer',
nationality: 'mx',
percentage: 80,
holder_id: 'AAAA010101AAA'
}
]
}
]
})
};
fetch('https://api.fintoc.com/v2/entities/{entity_id}/onboardings', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fintoc.com/v2/entities/{entity_id}/onboardings",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'company_information' => [
'incorporation_date' => '2020-01-15',
'business_activity' => 'Servicios financieros',
'fiscal_address' => 'Av. Reforma 123, CDMX',
'business_address' => 'Av. Insurgentes 456, CDMX',
'settlement_account' => '000000000000000000',
'phone' => '+521111111111'
],
'legal_representatives' => [
[
'first_name' => 'Test Customer 1',
'last_name' => 'Customer',
'email' => 'rep@example.com',
'nationality' => 'mx',
'identification_number' => 'AAAA010101HDFAAA01',
'position' => 'Director General'
]
],
'transactional_profile' => [
'resource_origins' => [
'trusts',
'investments'
],
'monthly_amount_range' => '1_500000',
'monthly_operations_range' => '1_15000'
],
'shareholders' => [
[
'type' => 'natural_person',
'name' => 'Test Customer 2',
'last_name' => 'Customer',
'nationality' => 'mx',
'percentage' => 60,
'holder_id' => 'AAAA010101AAA'
],
[
'type' => 'legal_entity',
'name' => 'Acme SA',
'nationality' => 'mx',
'percentage' => 40,
'holder_id' => 'AAA010101AAA',
'children' => [
[
'type' => 'natural_person',
'name' => 'Test Customer 3',
'last_name' => 'Customer',
'nationality' => 'mx',
'percentage' => 80,
'holder_id' => 'AAAA010101AAA'
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fintoc.com/v2/entities/{entity_id}/onboardings"
payload := strings.NewReader("{\n \"company_information\": {\n \"incorporation_date\": \"2020-01-15\",\n \"business_activity\": \"Servicios financieros\",\n \"fiscal_address\": \"Av. Reforma 123, CDMX\",\n \"business_address\": \"Av. Insurgentes 456, CDMX\",\n \"settlement_account\": \"000000000000000000\",\n \"phone\": \"+521111111111\"\n },\n \"legal_representatives\": [\n {\n \"first_name\": \"Test Customer 1\",\n \"last_name\": \"Customer\",\n \"email\": \"rep@example.com\",\n \"nationality\": \"mx\",\n \"identification_number\": \"AAAA010101HDFAAA01\",\n \"position\": \"Director General\"\n }\n ],\n \"transactional_profile\": {\n \"resource_origins\": [\n \"trusts\",\n \"investments\"\n ],\n \"monthly_amount_range\": \"1_500000\",\n \"monthly_operations_range\": \"1_15000\"\n },\n \"shareholders\": [\n {\n \"type\": \"natural_person\",\n \"name\": \"Test Customer 2\",\n \"last_name\": \"Customer\",\n \"nationality\": \"mx\",\n \"percentage\": 60,\n \"holder_id\": \"AAAA010101AAA\"\n },\n {\n \"type\": \"legal_entity\",\n \"name\": \"Acme SA\",\n \"nationality\": \"mx\",\n \"percentage\": 40,\n \"holder_id\": \"AAA010101AAA\",\n \"children\": [\n {\n \"type\": \"natural_person\",\n \"name\": \"Test Customer 3\",\n \"last_name\": \"Customer\",\n \"nationality\": \"mx\",\n \"percentage\": 80,\n \"holder_id\": \"AAAA010101AAA\"\n }\n ]\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.fintoc.com/v2/entities/{entity_id}/onboardings")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"company_information\": {\n \"incorporation_date\": \"2020-01-15\",\n \"business_activity\": \"Servicios financieros\",\n \"fiscal_address\": \"Av. Reforma 123, CDMX\",\n \"business_address\": \"Av. Insurgentes 456, CDMX\",\n \"settlement_account\": \"000000000000000000\",\n \"phone\": \"+521111111111\"\n },\n \"legal_representatives\": [\n {\n \"first_name\": \"Test Customer 1\",\n \"last_name\": \"Customer\",\n \"email\": \"rep@example.com\",\n \"nationality\": \"mx\",\n \"identification_number\": \"AAAA010101HDFAAA01\",\n \"position\": \"Director General\"\n }\n ],\n \"transactional_profile\": {\n \"resource_origins\": [\n \"trusts\",\n \"investments\"\n ],\n \"monthly_amount_range\": \"1_500000\",\n \"monthly_operations_range\": \"1_15000\"\n },\n \"shareholders\": [\n {\n \"type\": \"natural_person\",\n \"name\": \"Test Customer 2\",\n \"last_name\": \"Customer\",\n \"nationality\": \"mx\",\n \"percentage\": 60,\n \"holder_id\": \"AAAA010101AAA\"\n },\n {\n \"type\": \"legal_entity\",\n \"name\": \"Acme SA\",\n \"nationality\": \"mx\",\n \"percentage\": 40,\n \"holder_id\": \"AAA010101AAA\",\n \"children\": [\n {\n \"type\": \"natural_person\",\n \"name\": \"Test Customer 3\",\n \"last_name\": \"Customer\",\n \"nationality\": \"mx\",\n \"percentage\": 80,\n \"holder_id\": \"AAAA010101AAA\"\n }\n ]\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fintoc.com/v2/entities/{entity_id}/onboardings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"company_information\": {\n \"incorporation_date\": \"2020-01-15\",\n \"business_activity\": \"Servicios financieros\",\n \"fiscal_address\": \"Av. Reforma 123, CDMX\",\n \"business_address\": \"Av. Insurgentes 456, CDMX\",\n \"settlement_account\": \"000000000000000000\",\n \"phone\": \"+521111111111\"\n },\n \"legal_representatives\": [\n {\n \"first_name\": \"Test Customer 1\",\n \"last_name\": \"Customer\",\n \"email\": \"rep@example.com\",\n \"nationality\": \"mx\",\n \"identification_number\": \"AAAA010101HDFAAA01\",\n \"position\": \"Director General\"\n }\n ],\n \"transactional_profile\": {\n \"resource_origins\": [\n \"trusts\",\n \"investments\"\n ],\n \"monthly_amount_range\": \"1_500000\",\n \"monthly_operations_range\": \"1_15000\"\n },\n \"shareholders\": [\n {\n \"type\": \"natural_person\",\n \"name\": \"Test Customer 2\",\n \"last_name\": \"Customer\",\n \"nationality\": \"mx\",\n \"percentage\": 60,\n \"holder_id\": \"AAAA010101AAA\"\n },\n {\n \"type\": \"legal_entity\",\n \"name\": \"Acme SA\",\n \"nationality\": \"mx\",\n \"percentage\": 40,\n \"holder_id\": \"AAA010101AAA\",\n \"children\": [\n {\n \"type\": \"natural_person\",\n \"name\": \"Test Customer 3\",\n \"last_name\": \"Customer\",\n \"nationality\": \"mx\",\n \"percentage\": 80,\n \"holder_id\": \"AAAA010101AAA\"\n }\n ]\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "onbprc_0ujsswThIGTUYm2K8FjOOfXtY1K",
"object": "onboarding",
"entity_id": "ent_8anBwgZktbZH6ydyHa6Tm0eM",
"status": "in_progress",
"source": "api",
"submitted_at": null,
"reviewed_at": null,
"submittable": false,
"data": {
"company_information": {
"incorporation_date": "2020-01-15T00:00:00.000Z",
"business_activity": "Servicios financieros",
"fiscal_address": "Av. Reforma 123, CDMX",
"business_address": "Av. Insurgentes 456, CDMX",
"settlement_account": "000000000000000000",
"phone": "+521111111111"
},
"transactional_profile": {
"resource_origins": [
"trusts",
"investments"
],
"monthly_amount_range": "1_500000",
"monthly_operations_range": "1_15000",
"declaration_accepted": true
}
},
"legal_representatives": [
{
"id": "onblr_0ujsswThIGTUYm2K8FjOOfXtY1K",
"object": "onboarding_legal_representative",
"first_name": "Test Customer 1",
"last_name": "Customer",
"email": "rep@example.com",
"nationality": "mx",
"identification_number": "AAAA010101HDFAAA01",
"position": "Director General",
"documents": [
{
"slot_key": "identification",
"status": "missing"
},
{
"slot_key": "power_of_attorney",
"status": "missing"
}
]
}
],
"shareholders": [
{
"id": "onbsh_0ujsswThIGTUYm2K8FjOOfXtY1K",
"object": "onboarding_shareholder",
"type": "natural_person",
"name": "Test Customer 2",
"last_name": "Customer",
"percentage": 60,
"holder_id": "AAAA010101AAA",
"parent_id": null,
"document": {
"slot_key": "identification",
"status": "missing"
}
},
{
"id": "onbsh_8anBwgZktbZH6ydyHa6Tm0eM",
"object": "onboarding_shareholder",
"type": "legal_entity",
"name": "Acme SA",
"percentage": 40,
"holder_id": "AAA010101AAA",
"parent_id": null,
"document": {
"slot_key": "articles_of_incorporation",
"status": "missing"
}
},
{
"id": "onbsh_9bnCxhAlucAI7zezIb7Un1fN",
"object": "onboarding_shareholder",
"type": "natural_person",
"name": "Test Customer 3",
"last_name": "Customer",
"percentage": 80,
"holder_id": "AAAA010101AAA",
"parent_id": "onbsh_8anBwgZktbZH6ydyHa6Tm0eM",
"document": {
"slot_key": "identification",
"status": "missing"
}
}
],
"documents": [
{
"slot_key": "tax_registration_certificate",
"status": "missing"
},
{
"slot_key": "settlement_bank_statement",
"status": "missing"
},
{
"slot_key": "proof_of_address",
"status": "missing"
},
{
"slot_key": "shareholder_structure",
"status": "missing"
},
{
"slot_key": "articles_of_incorporation",
"status": "missing"
}
]
}{
"error": {
"type": "invalid_request_error",
"code": "invalid_shareholder_structure",
"reason": "shareholder_participation_exceeded",
"message": "participation sum for this level exceeds 100",
"param": "shareholders",
"doc_url": "https://docs.fintoc.com/reference/errors"
}
}{
"error": {
"type": "authentication_error",
"code": "invalid_api_key",
"message": "Invalid API Key: invalid-*oken"
}
}{
"error": {
"type": "invalid_request_error",
"code": "missing_resource",
"param": "entity_id",
"message": "No such entity: ent_8anBwgZktbZH6ydyHa6Tm0eM",
"doc_url": "https://docs.fintoc.com/reference/errors"
}
}{
"error": {
"type": "conflicted_request_error",
"code": "conflicted_request",
"message": "An onboarding already exists for this entity",
"active_onboarding_id": "onbprc_0ujsswThIGTUYm2K8FjOOfXtY1K"
}
}{
"error": {
"type": "invalid_request_error",
"code": "country_not_supported",
"message": "Onboarding is not available for foreign entities"
}
}v2 · Base URL https://api.fintoc.com/v2Authorizations
Path Parameters
Unique identifier for the entity, such as ent_8anBwgZktbZH6ydyHa6Tm0eM.
Body
Company information of the entity.
Show child attributes
Show child attributes
Legal representatives of the company. Must contain at least one entry.
Show child attributes
Show child attributes
Expected transactional profile of the entity.
Show child attributes
Show child attributes
Shareholder structure of the entity. Each level's participation percentages must sum to at least 76 and at most 100. Only legal_entity shareholders may declare nested children.
Show child attributes
Show child attributes
Response
The API starts the onboarding process from the provided data and returns the created onboarding.
Unique identifier of the onboarding.
"onbprc_0ujsswThIGTUYm2K8FjOOfXtY1K"
Type of the object. Always onboarding.
Reviewed data for the onboarding, grouped by type. Onboardings created through the API include company_information and transactional_profile. Fintoc sets declaration_accepted to true on creation and returns incorporation_date as an ISO 8601 datetime in UTC.
{ "company_information": { "incorporation_date": "2020-01-15T00:00:00.000Z", "business_activity": "Servicios financieros", "fiscal_address": "Av. Reforma 123, CDMX", "business_address": "Av. Insurgentes 456, CDMX", "settlement_account": "000000000000000000", "phone": "+521111111111" }, "transactional_profile": { "resource_origins": ["trusts", "investments"], "monthly_amount_range": "1_500000", "monthly_operations_range": "1_15000", "declaration_accepted": true } }
Document slots for the onboarding, with their upload status.
Show child attributes
Show child attributes
Identifier of the entity this onboarding belongs to. null if not associated with an entity.
"ent_8anBwgZktbZH6ydyHa6Tm0eM"
Legal representatives declared for the entity.
Show child attributes
Show child attributes
ISO 8601 datetime, in UTC, of when the onboarding was reviewed. null until it is reviewed.
"2026-01-16T09:00:00Z"
Shareholders declared for the entity.
Show child attributes
Show child attributes
Channel the onboarding is being completed through. One of api or dashboard.
api, dashboard "api"
Current status of the onboarding. One of pending, in_progress, submitted, approved, rejected or cancelled.
pending, in_progress, submitted, approved, rejected, cancelled "pending"
Whether the onboarding has every required field and document completed and can be submitted for review.
false
ISO 8601 datetime, in UTC, of when the onboarding was submitted for review. null until it is submitted.
"2026-01-15T14:30:00Z"
Was this page helpful?