curl --request PUT \
--url https://api.tilta.io/v1/merchants/{external_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"legal_name": "ACME Distribution GmbH",
"trading_name": "ACME",
"business_identifiers": [
{
"value": "<string>"
}
],
"business_address": {
"postcode": "12345",
"city": "Berlin",
"street": "Example Street",
"house": "42b",
"additional": "c/o Testimonial"
},
"contact_emails": [
"jsmith@example.com"
],
"incorporated_at": 1582896122
}
'const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
legal_name: 'ACME Distribution GmbH',
trading_name: 'ACME',
business_identifiers: [{value: '<string>'}],
business_address: {
postcode: '12345',
city: 'Berlin',
street: 'Example Street',
house: '42b',
additional: 'c/o Testimonial'
},
contact_emails: ['jsmith@example.com'],
incorporated_at: 1582896122
})
};
fetch('https://api.tilta.io/v1/merchants/{external_id}', 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}"
payload = {
"legal_name": "ACME Distribution GmbH",
"trading_name": "ACME",
"business_identifiers": [{ "value": "<string>" }],
"business_address": {
"postcode": "12345",
"city": "Berlin",
"street": "Example Street",
"house": "42b",
"additional": "c/o Testimonial"
},
"contact_emails": ["jsmith@example.com"],
"incorporated_at": 1582896122
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(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}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'legal_name' => 'ACME Distribution GmbH',
'trading_name' => 'ACME',
'business_identifiers' => [
[
'value' => '<string>'
]
],
'business_address' => [
'postcode' => '12345',
'city' => 'Berlin',
'street' => 'Example Street',
'house' => '42b',
'additional' => 'c/o Testimonial'
],
'contact_emails' => [
'jsmith@example.com'
],
'incorporated_at' => 1582896122
]),
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;
}{
"external_id": "<string>",
"status": "ENROLLED",
"created_at": 1582896122,
"updated_at": 1582896122,
"legal_name": "ACME Distribution GmbH",
"legal_form": "LIMITED_COMPANY",
"business_address": {
"postcode": "12345",
"city": "Berlin",
"country": "AF",
"street": "Example Street",
"house": "42b",
"additional": "c/o Testimonial"
},
"contact_emails": [
"jsmith@example.com"
],
"trading_name": "ACME",
"business_identifiers": [
{
"type": "VAT_ID",
"value": "<string>",
"country": "AF"
}
],
"incorporated_at": 1582896122
}{
"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"
}Replace a merchant
Fully replace an existing merchant record using PUT semantics. All fields are overwritten, including the business_identifiers array.
curl --request PUT \
--url https://api.tilta.io/v1/merchants/{external_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"legal_name": "ACME Distribution GmbH",
"trading_name": "ACME",
"business_identifiers": [
{
"value": "<string>"
}
],
"business_address": {
"postcode": "12345",
"city": "Berlin",
"street": "Example Street",
"house": "42b",
"additional": "c/o Testimonial"
},
"contact_emails": [
"jsmith@example.com"
],
"incorporated_at": 1582896122
}
'const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
legal_name: 'ACME Distribution GmbH',
trading_name: 'ACME',
business_identifiers: [{value: '<string>'}],
business_address: {
postcode: '12345',
city: 'Berlin',
street: 'Example Street',
house: '42b',
additional: 'c/o Testimonial'
},
contact_emails: ['jsmith@example.com'],
incorporated_at: 1582896122
})
};
fetch('https://api.tilta.io/v1/merchants/{external_id}', 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}"
payload = {
"legal_name": "ACME Distribution GmbH",
"trading_name": "ACME",
"business_identifiers": [{ "value": "<string>" }],
"business_address": {
"postcode": "12345",
"city": "Berlin",
"street": "Example Street",
"house": "42b",
"additional": "c/o Testimonial"
},
"contact_emails": ["jsmith@example.com"],
"incorporated_at": 1582896122
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(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}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'legal_name' => 'ACME Distribution GmbH',
'trading_name' => 'ACME',
'business_identifiers' => [
[
'value' => '<string>'
]
],
'business_address' => [
'postcode' => '12345',
'city' => 'Berlin',
'street' => 'Example Street',
'house' => '42b',
'additional' => 'c/o Testimonial'
],
'contact_emails' => [
'jsmith@example.com'
],
'incorporated_at' => 1582896122
]),
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;
}{
"external_id": "<string>",
"status": "ENROLLED",
"created_at": 1582896122,
"updated_at": 1582896122,
"legal_name": "ACME Distribution GmbH",
"legal_form": "LIMITED_COMPANY",
"business_address": {
"postcode": "12345",
"city": "Berlin",
"country": "AF",
"street": "Example Street",
"house": "42b",
"additional": "c/o Testimonial"
},
"contact_emails": [
"jsmith@example.com"
],
"trading_name": "ACME",
"business_identifiers": [
{
"type": "VAT_ID",
"value": "<string>",
"country": "AF"
}
],
"incorporated_at": 1582896122
}{
"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"
}PUT semantics. Every field in the merchant record is overwritten with the values you provide in the request body – any field you omit will be cleared or reset to its default. In particular, the business_identifiers array is replaced entirely, so you must re-include any existing identifiers you want to retain. If you only need to update a subset of fields, retrieve the current merchant first using the Retrieve merchant endpoint, modify the fields you need, and then submit the complete merged payload to this endpoint.
ENROLLED merchant stays enrolled after a data update,
and any active financing arrangements continue uninterrupted.Authorizations
Your Tilta API key, sent as Bearer <key>.
Path Parameters
Unique identifier of a merchant.
100^[a-zA-Z0-9-_]+$Body
Merchant's full legal name incl. the legal form if applicable.
"ACME Distribution GmbH"
Merchant's legal form.
LIMITED_COMPANY, SOLE_TRADER, PARTNERSHIP, PUBLIC_COMPANY, COOPERATIVE, GOVERNMENT, OTHER Merchant's trading name. Send null to clear.
"ACME"
List of business identifiers. Replaces the existing set entirely. Send [] to clear all identifiers.
Show child attributes
Show child attributes
Merchant's address.
Show child attributes
Show child attributes
Merchant's contact emails.
10Merchant's date of incorporation (unix time in seconds). Send null to clear.
1582896122
Response
A merchant has been successfully created or updated.
Unique identifier of a merchant.
100^[a-zA-Z0-9-_]+$Merchant's enrollment status
ENROLLED, INACTIVE, EXPIRED Timestamp indicating when the merchant was created (unix time in seconds).
1582896122
Timestamp indicating the last time the merchant was updated (unix time in seconds).
1582896122
Merchant's full legal name incl. the legal form if applicable.
"ACME Distribution GmbH"
Merchant's legal form, which depends on the merchant's registered country. Available legal forms cover Tilta's operating countries.
LIMITED_COMPANY, SOLE_TRADER, PARTNERSHIP, PUBLIC_COMPANY, COOPERATIVE, GOVERNMENT, OTHER Merchant's address.
Show child attributes
Show child attributes
Merchant's contact emails
10Merchant's trading name.
"ACME"
A list of business identifiers
Show child attributes
Show child attributes
Merchant's date of incorporation (unix time in seconds), meaning the date when the business of registered or started.
1582896122