Create a merchant owner
curl --request POST \
--url https://api.tilta.io/v1/merchants/{external_id}/owners \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"person_external_id": "<string>",
"percent_ownership": 50
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({person_external_id: '<string>', percent_ownership: 50})
};
fetch('https://api.tilta.io/v1/merchants/{external_id}/owners', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.tilta.io/v1/merchants/{external_id}/owners"
payload = {
"person_external_id": "<string>",
"percent_ownership": 50
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tilta.io/v1/merchants/{external_id}/owners",
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([
'person_external_id' => '<string>',
'percent_ownership' => 50
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"person_external_id": "<string>",
"merchant_external_id": "<string>",
"status": "PENDING_VERIFICATION",
"percent_ownership": 50,
"role": "REAL"
}{
"code": "BAD_REQUEST",
"error": "Request validation failed. 1 issue found.",
"issues": [
{
"code": "INVALID_TYPE",
"path": "body.registered_at",
"message": "Invalid type"
}
]
}{
"error": "Unauthorized",
"code": "UNAUTHORIZED"
}Merchants
Add an owner
Register an existing person as an ultimate beneficial owner of a merchant, including the percentage of the entity they own.
POST
/
v1
/
merchants
/
{external_id}
/
owners
Create a merchant owner
curl --request POST \
--url https://api.tilta.io/v1/merchants/{external_id}/owners \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"person_external_id": "<string>",
"percent_ownership": 50
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({person_external_id: '<string>', percent_ownership: 50})
};
fetch('https://api.tilta.io/v1/merchants/{external_id}/owners', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.tilta.io/v1/merchants/{external_id}/owners"
payload = {
"person_external_id": "<string>",
"percent_ownership": 50
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.tilta.io/v1/merchants/{external_id}/owners",
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([
'person_external_id' => '<string>',
'percent_ownership' => 50
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}{
"person_external_id": "<string>",
"merchant_external_id": "<string>",
"status": "PENDING_VERIFICATION",
"percent_ownership": 50,
"role": "REAL"
}{
"code": "BAD_REQUEST",
"error": "Request validation failed. 1 issue found.",
"issues": [
{
"code": "INVALID_TYPE",
"path": "body.registered_at",
"message": "Invalid type"
}
]
}{
"error": "Unauthorized",
"code": "UNAUTHORIZED"
}Declare a natural person who ultimately owns or controls the merchant, together with the share of the entity they hold.
The person must already exist in Tilta. Create them with the Create person endpoint
first, and make sure the record carries accurate identity and address information – it is used for KYC verification.
Declared ownership percentages are verified as part of KYB. Inaccurate ownership information can result in the merchant being
rejected.
Authorizations
Your Tilta API key, sent as Bearer <key>.
Path Parameters
Unique identifier of a merchant.
Maximum string length:
100Pattern:
^[a-zA-Z0-9-_]+$Body
application/json
Response
Available options:
PENDING_VERIFICATION, VERIFYING, NEEDS_REVIEW, MANUAL_REVIEW, REJECTED, APPROVED, SUSPENDED, INACTIVE Required range:
0 <= x <= 100Available options:
REAL, FICTIONAL