Replacing the host list
curl --request POST \
--url https://api.vizito.eu/api/visitees/external/upload/{company_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"data": [
{
"cn": "<string>",
"mail": "jsmith@example.com",
"mobile": "<string>",
"telephoneNumber": "<string>"
}
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
data: [
{
cn: '<string>',
mail: 'jsmith@example.com',
mobile: '<string>',
telephoneNumber: '<string>'
}
]
})
};
fetch('https://api.vizito.eu/api/visitees/external/upload/{company_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.vizito.eu/api/visitees/external/upload/{company_id}"
payload = { "data": [
{
"cn": "<string>",
"mail": "jsmith@example.com",
"mobile": "<string>",
"telephoneNumber": "<string>"
}
] }
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.vizito.eu/api/visitees/external/upload/{company_id}",
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([
'data' => [
[
'cn' => '<string>',
'mail' => 'jsmith@example.com',
'mobile' => '<string>',
'telephoneNumber' => '<string>'
]
]
]),
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;
}{
"message": "visitees.SUCCESS",
"hosts_imported": 123
}{
"error": "Invalid API key"
}{
"error": "Invalid API key"
}Hosts
Replacing the host list
Replaces the location’s external host list with what you send. The previous external set is deleted first, so this is a full sync rather than a merge. An empty array clears the list.
One upload per location per 24 hours. A second call inside that
window answers 200 with hosts_imported: 0 and changes nothing — it
does not report an error. Schedule it as a nightly job.
POST
/
visitees
/
external
/
upload
/
{company_id}
Replacing the host list
curl --request POST \
--url https://api.vizito.eu/api/visitees/external/upload/{company_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"data": [
{
"cn": "<string>",
"mail": "jsmith@example.com",
"mobile": "<string>",
"telephoneNumber": "<string>"
}
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
data: [
{
cn: '<string>',
mail: 'jsmith@example.com',
mobile: '<string>',
telephoneNumber: '<string>'
}
]
})
};
fetch('https://api.vizito.eu/api/visitees/external/upload/{company_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.vizito.eu/api/visitees/external/upload/{company_id}"
payload = { "data": [
{
"cn": "<string>",
"mail": "jsmith@example.com",
"mobile": "<string>",
"telephoneNumber": "<string>"
}
] }
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.vizito.eu/api/visitees/external/upload/{company_id}",
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([
'data' => [
[
'cn' => '<string>',
'mail' => 'jsmith@example.com',
'mobile' => '<string>',
'telephoneNumber' => '<string>'
]
]
]),
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;
}{
"message": "visitees.SUCCESS",
"hosts_imported": 123
}{
"error": "Invalid API key"
}{
"error": "Invalid API key"
}Authorizations
An API key issued in the Backoffice, sent as Authorization: Bearer vzk_<key id>_<secret>.
A Microsoft Entra ID access token obtained with the client credentials
grant is accepted on the same header. The same value is also accepted in
an X-API-Key header.
Path Parameters
The location. A 24-character hexadecimal id.
Pattern:
^[0-9a-fA-F]{24}$Example:
"5f2a1b9c4d3e2f0011223344"
Body
application/json
Show child attributes
Show child attributes

