Introduction
Ette API docs
This documentation aims to provide all the information you need to work with our API.
Authenticating requests
To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".
All authenticated endpoints are marked with a requires authentication badge in the documentation below.
You can retrieve your token by send request to api/v1/auth/login.
Auth
Check account state
Проверяет связку роль + телефон + email (+ ИНН компании) перед авторизацией или регистрацией
и возвращает состояние учётной записи.
Ответ всегда содержит `status`, `next_action` и `message`.
Возможные `status`: `account_active`, `pending_admin`, `account_deleted`, `account_blocked`,
`company_already_registered`, `employee_already_exists`, `organization_inactive`,
`role_mismatch`, `credentials_mismatch`, `account_not_found`, `sms_required`.
Возможные `next_action`: `login`, `reset_password`, `enter_sms`, `wait_for_admin`,
`register`, `contact_support`, `restore_account`.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/auth/state" \
--header "Content-Type: application/json" \
--data "{
\"role\": \"estate-agent\",
\"phone\": \"ywjtuwtkzdapaz\",
\"email\": \"alycia.skiles@example.com\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/state"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"role": "estate-agent",
"phone": "ywjtuwtkzdapaz",
"email": "alycia.skiles@example.com"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"status": "account_active",
"next_action": "login",
"message": "Учетная запись уже зарегистрирована. Войдите или восстановите пароль.",
"actions": [
{
"code": "login",
"label": "Войти"
},
{
"code": "reset_password",
"label": "Восстановить пароль"
}
]
},
"error": null,
"message": "Success"
}
Example response (422):
{
"message": "The selected role is invalid.",
"errors": {
"role": [
"The selected role is invalid."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Login user
This endpoint allows to login user.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/auth/login" \
--header "Content-Type: application/json" \
--data "{
\"login\": \"debitis\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/login"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"login": "debitis"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"token": "19|DCyQVNUpDoGjUQHMkOEoynd7K7Hr5wyz2S4bjQgTbe34157c",
"type": "Bearer"
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "The provided credentials are incorrect."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Login impersonate
This endpoint allows to login user.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/auth/login/impersonate" \
--header "Content-Type: application/json" \
--data "{
\"login\": \"nihil\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/login/impersonate"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"login": "nihil"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"token": "19|DCyQVNUpDoGjUQHMkOEoynd7K7Hr5wyz2S4bjQgTbe34157c",
"type": "Bearer"
},
"error": null,
"message": "Success"
}
Example response (403):
{
"message": "Forbidden"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Select role after login
requires authentication
Обменивает одноразовый `login_token`, выданный `POST /auth/login`, на access token,
привязанный к выбранной роли.
`login_token` передаётся в заголовке `Authorization: Bearer <login_token>`,
роль — в теле запроса (`role_id` либо `role` с именем роли).
Backend проверяет, что роль назначена пользователю, гасит временный токен
и выдаёт role-scoped access token. Только он открывает прикладные endpoint'ы.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/auth/login/select-role" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/login/select-role"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"token": "19|DCyQVNUpDoGjUQHMkOEoynd7K7Hr5wyz2S4bjQgTbe34157c",
"type": "Bearer",
"active_role": {
"id": "9b535d76-da75-42d5-8eb1-66f622e8ee26",
"name": "estate-agent",
"description": "Сотрудник агентства недвижимости"
}
},
"error": null,
"message": "Success"
}
Example response (403):
{
"success": false,
"data": null,
"error": {
"code": 403,
"message": "Выбранная роль не назначена пользователю."
},
"message": "Error"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Login user by phone
This endpoint allows to login user by phone.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/auth/send_code" \
--header "Content-Type: application/json" \
--data "{
\"iso_code\": \"odit\",
\"phone\": \"voluptatum\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/send_code"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"iso_code": "odit",
"phone": "voluptatum"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"token": "19|DCyQVNUpDoGjUQHMkOEoynd7K7Hr5wyz2S4bjQgTbe34157c",
"type": "Bearer"
},
"error": null,
"message": "Success"
}
Example response (422):
{
"message": "The phone field format is invalid.",
"errors": {
"phone": [
"The phone field format is invalid."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
User Login
This endpoint allows you to authenticate a user with username and password.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/auth/check_code?code=14269&phone=%2B79123456789" \
--header "Content-Type: application/json" \
--data "{
\"code\": \"est\",
\"phone\": \"et\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/check_code"
);
const params = {
"code": "14269",
"phone": "+79123456789",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"code": "est",
"phone": "et"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"token": "1163|GIWcGWTPNVN5XnJSTCvYyPc0fV36zzrPWfHfPe6K814886a6",
"type": "Bearer",
"sms_status": {
"ok": true,
"message": "Success"
}
},
"error": null,
"message": "Success"
}
Example response (422):
{
"success": false,
"data": null,
"error": "Invalid verification code.",
"message": "Invalid verification code."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Check organization registration verification code
This endpoint allows to check verification code for organization registration.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/auth/register/send_code" \
--header "Content-Type: application/json" \
--data "{
\"iso_code\": \"saepe\",
\"phone\": \"et\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/register/send_code"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"iso_code": "saepe",
"phone": "et"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"ok": true,
"message": "Success"
},
"error": null,
"message": "Success"
}
Example response (422):
{
"message": "The phone field is required.",
"errors": {
"phone": [
"The phone field is required."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Check registration code
This endpoint allows to check registration code.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/auth/register/check_code" \
--header "Content-Type: application/json" \
--data "{
\"code\": \"omnis\",
\"phone\": \"impedit\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/register/check_code"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"code": "omnis",
"phone": "impedit"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"ok": true,
"message": "Success"
},
"error": null,
"message": "Success"
}
Example response (422):
{
"success": false,
"data": null,
"error": "Invalid verification code.",
"message": "Invalid verification code."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Register user
This endpoint allows to register user.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/auth/register/user" \
--header "Content-Type: application/json" \
--data "{
\"name\": \"occaecati\",
\"email\": \"edna.walsh@example.net\",
\"phone\": null,
\"password\": \"unde\",
\"roles\": [
\"lawyer\"
],
\"confirmed\": false
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/register/user"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "occaecati",
"email": "edna.walsh@example.net",
"phone": null,
"password": "unde",
"roles": [
"lawyer"
],
"confirmed": false
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"token": "1163|GIWcGWTPNVN5XnJSTCvYyPc0fV36zzrPWfHfPe6K814886a6",
"type": "Bearer",
"active_role": {
"id": "9b535d76-da75-42d5-8eb1-66f622e8ee26",
"name": "private-person",
"description": "Частное лицо"
}
}
Example response (200, Продавец: сначала подтверждение телефона, токена нет):
{
"status": "sms_required",
"next_action": "enter_sms",
"message": "Подтвердите номер телефона — введите код из SMS.",
"actions": [
{
"code": "enter_sms",
"label": "Ввести код из SMS"
}
],
"user_id": "9b535d77-a626-4add-8232-e7b64370e239"
}
Example response (422):
{
"message": "The email has already been taken.",
"errors": {
"email": [
"The email has already been taken."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Register organization
This endpoint allows to register an organization.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/auth/register/organization" \
--header "Content-Type: application/json" \
--data "{
\"user\": {
\"name\": \"velit\",
\"email\": \"rosalia.okeefe@example.org\",
\"phone\": \"quasi\",
\"inn\": \"ut\",
\"password\": \"non\",
\"profile_photo_path\": \"in\",
\"birthday\": \"velit\",
\"roles\": [
\"private-person\"
],
\"realtyExportUrl\": \"http:\\/\\/williamson.com\\/delectus-aperiam-deleniti-nisi-sed-rem\",
\"realtyExportAuthToken\": \"buxgqxkmsczioga\"
},
\"organization\": {
\"id\": \"architecto\",
\"inn\": \"voluptas\",
\"name\": \"similique\",
\"address\": {
\"country\": \"iusto\",
\"state\": \"voluptatem\",
\"city\": \"minima\",
\"postal_code\": \"quia\",
\"area\": \"repellat\",
\"street\": \"voluptatem\",
\"street_number\": \"odio\",
\"cadastral_number\": \"ratione\"
},
\"email\": \"gaylord.georgianna@example.com\",
\"phone\": \"corporis\",
\"type\": \"builder\"
}
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/register/organization"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"user": {
"name": "velit",
"email": "rosalia.okeefe@example.org",
"phone": "quasi",
"inn": "ut",
"password": "non",
"profile_photo_path": "in",
"birthday": "velit",
"roles": [
"private-person"
],
"realtyExportUrl": "http:\/\/williamson.com\/delectus-aperiam-deleniti-nisi-sed-rem",
"realtyExportAuthToken": "buxgqxkmsczioga"
},
"organization": {
"id": "architecto",
"inn": "voluptas",
"name": "similique",
"address": {
"country": "iusto",
"state": "voluptatem",
"city": "minima",
"postal_code": "quia",
"area": "repellat",
"street": "voluptatem",
"street_number": "odio",
"cadastral_number": "ratione"
},
"email": "gaylord.georgianna@example.com",
"phone": "corporis",
"type": "builder"
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"ok": true,
"message": "Success"
},
"error": null,
"message": "Success"
}
Example response (422):
{
"message": "The inn field must be 10 digits.",
"errors": {
"inn": [
"The inn field must be 10 digits."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Password Forgot
requires authentication
This endpoint allows you to password forgot.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/auth/password/forgot" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/password/forgot"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"ok": true,
"message": "Success"
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "Current password is incorrect."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Token Validate
requires authentication
This endpoint allows you to token validate.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/auth/password/validate_token" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"received_token\": \"delectus\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/password/validate_token"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"received_token": "delectus"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"valid": true
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"success": false,
"data": {
"valid": false
},
"error": "Token is invalid.",
"message": "Token is invalid."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Password Reset
requires authentication
Меняет пароль по токену из письма и возвращает одноразовый `login_token`
со списком ролей — дальше фронт идёт в `POST /auth/login/select-role`,
как после обычного логина.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/auth/password/reset" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"password\": \"-eZ~I+iN?\",
\"token\": \"cupiditate\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/password/reset"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"password": "-eZ~I+iN?",
"token": "cupiditate"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"login_token": "19|DCyQVNUpDoGjUQHMkOEoynd7K7Hr5wyz2S4bjQgTbe34157c",
"type": "Bearer",
"roles": [
{
"id": "9b535d76-da75-42d5-8eb1-66f622e8ee26",
"name": "estate-agent",
"description": "Сотрудник агентства недвижимости"
}
]
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "Invalid or expired reset token."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
User Logout
requires authentication
Отзывает текущий токен: role-scoped access token либо временный login-токен.
Остальные сессии пользователя (другие устройства, другие выбранные роли) продолжают работать.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/auth/logout" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/logout"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Switch active role
requires authentication
Меняет активную роль без повторного входа: действующий access token обменивается
на токен другой роли, уже назначенной пользователю.
Текущий токен передаётся в заголовке `Authorization: Bearer <access_token>`,
новая роль — в теле (`role_id` либо `role` с именем роли).
Старый токен гасится: продолжать работать под прежней ролью после смены нельзя.
Временный `login_token` для смены роли не подходит — используйте `/auth/login/select-role`.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/auth/login/switch-role" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/login/switch-role"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"token": "20|hxYbbSSbYSVg8BYLDm4kklRTBvoHwnOP9uJpQqEqb6104694",
"type": "Bearer",
"active_role": {
"id": "9b535d76-da75-42d5-8eb1-66f622e8ee26",
"name": "builder",
"description": "Застройщик"
}
},
"error": null,
"message": "Success"
}
Example response (403):
{
"success": false,
"data": null,
"error": {
"code": 403,
"message": "Выбранная роль не назначена пользователю."
},
"message": "Error"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Admin Auth User
requires authentication
This endpoint allows you to admin auth user.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/auth/user/a00e73ba-d70a-43dd-bacf-4464fffedaa2" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/user/a00e73ba-d70a-43dd-bacf-4464fffedaa2"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"token": "23|PjPN45xC7x80qzq6wL7A2N8Y2qf2rKJQ6EZyaYp9",
"type": "Bearer"
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "User not found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete realty contacts
requires authentication
This endpoint allows you to delete realty contacts.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/realty/contacts/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/realty/contacts/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"status": "Hard deleted"
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Auth user info
requires authentication
This endpoint allows you to get authenticated user information.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/auth/user" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/user"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": {
"id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"name": "Example manager",
"birthday": "",
"email": "manager@example.com",
"phone": {
"value": "+79209773366"
},
"profile_photo_path": null,
"roles": [
{
"id": "9b535d76-da75-42d5-8eb1-66f622e8ee26",
"name": "user manager",
"description": "User manager"
}
],
"descendant_roles": [],
"department": null,
"permissions": [
{
"name": "create_user",
"description": ""
}
],
"modals": [],
"organization": {
"id": "9b535d77-a626-4add-8232-e7b64370e239",
"inn": "123456789"
},
"created_at": "2024-02-13 11 =>25 =>26"
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Blog
Delete Tag
requires authentication
This endpoint allows you to delete Tag.
Get All Blog Article
requires authentication
This endpoint allows you to get All Blog Articles.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/articles" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/articles"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"articles": [
{
"id": "9a0f6075-2e5f-455c-b5cc-3e2ac5c50189",
"title": "Test article",
"category": {
"id": "99fcf286-a8ae-48dd-a873-c7a958ff04a8",
"name": "Test category"
},
"text": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"images": [
{
"folder_name": "news",
"images": [
{
"id": 92521,
"mime_type": "image/jpeg",
"name": "640-1920x1080",
"original_url": "http://api.ette.local/storage/92521/640-1920x1080.jpg",
"is_main": true,
"just_for_me": false
},
{
"id": 92522,
"mime_type": "image/jpeg",
"name": "640-1920x1080",
"original_url": "http://api.ette.local/storage/92522/640-1920x1080.jpg",
"is_main": false,
"just_for_me": false
}
]
}
],
"status": "published",
"created_at": "2023-09-05 10=>05=>34"
}
],
"links": {
"first": "http://localhost/api/v1/articles?page=1",
"last": "http://localhost/api/v1/articles?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "pagination.previous",
"active": false
},
{
"url": "http://localhost/api/v1/articles?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "pagination.next",
"active": false
}
],
"path": "http://localhost/api/v1/articles",
"per_page": 15,
"to": 1,
"total": 1
}
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show Blog Article
requires authentication
This endpoint allows you to get Blog Article by UUID.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/articles/a02a6ef8-025a-4d83-b1a8-9f970916b7d2/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/articles/a02a6ef8-025a-4d83-b1a8-9f970916b7d2/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"article": {
"id": "9a0f6075-2e5f-455c-b5cc-3e2ac5c50189",
"title": "Test article",
"category": {
"id": "99fcf286-a8ae-48dd-a873-c7a958ff04a8",
"name": "Test category"
},
"text": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"images": [
{
"folder_name": "news",
"images": [
{
"id": 92521,
"mime_type": "image/jpeg",
"name": "640-1920x1080",
"original_url": "http://api.ette.local/storage/92521/640-1920x1080.jpg",
"is_main": true,
"just_for_me": false
},
{
"id": 92522,
"mime_type": "image/jpeg",
"name": "640-1920x1080",
"original_url": "http://api.ette.local/storage/92522/640-1920x1080.jpg",
"is_main": false,
"just_for_me": false
}
]
}
],
"status": "published",
"created_at": "2023-09-05 10=>05=>34"
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete Blog Article
requires authentication
This endpoint allows you to delete Blog Article.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/articles/a02a6ef8-025a-4d83-b1a8-9f970916b7d2" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/articles/a02a6ef8-025a-4d83-b1a8-9f970916b7d2"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create Blog Article
requires authentication
This endpoint allows you to create Blog Article.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/articles" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"title\": \"nyfgmadrznezszdfpizdeig\",
\"text\": \"debitis\",
\"article_category_id\": \"107954d0-31a4-3470-961b-73641c019482\",
\"status\": \"draft\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/articles"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"title": "nyfgmadrznezszdfpizdeig",
"text": "debitis",
"article_category_id": "107954d0-31a4-3470-961b-73641c019482",
"status": "draft"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"article": {
"id": "9a0f6075-2e5f-455c-b5cc-3e2ac5c50189",
"title": "Test article",
"category": {
"id": "99fcf286-a8ae-48dd-a873-c7a958ff04a8",
"name": "Test category"
},
"text": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"images": [
{
"folder_name": "news",
"images": [
{
"id": 92521,
"mime_type": "image/jpeg",
"name": "640-1920x1080",
"original_url": "http://api.ette.local/storage/92521/640-1920x1080.jpg",
"is_main": true,
"just_for_me": false
},
{
"id": 92522,
"mime_type": "image/jpeg",
"name": "640-1920x1080",
"original_url": "http://api.ette.local/storage/92522/640-1920x1080.jpg",
"is_main": false,
"just_for_me": false
}
]
}
],
"status": "published",
"created_at": "2023-09-05 10=>05=>34"
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Blog Article
requires authentication
This endpoint allows you to Update Blog Article.
Example request:
curl --request PATCH \
"https://staging-api.ette.ru/api/v1/articles/894fe12e-0304-35a2-bb49-e5f3b664e51e/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"edfc79b3-5cf1-3e28-9398-a4c1ca2d41b9\",
\"title\": \"klyrrdrpucg\",
\"text\": \"esse\",
\"article_category_id\": \"3cea5b35-5519-3813-9a88-ec288a50d7a7\",
\"status\": \"draft\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/articles/894fe12e-0304-35a2-bb49-e5f3b664e51e/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "edfc79b3-5cf1-3e28-9398-a4c1ca2d41b9",
"title": "klyrrdrpucg",
"text": "esse",
"article_category_id": "3cea5b35-5519-3813-9a88-ec288a50d7a7",
"status": "draft"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"article": {
"id": "9a0f6075-2e5f-455c-b5cc-3e2ac5c50189",
"title": "Test article",
"category": {
"id": "99fcf286-a8ae-48dd-a873-c7a958ff04a8",
"name": "Test category"
},
"text": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"images": [
{
"folder_name": "news",
"images": [
{
"id": 92521,
"mime_type": "image/jpeg",
"name": "640-1920x1080",
"original_url": "http://api.ette.ru/storage/92521/640-1920x1080.jpg",
"is_main": true,
"just_for_me": false
},
{
"id": 92522,
"mime_type": "image/jpeg",
"name": "640-1920x1080",
"original_url": "http://api.ette.ru/storage/92522/640-1920x1080.jpg",
"is_main": false,
"just_for_me": false
}
]
}
],
"status": "published",
"created_at": "2023-09-05 10=>05=>34"
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Blog Article Status
requires authentication
This endpoint allows you to Update Blog Article Status.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/articles/status/894fe12e-0304-35a2-bb49-e5f3b664e51e" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"5f644641-9da7-36d1-bf8e-b4513db97d69\",
\"status\": \"draft\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/articles/status/894fe12e-0304-35a2-bb49-e5f3b664e51e"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "5f644641-9da7-36d1-bf8e-b4513db97d69",
"status": "draft"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"article": {
"id": "9a0f6075-2e5f-455c-b5cc-3e2ac5c50189",
"title": "Test article",
"category": {
"id": "99fcf286-a8ae-48dd-a873-c7a958ff04a8",
"name": "Test category"
},
"text": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"images": [
{
"folder_name": "news",
"images": [
{
"id": 92521,
"mime_type": "image/jpeg",
"name": "640-1920x1080",
"original_url": "http://api.ette.local/storage/92521/640-1920x1080.jpg",
"is_main": true,
"just_for_me": false
},
{
"id": 92522,
"mime_type": "image/jpeg",
"name": "640-1920x1080",
"original_url": "http://api.ette.local/storage/92522/640-1920x1080.jpg",
"is_main": false,
"just_for_me": false
}
]
}
],
"status": "published",
"created_at": "2023-09-05 10=>05=>34"
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get All Blog Category
requires authentication
is endpoint allows you to get All Blog Category.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/articles-categories" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/articles-categories"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"article_categories": [
{
"id": "9a2233075-2e5f-455c-b5cc-3e2ac5c50189",
"name": "titlename2",
"article_count": 11
},
{
"id": "9a0f6075-2e5f-455c-b5cc-3e2ac5c50189",
"name": "titlename",
"article_count": 15
}
]
},
"links": {
"first": "http://localhost/api/v1/articles-categories?page=1",
"last": "http://localhost/api/v1/articles-categorie?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "pagination.previous",
"active": false
},
{
"url": "http://localhost/api/v1/articles-categorie?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "pagination.next",
"active": false
}
],
"path": "http://localhost/api/v1/articles-categorie",
"per_page": 15,
"to": 1,
"total": 1
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show Blog Category
requires authentication
is endpoint allows you to show Blog Category.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/articles-categories/0b94fe53-811c-4d23-b1d5-4f842f9b8b30/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/articles-categories/0b94fe53-811c-4d23-b1d5-4f842f9b8b30/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"article_category": {
"id": "9a0f6075-2e5f-455c-b5cc-3e2ac5c50189",
"name": "titlename",
"articles": [
{
"id": "9a0f6075-2e5f-455c-b5cc-3e2ac5c50189",
"title": "aaa22",
"created_at": "2023-09-05 10=>05=>34",
"image": {
"3e77eca5-ad48-43b7-99b-4369bea3806a": {
"name": "joda",
"file_name": "joda.jpeg",
"uuid": "3е77eca5-ad48-43b7-99b-4369bea3806a",
"preview_url": "",
"original_url": "http://localhost/storage/100/ioda.jpeg",
"order": 1,
"custom properties": [],
"extension": "jpeg",
"size": "7112"
}
}
}
]
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete Blog Category
requires authentication
This endpoint allows you to delete Blog Category.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/articles-categories/0b94fe53-811c-4d23-b1d5-4f842f9b8b30" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/articles-categories/0b94fe53-811c-4d23-b1d5-4f842f9b8b30"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create Blog Category
requires authentication
is endpoint allows you to create Blog Category.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/articles-categories" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"name\": \"gjkoxddjbry\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/articles-categories"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "gjkoxddjbry"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"article_category": {
"id": "9a0f6075-2e5f-455c-b5cc-3e2ac5c50189",
"name": "titlename",
"articles": []
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Blog Category
requires authentication
is endpoint allows you to update Blog Category.
Example request:
curl --request PUT \
"https://staging-api.ette.ru/api/v1/articles-categories/894fe12e-0304-35a2-bb49-e5f3b664e51e/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"10b714f0-7270-3c56-9871-3b99cac31888\",
\"name\": \"xdvrdcqbzcpjvosxrdvsg\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/articles-categories/894fe12e-0304-35a2-bb49-e5f3b664e51e/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "10b714f0-7270-3c56-9871-3b99cac31888",
"name": "xdvrdcqbzcpjvosxrdvsg"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"article_category": {
"id": "9a0f6075-2e5f-455c-b5cc-3e2ac5c50189",
"name": "titlename",
"articles": []
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Chat
Get All Conversations
requires authentication
This endpoint allows you to get All Conversation.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/chats" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/chats"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show Conversation
requires authentication
This endpoint allows you to get Conversation by UUID.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/chats/894fe12e-0304-35a2-bb49-e5f3b664e51e/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/chats/894fe12e-0304-35a2-bb49-e5f3b664e51e/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create Conversation
requires authentication
This endpoint allows you to create Conversation.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/chats/create" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"realty_id\": \"5e6b5998-703f-3592-b58f-7e42b80c8649\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chats/create"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"realty_id": "5e6b5998-703f-3592-b58f-7e42b80c8649"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Conversation
requires authentication
This endpoint allows you to update Conversation.
Example request:
curl --request PUT \
"https://staging-api.ette.ru/api/v1/chats/update/894fe12e-0304-35a2-bb49-e5f3b664e51e" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"cde1a4c1-1210-3b0d-affd-cad2a5e02ac1\",
\"realty_id\": \"a1eb434f-aa93-33ec-8af2-32136d6dedae\",
\"status\": \"rejected\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chats/update/894fe12e-0304-35a2-bb49-e5f3b664e51e"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "cde1a4c1-1210-3b0d-affd-cad2a5e02ac1",
"realty_id": "a1eb434f-aa93-33ec-8af2-32136d6dedae",
"status": "rejected"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create Message
requires authentication
This endpoint allows you to create Message.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/chats/message/send" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"body\": \"laudantium\",
\"reply_to_id\": \"ce116da6-53f2-380a-bf54-88426304c589\",
\"conversation_id\": \"21a2ecba-5a36-342d-80b6-889d49052965\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chats/message/send"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"body": "laudantium",
"reply_to_id": "ce116da6-53f2-380a-bf54-88426304c589",
"conversation_id": "21a2ecba-5a36-342d-80b6-889d49052965"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get Messages By Conversation ID
requires authentication
This endpoint allows you to get Message by conversation id.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/chats/message/repudiandae" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/chats/message/repudiandae"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Chess
Complex Create
requires authentication
This endpoint allows you to complex create.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/complexes" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"name\": \"eveniet\",
\"address\": {
\"country\": \"hic\",
\"state\": \"omnis\",
\"city\": \"tempora\",
\"postal_code\": \"beatae\",
\"area\": \"placeat\",
\"street\": \"et\",
\"street_number\": \"sequi\",
\"cadastral_number\": \"aperiam\"
},
\"location\": [],
\"is_published\": 14279259,
\"is_completed\": 267.1,
\"status\": \"published\",
\"completion_date\": \"2026-09-10T11:20:54\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/complexes"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "eveniet",
"address": {
"country": "hic",
"state": "omnis",
"city": "tempora",
"postal_code": "beatae",
"area": "placeat",
"street": "et",
"street_number": "sequi",
"cadastral_number": "aperiam"
},
"location": [],
"is_published": 14279259,
"is_completed": 267.1,
"status": "published",
"completion_date": "2026-09-10T11:20:54"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Complex Show
requires authentication
This endpoint allows you to complex show.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/complexes/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/complexes/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Complex Update
requires authentication
This endpoint allows you to complex update.
Example request:
curl --request PATCH \
"https://staging-api.ette.ru/api/v1/complexes/delectus/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"573fd411-6519-3387-9af2-bb0de492b887\",
\"user_id\": \"1cd8f031-9ed7-3be5-ab24-733c4d8cf54f\",
\"name\": \"ghq\",
\"address\": {
\"country\": \"qui\",
\"state\": \"facere\",
\"city\": \"ut\",
\"postal_code\": \"molestiae\",
\"area\": \"iure\",
\"street\": \"sit\",
\"street_number\": \"iusto\",
\"cadastral_number\": \"dolores\"
},
\"is_published\": false,
\"is_completed\": true,
\"completion_date\": \"2026-09-10T11:20:54\",
\"completionDate\": []
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/complexes/delectus/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "573fd411-6519-3387-9af2-bb0de492b887",
"user_id": "1cd8f031-9ed7-3be5-ab24-733c4d8cf54f",
"name": "ghq",
"address": {
"country": "qui",
"state": "facere",
"city": "ut",
"postal_code": "molestiae",
"area": "iure",
"street": "sit",
"street_number": "iusto",
"cadastral_number": "dolores"
},
"is_published": false,
"is_completed": true,
"completion_date": "2026-09-10T11:20:54",
"completionDate": []
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Complex Delete
requires authentication
This endpoint allows you to complex delete.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/complexes/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/complexes/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Building Update
requires authentication
This endpoint allows you to building update.
Example request:
curl --request PATCH \
"https://staging-api.ette.ru/api/v1/buildings/doloremque/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"quod\",
\"user_id\": \"7eced79e-df40-380d-babc-dddce0381fee\",
\"complex_id\": \"62a0b1e0-c976-3cb9-b968-10a1d30f5ab3\",
\"name\": \"ycspcwhxybmnujshvgukw\",
\"is_published\": true,
\"is_completed\": true,
\"completion_date\": \"2026-09-10T11:20:55\",
\"sort_order\": 113.77291486,
\"completionDate\": []
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/buildings/doloremque/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "quod",
"user_id": "7eced79e-df40-380d-babc-dddce0381fee",
"complex_id": "62a0b1e0-c976-3cb9-b968-10a1d30f5ab3",
"name": "ycspcwhxybmnujshvgukw",
"is_published": true,
"is_completed": true,
"completion_date": "2026-09-10T11:20:55",
"sort_order": 113.77291486,
"completionDate": []
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Building Delete
requires authentication
This endpoint allows you to building delete.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/buildings/minus" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/buildings/minus"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Property Bindings Show
requires authentication
This endpoint allows you to property bindings show.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/chess/binding/dignissimos/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/binding/dignissimos/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Realty Binding Update
requires authentication
This endpoint allows you to realty binding update.
Example request:
curl --request PATCH \
"https://staging-api.ette.ru/api/v1/chess/binding" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"realty_id\": \"8d0c22b1-1b89-3aec-b50e-5a8d58d11817\",
\"property_id\": \"8abfd413-c6ed-3fd4-b7df-77df1a7c07bc\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/binding"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"realty_id": "8d0c22b1-1b89-3aec-b50e-5a8d58d11817",
"property_id": "8abfd413-c6ed-3fd4-b7df-77df1a7c07bc"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Realty Binding Delete
requires authentication
This endpoint allows you to realty binding delete.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/chess/binding/et" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/binding/et"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Realty Binding Create
requires authentication
This endpoint allows you to realty binding create.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/chess/binding" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"property_id\": \"6819abc3-c9d6-36e4-a763-528a5e79b992\",
\"type_id\": \"3fb70e1e-e8c1-3847-9ff2-e9863bdbbe6d\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/binding"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"property_id": "6819abc3-c9d6-36e4-a763-528a5e79b992",
"type_id": "3fb70e1e-e8c1-3847-9ff2-e9863bdbbe6d"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Realty Binding Show
requires authentication
This endpoint allows you to realty binding show.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/chess/binding/realty/aut/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/binding/realty/aut/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Empty Cells Update
requires authentication
This endpoint allows you to empty cells update.
Example request:
curl --request PUT \
"https://staging-api.ette.ru/api/v1/chess/empty-cells" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"changed_cells\": [
\"af470d5f-1403-3b03-adfb-ef90d75a8c76\"
]
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/empty-cells"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"changed_cells": [
"af470d5f-1403-3b03-adfb-ef90d75a8c76"
]
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Property Update
requires authentication
This endpoint allows you to property update.
Example request:
curl --request PATCH \
"https://staging-api.ette.ru/api/v1/chess/single-edit/quidem/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"e396dfae-fe55-3ff0-a4e3-860d496b7f2c\",
\"is_commercial\": false,
\"square_area\": 46730112.5477251,
\"base_decoration\": \"finishing\",
\"number_of_rooms\": 3685750.04937041,
\"base_price\": 72523.9992,
\"fixed_sum\": 17217603.4129,
\"percent_of_total\": 9211.724657,
\"per_sqm\": 2447194.3822314,
\"has_furniture\": false,
\"has_decoration\": true,
\"has_appliances\": true,
\"discount_amount\": 203194.567108,
\"realtor_commission\": 215688.337412,
\"buyer_gift\": \"bgdefhvusuaedncdnrvbmo\",
\"realtor_gift\": \"rmdexst\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/single-edit/quidem/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "e396dfae-fe55-3ff0-a4e3-860d496b7f2c",
"is_commercial": false,
"square_area": 46730112.5477251,
"base_decoration": "finishing",
"number_of_rooms": 3685750.04937041,
"base_price": 72523.9992,
"fixed_sum": 17217603.4129,
"percent_of_total": 9211.724657,
"per_sqm": 2447194.3822314,
"has_furniture": false,
"has_decoration": true,
"has_appliances": true,
"discount_amount": 203194.567108,
"realtor_commission": 215688.337412,
"buyer_gift": "bgdefhvusuaedncdnrvbmo",
"realtor_gift": "rmdexst"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Joined Cells Create
requires authentication
This endpoint allows you to joined cells create.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/chess/joined-cells" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"building_id\": \"95164b90-5a05-3649-88a9-b889076b1054\",
\"cells_to_join\": [
{
\"border_color\": \"dolores\",
\"cells\": [
\"97294e43-0894-3350-9752-9f30236d42df\"
]
}
]
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/joined-cells"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"building_id": "95164b90-5a05-3649-88a9-b889076b1054",
"cells_to_join": [
{
"border_color": "dolores",
"cells": [
"97294e43-0894-3350-9752-9f30236d42df"
]
}
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Joined Cells Update
requires authentication
This endpoint allows you to joined cells update.
Example request:
curl --request PATCH \
"https://staging-api.ette.ru/api/v1/chess/joined-cells/aut/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"258c2ae2-e178-3993-9839-8e8b87973dab\",
\"new_cells\": [
\"faa19b01-7c78-3d3e-bbdd-c0b0b268e3d3\"
]
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/joined-cells/aut/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "258c2ae2-e178-3993-9839-8e8b87973dab",
"new_cells": [
"faa19b01-7c78-3d3e-bbdd-c0b0b268e3d3"
]
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Joined Cells Delete
requires authentication
This endpoint allows you to joined cells delete.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/chess/joined-cells" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"joined_cells\": [
\"3e755feb-749f-3b8a-b2d9-35f82b00e37d\"
]
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/joined-cells"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"joined_cells": [
"3e755feb-749f-3b8a-b2d9-35f82b00e37d"
]
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Parking Show
requires authentication
This endpoint allows you to parking show.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/chess/floor/parking/deleniti/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/floor/parking/deleniti/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Parking Lot Update
requires authentication
This endpoint allows you to parking lot update.
Example request:
curl --request PATCH \
"https://staging-api.ette.ru/api/v1/chess/floor/parking/lot/eaque/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"673c902f-aa4a-379f-89fa-eb4e26356dff\",
\"floor_id\": \"0cc8264b-c432-38cb-889e-a413ad541f69\",
\"base_price\": 0.433064,
\"square\": 806.114350977,
\"status\": \"sold\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/floor/parking/lot/eaque/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "673c902f-aa4a-379f-89fa-eb4e26356dff",
"floor_id": "0cc8264b-c432-38cb-889e-a413ad541f69",
"base_price": 0.433064,
"square": 806.114350977,
"status": "sold"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Parking Lot Delete
requires authentication
This endpoint allows you to parking lot delete.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/chess/floor/parking/lot/vero" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/floor/parking/lot/vero"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Parking Create
requires authentication
This endpoint allows you to parking create.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/chess/floor/parking" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"floor_id\": \"fd999008-e705-34b3-bb3f-5b1c519f1f99\",
\"amount\": 17,
\"base_price\": 3.48256,
\"square\": 2685.0306581,
\"status\": \"sale\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/floor/parking"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"floor_id": "fd999008-e705-34b3-bb3f-5b1c519f1f99",
"amount": 17,
"base_price": 3.48256,
"square": 2685.0306581,
"status": "sale"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Floor Reg Create
requires authentication
This endpoint allows you to floor reg create.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/chess/floor/regular" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"floor_id\": \"impedit\",
\"add_direction\": \"down\",
\"floorId\": \"7157a758-fa1b-3e38-a90c-367864a11175\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/floor/regular"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"floor_id": "impedit",
"add_direction": "down",
"floorId": "7157a758-fa1b-3e38-a90c-367864a11175"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Floor Irreg Create
requires authentication
This endpoint allows you to floor irreg create.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/chess/floor/irregular" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"building_id\": \"a5def8b7-491d-3192-b072-7c7a6e0933e1\",
\"type\": \"parking\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/floor/irregular"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"building_id": "a5def8b7-491d-3192-b072-7c7a6e0933e1",
"type": "parking"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Floor Collection Update
requires authentication
This endpoint allows you to floor collection update.
Example request:
curl --request PATCH \
"https://staging-api.ette.ru/api/v1/chess/floor/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"floors\": {
\"id\": \"9ec114b6-834a-4bae-8d99-b14fc12e3ac1\",
\"name\": \"pcocehigvscudmgttekuvhpbb\",
\"type\": \"parking\",
\"number\": 44921014.340002
}
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/floor/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"floors": {
"id": "9ec114b6-834a-4bae-8d99-b14fc12e3ac1",
"name": "pcocehigvscudmgttekuvhpbb",
"type": "parking",
"number": 44921014.340002
}
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Floor List Delete
requires authentication
This endpoint allows you to floor list delete.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/chess/floor" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"floors\": [
\"e4f5d9ec-f58c-3ca6-a376-ae9efbe0fab5\"
]
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/floor"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"floors": [
"e4f5d9ec-f58c-3ca6-a376-ae9efbe0fab5"
]
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Riser Collection Update
requires authentication
This endpoint allows you to riser collection update.
Example request:
curl --request PATCH \
"https://staging-api.ette.ru/api/v1/chess/riser" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"risers\": {
\"id\": \"9ec11483-8625-4be5-a452-76908c104d25\",
\"square\": 15,
\"square_area\": 1,
\"view\": [
\"forest_park\"
],
\"number_of_rooms\": 501.7491
}
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/riser"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"risers": {
"id": "9ec11483-8625-4be5-a452-76908c104d25",
"square": 15,
"square_area": 1,
"view": [
"forest_park"
],
"number_of_rooms": 501.7491
}
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Riser List Delete
requires authentication
This endpoint allows you to riser list delete.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/chess/riser" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"risers\": [
\"fb030108-2aac-35a4-bb17-2fc53f5d195e\"
]
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/riser"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"risers": [
"fb030108-2aac-35a4-bb17-2fc53f5d195e"
]
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Plan Index
requires authentication
This endpoint allows you to plan index.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/chess/plan" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"building_id\": \"f1144eb5-61e2-3630-b2e5-c24a29f323ad\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/plan"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"building_id": "f1144eb5-61e2-3630-b2e5-c24a29f323ad"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Plan Upload
requires authentication
This endpoint allows you to plan upload.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/chess/plan/upload" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"building_id\": \"3876e3e2-f58c-3e4b-8bae-198e130c9b37\",
\"plan_type\": \"property\",
\"image\": \"excepturi\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/plan/upload"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"building_id": "3876e3e2-f58c-3e4b-8bae-198e130c9b37",
"plan_type": "property",
"image": "excepturi"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Plan Riser Upload
requires authentication
This endpoint allows you to plan riser upload.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/chess/plan/riser/upload" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"property_ids\": [],
\"image\": \"optio\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/plan/riser/upload"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"property_ids": [],
"image": "optio"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Attachment Floors Create
requires authentication
This endpoint allows you to attachment floors create.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/chess/plan/attachment/floors" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"plan_id\": \"4292b5ab-2581-37e8-be7e-a76215999191\",
\"floors\": [
\"873ad066-b47d-36ff-86ae-1b2f4a42f255\"
]
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/plan/attachment/floors"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"plan_id": "4292b5ab-2581-37e8-be7e-a76215999191",
"floors": [
"873ad066-b47d-36ff-86ae-1b2f4a42f255"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Attachment Properties Create
requires authentication
This endpoint allows you to attachment properties create.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/chess/plan/attachment/properties" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"plan_id\": \"58ddc205-7e80-3944-9039-7b2dac98ca8d\",
\"properties\": [
\"071f29dd-47dd-3a69-8244-3f619034f1c1\"
],
\"floors\": [
\"46a500f8-2498-3b4d-bd0b-1759cd752286\"
],
\"risers\": [
\"092cfb04-96b4-3e78-a099-4fcf2837790c\"
]
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/plan/attachment/properties"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"plan_id": "58ddc205-7e80-3944-9039-7b2dac98ca8d",
"properties": [
"071f29dd-47dd-3a69-8244-3f619034f1c1"
],
"floors": [
"46a500f8-2498-3b4d-bd0b-1759cd752286"
],
"risers": [
"092cfb04-96b4-3e78-a099-4fcf2837790c"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Attachment Delete
requires authentication
This endpoint allows you to attachment delete.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/chess/plan/attachment/sunt" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/plan/attachment/sunt"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Plan Delete
requires authentication
This endpoint allows you to plan delete.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/chess/plan/dicta" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/plan/dicta"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Chess Duplicate
requires authentication
This endpoint allows you to chess duplicate.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/chess/duplicate/laudantium" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"buildingId\": \"10d4551a-f37a-39ff-be15-2b72da76318a\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/duplicate/laudantium"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"buildingId": "10d4551a-f37a-39ff-be15-2b72da76318a"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create chess
requires authentication
This endpoint let you get chess information.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/chess" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"building_id\": \"da2b4eae-d83d-37ff-872b-9db5c879f4df\",
\"floors_number\": 13,
\"risers_number\": 21
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"building_id": "da2b4eae-d83d-37ff-872b-9db5c879f4df",
"floors_number": 13,
"risers_number": 21
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"building_id": "9c5d144d-55f5-4181-97af-48fc238a9d6d",
"floors_count": 1,
"risers_count": 1,
"properties_count": 1,
"floors": [
{
"id": "9c5d1455-9c6f-43b4-bd00-87ae309ff119",
"name": null,
"type": "regular",
"number": 1,
"total_square": 80,
"cells_count": 5
}
],
"risers": [
{
"id": "9c5d1455-9d0c-43af-9bb7-b37d578871da",
"number": 1,
"square": null,
"square_area": 10,
"views": null,
"number_of_rooms": null
}
],
"properties": [
{
"id": "9c5d1455-9f03-4a80-9569-7ead7efed6cb",
"realty_type_id": "9b535d77-b6b5-4682-94b1-8384913a2c37",
"cell_id": "9c5d1455-9db4-4422-a62c-352d9d104ab4",
"is_empty": false,
"is_joined": false,
"is_commercial": false,
"square": 10,
"square_area": 10,
"number_of_rooms": 0,
"number": "1",
"int_number": "1",
"floor_id": "9c5d1455-9c6f-43b4-bd00-87ae309ff119",
"floor_type": "regular",
"floor_number": 1,
"riser_id": "9c5d1455-9d0c-43af-9bb7-b37d578871da",
"view": [
"mountain"
],
"riser_number": 1,
"base_decoration": "rough",
"status": "sale",
"created_at": "2024-06-24 10 =>31 =>10",
"campaigns": {
"id": "9c5d1455-9f78-4977-ad2d-64e05898121c",
"discount_amount": null,
"realtor_commission": null,
"buyer_gift": null,
"realtor_gift": null
},
"options": {
"id": "9c5d1455-9ff0-4652-8de1-264f939ba273",
"has_furniture": false,
"has_decoration": false,
"has_appliances": false
},
"prices": {
"id": "9c5d1455-a056-4bd8-94bd-af194c94a353",
"base_price": 1650000,
"commission": "0.000",
"commission_type": null,
"fixed_sum": 0,
"percent_of_total": 0,
"per_sqm": 165000
},
"cells": [
{
"id": "9c5d1455-9db4-4422-a62c-352d9d104ab4",
"floor_id": "9c5d1455-9c6f-43b4-bd00-87ae309ff119",
"riser_id": "9c5d1455-9d0c-43af-9bb7-b37d578871da",
"is_empty": false,
"is_joined": false
}
],
"last_binding_realty_id": null,
"last_binding_realty_owner_id": null,
"last_binding_realty_owner_fio": null,
"calculated_price": 1650000,
"calculated_price_per_sqm": 165000,
"is_info_hidden": false,
"has_private_person_owned_realty_binding": false,
"owned_by_user": false,
"is_hidden": false,
"owner_is_private_person": false,
"all_bindings_deleted": true,
"is_initial_bindings": false
}
]
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Building
Список корпусов шахматки
requires authentication
Пагинированный список корпусов (chess_buildings) с агрегатами и счётчиками свойств квартир,
отсортированных по релевантности — корпуса с наибольшим числом подходящих под фильтр
свойств квартир идут первыми.
Ключевая идея — двойная фильтрация: Эндпоинт принимает два независимых набора фильтров одновременно:
- Фильтры корпусов (
Building\Filters\AllowedFilters) — отсекают сами корпуса из списка по их собственным полям (complex_id,name,is_completed,is_published). - Фильтры свойств квартир (
ChessProperty\Filters\AllowedFilters) — не скрывают корпуса, а пересчитывают для каждого из них счётчикfiltered_property_count: сколько свойств квартир этого корпуса проходят под переданные условия. Список затем сортируется по этому счётчику по убыванию — корпуса с наибольшим числом подходящих квартир выходят наверх.
Если ни один из фильтров свойств квартир (см. ChessProperty\Filters\AllowedFilters::names())
не передан — в том числе без вложенного filter[property][...], —
filtered_property_count берётся из агрегата property_sale_count без дополнительных запросов.
Поддерживается:
- Пагинация (JSON:API) —
page[number],page[size](конфигjson-api-paginate, по умолчанию 15, максимум 100). - Связи (include) —
aggregatesдля подгрузки агрегированных счётчиков корпуса. - Фильтры корпусов —
complex_id,name,is_completed,is_published(см.App\Queries\LaravelQueryBuilder\Building\Filters\AllowedFilters). - Фильтры свойств квартир — те же ключи, что в
App\Queries\LaravelQueryBuilder\ChessProperty\Filters\AllowedFilters; передаются в том жеfilter[...]— Spatie QueryBuilder разделяет их междуBuildingQueryиChessPropertyQueryпо зарегистрированным именам. - Вложенный объект
filter[property][...]и верхнеуровневые ключи (filter[house_status], …) из того же списка — при наличии любого из них для каждого корпуса пересчитываетсяfiltered_property_count(черезChessPropertyQuery). Именно по этому счётчику и строится сортировка; вложенныйpropertyдополнительно обрабатываетсяChessPropertyPropertyFilter.
Примеры запросов:
# Все корпуса (первая страница, 15 записей):
GET /api/v1/buildings?page[number]=1&page[size]=15
# Корпуса конкретного ЖК, только опубликованные:
GET /api/v1/buildings?filter[complex_id]=9d7f02e7-00a6-478c-9f6f-d39f7e4ad038&filter[is_published]=1
# Поиск корпуса по названию:
GET /api/v1/buildings?filter[name]=Подъезд
# Только сданные корпуса с агрегатами:
GET /api/v1/buildings?filter[is_completed]=1&include=aggregates
# Пересчёт filtered_property_count по цене и комнатности (вложенный фильтр):
GET /api/v1/buildings?filter[property][price]=2000000,8000000&filter[property][number_of_rooms][]=2&filter[property][sale]=1
# Пересчёт через вложенные цена/м² + только в продаже:
GET /api/v1/buildings?filter[property][price_sqm]=80000,200000&filter[property][sale]=1&filter[complex_id]=9d7f02e7-00a6-478c-9f6f-d39f7e4ad038
# Комбо — фильтр корпусов + фильтр свойств квартир + include:
GET /api/v1/buildings?filter[is_completed]=1&filter[property][number_of_rooms][]=3&filter[property][options][]=has_furniture&include=aggregates&page[size]=20
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/buildings?page%5Bnumber%5D=2&page%5Bsize%5D=12&include=aut&filter%5Bcomplex_id%5D=quasi&filter%5Bname%5D=deserunt&filter%5Bis_completed%5D=1&filter%5Bis_published%5D=1&filter%5Bhouse_status%5D=autem&filter%5Bbuilding_id%5D=voluptatem&filter%5Bproperty%5D%5Bsquare%5D=et&filter%5Bproperty%5D%5Bcomplex_rooms%5D%5B%5D[]=impedit&filter%5Bproperty%5D%5Bprice%5D=maxime&filter%5Bproperty%5D%5Bprice_sqm%5D=omnis&filter%5Bproperty%5D%5Bfrom_owner%5D=1&filter%5Bproperty%5D%5Bnumber_of_rooms%5D%5B%5D[]=amet&filter%5Bproperty%5D%5Boptions%5D%5B%5D[]=illum&filter%5Bproperty%5D%5Bsale%5D=1&filter%5Bproperty%5D%5Bwindow_view%5D%5B%5D[]=ipsum" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/buildings"
);
const params = {
"page[number]": "2",
"page[size]": "12",
"include": "aut",
"filter[complex_id]": "quasi",
"filter[name]": "deserunt",
"filter[is_completed]": "1",
"filter[is_published]": "1",
"filter[house_status]": "autem",
"filter[building_id]": "voluptatem",
"filter[property][square]": "et",
"filter[property][complex_rooms][][0]": "impedit",
"filter[property][price]": "maxime",
"filter[property][price_sqm]": "omnis",
"filter[property][from_owner]": "1",
"filter[property][number_of_rooms][][0]": "amet",
"filter[property][options][][0]": "illum",
"filter[property][sale]": "1",
"filter[property][window_view][][0]": "ipsum",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"buildings": [
{
"id": "9da10d91-a358-4c75-86e4-244c12c4554a",
"user_id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"complex_id": "9d7f02e7-00a6-478c-9f6f-d39f7e4ad038",
"name": "Подъезд 1",
"is_published": true,
"is_completed": true,
"property_count": 18,
"sale_property_count": 5,
"completion_date": "2021-09-30",
"realty_created_at": "2025-04-14T04:25:00+00:00",
"realty_updated_at": "2025-04-14T04:25:00+00:00",
"filtered_property_count": 3
},
{
"id": "9da10d93-bf01-41b8-b359-051036c51877",
"user_id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"complex_id": "9d7f02e7-00a6-478c-9f6f-d39f7e4ad038",
"name": "Подъезд 2",
"is_published": true,
"is_completed": true,
"property_count": 20,
"sale_property_count": 11,
"completion_date": "2021-09-30",
"realty_created_at": "2025-04-14T04:25:00+00:00",
"realty_updated_at": "2025-04-14T04:25:00+00:00",
"filtered_property_count": 8
},
{
"id": "9da10d96-3b89-4520-a21a-f4bef0eb2f58",
"user_id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"complex_id": "9d7f02e7-00a6-478c-9f6f-d39f7e4ad038",
"name": "Подъезд 3",
"is_published": true,
"is_completed": true,
"property_count": 18,
"sale_property_count": 3,
"completion_date": "2020-12-31",
"realty_created_at": "2025-04-14T04:25:00+00:00",
"realty_updated_at": "2025-04-14T04:25:00+00:00",
"filtered_property_count": 1
}
],
"links": [
{
"url": null,
"label": "pagination.previous",
"active": false
},
{
"url": "http://api.ette.local:8080/api/v1/buildings?page%5Bnumber%5D=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "pagination.next",
"active": false
}
],
"meta": {
"current_page": 1,
"first_page_url": "http://api.ette.local:8080/api/v1/buildings?page%5Bnumber%5D=1",
"from": 1,
"last_page": 1,
"last_page_url": "http://api.ette.local:8080/api/v1/buildings?page%5Bnumber%5D=1",
"next_page_url": null,
"path": "http://api.ette.local:8080/api/v1/buildings",
"per_page": 15,
"prev_page_url": null,
"to": 3,
"total": 3
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create a building
requires authentication
This endpoint allows to create a building.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/buildings" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"user_id\": \"addb4887-ac0b-3663-9fca-3fd647a845ea\",
\"complex_id\": \"2ecd6cd4-472f-3044-b08a-27ea2b728bc2\",
\"name\": \"mfrftjsqhfwwevivbayvlyaik\",
\"is_published\": true,
\"is_completed\": false,
\"completion_date\": \"2026-09-10T11:20:55\",
\"sort_order\": 4889.6942
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/buildings"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"user_id": "addb4887-ac0b-3663-9fca-3fd647a845ea",
"complex_id": "2ecd6cd4-472f-3044-b08a-27ea2b728bc2",
"name": "mfrftjsqhfwwevivbayvlyaik",
"is_published": true,
"is_completed": false,
"completion_date": "2026-09-10T11:20:55",
"sort_order": 4889.6942
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get chess building by ID
requires authentication
This endpoint allows you to get chess building by ID.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/buildings/9ec11110-10e5-4f99-affd-0b9521c88c16/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/buildings/9ec11110-10e5-4f99-affd-0b9521c88c16/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"building": {
"id": "9da10d91-a358-4c75-86e4-244c12c4554a",
"user_id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"complex_id": "9d7f02e7-00a6-478c-9f6f-d39f7e4ad038",
"name": "Подъезд 1",
"is_published": true,
"is_completed": true,
"property_count": 18,
"completion_date": "2021-09-30",
"realty_created_at": "2025-04-14T04:25:00+00:00",
"realty_updated_at": "2025-04-14T04:25:00+00:00"
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Property
Show chess property information
requires authentication
This endpoint let you get chess property information.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/chess/single-edit/9c5d144d-55f5-4181-97af-48fc238a9d6d/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/single-edit/9c5d144d-55f5-4181-97af-48fc238a9d6d/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"property": {
"id": "9c85ab35-320b-466f-a626-bfad1d5ca56e",
"number": null,
"status": "sold",
"square": 92,
"base_decoration": null,
"number_of_rooms": null,
"comment": null,
"created_at": "2024-07-14 17 =>46 =>09",
"media": [],
"campaigns": {
"id": "9c85ab35-33a2-43d9-a062-62b5888d6679",
"discount_amount": null,
"realtor_commission": null,
"buyer_gift": null,
"realtor_gift": null
},
"options": {
"id": "9c85ab35-34a1-4e81-a90f-f10ff0212986",
"has_furniture": false,
"has_decoration": false,
"has_appliances": false
},
"prices": {
"id": "9c85ab35-355f-41f5-845a-1350d8be2b99",
"base_price": 1000000,
"commission": null,
"commission_type": null,
"fixed_sum": 1000,
"percent_of_total": null,
"per_sqm": null
},
"plans": [],
"building": {
"id": "9be0051b-26cd-45e2-8422-7af43fd8266e",
"user_id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"complex_id": "9b631f5c-120b-42b7-8aee-121059fd6bfd",
"name": "Подъезд 2",
"is_published": false,
"is_completed": true,
"completion_date": null,
"complex": {
"id": "9b631f5c-120b-42b7-8aee-121059fd6bfd",
"user_id": "9c6d36bf-e539-43c4-8815-56a5b9129697",
"name": "ЖК Метрополь",
"address": {
"country": "Россия",
"state": null,
"city": "Сочи",
"postal_code": "354002",
"area": null,
"street": "ул Депутатская",
"street_number": "10Б/1"
},
"location": [
39.7394513,
43.5734219
],
"is_published": null,
"is_completed": null,
"completion_date": null,
"owner": {
"id": "9c6d36bf-e539-43c4-8815-56a5b9129697",
"name": "метрополь",
"email": "metropol@ette.ru",
"phones": [
{
"value": "+79488492123",
"verified_at": null,
"for_code_send": false
},
{
"value": "+79383838321",
"verified_at": null,
"for_code_send": true
}
],
"profile_photo_path": null,
"roles": [
{
"name": "builder",
"color": "#D871AA",
"description": {
"ar": "مطور",
"es": "Desarrollador",
"gb": "Builder",
"ru": "Застройщик"
}
}
],
"organization_id": "9c6d36bf-bfc2-450e-ae2c-98fce9621113",
"organization": {
"id": "9c6d36bf-bfc2-450e-ae2c-98fce9621113",
"inn": "2320145626",
"name": "ООО 'МЕТРОПОЛЬ-СОЧИ'",
"type": "builder",
"address": {
"area": null,
"city": "Сочи",
"state": null,
"street": "ул. Пластунская д.54",
"country": "Россия",
"postal_code": "354000",
"street_number": null
},
"deleted_at": null,
"pivot": {
"user_id": "9c6d36bf-e539-43c4-8815-56a5b9129697",
"organization_id": "9c6d36bf-bfc2-450e-ae2c-98fce9621113"
}
},
"confirmed": true,
"phone_confirmed": true
},
"type": null
}
}
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update properties collection
requires authentication
This endpoint allows to update properties collection.
Example request:
curl --request PATCH \
"https://staging-api.ette.ru/api/v1/chess/properties" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"properties\": {
\"id\": \"9ed968d0-c296-4317-b134-706e8657e221\",
\"is_commercial\": true,
\"number\": \"nesciunt\",
\"status\": \"booking\",
\"square\": 72682.801701184,
\"square_area\": 37569.228596,
\"base_decoration\": \"finishing\",
\"number_of_rooms\": 12951,
\"comment\": \"quis\",
\"base_price\": 1.2302,
\"commission\": 2666314.7232,
\"fixed_sum\": 28741340,
\"percent_of_total\": 452379386.608406,
\"per_sqm\": 613620.318487975,
\"has_furniture\": false,
\"has_decoration\": true,
\"has_appliances\": true,
\"discount_amount\": 0.71,
\"realtor_commission\": 622368303.2,
\"buyer_gift\": \"mjtd\",
\"realtor_gift\": \"pntidflrwyidsqgik\"
}
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/properties"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"properties": {
"id": "9ed968d0-c296-4317-b134-706e8657e221",
"is_commercial": true,
"number": "nesciunt",
"status": "booking",
"square": 72682.801701184,
"square_area": 37569.228596,
"base_decoration": "finishing",
"number_of_rooms": 12951,
"comment": "quis",
"base_price": 1.2302,
"commission": 2666314.7232,
"fixed_sum": 28741340,
"percent_of_total": 452379386.608406,
"per_sqm": 613620.318487975,
"has_furniture": false,
"has_decoration": true,
"has_appliances": true,
"discount_amount": 0.71,
"realtor_commission": 622368303.2,
"buyer_gift": "mjtd",
"realtor_gift": "pntidflrwyidsqgik"
}
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"building_id": "9c5d144d-55f5-4181-97af-48fc238a9d6d",
"floors_count": 1,
"risers_count": 1,
"property_count": 1,
"floors": [
{
"id": "9c5d1455-9c6f-43b4-bd00-87ae309ff119",
"name": null,
"type": "regular",
"number": 1,
"total_square": 80,
"cells_count": 5
}
],
"risers": [
{
"id": "9c5d1455-9d0c-43af-9bb7-b37d578871da",
"number": 1,
"square": null,
"square_area": 10,
"views": null,
"number_of_rooms": null
}
],
"properties": [
{
"id": "9c5d1455-9f03-4a80-9569-7ead7efed6cb",
"realty_type_id": "9b535d77-b6b5-4682-94b1-8384913a2c37",
"cell_id": "9c5d1455-9db4-4422-a62c-352d9d104ab4",
"is_empty": false,
"is_joined": false,
"is_commercial": false,
"square": 10,
"square_area": 10,
"number_of_rooms": 0,
"number": "1",
"floor_id": "9c5d1455-9c6f-43b4-bd00-87ae309ff119",
"floor_type": "regular",
"floor_number": 1,
"riser_id": "9c5d1455-9d0c-43af-9bb7-b37d578871da",
"view": [
"mountain"
],
"riser_number": 1,
"base_decoration": "rough",
"status": "sale",
"created_at": "2024-06-24 10 =>31 =>10",
"campaigns": {
"id": "9c5d1455-9f78-4977-ad2d-64e05898121c",
"discount_amount": null,
"realtor_commission": null,
"buyer_gift": null,
"realtor_gift": null
},
"options": {
"id": "9c5d1455-9ff0-4652-8de1-264f939ba273",
"has_furniture": false,
"has_decoration": false,
"has_appliances": false
},
"prices": {
"id": "9c5d1455-a056-4bd8-94bd-af194c94a353",
"base_price": 1650000,
"commission": "0.000",
"commission_type": null,
"fixed_sum": 0,
"percent_of_total": 0,
"per_sqm": 165000
},
"cells": [
{
"id": "9c5d1455-9db4-4422-a62c-352d9d104ab4",
"floor_id": "9c5d1455-9c6f-43b4-bd00-87ae309ff119",
"riser_id": "9c5d1455-9d0c-43af-9bb7-b37d578871da",
"is_empty": false,
"is_joined": false
}
],
"last_binding_realty_id": null,
"last_binding_realty_owner_id": null,
"last_binding_realty_owner_fio": null,
"calculated_price": 1650000,
"calculated_price_per_sqm": 165000,
"is_info_hidden": false,
"has_private_person_owned_realty_binding": false,
"owned_by_user": false,
"is_hidden": false,
"owner_is_private_person": false,
"all_bindings_deleted": true
}
]
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Riser
Create riser
requires authentication
This endpoint allows you to create a riser.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/chess/riser" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"building_id\": \"b1942bb9-07f3-31ba-bbf4-30871562c92c\",
\"add_direction\": \"right\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/riser"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"building_id": "b1942bb9-07f3-31ba-bbf4-30871562c92c",
"add_direction": "right"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"building_id": "f7f47260-b89b-3df1-92f3-cfae8d99fdb6",
"floors_count": 1,
"risers_count": 1,
"property_count": 1,
"floors": [
{
"id": "9c5d1455-9c6f-43b4-bd00-87ae309ff119",
"name": null,
"type": "regular",
"number": 1,
"total_square": 80,
"cells_count": 5
}
],
"risers": [
{
"id": "9c5d1455-9d0c-43af-9bb7-b37d578871da",
"number": 1,
"square": null,
"square_area": 10,
"views": null,
"number_of_rooms": null
}
],
"properties": [
{
"id": "9c5d1455-9f03-4a80-9569-7ead7efed6cb",
"realty_type_id": "9b535d77-b6b5-4682-94b1-8384913a2c37",
"cell_id": "9c5d1455-9db4-4422-a62c-352d9d104ab4",
"is_empty": false,
"is_joined": false,
"is_commercial": false,
"square": 10,
"square_area": 10,
"number_of_rooms": 0,
"number": "1",
"floor_id": "9c5d1455-9c6f-43b4-bd00-87ae309ff119",
"floor_type": "regular",
"floor_number": 1,
"riser_id": "9c5d1455-9d0c-43af-9bb7-b37d578871da",
"view": [
"mountain"
],
"riser_number": 1,
"base_decoration": "rough",
"status": "sale",
"created_at": "2024-06-24 10 =>31 =>10",
"campaigns": {
"id": "9c5d1455-9f78-4977-ad2d-64e05898121c",
"discount_amount": null,
"realtor_commission": null,
"buyer_gift": null,
"realtor_gift": null
},
"options": {
"id": "9c5d1455-9ff0-4652-8de1-264f939ba273",
"has_furniture": false,
"has_decoration": false,
"has_appliances": false
},
"prices": {
"id": "9c5d1455-a056-4bd8-94bd-af194c94a353",
"base_price": 1650000,
"commission": "0.000",
"commission_type": null,
"fixed_sum": 0,
"percent_of_total": 0,
"per_sqm": 165000
},
"cells": [
{
"id": "9c5d1455-9db4-4422-a62c-352d9d104ab4",
"floor_id": "9c5d1455-9c6f-43b4-bd00-87ae309ff119",
"riser_id": "9c5d1455-9d0c-43af-9bb7-b37d578871da",
"is_empty": false,
"is_joined": false
}
],
"last_binding_realty_id": null,
"last_binding_realty_owner_id": null,
"last_binding_realty_owner_fio": null,
"calculated_price": 1650000,
"calculated_price_per_sqm": 165000,
"is_info_hidden": false,
"has_private_person_owned_realty_binding": false,
"owned_by_user": false,
"is_hidden": false,
"owner_is_private_person": false,
"all_bindings_deleted": true
}
]
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
View
Просмотр шахматки корпуса
requires authentication
Возвращает полную структуру шахматки для конкретного корпуса: этажи, стояки и все квартиры
(chess_properties) с ценами, опциями и кампаниями.
Ключевая идея ответа — is_filtered:
Список квартир в ответе всегда содержит все ячейки корпуса — пустые, объединённые, любые.
Фильтры не скрывают квартиры из шахматки, а лишь помечают их: каждая квартира получает поле
is_filtered = true, если он попадает в текущую выборку по переданным фильтрам,
и is_filtered = false — если нет. Это позволяет фронтенду визуально "затемнить"
неподходящие ячейки, сохраняя сетку корпуса нетронутой.
Поддерживается:
- Фильтрация по параметрам квартир —
App\Queries\LaravelQueryBuilder\ChessProperty\Filters\AllowedFilters:house_status,building_id. - Единый вложенный фильтр
filter[property][...]— аналог фильтра шахматки из каталога объектов, позволяет передать все условия одним объектом (см.ChessPropertyPropertyFilter). filter[building_id]из URL-параметра{buildingId}уже фиксируется автоматически — явно передавать его в query не нужно, хотя и не запрещено.
Примеры запросов:
# Без фильтров — вся шахматка, у каждой квартиры is_filtered = true:
GET /api/v1/chess/9c5d144d-55f5-4181-97af-48fc238a9d6d/show
# Только в продаже (вложенный ключ), двушки и трёшки:
GET /api/v1/chess/{buildingId}/show?filter[property][sale]=1&filter[property][number_of_rooms][]=2&filter[property][number_of_rooms][]=3
# Диапазон цены и площади:
GET /api/v1/chess/{buildingId}/show?filter[property][price]=3000000,8000000&filter[property][square]=40,90
# Квартиры с мебелью и видом на море:
GET /api/v1/chess/{buildingId}/show?filter[property][options][]=has_furniture&filter[property][window_view][]=sea
# Единый вложенный фильтр по параметрам шахматки:
GET /api/v1/chess/{buildingId}/show?filter[property][price]=2000000,6000000&filter[property][number_of_rooms][]=2&filter[property][sale]=1
# Только от застройщика, с отделкой, не на парковочном этаже:
GET /api/v1/chess/{buildingId}/show?filter[property][from_owner]=1&filter[property][options][]=has_decoration&filter[property][sale]=1
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/chess/9c5d144d-55f5-4181-97af-48fc238a9d6d/show?filter%5Bhouse_status%5D=voluptate&filter%5Bbuilding_id%5D=quia&filter%5Bestate_type%5D=asperiores&filter%5Bproperty%5D%5Bsquare%5D=ipsam&filter%5Bproperty%5D%5Bcomplex_rooms%5D%5B%5D[]=cupiditate&filter%5Bproperty%5D%5Bprice%5D=ut&filter%5Bproperty%5D%5Bprice_sqm%5D=aut&filter%5Bproperty%5D%5Bfrom_owner%5D=1&filter%5Bproperty%5D%5Bnumber_of_rooms%5D%5B%5D[]=quis&filter%5Bproperty%5D%5Boptions%5D%5B%5D[]=soluta&filter%5Bproperty%5D%5Bsale%5D=1&filter%5Bproperty%5D%5Bwindow_view%5D%5B%5D[]=aut" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/chess/9c5d144d-55f5-4181-97af-48fc238a9d6d/show"
);
const params = {
"filter[house_status]": "voluptate",
"filter[building_id]": "quia",
"filter[estate_type]": "asperiores",
"filter[property][square]": "ipsam",
"filter[property][complex_rooms][][0]": "cupiditate",
"filter[property][price]": "ut",
"filter[property][price_sqm]": "aut",
"filter[property][from_owner]": "1",
"filter[property][number_of_rooms][][0]": "quis",
"filter[property][options][][0]": "soluta",
"filter[property][sale]": "1",
"filter[property][window_view][][0]": "aut",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"building_id": "9c5d144d-55f5-4181-97af-48fc238a9d6d",
"floors_count": 1,
"risers_count": 1,
"properties_count": 1,
"floors": [
{
"id": "9c5d1455-9c6f-43b4-bd00-87ae309ff119",
"name": null,
"type": "regular",
"number": 1,
"total_square": 80,
"cells_count": 5
}
],
"risers": [
{
"id": "9c5d1455-9d0c-43af-9bb7-b37d578871da",
"number": 1,
"square": null,
"square_area": 10,
"views": null,
"number_of_rooms": null
}
],
"properties": [
{
"id": "9c5d1455-9f03-4a80-9569-7ead7efed6cb",
"realty_type_id": "9b535d77-b6b5-4682-94b1-8384913a2c37",
"cell_id": "9c5d1455-9db4-4422-a62c-352d9d104ab4",
"is_empty": false,
"is_joined": false,
"is_commercial": false,
"square": 10,
"square_area": 10,
"number_of_rooms": 0,
"number": "1",
"int_number": "1",
"floor_id": "9c5d1455-9c6f-43b4-bd00-87ae309ff119",
"floor_type": "regular",
"floor_number": 1,
"riser_id": "9c5d1455-9d0c-43af-9bb7-b37d578871da",
"view": [
"mountain"
],
"riser_number": 1,
"base_decoration": "rough",
"status": "sale",
"created_at": "2024-06-24 10:31:10",
"campaigns": {
"id": "9c5d1455-9f78-4977-ad2d-64e05898121c",
"discount_amount": null,
"realtor_commission": null,
"buyer_gift": null,
"realtor_gift": null
},
"options": {
"id": "9c5d1455-9ff0-4652-8de1-264f939ba273",
"has_furniture": false,
"has_decoration": false,
"has_appliances": false
},
"prices": {
"id": "9c5d1455-a056-4bd8-94bd-af194c94a353",
"base_price": 1650000,
"commission": "0.000",
"commission_type": null,
"fixed_sum": 0,
"percent_of_total": 0,
"per_sqm": 165000
},
"cells": [
{
"id": "9c5d1455-9db4-4422-a62c-352d9d104ab4",
"floor_id": "9c5d1455-9c6f-43b4-bd00-87ae309ff119",
"riser_id": "9c5d1455-9d0c-43af-9bb7-b37d578871da",
"is_empty": false,
"is_joined": false
}
],
"last_binding_realty_id": null,
"last_binding_realty_owner_id": null,
"last_binding_realty_owner_fio": null,
"calculated_price": 1650000,
"calculated_price_per_sqm": 165000,
"is_info_hidden": false,
"has_private_person_owned_realty_binding": false,
"owned_by_user": false,
"is_hidden": false,
"owner_is_private_person": false,
"all_bindings_deleted": true,
"is_initial_bindings": false,
"is_filtered": true
}
]
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Endpoints
Return an empty response simply to trigger the storage of the CSRF cookie in the browser.
Authentication
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/youtube/auth"const url = new URL(
"https://staging-api.ette.ru/api/v1/youtube/auth"
);
fetch(url, {
method: "GET",
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "App\\Http\\Middleware\\ForceJsonResponse::handle(): Return value must be of type Illuminate\\Http\\JsonResponse|Illuminate\\Http\\Response, Illuminate\\Http\\RedirectResponse returned",
"exception": "TypeError",
"file": "/var/www/app/Http/Middleware/ForceJsonResponse.php",
"line": 18,
"trace": [
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "App\\Http\\Middleware\\ForceJsonResponse",
"type": "->"
},
{
"file": "/var/www/app/Http/Middleware/HorizonAccess.php",
"line": 29,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "App\\Http\\Middleware\\HorizonAccess",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
"line": 51,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php",
"line": 27,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
"line": 110,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
"line": 61,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\HandleCors",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
"line": 58,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 137,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 175,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 144,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 236,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 229,
"function": "callLaravelRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 103,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 39,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 471,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 397,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 94,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 186,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Console/View/Components/Task.php",
"line": 43,
"function": "{closure:Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp::extractEndpointsInfoFromLaravelApp():185}",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Console/View/Components/Factory.php",
"line": 61,
"function": "render",
"class": "Illuminate\\Console\\View\\Components\\Task",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 183,
"function": "__call",
"class": "Illuminate\\Console\\View\\Components\\Factory",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 73,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 51,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Container/Util.php",
"line": 43,
"function": "{closure:Illuminate\\Container\\BoundMethod::call():35}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 96,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 35,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 803,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 292,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/var/www/vendor/symfony/console/Command/Command.php",
"line": 285,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 261,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/var/www/vendor/symfony/console/Application.php",
"line": 1144,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/vendor/symfony/console/Application.php",
"line": 379,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/vendor/symfony/console/Application.php",
"line": 218,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 198,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
"line": 1242,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
},
{
"file": "/var/www/artisan",
"line": 18,
"function": "handleCommand",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Redirect
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/youtube/callback"const url = new URL(
"https://staging-api.ette.ru/api/v1/youtube/callback"
);
fetch(url, {
method: "GET",
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "$_GET['code'] is not set.",
"exception": "Exception",
"file": "/var/www/vendor/dawson/youtube/routes/web.php",
"line": 24,
"trace": [
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/CallableDispatcher.php",
"line": 39,
"function": "{closure:{closure:/var/www/vendor/dawson/youtube/routes/web.php:6}:19}",
"class": "Dawson\\Youtube\\YoutubeServiceProvider",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
"line": 254,
"function": "dispatch",
"class": "Illuminate\\Routing\\CallableDispatcher",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/Route.php",
"line": 219,
"function": "runCallable",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 822,
"function": "run",
"class": "Illuminate\\Routing\\Route",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "{closure:Illuminate\\Routing\\Router::runRouteWithinStack():821}",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 137,
"function": "{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 821,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 800,
"function": "runRouteWithinStack",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 764,
"function": "runRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Routing/Router.php",
"line": 753,
"function": "dispatchToRoute",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 200,
"function": "dispatch",
"class": "Illuminate\\Routing\\Router",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 180,
"function": "{closure:Illuminate\\Foundation\\Http\\Kernel::dispatchToRouter():197}",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/app/Http/Middleware/ForceJsonResponse.php",
"line": 18,
"function": "{closure:Illuminate\\Pipeline\\Pipeline::prepareDestination():178}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "App\\Http\\Middleware\\ForceJsonResponse",
"type": "->"
},
{
"file": "/var/www/app/Http/Middleware/HorizonAccess.php",
"line": 29,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "App\\Http\\Middleware\\HorizonAccess",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
"line": 51,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php",
"line": 27,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
"line": 110,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
"line": 61,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\HandleCors",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
"line": 58,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 137,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 175,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 144,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 236,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 229,
"function": "callLaravelRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 103,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 39,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 471,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 397,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 94,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 186,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Console/View/Components/Task.php",
"line": 43,
"function": "{closure:Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp::extractEndpointsInfoFromLaravelApp():185}",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Console/View/Components/Factory.php",
"line": 61,
"function": "render",
"class": "Illuminate\\Console\\View\\Components\\Task",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 183,
"function": "__call",
"class": "Illuminate\\Console\\View\\Components\\Factory",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 73,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 51,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Container/Util.php",
"line": 43,
"function": "{closure:Illuminate\\Container\\BoundMethod::call():35}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 96,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 35,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 803,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 292,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/var/www/vendor/symfony/console/Command/Command.php",
"line": 285,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 261,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/var/www/vendor/symfony/console/Application.php",
"line": 1144,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/vendor/symfony/console/Application.php",
"line": 379,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/vendor/symfony/console/Application.php",
"line": 218,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 198,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
"line": 1242,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
},
{
"file": "/var/www/artisan",
"line": 18,
"function": "handleCommand",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Authenticate the request for channel access.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/broadcasting/auth"const url = new URL(
"https://staging-api.ette.ru/api/v1/broadcasting/auth"
);
fetch(url, {
method: "GET",
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
set-cookie: ette_session=eyJpdiI6IjRncTB3YUNQK0haQjZ2SGV2dlRTUFE9PSIsInZhbHVlIjoiQTNSSk1OaS96cmNMOWxHNUdVcnZ1MHlFZ2o0bWlpQnZDemVWM1pLWUVJWkRXekpHTzlrTS9WSjZWSmQ3U2NKYlRJZDFEVTViMFR5Q2EwNU5XbzJ1VFo2R0R2NStONGwzUG5NRnhzUFlaTUh4MlJQcE5JU3lubDRHVkNXUU5aa2MiLCJtYWMiOiI1MmI1MGFhZDNlNGU3NjA2MDM4NDM4ZWEyOTFhODIwNTFiZTU3MmQ3ZTc0ODVmNzgxMjZmMDM2NGNjYWYzOWE3IiwidGFnIjoiIn0%3D; expires=Thu, 10 Sep 2026 10:20:53 GMT; Max-Age=7200; path=/; domain=localhost; secure; httponly; samesite=lax
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GET api/v1
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1"const url = new URL(
"https://staging-api.ette.ru/api/v1"
);
fetch(url, {
method: "GET",
}).then(response => response.json());Example response (500):
Show headers
cache-control: no-cache, private
content-type: application/json
{
"message": "App\\Http\\Middleware\\ForceJsonResponse::handle(): Return value must be of type Illuminate\\Http\\JsonResponse|Illuminate\\Http\\Response, Illuminate\\Http\\RedirectResponse returned",
"exception": "TypeError",
"file": "/var/www/app/Http/Middleware/ForceJsonResponse.php",
"line": 18,
"trace": [
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "App\\Http\\Middleware\\ForceJsonResponse",
"type": "->"
},
{
"file": "/var/www/app/Http/Middleware/HorizonAccess.php",
"line": 29,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "App\\Http\\Middleware\\HorizonAccess",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php",
"line": 21,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php",
"line": 51,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\TrimStrings",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php",
"line": 27,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\ValidatePostSize",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php",
"line": 110,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php",
"line": 61,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\HandleCors",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php",
"line": 58,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 219,
"function": "handle",
"class": "Illuminate\\Http\\Middleware\\TrustProxies",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php",
"line": 137,
"function": "{closure:{closure:Illuminate\\Pipeline\\Pipeline::carry():194}:195}",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 175,
"function": "then",
"class": "Illuminate\\Pipeline\\Pipeline",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php",
"line": 144,
"function": "sendRequestThroughRouter",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 236,
"function": "handle",
"class": "Illuminate\\Foundation\\Http\\Kernel",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 229,
"function": "callLaravelRoute",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 103,
"function": "makeApiCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php",
"line": 39,
"function": "makeResponseCall",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 471,
"function": "__invoke",
"class": "Knuckles\\Scribe\\Extracting\\Strategies\\Responses\\ResponseCalls",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 397,
"function": "iterateThroughStrategies",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Extracting/Extractor.php",
"line": 94,
"function": "fetchResponses",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 186,
"function": "processRoute",
"class": "Knuckles\\Scribe\\Extracting\\Extractor",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Console/View/Components/Task.php",
"line": 43,
"function": "{closure:Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp::extractEndpointsInfoFromLaravelApp():185}",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Console/View/Components/Factory.php",
"line": 61,
"function": "render",
"class": "Illuminate\\Console\\View\\Components\\Task",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 183,
"function": "__call",
"class": "Illuminate\\Console\\View\\Components\\Factory",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 73,
"function": "extractEndpointsInfoFromLaravelApp",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/GroupedEndpoints/GroupedEndpointsFromApp.php",
"line": 51,
"function": "extractEndpointsInfoAndWriteToDisk",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php",
"line": 55,
"function": "get",
"class": "Knuckles\\Scribe\\GroupedEndpoints\\GroupedEndpointsFromApp",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 36,
"function": "handle",
"class": "Knuckles\\Scribe\\Commands\\GenerateDocumentation",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Container/Util.php",
"line": 43,
"function": "{closure:Illuminate\\Container\\BoundMethod::call():35}",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 96,
"function": "unwrapIfClosure",
"class": "Illuminate\\Container\\Util",
"type": "::"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php",
"line": 35,
"function": "callBoundMethod",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Container/Container.php",
"line": 803,
"function": "call",
"class": "Illuminate\\Container\\BoundMethod",
"type": "::"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 292,
"function": "call",
"class": "Illuminate\\Container\\Container",
"type": "->"
},
{
"file": "/var/www/vendor/symfony/console/Command/Command.php",
"line": 285,
"function": "execute",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Console/Command.php",
"line": 261,
"function": "run",
"class": "Symfony\\Component\\Console\\Command\\Command",
"type": "->"
},
{
"file": "/var/www/vendor/symfony/console/Application.php",
"line": 1144,
"function": "run",
"class": "Illuminate\\Console\\Command",
"type": "->"
},
{
"file": "/var/www/vendor/symfony/console/Application.php",
"line": 379,
"function": "doRunCommand",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/vendor/symfony/console/Application.php",
"line": 218,
"function": "doRun",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php",
"line": 198,
"function": "run",
"class": "Symfony\\Component\\Console\\Application",
"type": "->"
},
{
"file": "/var/www/vendor/laravel/framework/src/Illuminate/Foundation/Application.php",
"line": 1242,
"function": "handle",
"class": "Illuminate\\Foundation\\Console\\Kernel",
"type": "->"
},
{
"file": "/var/www/artisan",
"line": 18,
"function": "handleCommand",
"class": "Illuminate\\Foundation\\Application",
"type": "->"
}
]
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Favourite
Favourite Save
requires authentication
This endpoint allows you to favourite save.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/favourites/save" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"realty_id\": \"sed\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/favourites/save"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"realty_id": "sed"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Favourite Index
requires authentication
This endpoint allows you to favourite index.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/favourites/index" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/favourites/index"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Geo
Get address info
requires authentication
This endpoint allows you to get address info.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/geocode/address" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"search_keywords\": \"sint\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/geocode/address"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"search_keywords": "sint"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"results": [
{
"country": "Россия",
"state": null,
"city": "Сочи",
"area": null,
"street": "улица Чебрикова",
"street_number": "38А",
"postal_code": "354057",
"coordinates": {
"longitude": 39.73514103789353,
"latitude": 43.5959908
},
"formatted_address": "354057, Россия, Сочи, улица Чебрикова, 38А"
},
{
"country": "Россия",
"state": null,
"city": "Сочи",
"area": null,
"street": "улица Чебрикова",
"street_number": "38А",
"postal_code": "354057",
"coordinates": {
"longitude": 39.7353287,
"latitude": 43.5960547
},
"formatted_address": "354057, Россия, Сочи, улица Чебрикова, 38А"
},
{
"country": "Россия",
"state": null,
"city": "Сочи",
"area": null,
"street": "улица Чебрикова",
"street_number": "38А",
"postal_code": "354057",
"coordinates": {
"longitude": 39.7348504,
"latitude": 43.5959245
},
"formatted_address": "354057, Россия, Сочи, улица Чебрикова, 38А"
},
{
"country": "Россия",
"state": null,
"city": "Сочи",
"area": null,
"street": "улица Чебрикова",
"street_number": "38А",
"postal_code": "354057",
"coordinates": {
"longitude": 39.7349891,
"latitude": 43.5961222
},
"formatted_address": "354057, Россия, Сочи, улица Чебрикова, 38А"
},
{
"country": "Россия",
"state": null,
"city": "Сочи",
"area": null,
"street": "улица Чебрикова",
"street_number": "38А",
"postal_code": "354057",
"coordinates": {
"longitude": 39.7348895,
"latitude": 43.5958567
},
"formatted_address": "354057, Россия, Сочи, улица Чебрикова, 38А"
}
]
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Resolve area and sub-area by address
Returns area and sub-area IDs from `areas` / `sub_areas` tables for the given address.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/geocode/area_by_address?address=%D0%B3+%D0%A1%D0%BE%D1%87%D0%B8%2C+%D1%83%D0%BB+%D0%9B%D0%B0%D0%BD%D0%B4%D1%8B%D1%88%D0%B5%D0%B2%D0%B0%D1%8F%2C+13" \
--header "Content-Type: application/json" \
--data "{
\"address\": \"quod\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/geocode/area_by_address"
);
const params = {
"address": "г Сочи, ул Ландышевая, 13",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"address": "quod"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"area_id": "9b5363b7-1dc4-4807-9a09-0d43abc44ddd",
"sub_area_id": "757fe70f-6216-4264-b136-9a47118dedab"
},
"error": null,
"message": "Success"
}
Example response (200):
{
"success": true,
"data": {
"area_id": null,
"sub_area_id": null
},
"error": null,
"message": "Success"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
GeoCode
Rosreestr Geo Object Info
requires authentication
This endpoint allows you to rosreestr geo object info.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/geocode/rosreestr/geo-object-info" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"cadastral_number\": \"ad\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/geocode/rosreestr/geo-object-info"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"cadastral_number": "ad"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Coordinates Index
requires authentication
This endpoint allows you to coordinates index.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/geocode/coordinates" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"coordinates\": {
\"longitude\": 53455738.70214656,
\"latitude\": 412336.66342
}
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/geocode/coordinates"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"coordinates": {
"longitude": 53455738.70214656,
"latitude": 412336.66342
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Distance To Sea
requires authentication
This endpoint allows you to distance to sea.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/geocode/distance_to_sea" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"longitude\": 35444573.503603,
\"latitude\": 7.79126057
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/geocode/distance_to_sea"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"longitude": 35444573.503603,
"latitude": 7.79126057
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Cadastral Number By Coord
requires authentication
This endpoint allows you to cadastral number by coord.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/geocode/cadastral_number_by_coord" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"latitude\": 6314640,
\"longitude\": 35351.345972
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/geocode/cadastral_number_by_coord"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"latitude": 6314640,
"longitude": 35351.345972
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Geo Locate By Coord
requires authentication
This endpoint allows you to geo locate by coord.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/geocode/geo_locate_by_coord" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"latitude\": 80720423.16129,
\"longitude\": 92135.98
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/geocode/geo_locate_by_coord"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"latitude": 80720423.16129,
"longitude": 92135.98
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Locations
Get All Public Countries
This endpoint allows you to get All Public Countries.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/public/country"const url = new URL(
"https://staging-api.ette.ru/api/v1/public/country"
);
fetch(url, {
method: "GET",
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get address info by address
requires authentication
This endpoint allows you to get address info by address.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/geocode/address_info" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"address\": \"natus\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/geocode/address_info"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"address": "natus"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"address_info": [
{
"source": "г Москва, ул Сухонская, д 11, кв 89",
"result": "г Москва, ул Сухонская, д 11, кв 89",
"postal_code": "127642",
"country": "Россия",
"country_iso_code": "RU",
"federal_district": "Центральный",
"region_fias_id": "0c5b2444-70a0-4932-980c-b4dc0d3f02b5",
"region_kladr_id": "7700000000000",
"region_iso_code": "RU-MOW",
"region_with_type": "г Москва",
"region_type": "г",
"region_type_full": "город",
"region": "Москва",
"area_fias_id": null,
"area_kladr_id": null,
"area_with_type": null,
"area_type": null,
"area_type_full": null,
"area": null,
"city_fias_id": null,
"city_kladr_id": null,
"city_with_type": null,
"city_type": null,
"city_type_full": null,
"city": null,
"city_area": "Северо-восточный",
"city_district_fias_id": null,
"city_district_kladr_id": null,
"city_district_with_type": "р-н Северное Медведково",
"city_district_type": "р-н",
"city_district_type_full": "район",
"city_district": "Северное Медведково",
"settlement_fias_id": null,
"settlement_kladr_id": null,
"settlement_with_type": null,
"settlement_type": null,
"settlement_type_full": null,
"settlement": null,
"street_fias_id": "95dbf7fb-0dd4-4a04-8100-4f6c847564b5",
"street_kladr_id": "77000000000283600",
"street_with_type": "ул Сухонская",
"street_type": "ул",
"street_type_full": "улица",
"street": "Сухонская",
"stead_fias_id": null,
"stead_kladr_id": null,
"stead_cadnum": null,
"stead_type": null,
"stead_type_full": null,
"stead": null,
"house_fias_id": "5ee84ac0-eb9a-4b42-b814-2f5f7c27c255",
"house_kladr_id": "7700000000028360004",
"house_cadnum": "77:02:0004008:1017",
"house_type": "д",
"house_type_full": "дом",
"house": "11",
"block_type": null,
"block_type_full": null,
"block": null,
"entrance": null,
"floor": null,
"flat_fias_id": "f26b876b-6857-4951-b060-ec6559f04a9a",
"flat_cadnum": "77:02:0004008:4143",
"flat_type": "кв",
"flat_type_full": "квартира",
"flat": "89",
"flat_area": "34.6",
"square_meter_price": "244503",
"flat_price": "8459804",
"postal_box": null,
"fias_id": "f26b876b-6857-4951-b060-ec6559f04a9a",
"fias_code": "77000000000000028360004",
"fias_level": "9",
"fias_actuality_state": "0",
"kladr_id": "7700000000028360004",
"capital_marker": "0",
"okato": "45280583000",
"oktmo": "45362000",
"tax_office": "7715",
"tax_office_legal": "7715",
"timezone": "UTC+3",
"geo_lat": "55.8782557",
"geo_lon": "37.65372",
"beltway_hit": "IN_MKAD",
"beltway_distance": null,
"qc_geo": 0,
"qc_complete": 0,
"qc_house": 2,
"qc": 0,
"unparsed_parts": null,
"metro": [
{
"distance": 1.1,
"line": "Калужско-Рижская",
"name": "Бабушкинская"
},
{
"distance": 1.2,
"line": "Калужско-Рижская",
"name": "Медведково"
},
{
"distance": 2.5,
"line": "Калужско-Рижская",
"name": "Свиблово"
}
]
}
]
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Area
Get All Areas
requires authentication
This endpoint allows you to get All Areas.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/locations/area" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/area"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"areas": [
{
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": "null",
"city": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": "null",
"country": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": "null"
}
},
"sub_areas": [
{
"id": "cb55d244-dc6d-4f11-85ef-2f0adff19dde",
"name": "test sub area",
"deleted_at": null
}
]
},
{
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": "null",
"city": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": "null",
"country": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": "null"
}
},
"sub_areas": [
{
"id": "ce9d6f06-5cbc-47a0-a504-863272c33fbd",
"name": "test sub area",
"deleted_at": null
}
]
}
],
"links": {
"first": "http://localhost/api/v1/locations/areas?page=1",
"last": "http://localhost/api/v1/locations/areas?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "pagination.previous",
"active": false
},
{
"url": "http://localhost/api/v1/locations/areas?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "pagination.next",
"active": false
}
],
"path": "http://localhost/api/v1/articles",
"per_page": 15,
"to": 1,
"total": 1
}
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show Area
requires authentication
This endpoint allows you to get Area by UUID.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/locations/area/894fe12e-0304-35a2-bb49-e5f3b664e51e/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/area/894fe12e-0304-35a2-bb49-e5f3b664e51e/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"area": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": "null",
"city": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": "null",
"country": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": "null"
}
}
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create Area
requires authentication
This endpoint allows you to create Area.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/locations/area" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"name\": \"itaque\",
\"city_id\": \"702a246f-82ab-3f12-a079-0a9d33dae867\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/area"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "itaque",
"city_id": "702a246f-82ab-3f12-a079-0a9d33dae867"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"area": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": "null",
"city": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": "null",
"country": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": "null"
}
}
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Area
requires authentication
This endpoint allows you to update Area.
Example request:
curl --request PATCH \
"https://staging-api.ette.ru/api/v1/locations/area/9b53631b-fec3-4a7f-a697-c6dfa43f76a4/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"name\": \"incidunt\",
\"city_id\": \"52d41368-0b3c-3773-803a-80bf921fc0d0\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/area/9b53631b-fec3-4a7f-a697-c6dfa43f76a4/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "incidunt",
"city_id": "52d41368-0b3c-3773-803a-80bf921fc0d0"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"area": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": "null",
"city": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": "null",
"country": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": "null"
}
}
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete Area
requires authentication
This endpoint allows you to delete Area.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/locations/area/9b53631b-fec3-4a7f-a697-c6dfa43f76a4" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/area/9b53631b-fec3-4a7f-a697-c6dfa43f76a4"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"status": "Soft_deleted"
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Sub-area
Get All Sub-Areas
requires authentication
This endpoint allows you to get all sub-areas.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/locations/sub_area" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/sub_area"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [
{
"id": "40bcc0a3-0ce3-4c67-9daf-b0d9c2e0b759",
"name": "Курортный городок",
"deleted_at": null,
"area": {
"id": "871e4c7c-0877-41d4-9243-bded52114c16",
"name": "Адлерский",
"deleted_at": null,
"city": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": null
}
}
},
{
"id": "0603163e-1cd1-4902-830b-dea1beffffbe",
"name": "Черемушки",
"deleted_at": null,
"area": {
"id": "871e4c7c-0877-41d4-9243-bded52114c16",
"name": "Адлерский",
"deleted_at": null,
"city": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": null
}
}
}
],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create sub-area
requires authentication
This endpoint allows you to create sub-area.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/locations/sub_area" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"name\": \"molestias\",
\"area_id\": \"1e7079ae-aefd-35ed-8e4f-29c22f575769\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/sub_area"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "molestias",
"area_id": "1e7079ae-aefd-35ed-8e4f-29c22f575769"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"sub_area": {
"id": "0603163e-1cd1-4902-830b-dea1beffffbe",
"name": "Черемушки",
"deleted_at": null,
"area": {
"id": "871e4c7c-0877-41d4-9243-bded52114c16",
"name": "Адлерский",
"deleted_at": null,
"city": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": null
}
}
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show Sub-Area
requires authentication
This endpoint allows you to get sub-area by UUID.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/locations/sub_area/01e196fe-9565-41bc-a226-e9396bc8d79f/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/sub_area/01e196fe-9565-41bc-a226-e9396bc8d79f/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"sub_area": {
"id": "0603163e-1cd1-4902-830b-dea1beffffbe",
"name": "Черемушки",
"deleted_at": null,
"area": {
"id": "871e4c7c-0877-41d4-9243-bded52114c16",
"name": "Адлерский",
"deleted_at": null,
"city": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": null
}
}
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Sub-Area
requires authentication
This endpoint allows you to update Sub-Area.
Example request:
curl --request PATCH \
"https://staging-api.ette.ru/api/v1/locations/sub_area/qui/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"non\",
\"name\": \"doloribus\",
\"area_id\": \"aec5527c-06b4-36f4-b5a3-1f67a0f04f1f\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/sub_area/qui/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "non",
"name": "doloribus",
"area_id": "aec5527c-06b4-36f4-b5a3-1f67a0f04f1f"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"sub_area": {
"id": "0603163e-1cd1-4902-830b-dea1beffffbe",
"name": "Черемушки",
"deleted_at": null,
"area": {
"id": "871e4c7c-0877-41d4-9243-bded52114c16",
"name": "Адлерский",
"deleted_at": null,
"city": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"deleted_at": null
}
}
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete Sub-Area
requires authentication
This endpoint allows you to delete sub-area.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/locations/sub_area/01e196fe-9565-41bc-a226-e9396bc8d79f" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/sub_area/01e196fe-9565-41bc-a226-e9396bc8d79f"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"status": "Soft_deleted"
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update permission
requires authentication
This endpoint allows you to update permission.
Example request:
curl --request PUT \
"https://staging-api.ette.ru/api/v1/permissions/0603163e-1cd1-4902-830b-dea1beffffbe/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"ea8ade04-0615-38d1-8316-13ca11f11114\",
\"name\": \"tenetur\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/permissions/0603163e-1cd1-4902-830b-dea1beffffbe/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "ea8ade04-0615-38d1-8316-13ca11f11114",
"name": "tenetur"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"permission": {
"name": "delete_user",
"description": null,
"guard_name": "organization"
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Country
Get All Countries
requires authentication
This endpoint allows you to get All Countries.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/locations/country" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/country"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"countries": [
{
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Россия",
"iso_code": "RU",
"lang_code": "ru",
"phone_code": "7",
"coordinates": [
39.723109,
43.5854823
],
"cities": [
{
"id": "99ef49cd-3a8a-4979-8f34-56fec2cdebc0",
"name": "Сочи"
},
{
"id": "9a59e593-653e-48e3-918f-c9d0c1674689",
"name": "Раменское"
}
]
}
],
"links": {
"first": "http://localhost/api/v1/articles?page=1",
"last": "http://localhost/api/v1/articles?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "pagination.previous",
"active": false
},
{
"url": "http://localhost/api/v1/articles?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "pagination.next",
"active": false
}
],
"path": "http://localhost/api/v1/articles",
"per_page": 15,
"to": 1,
"total": 1
}
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create Country
requires authentication
This endpoint allows you to create Country.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/locations/country" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"name\": \"ue\",
\"iso_code\": \"v\",
\"lang_code\": \"cpgo\",
\"phone_code\": 51110,
\"location\": {
\"latitude\": 48,
\"longitude\": 0
}
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/country"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ue",
"iso_code": "v",
"lang_code": "cpgo",
"phone_code": 51110,
"location": {
"latitude": 48,
"longitude": 0
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"country": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Россия",
"iso_code": "RU",
"lang_code": "ru",
"phone_code": "7",
"coordinates": [
39.723109,
43.5854823
]
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show Country
requires authentication
This endpoint allows you to get Country by UUID.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/locations/country/894fe12e-0304-35a2-bb49-e5f3b664e51e/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/country/894fe12e-0304-35a2-bb49-e5f3b664e51e/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"country": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Россия",
"iso_code": "RU",
"lang_code": "ru",
"phone_code": "7",
"coordinates": [
39.723109,
43.5854823
],
"cities": [
{
"id": "99ef49cd-3a8a-4979-8f34-56fec2cdebc0",
"name": "Сочи"
},
{
"id": "9a59e593-653e-48e3-918f-c9d0c1674689",
"name": "Раменское"
}
]
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Country
requires authentication
This endpoint allows you to update Country.
Example request:
curl --request PATCH \
"https://staging-api.ette.ru/api/v1/locations/country/894fe12e-0304-35a2-bb49-e5f3b664e51e/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"veritatis\",
\"name\": \"zjkfvxmepxq\",
\"iso_code\": \"ar\",
\"lang_code\": \"hzvz\",
\"phone_code\": 62.445577,
\"location\": {
\"latitude\": 57,
\"longitude\": 21
}
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/country/894fe12e-0304-35a2-bb49-e5f3b664e51e/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "veritatis",
"name": "zjkfvxmepxq",
"iso_code": "ar",
"lang_code": "hzvz",
"phone_code": 62.445577,
"location": {
"latitude": 57,
"longitude": 21
}
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"country": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Россия",
"iso_code": "RU",
"lang_code": "ru",
"phone_code": "7",
"coordinates": [
39.723109,
43.5854823
]
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete Country
requires authentication
This endpoint allows you to delete Country.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/locations/country/9b535d76-c8e2-4a24-96f8-c07b18a8175d" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/country/9b535d76-c8e2-4a24-96f8-c07b18a8175d"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"status": "Soft_deleted"
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
City
Get All Cities
requires authentication
This endpoint allows you to get All Cities.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/locations/city" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/city"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"cities": [
{
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"country": "Россия"
},
{
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Егорьевск",
"country": "Россия"
}
],
"links": {
"first": "http://localhost/api/v1/articles?page=1",
"last": "http://localhost/api/v1/articles?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "pagination.previous",
"active": false
},
{
"url": "http://localhost/api/v1/articles?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "pagination.next",
"active": false
}
],
"path": "http://localhost/api/v1/articles",
"per_page": 15,
"to": 1,
"total": 1
}
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create City
requires authentication
This endpoint allows you to create City.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/locations/city" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"name\": \"ihnzjchvrynyygszyqreppo\",
\"country_id\": \"8c6c638e-9984-3ca0-811c-19f886f0e60e\",
\"location\": {
\"latitude\": 20,
\"longitude\": 32
}
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/city"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "ihnzjchvrynyygszyqreppo",
"country_id": "8c6c638e-9984-3ca0-811c-19f886f0e60e",
"location": {
"latitude": 20,
"longitude": 32
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"city": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"country": "Россия",
"coordinates": [
39.723109,
43.5854823
]
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show City
requires authentication
This endpoint allows you to get City by UUID.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/locations/city/894fe12e-0304-35a2-bb49-e5f3b664e51e/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/city/894fe12e-0304-35a2-bb49-e5f3b664e51e/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"city": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"country": "Россия",
"coordinates": [
39.723109,
43.5854823
]
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update City
requires authentication
This endpoint allows you to update City.
Example request:
curl --request PATCH \
"https://staging-api.ette.ru/api/v1/locations/city/894fe12e-0304-35a2-bb49-e5f3b664e51e/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"animi\",
\"name\": \"adkuxfrlh\",
\"country_id\": \"a9d13c4d-a804-31f9-8035-a1de05e1aefe\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/locations/city/894fe12e-0304-35a2-bb49-e5f3b664e51e/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "animi",
"name": "adkuxfrlh",
"country_id": "a9d13c4d-a804-31f9-8035-a1de05e1aefe"
};
fetch(url, {
method: "PATCH",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"city": {
"id": "99ef433c-7fa1-43a8-a857-4fe6e70bc979",
"name": "Сочи",
"country": "Россия",
"coordinates": [
39.723109,
43.5854823
]
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Menu
Get menus
requires authentication
This endpoint allows you to get menus.
Modal
Modal Update
requires authentication
This endpoint allows you to modal update.
Example request:
curl --request PUT \
"https://staging-api.ette.ru/api/v1/modals" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"name\": \"quo\",
\"is_read\": 12946.62242,
\"step\": 410415500.008649
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/modals"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "quo",
"is_read": 12946.62242,
"step": 410415500.008649
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organization
Organization Index
requires authentication
This endpoint allows you to organization index.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/organizations" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/organizations"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organization Create
requires authentication
This endpoint allows you to organization create.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/organizations" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"inn\": \"et\",
\"name\": \"vel\",
\"address\": {
\"country\": \"optio\",
\"state\": \"praesentium\",
\"city\": \"animi\",
\"postal_code\": \"omnis\",
\"area\": \"facere\",
\"street\": \"vitae\",
\"street_number\": \"quae\",
\"cadastral_number\": \"aperiam\"
},
\"email\": \"sydnie.hyatt@example.net\",
\"phone\": \"et\",
\"type\": \"builder\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/organizations"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"inn": "et",
"name": "vel",
"address": {
"country": "optio",
"state": "praesentium",
"city": "animi",
"postal_code": "omnis",
"area": "facere",
"street": "vitae",
"street_number": "quae",
"cadastral_number": "aperiam"
},
"email": "sydnie.hyatt@example.net",
"phone": "et",
"type": "builder"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organization Delete
requires authentication
This endpoint allows you to organization delete.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/organizations/9b5361cd-d5c5-49b3-9d34-c14f8fa30591" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/organizations/9b5361cd-d5c5-49b3-9d34-c14f8fa30591"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organization User Set Approved
requires authentication
This endpoint allows you to organization user set approved.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/organizations/9b5361cd-d5c5-49b3-9d34-c14f8fa30591/users/a00e73ba-d70a-43dd-bacf-4464fffedaa2/set_approved" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"orgId\": \"vel\",
\"userId\": \"sapiente\",
\"approved\": true,
\"ban_reason\": \"repudiandae\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/organizations/9b5361cd-d5c5-49b3-9d34-c14f8fa30591/users/a00e73ba-d70a-43dd-bacf-4464fffedaa2/set_approved"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"orgId": "vel",
"userId": "sapiente",
"approved": true,
"ban_reason": "repudiandae"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organization Inn Validation
requires authentication
This endpoint allows you to organization inn validation.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/organizations/inn/validate" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"inn\": \"4070194660\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/organizations/inn/validate"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"inn": "4070194660"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organization Update
requires authentication
This endpoint allows you to organization update.
Example request:
curl --request PUT \
"https://staging-api.ette.ru/api/v1/organizations/9b5361cd-d5c5-49b3-9d34-c14f8fa30591/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"inn\": \"voluptatem\",
\"name\": \"est\",
\"address\": {
\"country\": \"non\",
\"state\": \"deleniti\",
\"city\": \"et\",
\"postal_code\": \"laboriosam\",
\"area\": \"adipisci\",
\"street\": \"tempore\",
\"street_number\": \"voluptas\",
\"cadastral_number\": \"qui\"
},
\"roles\": []
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/organizations/9b5361cd-d5c5-49b3-9d34-c14f8fa30591/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"inn": "voluptatem",
"name": "est",
"address": {
"country": "non",
"state": "deleniti",
"city": "et",
"postal_code": "laboriosam",
"area": "adipisci",
"street": "tempore",
"street_number": "voluptas",
"cadastral_number": "qui"
},
"roles": []
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organization Show
requires authentication
This endpoint allows you to organization show.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/organizations/9b5361cd-d5c5-49b3-9d34-c14f8fa30591/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/organizations/9b5361cd-d5c5-49b3-9d34-c14f8fa30591/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Pdf Realty Download
requires authentication
This endpoint allows you to pdf realty download.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/pdf/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/pdf/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Permissions
Get All permissions
requires authentication
This endpoint allows you to get all permissions.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/permissions" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/permissions"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [
{
"id": "07ba29bf-3032-4e47-b9c1-27f609783254",
"name": "create_article",
"description": null,
"guard_name": "user"
},
{
"id": "1ba8f60a-6fd4-41b4-81a4-41e526480d4b",
"name": "create_article_category",
"description": null,
"guard_name": "user"
},
{
"id": "2ac03038-e868-47db-a934-75b5b891a837",
"name": "force_delete_realty",
"description": null,
"guard_name": "user"
},
{
"id": "40347bbb-8c86-45d0-9a41-0fb3e65141e3",
"name": "edit_user",
"description": null,
"guard_name": "user"
}
]
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create permission
requires authentication
This endpoint allows you to create permission.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/permissions" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"name\": \"delectus\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/permissions"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "delectus"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"permission": {
"name": "delete_user",
"description": null,
"guard_name": "organization"
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show permission
requires authentication
This endpoint allows you to get permission by UUID.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/permissions/894fe12e-0304-35a2-bb49-e5f3b664e51e/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/permissions/894fe12e-0304-35a2-bb49-e5f3b664e51e/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"permission": {
"name": "delete_user",
"description": null,
"guard_name": "organization"
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete permission
requires authentication
This endpoint allows you to delete permission.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/permissions/07ba29bf-3032-4e47-b9c1-27f609783254" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/permissions/07ba29bf-3032-4e47-b9c1-27f609783254"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"status": "Deleted"
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Public
Search by INN
This endpoint allows you search organizations by INN.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/public/search_by_inn/7707083893"const url = new URL(
"https://staging-api.ette.ru/api/v1/public/search_by_inn/7707083893"
);
fetch(url, {
method: "GET",
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [
{
"id": null,
"inn": "232010357008",
"name": "ИП Каратеев Александр Сергеевич",
"address": {
"country": "Россия",
"state": "Краснодарский край",
"city": "Сочи",
"postal_code": "354000",
"area": null,
"street": "",
"street_number": null
},
"profile_photo_path": null
}
],
"error": null,
"message": "Success"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Public Egrn
Egrn Keys
requires authentication
This endpoint allows you to egrn keys.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/public/egrn/keys" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/public/egrn/keys"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Public Organization
Organization Type
requires authentication
This endpoint allows you to organization type.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/public/organization/types" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/public/organization/types"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Organization Search
requires authentication
This endpoint allows you to organization search.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/public/organization/search" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"needle\": \"nesciunt\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/public/organization/search"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"needle": "nesciunt"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show organization by inn
This endpoint allows you to retrieve the organization by INN from our database
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/public/organization/2320185812"const url = new URL(
"https://staging-api.ette.ru/api/v1/public/organization/2320185812"
);
fetch(url, {
method: "GET",
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Realty
Get Realty Videos
requires authentication
This endpoint allows you to get realty videos.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8/videos" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8/videos"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"videos": [
{
"id": "43ade673-a7c5-4bbe-bd1b-aa0e6d93b97a",
"file_path": "videos/01909300-dbf8-7201-8886-329465011195.mp4",
"youtube_id": "ERHFYpsgiH4",
"created_at": "2024-07-20T19:44:45+00:00",
"updated_at": "2024-07-20T19:44:46+00:00"
}
]
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Set Realty Visibility
requires authentication
This endpoint allows you to set realty visibility.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8/set_visibility" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"visibility\": \"public\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8/set_visibility"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"visibility": "public"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"Status": "Success"
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Transfer realty to new owner
requires authentication
This endpoint allows you to transfer realty to new owner.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8/transfer_control" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"email\": \"test@example.com\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8/transfer_control"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "test@example.com"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"success": true
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Give permissions for realty to selected users (by email list)
requires authentication
This endpoint allows you to give permissions for realty to selected users (by email list).
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8/permissions_give" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"email_list\": [
\"test@test.com\",
\"test2@test.com\"
],
\"permissions\": [
\"read\",
\"update\"
]
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8/permissions_give"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email_list": [
"test@test.com",
"test2@test.com"
],
"permissions": [
"read",
"update"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"success": true
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Check if current user has permission for realty
requires authentication
Checks whether the authenticated user has the specified permission for the given realty object.
Returns 200 if access is granted, 403 if the user does not have the required permission.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/realty/550e8400-e29b-41d4-a716-446655440000/check-permission" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/realty/550e8400-e29b-41d4-a716-446655440000/check-permission"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"user_can_read": true,
"user_can_update": false
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (403, The user does not have the specified permission for this realty):
{
"success": false,
"data": null,
"error": "Forbidden",
"message": "Forbidden"
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Realty Permission Detach
requires authentication
This endpoint allows you to realty permission detach.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8/permissions_detach" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"email_list\": [
\"eligendi\"
],
\"permissions\": [
\"delete\"
]
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8/permissions_detach"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email_list": [
"eligendi"
],
"permissions": [
"delete"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Realty Filter Count
requires authentication
This endpoint allows you to realty filter count.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/realty/realty-filter-count" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/realty/realty-filter-count"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get Realty Objects
requires authentication
Получение списка объектов недвижимости с возможностью фильтрации по различным параметрам.
Поддерживается:
- Пагинация (pagination) - управление постраничным выводом (limit/offset)
- Сортировка (sort) - сортировка по одному или нескольким полям
- Фильтрация (filter) - фильтрация по множеству параметров (точные значения, диапазоны, множественный выбор)
- Выбор полей (fields) - получение только указанных полей объекта
- Загрузка связанных данных (include) - включение в ответ связанных сущностей
Примеры запросов:
# Базовая пагинация:
GET /api/v1/realty?pagination[limit]=20&pagination[offset]=0
# Сортировка по цене (сначала дешевые):
GET /api/v1/realty?sort=object_price
# Сортировка по убыванию даты обновления (по умолчанию):
GET /api/v1/realty?sort=-current_updated_at
# Комбинированная сортировка (по цене и дате):
GET /api/v1/realty?sort=object_price,-created_at
# Фильтрация по статусу и типу сделки:
GET /api/v1/realty?filter[status]=published&filter[deal_type]=sale
# Фильтрация по диапазону цены:
GET /api/v1/realty?filter[price][]=2000000&filter[price][]=5000000
# Фильтрация по нескольким районам:
GET /api/v1/realty?filter[area_relation][]=9b6e0a09-2c31-4fc3-8325-76bcdf1372be&filter[area_relation][]=9b6e0a09-2c31-4fc3-8325-76bcdf1372bf
# Фильтрация с булевыми параметрами:
GET /api/v1/realty?filter[from_owner]=1&filter[not_first_floor]=true
# Поиск по названию или адресу:
GET /api/v1/realty?filter[name]=ЖК Рыба
# Сложная фильтрация (статус, тип сделки, цена, комнаты):
GET /api/v1/realty?filter[status]=published&filter[deal_type]=sale&filter[price][]=2000000&filter[price][]=5000000&filter[rooms]=2
# Выбор конкретных полей:
GET /api/v1/realty?fields[]=id&fields[]=name&fields[]=price&fields[]=address
# Загрузка связанных данных:
GET /api/v1/realty?include=price,images,owner,area.city
# Полный пример с пагинацией, сортировкой, фильтрацией, выбором полей и загрузкой связей:
GET /api/v1/realty?filter[status]=published&filter[deal_type]=sale&filter[complex_is_completed]=1&sort=-current_updated_at&fields[]=id&fields[]=name&fields[]=price&fields[]=address&include=price,images,owner&pagination[limit]=20&pagination[offset]=0
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/realty?pagination%5Blimit%5D=17&pagination%5Boffset%5D=11&sort=qui&fields%5B%5D=odio&include=fuga&filter%5BwithRegion%5D=expedita&filter%5BwithCountryRegion%5D=non&filter%5BwithCityRegion%5D=ut&filter%5Bname%5D=deleniti&filter%5Btype_id%5D=fugit&filter%5Bdeal_type%5D=quaerat&filter%5Brooms%5D=12&filter%5Bfloor%5D=18&filter%5Bprice%5D=ea&filter%5Bprice_per_sqm%5D=porro&filter%5Bnot_last_floor%5D=1&filter%5Bnot_first_floor%5D=&filter%5Bfrom_owner%5D=1&filter%5Bis_owner%5D=&filter%5Bstatus%5D=eius&filter%5Bcomplex_is_published%5D=13&filter%5Bcomplex_square%5D=sequi&filter%5Bcomplex_price%5D=et&filter%5Bcomplex_price_per_sqm%5D=sit&filter%5Bcomplex_has_campaign%5D=1&filter%5Bcomplex_floor%5D[]=et&filter%5Bcomplex_rooms%5D[]=quos&filter%5Bcomplex_from_owner%5D=1&filter%5Bcomplex_is_completed%5D=&filter%5Bcomplex_completion_interval%5D[]=delectus&filter%5Bcomplex_not_first_floor%5D=&filter%5Bcomplex_not_last_floor%5D=1&filter%5Barea_relation%5D[]=est&filter%5Bsub_area%5D[]=quia&filter%5Bestate_type%5D=natus&filter%5Bnumber_of_rooms%5D=voluptas&filter%5Bfz214%5D=1&filter%5Bproperty_options%5D[]=eum&filter%5Bproperty%5D%5Bsquare%5D=error&filter%5Bproperty%5D%5Bcomplex_rooms%5D%5B%5D[]=et&filter%5Bproperty%5D%5Bprice%5D=hic&filter%5Bproperty%5D%5Bprice_sqm%5D=vel&filter%5Bproperty%5D%5Bfrom_owner%5D=1&filter%5Bproperty%5D%5Bnumber_of_rooms%5D%5B%5D[]=atque&filter%5Bproperty%5D%5Boptions%5D%5B%5D[]=voluptate&filter%5Bproperty%5D%5Bsale%5D=1&filter%5Bproperty%5D%5Bwindow_view%5D%5B%5D[]=qui&filter%5Bhouse_status%5D=corporis&filter%5Bpool%5D=1&filter%5Bcountry%5D=id&filter%5Btrashed%5D=1&filter%5Barchived%5D=1&filter%5Baddress%5D=enim&filter%5Bis_aska_realty%5D=&filter%5Buser_id%5D=consequatur" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
const url = new URL(
"https://staging-api.ette.ru/api/v1/realty"
);
const params = {
"pagination[limit]": "17",
"pagination[offset]": "11",
"sort": "qui",
"fields[]": "odio",
"include": "fuga",
"filter[withRegion]": "expedita",
"filter[withCountryRegion]": "non",
"filter[withCityRegion]": "ut",
"filter[name]": "deleniti",
"filter[type_id]": "fugit",
"filter[deal_type]": "quaerat",
"filter[rooms]": "12",
"filter[floor]": "18",
"filter[price]": "ea",
"filter[price_per_sqm]": "porro",
"filter[not_last_floor]": "1",
"filter[not_first_floor]": "0",
"filter[from_owner]": "1",
"filter[is_owner]": "0",
"filter[status]": "eius",
"filter[complex_is_published]": "13",
"filter[complex_square]": "sequi",
"filter[complex_price]": "et",
"filter[complex_price_per_sqm]": "sit",
"filter[complex_has_campaign]": "1",
"filter[complex_floor][0]": "et",
"filter[complex_rooms][0]": "quos",
"filter[complex_from_owner]": "1",
"filter[complex_is_completed]": "0",
"filter[complex_completion_interval][0]": "delectus",
"filter[complex_not_first_floor]": "0",
"filter[complex_not_last_floor]": "1",
"filter[area_relation][0]": "est",
"filter[sub_area][0]": "quia",
"filter[estate_type]": "natus",
"filter[number_of_rooms]": "voluptas",
"filter[fz214]": "1",
"filter[property_options][0]": "eum",
"filter[property][square]": "error",
"filter[property][complex_rooms][][0]": "et",
"filter[property][price]": "hic",
"filter[property][price_sqm]": "vel",
"filter[property][from_owner]": "1",
"filter[property][number_of_rooms][][0]": "atque",
"filter[property][options][][0]": "voluptate",
"filter[property][sale]": "1",
"filter[property][window_view][][0]": "qui",
"filter[house_status]": "corporis",
"filter[pool]": "1",
"filter[country]": "id",
"filter[trashed]": "1",
"filter[archived]": "1",
"filter[address]": "enim",
"filter[is_aska_realty]": "0",
"filter[user_id]": "consequatur",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"data": [
{
"id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"name": "жк рыба",
"description": "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.",
"address": {
"country": "Россия",
"state": "г Москва",
"city": "Москва",
"postal_code": "109147",
"area": null,
"street": "ул Абельмановская",
"street_number": null
},
"liked": false,
"location": [
37.670133,
55.73518
],
"images": [],
"area": {
"id": "9b6e0a09-2c31-4fc3-8325-76bcdf1372be",
"name": "Адлерский",
"deleted_at": null,
"city": {
"id": "9b6dff1d-23f1-4189-b23a-8fb2162fb687",
"name": "Сочи",
"deleted_at": null,
"country": {
"id": "9b6dff1d-20c7-4e06-a573-73faefadc8e4",
"name": "Россия",
"deleted_at": null
}
}
},
"main_image": null,
"created_at": "04.03.2024",
"updated_at": "04.03.2024",
"price": {
"price_per_sqm": 11222,
"object_price": 1233233
},
"status": "published",
"contacts": [
{
"id": "9b7c2924-ac4b-44c3-8986-d20e88f2f05f",
"name": "станислав",
"phone": "79872827062",
"email": "ximik.tut@mail.ru",
"type": "builder",
"commission": "13444",
"commission_type": "fixed",
"note": "рыбарыбарыба"
}
],
"realty_type": {
"id": "9b6dff1d-aef6-496f-97ad-293d5c87cccc",
"slug": "novostroiki"
},
"deleted_at": null,
"user_can_read": true,
"user_can_update": true
},
{
"id": "9b7c0ec1-7a9f-4e41-8c6d-adb61619b8b8",
"name": "ЖК Пример",
"description": "ОписаниеОписаниеОписаниеОписание",
"address": {
"country": "Россия",
"state": "Краснодарский край",
"city": "Сочи",
"postal_code": "354000",
"area": null,
"street": "ул Пластунская",
"street_number": "52Ж/4"
},
"liked": false,
"location": [
39.7388129,
43.6042021
],
"aggregates": {
"property_count": 0,
"property_sale_count": 0,
"property_public_count": 0,
"property_public_sale_count": 0
},
"images": [],
"area": {
"id": "9b6e0a09-2c31-4fc3-8325-76bcdf1372be",
"name": "Адлерский",
"deleted_at": null,
"city": {
"id": "9b6dff1d-23f1-4189-b23a-8fb2162fb687",
"name": "Сочи",
"deleted_at": null,
"country": {
"id": "9b6dff1d-20c7-4e06-a573-73faefadc8e4",
"name": "Россия",
"deleted_at": null
}
}
},
"main_image": null,
"created_at": "04.03.2024",
"updated_at": "27.03.2024",
"price": {
"object_price": 3000000
},
"contacts": [
{
"id": "9b7c0ec1-9724-40cd-acbc-864457c6d7b2",
"name": "Славик",
"phone": null,
"email": "1@mail.ru",
"type": "builder",
"commission": null,
"commission_type": "fixed",
"note": null
}
],
"realty_type": {
"id": "9b6dff1d-aef6-496f-97ad-293d5c87cccc",
"slug": "novostroiki"
},
"deleted_at": null,
"user_can_update": true
}
],
"meta": {
"pagination": {
"offset": 0,
"limit": 10,
"total": 3843,
"hasMore": true,
"type": "offset"
}
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Realty Create
requires authentication
This endpoint allows you to realty create.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/realty" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"status\": \"published\",
\"crm_approve\": true,
\"additional_info\": \"accusamus\",
\"lawyer_comment\": \"aspernatur\",
\"area_id\": \"be8a26d3-222a-32b6-a3a0-a09ffec21ab0\",
\"sub_area_id\": \"89b0bf3c-836e-3589-a83a-dac3ca4fd477\",
\"type_id\": \"a60f0ce1-09c4-3638-a583-56b3e85908e0\",
\"deal_type\": \"id\",
\"building_id\": \"0c0ac1aa-b31b-3ba1-8805-8606686b5b53\",
\"clear_name\": \"hgdkmfhdeiet\",
\"video_group_id\": \"ab\",
\"current_created_at\": \"officia\",
\"current_updated_at\": \"ad\",
\"user_id\": \"eveniet\",
\"address\": {
\"city\": \"quasi\",
\"street\": \"laboriosam\"
}
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/realty"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"status": "published",
"crm_approve": true,
"additional_info": "accusamus",
"lawyer_comment": "aspernatur",
"area_id": "be8a26d3-222a-32b6-a3a0-a09ffec21ab0",
"sub_area_id": "89b0bf3c-836e-3589-a83a-dac3ca4fd477",
"type_id": "a60f0ce1-09c4-3638-a583-56b3e85908e0",
"deal_type": "id",
"building_id": "0c0ac1aa-b31b-3ba1-8805-8606686b5b53",
"clear_name": "hgdkmfhdeiet",
"video_group_id": "ab",
"current_created_at": "officia",
"current_updated_at": "ad",
"user_id": "eveniet",
"address": {
"city": "quasi",
"street": "laboriosam"
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get realty by ID
requires authentication
This endpoint allows you to get realty by ID.
### Contacts
- `contacts` / `visibleContacts` — контакты самого объекта (с учётом прав текущего пользователя).
- `bindingContacts` — **только для администратора**: дедуплицированные контакты типа `owner`
с вторичных опубликованных объявлений шахматки этого ЖК/КП.
У не-админа поле отсутствует. В сохранение объекта не входит.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"realty": {
"id": "9d7f406b-0058-4179-81c1-676b32b68bee",
"name": "ЖК Седьмое небо, ул. Целинная, 16 г",
"description": "ЖК Седьмое Небо — сданный жилой комплекс, расположенный в спальном микрорайоне Верхняя Мамайка центрального Сочи по улице Целинная. ЖК Седьмое Небо — жилой комплекс комфорт класса, состоящий их трех этажей с великолепными панорамными характеристиками на море и горы.\nСтатус недвижимости «жилое помещение». В продаже от застройщика квартиры от 19 до 45 квадратных метров с черновой отделкой. Планировки правильной формы, и даже в самых компактных студиях — два окна (плюс балкон), а значит, всегда можно выделить отдельную кухню и распланировать пространство на несколько изолированных функциональных зон. Центральные коммуникации. Шикарные виды на море и на горы.\nЗакрытая благоустроенная придомовая территория - детская площадка, видеонаблюдение, придомовой паркинг. Вся необходимая для жизни инфраструктура в шаговой доступности (магазин Магнит, автобусная остановка и др.) — до железнодорожного вокзала — 10 минут езды по дублеру Курортного проспекта, детские сады и школа в 10 минутах езды на общественном транспорте, 5 минут езды на машине до моря. Аквапарк октябрьский в 3 мин езды на машине.\nДополнительное преимущество объекта в том, что с одной стороны, это ближайшая доступность насыщенной развлекательной инфраструктуры, с другой — дом расположен в некотором отдалении от шумных туристических мест, обеспечивая приватность и тишину жизни и отдыха.",
"additional_info": null,
"lawyer_comment": "",
"address": {
"country": "Россия",
"state": null,
"city": "Сочи",
"postal_code": "",
"area": null,
"street": "Целинная улица (Верхняя Мамайка)",
"street_number": "16 а",
"cadastral_number": ""
},
"aggregates": {
"property_count": 0,
"property_sale_count": 0,
"property_public_count": 0,
"property_public_sale_count": 0
},
"type": {
"id": "9b535d77-b00e-4b5c-8064-7f7cd396dc48",
"parent_id": null,
"slug": "novostroiki",
"name": {
"ru": "Новостройки"
},
"sort": 0,
"created_at": "2024-02-13T11:25:27.000000Z",
"updated_at": "2024-02-13T11:25:27.000000Z"
},
"deal_type": null,
"images": [
{
"folder_name": "",
"images": [
{
"id": 18432,
"mime_type": "image/jpeg",
"name": "20201026-171251-2319_20201026280563",
"original_url": "http://api.ette.local/storage/18432/20201026-171251-2319_20201026280563.jpg",
"is_main": true,
"just_for_me": false
},
{
"id": 18433,
"mime_type": "image/jpeg",
"name": "20201026-171255-2319_20201026281431",
"original_url": "http://api.ette.local/storage/18433/20201026-171255-2319_20201026281431.jpg",
"is_main": false,
"just_for_me": false
}
]
}
],
"docs": [
{
"folder_name": "",
"images": [
{
"id": 18440,
"mime_type": "image/jpeg",
"name": "Юр.описание",
"original_url": "http://api.ette.local/storage/18440/Юр.описание.jpg",
"is_main": true,
"just_for_me": false
},
{
"id": 18442,
"mime_type": "image/jpeg",
"name": "1603724159",
"original_url": "http://api.ette.local/storage/18442/1603724159.jpeg",
"is_main": false,
"just_for_me": false
},
{
"id": 18443,
"mime_type": "image/jpeg",
"name": "1603724217",
"original_url": "http://api.ette.local/storage/18443/1603724217.jpeg",
"is_main": false,
"just_for_me": false
},
{
"id": 18444,
"mime_type": "image/jpeg",
"name": "1603724256",
"original_url": "http://api.ette.local/storage/18444/1603724256.jpeg",
"is_main": false,
"just_for_me": false
}
]
}
],
"plans": [
{
"folder_name": "",
"images": [
{
"id": 18441,
"mime_type": "image/jpeg",
"name": "20201026-174535-111111",
"original_url": "http://api.ette.local/storage/18441/20201026-174535-111111.jpeg",
"is_main": true,
"just_for_me": false
}
]
}
],
"features": [
{
"name": "Общие характеристики",
"sort": 2,
"children": [
{
"id": "9dbf7ae5-1bcf-4b42-9ecf-c9688eb829ec",
"parent_id": "9b6dff1d-e102-4600-a04e-335f8ca59e81",
"code": "sea_distance",
"blocked": false,
"name": "Расстояние до моря",
"sort": 0,
"default_unit": null,
"data": {
"required": true,
"tip": null,
"hidden_for_create": null
},
"realty_types": [],
"type": "text",
"value": "0"
}
]
},
{
"name": "Коммуникации",
"sort": 4,
"children": [
{
"id": "9dbf7ae4-25d7-4f2a-b20f-5abaf5a22e6b",
"parent_id": "9b535d77-eac9-405a-b7d7-d03ea46654e6",
"code": "gas_pipeline",
"blocked": false,
"name": "Газопровод",
"sort": 0,
"default_unit": "9dbf7ae4-3514-4565-aaba-9bb47298df75",
"data": {
"required": true,
"tip": null,
"hidden_for_create": null
},
"realty_types": [],
"type": "select",
"value": "Нет",
"options": [
{
"id": "9dbf7ae4-3514-4565-aaba-9bb47298df75",
"slug": "net",
"name": "Нет",
"sort": 0
},
{
"id": "9dbf7ae4-3329-44c3-9a8d-9f2c7e3323fb",
"slug": "da",
"name": "Да",
"sort": 0
}
]
}
]
}
],
"liked": false,
"coordinates": {
"latitude": 43.63573,
"longitude": 39.71191
},
"owner": {
"id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"name": "System Admin",
"phone": "+79209773366",
"role": {
"name": "administrator",
"color": "#000",
"description": "Администратор"
}
},
"area": {
"id": "9b5363b7-1dc4-4807-9a09-0d43abc44ddd",
"name": "Центральный",
"deleted_at": null,
"city": {
"id": "9b535d76-d172-404c-b05b-9d0d5d13e02d",
"name": "Сочи",
"deleted_at": null,
"country": {
"id": "9b535d76-ccde-46f9-aea0-42603da2c00b",
"name": "Россия",
"deleted_at": null
}
}
},
"subArea": {
"id": "cb6ba26c-c854-4874-8d79-a2811c6d41bd",
"name": "Мамайка верх",
"deleted_at": null
},
"price": {
"price_per_sqm": 236760,
"object_price": 7600000
},
"commission": "12000.000",
"commission_type": "per-sqm",
"tags": null,
"square": null,
"videoGroup": [
{
"id": "9f177ce0-bb7d-4356-b540-2bff6f433106",
"iframe": "http://api.ette.local/storage/322/394374_WhatsApp_Video_2018-02-07_at_14.33.09.mp4"
},
{
"id": "a03956e6-f4a5-4bcd-b01d-c71acde2b228",
"iframe": "http://api.ette.local/storage/videos/394374_WhatsApp_Video_2018-02-07_at_14.33.09.mp4"
}
],
"status": "published",
"visibility": "public",
"clear_name": "ЖК Седьмое небо, ул. Целинная, 16 г",
"crm_approve": true,
"contacts": [
{
"id": "9dbfa699-89fb-4735-a9ed-13fa032bd83d",
"name": "Дмитрий",
"phone": "+79882365522",
"email": "",
"type": null,
"commission": "12000",
"commission_type": "per-sqm",
"note": "Возможна рассрочка до 3-х месяцев."
}
],
"bindingContacts": [
{
"id": "a26009fa-3f5e-4aa0-b399-c747beaca7f3",
"name": "Иван",
"phone": "79991234567",
"formatted_phone": "+79991234567",
"email": "owner@example.com",
"type": "owner",
"commission": null,
"commission_type": null,
"note": null,
"is_hidden": false,
"sort_order": 0
}
],
"bindings": [],
"created_at": "15.11.2024",
"updated_at": "17.04.2023",
"current_created_at": null,
"current_updated_at": null,
"user_can_read": true,
"user_can_update": true,
"users": []
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Realty Update
requires authentication
This endpoint allows you to realty update.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/realty/inventore/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"crm_approve\": true,
\"additional_info\": \"tempora\",
\"lawyer_comment\": \"omnis\",
\"area_id\": \"84ae5da6-604e-3dce-9da0-da4fe946dcbf\",
\"sub_area_id\": \"2acca5ad-dd2d-3ed6-8b64-e16ca0269f74\",
\"deal_type\": \"ipsa\",
\"building_id\": \"b3db23c0-5d67-3cf2-8d58-0e5bb693c204\",
\"clear_name\": \"laudantium\",
\"video_group_id\": \"totam\",
\"current_created_at\": \"sed\",
\"current_updated_at\": \"voluptatibus\",
\"is_contacts_sorted\": true,
\"address\": {
\"city\": \"et\",
\"street\": \"ut\"
}
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/realty/inventore/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"crm_approve": true,
"additional_info": "tempora",
"lawyer_comment": "omnis",
"area_id": "84ae5da6-604e-3dce-9da0-da4fe946dcbf",
"sub_area_id": "2acca5ad-dd2d-3ed6-8b64-e16ca0269f74",
"deal_type": "ipsa",
"building_id": "b3db23c0-5d67-3cf2-8d58-0e5bb693c204",
"clear_name": "laudantium",
"video_group_id": "totam",
"current_created_at": "sed",
"current_updated_at": "voluptatibus",
"is_contacts_sorted": true,
"address": {
"city": "et",
"street": "ut"
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Restore realty by ID
requires authentication
This endpoint allows you to restore realty by ID.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8/restore" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8/restore"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"success": true
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Realty Delete
requires authentication
This endpoint allows you to realty delete.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/realty/9eacc7e2-1971-49fe-9996-fdbf4fbd79e8"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get complexes
requires authentication
This endpoint allows you to get realty complexes.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/complexes" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/complexes"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"data": [
{
"id": "9d525388-ba05-4bf7-9c2b-a3685809a3bf",
"user_id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"name": "АК Radissоn Collection Hotel (Рэдиссон отель Гранд Роял) 6 корпус) ул. Виноградная, 14",
"address": {
"country": "Россия",
"state": null,
"city": "Сочи",
"postal_code": "",
"area": null,
"street": "Виноградная улица (Новый Сочи)",
"street_number": "14",
"cadastral_number": ""
},
"location": [
39.71774,
43.60103
],
"is_published": null,
"is_completed": null,
"completion_date": null,
"type": null
},
{
"id": "9d5253a5-2a47-4845-b5b6-1447d50ae726",
"user_id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"name": "АК Апельсин, ул. Ленина, 172 б",
"address": {
"country": "Россия",
"state": null,
"city": "Сочи",
"postal_code": "",
"area": null,
"street": "Улица Ленина",
"street_number": "172 Б",
"cadastral_number": ""
},
"location": [
39.90914,
43.44284
],
"is_published": null,
"is_completed": null,
"completion_date": null,
"type": null
},
{
"id": "9d5253aa-d067-4e85-bfc7-af126785587a",
"user_id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"name": "АК Панорама, ул. Высокогорная, 107",
"address": {
"country": "Россия",
"state": null,
"city": "Сочи",
"postal_code": "",
"area": null,
"street": "Высокогорная улица (Новая Заря)",
"street_number": "107",
"cadastral_number": ""
},
"location": [
39.7314,
43.65028
],
"is_published": null,
"is_completed": null,
"completion_date": null,
"type": null
},
{
"id": "9d5253b4-5a80-4e1c-b85f-9dcc2ebd09a7",
"user_id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"name": "АК Гусаровский, с. Веселое, ул. Гусаровская, 9",
"address": {
"country": "Россия",
"state": null,
"city": "Сочи",
"postal_code": "",
"area": null,
"street": "Гусаровская улица (Весёлое)",
"street_number": "9",
"cadastral_number": "23:49:0407006:4935"
},
"location": [
40.00437,
43.41785
],
"is_published": null,
"is_completed": null,
"completion_date": null,
"type": null
}
],
"links": [
{
"url": null,
"label": "pagination.previous",
"active": false
},
{
"url": "http://api.ette.local:8080/api/v1/complexes?filter%5Btype_id%5D=9b535d77-b00e-4b5c-8064-7f7cd396dc48&page%5Bnumber%5D=1",
"label": "1",
"active": true
},
{
"url": "http://api.ette.local:8080/api/v1/complexes?filter%5Btype_id%5D=9b535d77-b00e-4b5c-8064-7f7cd396dc48&page%5Bnumber%5D=1",
"label": "pagination.next",
"active": false
}
],
"meta": {
"current_page": 1,
"first_page_url": "http://api.ette.local:8080/api/v1/complexes?filter%5Btype_id%5D=9b535d77-b00e-4b5c-8064-7f7cd396dc48&page%5Bnumber%5D=1",
"from": 1,
"last_page": 1,
"last_page_url": "http://api.ette.local:8080/api/v1/complexes?filter%5Btype_id%5D=9b535d77-b00e-4b5c-8064-7f7cd396dc48&page%5Bnumber%5D=1",
"next_page_url": "http://api.ette.local:8080/api/v1/complexes?filter%5Btype_id%5D=9b535d77-b00e-4b5c-8064-7f7cd396dc48&page%5Bnumber%5D=1",
"path": "http://api.ette.local:8080/api/v1/complexes",
"per_page": 15,
"prev_page_url": null,
"to": 15,
"total": 3
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Realty Feature
Get All Realty Feature
requires authentication
This endpoint allows you to get all of Realty Feature.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/realty_features" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/realty_features"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"data": [
{
"id": "9a05a7fd-dd70-4c7e-b6e7-5d56bf6a0ea6",
"type_id": "9a05a7fd-d32c-4cf1-ad82-47bd19ba0493",
"type": "divide",
"parent_id": null,
"code": "general_characteristics",
"name": "Общие характеристики",
"sort": 0,
"default_unit": null,
"realty_types": [],
"data": {
"required": null,
"tip": null
}
},
{
"id": "9a05a806-d9d1-4b0e-ba58-3977bf641eef",
"type_id": "9a05a7fd-a4a8-4356-94c6-eab75363ba43",
"type": "select",
"parent_id": "9a05a7fd-f408-4cfd-a8d0-35f8a2e060d4",
"code": "rent_time",
"name": "Время аренды",
"sort": 0,
"default_unit": null,
"realty_types": [
"9a05a7fd-344c-4add-abea-2ad8cd1dde0a"
],
"data": {
"required": false,
"tip": null
},
"options": [
{
"sort": 0,
"slug": "net",
"name": "Нет",
"realty_type_id": null
}
]
}
],
"links": [],
"meta": {
"path": "http://localhost/api/v1/realty_features",
"per_page": 15,
"next_cursor": "eyJzb3J0IjoyLCJfcG9pbnRzVG9OZXh0SXRlbXMiOnRydWV9",
"next_page_url": "http://localhost/api/v1/realty_features?page%5Bcursor%5D=eyJzb3J0IjoyLCJfcG9pbnRzVG9OZXh0SXRlbXMiOnRydWV9",
"prev_cursor": null,
"prev_page_url": null
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create Realty Feature
requires authentication
This endpoint allows you to create Realty Feature object.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/realty_features" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"type_id\": \"fe812b16-05bc-364f-9c1d-4ad580e53a48\",
\"name\": \"illum\",
\"sort\": 2781.9299,
\"realty_types\": []
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/realty_features"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type_id": "fe812b16-05bc-364f-9c1d-4ad580e53a48",
"name": "illum",
"sort": 2781.9299,
"realty_types": []
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"feature": {
"id": "9a05f6f0-1359-4219-87c9-3feadfe33227",
"type_id": "9a05a7fd-aa48-417f-a6a5-734612ece4a6",
"type": "multiple",
"parent_id": null,
"code": "pavpavvfsdfdsa",
"name": "павпаввfsdfdsа",
"sort": 0,
"default_unit": null,
"realty_types": [
"9a05a7fd-461f-4ef9-abb0-341995c14a75"
],
"data": {
"required": "false",
"tip": null
},
"options": [
{
"sort": 0,
"slug": "pavpavvfsdfdsa",
"name": "павпаввfsdfdsа",
"realty_type_id": null
}
]
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show Realty Feature
requires authentication
This endpoint allows you to get Realty Feature by UUID.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/realty_features/014538e3-1720-46db-abf1-496674f23678/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/realty_features/014538e3-1720-46db-abf1-496674f23678/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"feature": {
"id": "9a05f6f0-1359-4219-87c9-3feadfe33227",
"type_id": "9a05a7fd-aa48-417f-a6a5-734612ece4a6",
"type": "multiple",
"parent_id": null,
"code": "pavpavvfsdfdsa",
"name": "павпаввfsdfdsа",
"sort": 0,
"blocked": false,
"default_unit": null,
"realty_types": [
"9a05a7fd-461f-4ef9-abb0-341995c14a75"
],
"data": {
"required": "false",
"tip": null
},
"options": [
{
"sort": 0,
"slug": "pavpavvfsdfdsa",
"name": "павпаввfsdfdsа",
"realty_type_id": null
}
]
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update Realty Feature
requires authentication
This endpoint allows you to update Realty Feature Object.
Example request:
curl --request PUT \
"https://staging-api.ette.ru/api/v1/realty_features/894fe12e-0304-35a2-bb49-e5f3b664e51e/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"type_id\": \"f8b76214-51aa-3444-8468-6aec2e607ad6\",
\"name\": \"architecto\",
\"sort\": 1137.063497,
\"realty_types\": []
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/realty_features/894fe12e-0304-35a2-bb49-e5f3b664e51e/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"type_id": "f8b76214-51aa-3444-8468-6aec2e607ad6",
"name": "architecto",
"sort": 1137.063497,
"realty_types": []
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"feature": {
"id": "9a05f6f0-1359-4219-87c9-3feadfe33227",
"type_id": "9a05a7fd-aa48-417f-a6a5-734612ece4a6",
"type": "multiple",
"parent_id": null,
"code": "pavpavvfsdfdsa",
"name": "павпаввfsdfdsа",
"sort": 0,
"default_unit": null,
"realty_types": [
"9a05a7fd-461f-4ef9-abb0-341995c14a75"
],
"data": {
"required": "false",
"tip": null
},
"options": [
{
"sort": 0,
"slug": "pavpavvfsdfdsa",
"name": "павпаввfsdfdsа",
"realty_type_id": null
}
]
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete Realty Feature
requires authentication
This endpoint allows you to delete Realty Feature object.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/realty_features/014538e3-1720-46db-abf1-496674f23678" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/realty_features/014538e3-1720-46db-abf1-496674f23678"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Sort Realty Feature
requires authentication
This endpoint allows you to set sort param for Realty Feature by UUID.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/realty_features/sort" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"features\": {
\"feature_id\": \"9eacc7df-8330-40c7-8d38-10c72715def7\",
\"sort\": 1395
}
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/realty_features/sort"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"features": {
"feature_id": "9eacc7df-8330-40c7-8d38-10c72715def7",
"sort": 1395
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Realty Feature Option
Realty Feature Options set sort
requires authentication
This endpoint allows you to set sort for many realty feature options.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/realty_feature_options/sort" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"options\": {
\"option_id\": \"f2277b69-1bd2-4178-b2d5-25cdaacc7c43\",
\"sort\": 1640556.316412
}
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/realty_feature_options/sort"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"options": {
"option_id": "f2277b69-1bd2-4178-b2d5-25cdaacc7c43",
"sort": 1640556.316412
}
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Realty Feature Type
Get Realty Feature Types
requires authentication
This endpoint allows you to set sort for many realty feature options.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/realty_features_types" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/realty_features_types"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [
{
"id": "9a05a7fd-9a9e-4484-9f6c-341026802f24",
"slug": "text",
"name": "Текстовое поле"
}
],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
RealtyType
Realty Type Update
requires authentication
This endpoint allows you to realty type update.
Example request:
curl --request PATCH \
"https://staging-api.ette.ru/api/v1/realty-type/03c7628a-417c-4620-b531-b233449cab95" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/realty-type/03c7628a-417c-4620-b531-b233449cab95"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "PATCH",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Realty Type Delete
requires authentication
This endpoint allows you to realty type delete.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/realty-type/03c7628a-417c-4620-b531-b233449cab95" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/realty-type/03c7628a-417c-4620-b531-b233449cab95"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Realty Type
Get all realty types
requires authentication
This endpoint allows you to get all realty types.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/realty-types" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/realty-types"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [
{
"types": [
{
"id": "9b535d77-b00e-4b5c-8064-7f7cd396dc48",
"name": "Новостройки",
"slug": "novostroiki",
"sort": 0,
"children": []
},
{
"id": "398fae4e-3af2-46d1-a703-55a8ad44fd94",
"name": "Коттеджный посёлок",
"slug": "poselok",
"sort": 1,
"children": []
},
{
"id": "9b535d77-b154-4589-b9e9-84f0e19d4bc2",
"name": "Квартира",
"slug": "kvartiry",
"sort": 2,
"children": [
{
"id": "9b535d77-b6b5-4682-94b1-8384913a2c37",
"name": "Квартира",
"slug": "kvartira",
"sort": 0
},
{
"id": "9b535d77-b86c-4aba-be0a-47fa2cebb617",
"name": "Жилое помещение",
"slug": "ziloe-pomeshhenie",
"sort": 0
},
{
"id": "9b535d77-b78a-4344-be94-9266905cf453",
"name": "Апартаменты",
"slug": "apartamenty",
"sort": 0
}
]
},
{
"id": "9b535d77-b260-471c-b0fc-eaf1e24bc1f0",
"name": "Дома",
"slug": "doma",
"sort": 3,
"children": [
{
"id": "6ee248e5-6293-487b-a222-1311befe1b10",
"name": "Частный дом",
"slug": "chastniy-dom",
"sort": 0
},
{
"id": "354b3708-30cf-4e65-b9b2-b911907afd3c",
"name": "Дача",
"slug": "dacha",
"sort": 1
},
{
"id": "44225c1e-eafb-4072-bf2b-c495bd7a3cf8",
"name": "Таунхаус",
"slug": "townhouse",
"sort": 2
},
{
"id": "18af39ac-d5c5-4a65-9672-df0f9214c65e",
"name": "Дуплекс",
"slug": "duplex",
"sort": 3
},
{
"id": "b0f3fcd4-7581-4071-86e1-d4a3274adcfd",
"name": "Часть дома",
"slug": "chast-doma",
"sort": 5
}
]
},
{
"id": "9b535d77-b317-42c6-ae65-398296f41b6b",
"name": "Земельный участок",
"slug": "zemelnye-ucastki",
"sort": 4,
"children": []
},
{
"id": "9b535d77-b46d-4cdd-8025-7b188edc5630",
"name": "Коммерческая недвижимость",
"slug": "kommerceskaia-nedvizimost",
"sort": 5,
"children": [
{
"id": "9b535d77-be01-489f-acf1-fffe3d0528d6",
"name": "Гостиница",
"slug": "gostinica",
"sort": 0
},
{
"id": "bbc3161f-f04a-44cc-9d23-d994cf2d78aa",
"name": "Офисное помещение",
"slug": "ofisnoe-pomeshchenie",
"sort": 1
},
{
"id": "2f73922b-fa2b-450e-a737-849ee15b6685",
"name": "Помещение общественного питания",
"slug": "pomeshchenie-obshchestvennogo-pitaniya",
"sort": 2
},
{
"id": "3e534ad0-bdaf-43be-9468-78fc3023a446",
"name": "Помещение свободного назначения",
"slug": "pomeshchenie-svobodnogo-naznacheniya",
"sort": 3
},
{
"id": "da91dd8c-c981-4881-bca1-0f9393982617",
"name": "Производственное помещение",
"slug": "proizvodstvennoe-pomeshchenie",
"sort": 4
},
{
"id": "a4a8e88c-327e-4b5a-8474-cb179fa63df6",
"name": "Складское помещение",
"slug": "skladskoe-pomeshchenie",
"sort": 5
},
{
"id": "2ebbbd7b-0ebb-4794-aae7-1f44cb325fe9",
"name": "Торговое помещение",
"slug": "torgovoe-pomeshchenie",
"sort": 6
},
{
"id": "86e02d3b-6903-4450-acdb-6fff4c9dbb43",
"name": "Автосервис",
"slug": "avtoservis",
"sort": 7
},
{
"id": "2bf29c18-e9fb-4af0-a2b4-540160e8c921",
"name": "Здание",
"slug": "zdanie",
"sort": 8
}
]
},
{
"id": "ce01079c-a8c0-454a-8d98-440d41177890",
"name": "Гараж или машиноместо",
"slug": "garaz-mashinomesto",
"sort": 5,
"children": [
{
"id": "e8b011a4-799c-49dd-9886-e1874f589491",
"name": "Машиноместа",
"slug": "mashinomesto",
"sort": 0
},
{
"id": "a7f139e7-21c5-4cfc-b74d-b8fa40761a11",
"name": "Гаражи",
"slug": "garaz",
"sort": 0
},
{
"id": "51c56cdd-3b62-485d-b4cb-cb6cd557da6e",
"name": "Боксы",
"slug": "boks",
"sort": 0
}
]
}
],
"typesCount": 7
}
]
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get realty type by ID
requires authentication
This endpoint allows you to get realty type by ID.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/realty-types/03c7628a-417c-4620-b531-b233449cab95/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/realty-types/03c7628a-417c-4620-b531-b233449cab95/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"id": "9b535d77-b00e-4b5c-8064-7f7cd396dc48",
"name": "Новостройки",
"slug": "novostroiki",
"sort": 0,
"features": [
{
"name": "Общие характеристики",
"sort": 2,
"children": [
{
"id": "9dbf7ae8-0bba-4748-b2ac-2a9c2872da7b",
"parent_id": "9b6dff1d-e102-4600-a04e-335f8ca59e81",
"code": "total_area",
"blocked": false,
"name": "Общая площадь",
"sort": 0,
"default_unit": null,
"data": {
"required": true,
"tip": null,
"hidden_for_create": null
},
"type": "text",
"value": ""
},
{
"id": "9dbf7ae7-7650-4f9f-8028-ed8d5d73d9af",
"parent_id": "9b6dff1d-e102-4600-a04e-335f8ca59e81",
"code": "pool",
"blocked": false,
"name": "Бассейн",
"sort": 0,
"default_unit": "9dbf7ae4-3329-44c3-9a8d-9f2c7e3323fb",
"data": {
"required": true,
"tip": null,
"hidden_for_create": null
},
"type": "select",
"value": "",
"options": [
{
"id": "9dbf7ae4-3329-44c3-9a8d-9f2c7e3323fb",
"slug": "da",
"name": "Да",
"sort": 0
}
]
},
{
"id": "9dbf7ae7-4740-44d8-88e3-dba56780a329",
"parent_id": "9b6dff1d-e102-4600-a04e-335f8ca59e81",
"code": "agreement_with_builder",
"blocked": false,
"name": "Договор с застройщиком (юрист)",
"sort": 0,
"default_unit": "9dbf7b39-b35c-4a7c-87c0-7049ffc1e7ae",
"data": {
"required": true,
"tip": null,
"hidden_for_create": null
},
"type": "select",
"value": "",
"options": [
{
"id": "9dbf7b39-b35c-4a7c-87c0-7049ffc1e7ae",
"slug": "ne-podpisan",
"name": "Не подписан",
"sort": 0
},
{
"id": "9dbf7bde-0835-4690-945a-63ef8711fd61",
"slug": "podpisan",
"name": "Подписан",
"sort": 0
}
]
}
]
},
{
"name": "Коммуникации",
"sort": 4,
"children": [
{
"id": "9dbf7ae4-e370-4f70-b046-f9b0ff80091a",
"parent_id": "9b535d77-eac9-405a-b7d7-d03ea46654e6",
"code": "water_supply",
"blocked": false,
"name": "Водоснабжение",
"sort": 0,
"default_unit": "9dbf7ae4-3514-4565-aaba-9bb47298df75",
"data": {
"required": true,
"tip": null,
"hidden_for_create": null
},
"type": "select",
"value": "",
"options": [
{
"id": "9dbf7ae4-3329-44c3-9a8d-9f2c7e3323fb",
"slug": "da",
"name": "Да",
"sort": 0
},
{
"id": "9dbf7ae4-3514-4565-aaba-9bb47298df75",
"slug": "net",
"name": "Нет",
"sort": 0
}
]
},
{
"id": "9dbf7ae4-a890-46af-8e03-6890201bfc9d",
"parent_id": "9b535d77-eac9-405a-b7d7-d03ea46654e6",
"code": "sewerage",
"blocked": false,
"name": "Канализация",
"sort": 0,
"default_unit": "9dbf7ae4-3514-4565-aaba-9bb47298df75",
"data": {
"required": true,
"tip": null,
"hidden_for_create": null
},
"type": "select",
"value": "",
"options": [
{
"id": "9dbf7ae4-3329-44c3-9a8d-9f2c7e3323fb",
"slug": "da",
"name": "Да",
"sort": 0
},
{
"id": "9dbf7ae4-3514-4565-aaba-9bb47298df75",
"slug": "net",
"name": "Нет",
"sort": 0
}
]
}
]
}
],
"children": []
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get realty by realty type
requires authentication
This endpoint allows you to get realty that belongs to the realty type (and its children) resolved by slug.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/realty-types/kvartiry/realty" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/realty-types/kvartiry/realty"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Role
Get public role list
requires authentication
This endpoint allows you to get public role list.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/public/roles" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/public/roles"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"user": [
{
"id": "018e0fdb-b598-72d7-85c6-085d673912e1",
"name": "estate-representative",
"description": "Агентство недвижимости"
},
{
"id": "9b535d76-dc8e-408c-a710-11602c273c25",
"name": "private-person",
"description": "Продавец"
},
{
"id": "9b535d76-e9bd-4a39-965d-d7d2705b9a7c",
"name": "private-broker",
"description": "Частный риелтор"
},
{
"id": "9b535d76-eb61-4aed-82ee-917157636bac",
"name": "estate-agent",
"description": "Сотрудник организации"
},
{
"id": "9b535d76-ecc6-4b2f-aa77-b39e705aa498",
"name": "builder",
"description": "Застройщик"
}
]
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create role
requires authentication
This endpoint allows you to create role.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/roles" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"name\": \"aperiam\",
\"description\": \"Ut saepe corporis inventore qui quo amet excepturi voluptatem.\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/roles"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "aperiam",
"description": "Ut saepe corporis inventore qui quo amet excepturi voluptatem."
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"role": {
"name": "director",
"color": "#fff",
"description": {
"ru": "Директор"
}
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show role
requires authentication
This endpoint allows you to get role by UUID.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/roles/894fe12e-0304-35a2-bb49-e5f3b664e51e/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/roles/894fe12e-0304-35a2-bb49-e5f3b664e51e/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"role": {
"name": "director",
"color": "#fff",
"description": {
"ru": "Директор"
}
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update role
requires authentication
This endpoint allows you to update role.
Example request:
curl --request PUT \
"https://staging-api.ette.ru/api/v1/roles/0603163e-1cd1-4902-830b-dea1beffffbe/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"9e235a20-832f-34bc-a116-f8de100620a5\",
\"name\": \"est\",
\"description\": \"Iusto quis qui porro ea ducimus suscipit voluptates.\",
\"is_private_person\": true
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/roles/0603163e-1cd1-4902-830b-dea1beffffbe/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "9e235a20-832f-34bc-a116-f8de100620a5",
"name": "est",
"description": "Iusto quis qui porro ea ducimus suscipit voluptates.",
"is_private_person": true
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"role": {
"name": "director",
"color": "#fff",
"description": {
"ru": "Директор"
}
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Assign Permissions to role
requires authentication
This endpoint allows you to assign Permissions to role.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/roles/018e0fdb-b598-72d7-85c6-085d673912e1/assign_permissions" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"5246994d-f440-3fc5-a348-36bdf50da884\",
\"permissions\": [
\"atque\"
]
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/roles/018e0fdb-b598-72d7-85c6-085d673912e1/assign_permissions"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "5246994d-f440-3fc5-a348-36bdf50da884",
"permissions": [
"atque"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Roles
Разрешённые переходы с роли
requires authentication
Задаёт роли, которые обладатель указанной роли вправе назначить себе сам
через POST /users/{user}/assign_roles. Список заменяется целиком.
Правило действует на всех пользователей с этой ролью — заполнять по каждому
пользователю не нужно. Свои доступные роли пользователь видит
в GET /auth/user в поле available_roles (объединение по всем его ролям).
Доступно только администратору.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/roles/018e0fdb-b598-72d7-85c6-085d673912e1/allowed_roles" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"41b06adc-5499-3d65-967b-36810e847dce\",
\"roles\": [
\"enim\"
]
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/roles/018e0fdb-b598-72d7-85c6-085d673912e1/allowed_roles"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "41b06adc-5499-3d65-967b-36810e847dce",
"roles": [
"enim"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"allowed_roles": [
{
"name": "private-broker",
"color": "#8CB2F0",
"description": "Частный риелтор"
}
]
},
"error": null,
"message": "Success"
}
Example response (422):
{
"message": "Указанная роль `unknown` недействительна.",
"errors": {
"roles.0": [
"Указанная роль `unknown` недействительна."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Selection
Selection Index
requires authentication
This endpoint allows you to selection index.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/selections" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/selections"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Selection Show
requires authentication
This endpoint allows you to selection show.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/selections/et/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/selections/et/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Selection Create
requires authentication
This endpoint allows you to selection create.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/selections" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"name\": \"totam\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/selections"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "totam"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Selection Update
requires authentication
This endpoint allows you to selection update.
Example request:
curl --request PUT \
"https://staging-api.ette.ru/api/v1/selections/eos/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"c80a099d-432a-3f93-8cf0-36a45c862cce\",
\"name\": \"fuga\",
\"realty_id\": \"b07f8709-3ee0-30b8-a103-27bbdf7260ea\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/selections/eos/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "c80a099d-432a-3f93-8cf0-36a45c862cce",
"name": "fuga",
"realty_id": "b07f8709-3ee0-30b8-a103-27bbdf7260ea"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Selection Delete
requires authentication
This endpoint allows you to selection delete.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/selections/iusto" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/selections/iusto"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Selection Realty Detach
requires authentication
This endpoint allows you to selection realty detach.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/selections/ut/realty/detach" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"3233adee-d098-3baa-8a2e-2cb6ef65405c\",
\"realty_id\": \"4d94a0e2-bc05-3f18-8ba4-d2fc5f67eb85\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/selections/ut/realty/detach"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "3233adee-d098-3baa-8a2e-2cb6ef65405c",
"realty_id": "4d94a0e2-bc05-3f18-8ba4-d2fc5f67eb85"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Tag
Tag Index
requires authentication
This endpoint allows you to tag index.
Tag Create
requires authentication
This endpoint allows you to tag create.
Tag Show
requires authentication
This endpoint allows you to tag show.
Tag Update
requires authentication
This endpoint allows you to tag update.
User
User Get Email
requires authentication
This endpoint allows you to user get email.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/auth/email_by_query" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"q\": \"omnis\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/auth/email_by_query"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"q": "omnis"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show User Department
requires authentication
This endpoint allows you to get user department by UUID.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/users/departments/9fb00cb0-3a4d-4f73-a91d-210fc909fc41/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/users/departments/9fb00cb0-3a4d-4f73-a91d-210fc909fc41/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"user_department": {
"id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"name": "Test Department 1",
"created_at": "2024-04-09 16:07:56",
"updated_at": "2024-04-09 16:07:56"
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Get All Users
requires authentication
This endpoint allows you to get All Users.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/users" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/users"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"users": [
{
"id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"name": "System Admin",
"profile_photo_path": null,
"roles": [
"administrator"
],
"realty_count": 0
},
{
"id": "9a437110-e093-410a-8511-4b980e134f43",
"name": "si322t",
"profile_photo_path": null,
"roles": [
"administrator"
],
"realty_count": 0
}
],
"links": {
"first": "http://localhost/api/v1/articles?page=1",
"last": "http://localhost/api/v1/articles?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [
{
"url": null,
"label": "pagination.previous",
"active": false
},
{
"url": "http://localhost/api/v1/articles?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "pagination.next",
"active": false
}
],
"path": "http://localhost/api/v1/articles",
"per_page": 15,
"to": 1,
"total": 1
}
}
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create User
requires authentication
This endpoint allows you to create user.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/users" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"name\": \"voluptate\",
\"email\": \"keshawn20@example.net\",
\"phone\": null,
\"password\": \"voluptas\",
\"roles\": [
\"private-broker\"
],
\"confirmed\": false
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/users"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "voluptate",
"email": "keshawn20@example.net",
"phone": null,
"password": "voluptas",
"roles": [
"private-broker"
],
"confirmed": false
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"user": {
"id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"name": "Test User 1",
"phones": [
{
"value": "79322346789",
"verified_at": null,
"for_code_send": false
}
],
"profile_photo_path": null,
"confirmed": true,
"phone_confirmed": false
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
User Set Confirmed
requires authentication
This endpoint allows you to user set confirmed.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/users/a00e73ba-d70a-43dd-bacf-4464fffedaa2/set_confirmed" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"confirmed\": false,
\"ban_reason\": \"nccevpa\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/users/a00e73ba-d70a-43dd-bacf-4464fffedaa2/set_confirmed"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"confirmed": false,
"ban_reason": "nccevpa"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Назначение ролей пользователю
requires authentication
Заменяет все роли указанного пользователя на переданный список. Используется в админке (редактирование пользователя) и при смене роли сотрудника агентства.
Маршрут: POST /api/v1/users/{user}/assign_roles
Поведение:
- Вызывается
syncRoles()(Spatie Laravel Permission): старые связи вmodel_has_rolesснимаются, назначаются только роли из тела запроса. - Записи в справочнике
rolesне удаляются — меняется только привязка пользователя. - Обычно передают одну роль в массиве
roles, например["manager"]или["realtor"]. Несколько ролей допустимы, если бизнес-логика это предусматривает.
Кто может вызывать:
administrator— без ограничений;- любой пользователь — самому себе: сохранить можно свои текущие роли плюс те,
на которые разрешён переход с его текущих ролей. Матрица переходов задаётся
на роль, а не на пользователя (
role_allowed_roles, эндпоинтPOST /roles/{id}/allowed_roles), и доступна пользователю вGET /auth/userв полеavailable_roles. Роль вне этого набора — 403; estate-representative,builder— сотрудникам своей организации и только роли, которых нет вRoles::parentRoles(). Корневая роль или чужой пользователь — 403.
Полномочия считаются по роли, к которой привязан access token, а не по всем ролям пользователя: администратор, вошедший под другой ролью, ограничен наравне с остальными.
Аутентификация: Bearer-токен Sanctum (auth:sanctum).
Валидация тела (UserAttachRoleData):
roles— обязательный массив строк.- Каждый элемент
roles.*должен совпадать с полемnameсуществующей роли в таблицеrolesиguard_name = user(проверкаExistingRoleNameRule). - Список допустимых имён не зашит в enum — берётся из БД. Актуальный перечень
для UI:
GET /api/v1/public/roles(группыuser/organization). - При неверной роли — 422 с текстом вида:
Указанная роль \unknown` недействительна. Допустимые роли: `administrator`, `builder`, ...` (формат аналогичен сообщению Spatie Query Builder о незарегистрированном фильтре).
Примеры запросов:
POST /api/v1/users/a00e74b1-cbb7-49e0-9d4f-fd372cb948b0/assign_roles
Content-Type: application/json
Authorization: Bearer {token}
{ "roles": ["manager"] }
POST /api/v1/users/a00e74b1-cbb7-49e0-9d4f-fd372cb948b0/assign_roles
{ "roles": ["realtor"] }
Коды ответов:
- 200 — роли обновлены, в ответе объект
user. - 401 — не авторизован.
- 403 — у вызывающего нет одной из разрешённых ролей.
- 404 — пользователь с
{user}не найден. - 422 — ошибка валидации (пустой
roles, неизвестное имя роли и т.д.).
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/users/a00e73ba-d70a-43dd-bacf-4464fffedaa2/assign_roles" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"roles\": [
\"sed\"
]
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/users/a00e73ba-d70a-43dd-bacf-4464fffedaa2/assign_roles"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"roles": [
"sed"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200, Роли успешно синхронизированы):
{
"user": {
"id": "a00e74b1-cbb7-49e0-9d4f-fd372cb948b0",
"name": "Иван Иванов",
"phones": [
{
"value": "79001234567",
"verified_at": null,
"for_code_send": true
}
],
"profile_photo_path": null,
"confirmed": true,
"phone_confirmed": true,
"roles": [
{
"name": "manager",
"color": "#000000",
"description": {
"ru": "Управляющий"
}
}
]
}
}
Example response (401, Токен отсутствует или недействителен):
{
"message": "Unauthenticated."
}
Example response (403, Недостаточно прав у вызывающего пользователя):
{
"message": "User does not have the right roles."
}
Example response (404, Пользователь не найден):
{
"message": "No query results for model [App\\Models\\User] {uuid}"
}
Example response (422, Неизвестное имя роли или невалидное тело запроса):
{
"message": "Указанная роль `unknown-role` недействительна. Допустимые роли: `administrator`, `builder`, `director`, `estate-agent`, `estate-representative`, `manager`, `mentor`, `private-broker`, `private-person`, `realtor`, `supervisor`.",
"errors": {
"roles.0": [
"Указанная роль `unknown-role` недействительна. Допустимые роли: `administrator`, `builder`, `director`, `estate-agent`, `estate-representative`, `manager`, `mentor`, `private-broker`, `private-person`, `realtor`, `supervisor`."
]
}
}
Example response (422, Массив roles не передан):
{
"message": "Поле roles обязательно для заполнения.",
"errors": {
"roles": [
"Поле roles обязательно для заполнения."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Show User
requires authentication
This endpoint allows you to get User by UUID.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/users/894fe12e-0304-35a2-bb49-e5f3b664e51e/show" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"include\": \"incidunt\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/users/894fe12e-0304-35a2-bb49-e5f3b664e51e/show"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"include": "incidunt"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"user": {
"id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"name": "System Admin",
"profile_photo_path": null,
"roles": [
"administrator"
],
"realty": {
"Торгово-офисная недвижимость": [
{
"id": "9a437121-572c-49f3-ba7d-0fcfb26ba57d",
"name": "Торгово-офисная недвижимость_113 м²_20_эт.",
"description": "Уж это, точно, правда. Уж совсем ни на что половой, по обыкновению, сейчас вступил с нею в разговор и расспросил, сама ли она держит трактир, или есть хозяин, а сколько дает доходу трактир, и с.",
"address": {
"country": "Россия",
"state": "Краснодарский край",
"city": "Сочи",
"postal_code": "483451",
"area": "Лазаревский",
"street": "въезд Космонавтов, 62"
},
"type_id": "9a43711b-a826-4bb6-8a7b-b7f13cf5cf83",
"user_id": "9a437111-5c2a-489f-bb17-fbe089a1fffa",
"location": {
"type": "Point",
"coordinates": [
39.734841410291,
43.60340917863
]
},
"created_at": "2023-10-01",
"updated_at": "2023-10-01",
"deleted_at": null,
"type": {
"id": "9a43711b-a826-4bb6-8a7b-b7f13cf5cf83",
"parent_id": "9a43711b-9b72-4eae-8916-df5d9716f6ab",
"slug": "torgovo-ofisnaia-nedvizimost",
"name": {
"ru": "Торгово-офисная недвижимость"
},
"sort": 0,
"created_at": "2023-10-01T07 =>15 =>11.000000Z",
"updated_at": "2023-10-01T07 =>15 =>11.000000Z"
}
},
{
"id": "9a437121-5975-4807-934f-aaf0279fa93e",
"name": "Аренда гостиниц__196_эт.",
"description": "Так как подобное зрелище для мужика сущая благодать, все равно что писанное, не вырубливается топором. А уж куды бывает метко все то, что к ней скорее! — Да, был бы ты сильно пощелкивал, смекнувши.",
"address": {
"country": "Россия",
"state": "Краснодарский край",
"city": "Сочи",
"postal_code": "827181",
"area": "Адлерский",
"street": "пер. Сталина, 33"
},
"type_id": "9a43711b-a826-4bb6-8a7b-b7f13cf5cf83",
"user_id": "9a437111-5c2a-489f-bb17-fbe089a1fffa",
"location": {
"type": "Point",
"coordinates": [
39.722528554929,
43.58865328136
]
},
"created_at": "2023-10-01",
"updated_at": "2023-10-01",
"deleted_at": null,
"type": {
"id": "9a43711b-a826-4bb6-8a7b-b7f13cf5cf83",
"parent_id": "9a43711b-9b72-4eae-8916-df5d9716f6ab",
"slug": "torgovo-ofisnaia-nedvizimost",
"name": {
"ru": "Торгово-офисная недвижимость"
},
"sort": 0,
"created_at": "2023-10-01T07 =>15 =>11.000000Z",
"updated_at": "2023-10-01T07 =>15 =>11.000000Z"
}
}
]
}
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update User
requires authentication
This endpoint allows you to Update User.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/users/894fe12e-0304-35a2-bb49-e5f3b664e51e/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"sit\",
\"name\": \"lxxhvtejlyipnzzyb\",
\"email\": \"newton10@example.org\",
\"phone\": \"aut\",
\"remember_token\": \"et\",
\"roles\": [
\"private-person\"
],
\"organization_id\": \"consequatur\",
\"realty_export_url\": \"https:\\/\\/auer.com\\/dolorem-quibusdam-reprehenderit-tempore-velit-doloribus.html\",
\"realty_export_auth_token\": \"egpkrolpyxgujdim\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/users/894fe12e-0304-35a2-bb49-e5f3b664e51e/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "sit",
"name": "lxxhvtejlyipnzzyb",
"email": "newton10@example.org",
"phone": "aut",
"remember_token": "et",
"roles": [
"private-person"
],
"organization_id": "consequatur",
"realty_export_url": "https:\/\/auer.com\/dolorem-quibusdam-reprehenderit-tempore-velit-doloribus.html",
"realty_export_auth_token": "egpkrolpyxgujdim"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"user": {
"id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"name": "System Admin",
"profile_photo_path": null,
"email": "qwe@mail.ru",
"phone": "+2915311478",
"birthday": null
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update User
requires authentication
This endpoint allows you to Update User.
Example request:
curl --request PATCH \
"https://staging-api.ette.ru/api/v1/users/894fe12e-0304-35a2-bb49-e5f3b664e51e/restore" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/users/894fe12e-0304-35a2-bb49-e5f3b664e51e/restore"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "PATCH",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"status": "restore"
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Force Delete User
requires authentication
This endpoint allows you to force delete User.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/users/a00e73ba-d70a-43dd-bacf-4464fffedaa2/force-delete" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/users/a00e73ba-d70a-43dd-bacf-4464fffedaa2/force-delete"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete User
requires authentication
This endpoint allows you to delete User.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/users/a00e73ba-d70a-43dd-bacf-4464fffedaa2" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/users/a00e73ba-d70a-43dd-bacf-4464fffedaa2"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
UserDepartment
Get All User Departments
requires authentication
This endpoint allows you to get all users departments.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/users/departments" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/users/departments"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"user_departments": [
{
"id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"name": "Test Department 1",
"created_at": "2024-04-09 16:07:56",
"updated_at": "2024-04-09 16:07:56"
},
{
"id": "9a437110-e093-410a-8511-4b980e134f43",
"name": "Test Department 2",
"created_at": "2024-04-09 20:46:08",
"updated_at": "2024-04-09 20:46:08"
}
],
"links": [
{
"url": null,
"label": "pagination.previous",
"active": false
},
{
"url": "http://localhost/api/v1/users/departments?page=1",
"label": "1",
"active": true
},
{
"url": null,
"label": "pagination.next",
"active": false
}
],
"meta": {
"current_page": 1,
"first_page_url": "http://localhost/api/v1/users/departments?page=1",
"from": 1,
"last_page": 1,
"last_page_url": "http://localhost/api/v1/users/departments?page=1",
"next_page_url": null,
"path": "http://localhost/api/v1/users/departments",
"per_page": 15,
"prev_page_url": null,
"to": 2,
"total": 2
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Create User Department
requires authentication
This endpoint allows you to create user department.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/users/departments" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"name\": \"kqrqyz\",
\"user_id\": \"non\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/users/departments"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "kqrqyz",
"user_id": "non"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"user": {
"id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"name": "Test Department 1",
"created_at": "2024-04-09 16:07:56",
"updated_at": "2024-04-09 16:07:56"
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Update User Department
requires authentication
This endpoint allows you to update user department.
Example request:
curl --request PUT \
"https://staging-api.ette.ru/api/v1/users/departments/magnam/edit" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"veritatis\",
\"name\": \"mycgu\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/users/departments/magnam/edit"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "veritatis",
"name": "mycgu"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"user": {
"id": "99ef4f19-6d18-4576-81a3-71282a90f645",
"name": "Test Department 1",
"created_at": "2024-04-09 16:07:56",
"updated_at": "2024-04-09 16:07:56"
}
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Delete User Department
requires authentication
This endpoint allows you to delete user department.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/users/departments/9fb00cb0-3a4d-4f73-a91d-210fc909fc41" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}"const url = new URL(
"https://staging-api.ette.ru/api/v1/users/departments/9fb00cb0-3a4d-4f73-a91d-210fc909fc41"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
User Department Assign Users
requires authentication
This endpoint allows you to user department assign users.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/users/departments/9fb00cb0-3a4d-4f73-a91d-210fc909fc41/assign_users" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"users\": [
\"perspiciatis\"
],
\"department_id\": \"sint\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/users/departments/9fb00cb0-3a4d-4f73-a91d-210fc909fc41/assign_users"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"users": [
"perspiciatis"
],
"department_id": "sint"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Video
Upload video
requires authentication
This endpoint allows you to upload video.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/video/upload" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: multipart/form-data" \
--form "video=@/tmp/phpin4d3s96lt6hfyCx7ov" const url = new URL(
"https://staging-api.ette.ru/api/v1/video/upload"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('video', document.querySelector('input[name="video"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"path": "videos/0190928a-5d4f-731c-8354-87ac180d72d4.mp4",
"url": "http://api.ette/storage/videos/0190928a-5d4f-731c-8354-87ac180d72d4.mp4"
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Upload video to video hosting
requires authentication
This endpoint allows you to upload video to video hosting.
Example request:
curl --request POST \
"https://staging-api.ette.ru/api/v1/video/upload/rutube" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"path\": \"et\",
\"title\": \"voluptas\",
\"tags\": [
\"repellendus\"
],
\"group_hash\": \"dignissimos\",
\"hosting\": \"youtube\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/video/upload/rutube"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"path": "et",
"title": "voluptas",
"tags": [
"repellendus"
],
"group_hash": "dignissimos",
"hosting": "youtube"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"status": "processing",
"video_group_id": "968132c8-d750-49c7-a3a3-59ee230d49ca",
"video_id": "6a394678-5564-4084-be22-2cb0924181a8"
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
Video model delete
requires authentication
This endpoint allows you to delete video model.
Example request:
curl --request DELETE \
"https://staging-api.ette.ru/api/v1/video/9f177ce0-bb7d-4356-b540-2bff6f433106" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"38853886-4b5a-480f-b3b6-6d2f9bb243ba\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/video/9f177ce0-bb7d-4356-b540-2bff6f433106"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "38853886-4b5a-480f-b3b6-6d2f9bb243ba"
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": [],
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (404):
{
"message": "Not Found."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.
YouTube video upload status
requires authentication
This endpoint allows you to check YouTube video upload status.
Example request:
curl --request GET \
--get "https://staging-api.ette.ru/api/v1/youtube/video/9f177ce0-bb7d-4356-b540-2bff6f433106/status" \
--header "Authorization: Bearer {YOUR_AUTH_KEY}" \
--header "Content-Type: application/json" \
--data "{
\"id\": \"38853886-4b5a-480f-b3b6-6d2f9bb243ba\"
}"
const url = new URL(
"https://staging-api.ette.ru/api/v1/youtube/video/9f177ce0-bb7d-4356-b540-2bff6f433106/status"
);
const headers = {
"Authorization": "Bearer {YOUR_AUTH_KEY}",
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"id": "38853886-4b5a-480f-b3b6-6d2f9bb243ba"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"success": true,
"data": {
"status": "success",
"youtube_id": "ERHFYpsgiH4"
},
"error": null,
"message": "Success"
}
Example response (401):
{
"message": "Unauthenticated."
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"field": [
"Validation error."
]
}
}
Received response:
Request failed with error:
Tip: Check that you're properly connected to the network.
If you're a maintainer of ths API, verify that your API is running and you've enabled CORS.
You can check the Dev Tools console for debugging information.