Introduction
This documentation aims to provide all the information you need to work with our API.
<aside>As you scroll, you'll see code examples for working with the API in different programming languages in the dark area to the right (or as part of the content on mobile).
You can switch the language used with the tabs at the top right (or from the nav menu at the top left on mobile).</aside>
Authenticating requests
This API is not authenticated.
Ads
Get ads
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/ads?keys[]=homepage-banner&keys[]=sidebar-banner" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"keys\": [
\"homepage-banner\",
\"sidebar-banner\"
]
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/ads"
);
const params = {
"keys[0]": "homepage-banner",
"keys[1]": "sidebar-banner",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"keys": [
"homepage-banner",
"sidebar-banner"
]
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": false,
"data": [],
"message": null
}
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.
Authentication
Register
Example request:
curl --request POST \
"https://flex-home.botble.com/api/v1/register" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"John\",
\"last_name\": \"Smith\",
\"name\": \"architecto\",
\"email\": \"[email protected]\",
\"password\": \"|]|{+-\",
\"phone\": \"architecto\",
\"password_confirmation\": \"architecto\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/register"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "John",
"last_name": "Smith",
"name": "architecto",
"email": "[email protected]",
"password": "|]|{+-",
"phone": "architecto",
"password_confirmation": "architecto"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"error": false,
"data": null,
"message": "Registered successfully! We emailed you to verify your account!"
}
Example response (422):
{
"message": "The given data was invalid.",
"errors": {
"name": [
"The name field is required."
],
"email": [
"The email field is required."
],
"password": [
"The password 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.
Login
Example request:
curl --request POST \
"https://flex-home.botble.com/api/v1/login" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\",
\"password\": \"|]|{+-\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/login"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "[email protected]",
"password": "|]|{+-"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"error": false,
"data": {
"token": "1|aF5s7p3xxx1lVL8hkSrPN72m4wPVpTvTs..."
},
"message": null
}
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 email existing or not
Example request:
curl --request POST \
"https://flex-home.botble.com/api/v1/email/check" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/email/check"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "[email protected]"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"error": false,
"data": {
"exists": true
},
"message": null
}
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.
Forgot password
Send a reset link to the given user.
Example request:
curl --request POST \
"https://flex-home.botble.com/api/v1/password/forgot" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/password/forgot"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "[email protected]"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());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.
Resend email verification
Resend the email verification notification.
Example request:
curl --request POST \
"https://flex-home.botble.com/api/v1/resend-verify-account-email" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"email\": \"[email protected]\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/resend-verify-account-email"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"email": "[email protected]"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());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.
Logout
requires authentication
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/logout" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/logout"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"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
Search post
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/search" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"q\": \"architecto\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/search"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"q": "architecto"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"error": false,
"data": {
"items": [
{
"id": 1,
"title": "Sample Post",
"slug": "sample-post",
"excerpt": "This is a sample post excerpt"
}
],
"query": "sample",
"count": 1
}
}
Example response (400):
{
"error": true,
"message": "No search result"
}
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.
List posts
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/posts?per_page=16&page=16" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/posts"
);
const params = {
"per_page": "16",
"page": "16",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"error": false,
"data": [
{
"id": 1,
"title": "Sample Post",
"slug": "sample-post",
"excerpt": "This is a sample post excerpt",
"content": "Full post content here...",
"published_at": "2023-01-01T00:00:00.000000Z",
"author": {
"id": 1,
"name": "John Doe"
},
"categories": [],
"tags": []
}
],
"message": null
}
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.
List tags
Filters posts
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/posts/filters?page=16&per_page=16&search=architecto&after=architecto&author=architecto&author_exclude=architecto&before=architecto&exclude=architecto&include=architecto&order=architecto&order_by=architecto&categories=architecto&categories_exclude=architecto&tags=architecto&tags_exclude=architecto&featured=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/posts/filters"
);
const params = {
"page": "16",
"per_page": "16",
"search": "architecto",
"after": "architecto",
"author": "architecto",
"author_exclude": "architecto",
"before": "architecto",
"exclude": "architecto",
"include": "architecto",
"order": "architecto",
"order_by": "architecto",
"categories": "architecto",
"categories_exclude": "architecto",
"tags": "architecto",
"tags_exclude": "architecto",
"featured": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [],
"links": {
"first": "https://flex-home.botble.com/api/v1/posts/filters?page=1",
"last": "https://flex-home.botble.com/api/v1/posts/filters?page=1",
"prev": "https://flex-home.botble.com/api/v1/posts/filters?page=15",
"next": null
},
"meta": {
"current_page": 16,
"from": null,
"last_page": 1,
"links": [
{
"url": "https://flex-home.botble.com/api/v1/posts/filters?page=15",
"label": "« Previous",
"page": 15,
"active": false
},
{
"url": "https://flex-home.botble.com/api/v1/posts/filters?page=1",
"label": "1",
"page": 1,
"active": false
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "https://flex-home.botble.com/api/v1/posts/filters",
"per_page": 16,
"to": null,
"total": 0
},
"error": false,
"message": null
}
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 post by slug
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/posts/architecto?slug=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/posts/architecto"
);
const params = {
"slug": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"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.
Device Tokens
Register or update device token
Register a new device token or update an existing one for push notifications.
Example request:
curl --request POST \
"https://flex-home.botble.com/api/v1/device-tokens" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"token\": \"architecto\",
\"platform\": \"architecto\",
\"app_version\": \"architecto\",
\"device_id\": \"architecto\",
\"user_type\": \"architecto\",
\"user_id\": 16
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/device-tokens"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"token": "architecto",
"platform": "architecto",
"app_version": "architecto",
"device_id": "architecto",
"user_type": "architecto",
"user_id": 16
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());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 user's device tokens
Retrieve all device tokens for the authenticated user.
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/device-tokens" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/device-tokens"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"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.
Update device token
Update an existing device token.
Example request:
curl --request PUT \
"https://flex-home.botble.com/api/v1/device-tokens/564" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"platform\": \"architecto\",
\"app_version\": \"architecto\",
\"device_id\": \"architecto\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/device-tokens/564"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"platform": "architecto",
"app_version": "architecto",
"device_id": "architecto"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());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 device token by token value
Delete a device token using the token value.
Example request:
curl --request DELETE \
"https://flex-home.botble.com/api/v1/device-tokens/by-token" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"token\": \"architecto\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/device-tokens/by-token"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"token": "architecto"
};
fetch(url, {
method: "DELETE",
headers,
body: JSON.stringify(body),
}).then(response => response.json());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 device token
Delete a device token to stop receiving push notifications.
Example request:
curl --request DELETE \
"https://flex-home.botble.com/api/v1/device-tokens/564" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/device-tokens/564"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());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.
Deactivate device token
Deactivate a device token without deleting it.
Example request:
curl --request POST \
"https://flex-home.botble.com/api/v1/device-tokens/564/deactivate" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/device-tokens/564/deactivate"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());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.
Languages
Get list of available languages
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/languages" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/languages"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"error": false,
"data": [
{
"lang_id": 1,
"lang_name": "English",
"lang_locale": "en",
"lang_code": "en_US",
"lang_flag": "<svg ...>",
"lang_is_default": true,
"lang_is_rtl": false,
"lang_order": 0
},
{
"lang_id": 2,
"lang_name": "Vietnamese",
"lang_locale": "vi",
"lang_code": "vi",
"lang_flag": "<svg ...>",
"lang_is_default": false,
"lang_is_rtl": false,
"lang_order": 1
}
],
"message": null
}
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 current language
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/languages/current" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/languages/current"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"error": false,
"data": {
"lang_id": 1,
"lang_name": "English",
"lang_locale": "en",
"lang_code": "en_US",
"lang_flag": "us",
"lang_is_default": true,
"lang_is_rtl": false,
"lang_order": 0
},
"message": null
}
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.
Notifications
Get user notifications
Retrieve notifications for the authenticated user.
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/notifications?page=1&per_page=20&unread_only=&type=general" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/notifications"
);
const params = {
"page": "1",
"per_page": "20",
"unread_only": "0",
"type": "general",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"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 notification statistics
Get notification statistics for the authenticated user.
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/notifications/stats" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/notifications/stats"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"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.
Mark all notifications as read
Mark all notifications as read for the authenticated user.
Example request:
curl --request POST \
"https://flex-home.botble.com/api/v1/notifications/mark-all-read" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/notifications/mark-all-read"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());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.
Mark notification as read
Mark a specific notification as read for the authenticated user.
Example request:
curl --request POST \
"https://flex-home.botble.com/api/v1/notifications/564/read" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/notifications/564/read"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());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.
Mark notification as clicked
Mark a notification as clicked when user taps on it.
Example request:
curl --request POST \
"https://flex-home.botble.com/api/v1/notifications/564/clicked" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/notifications/564/clicked"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "POST",
headers,
}).then(response => response.json());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 notification
Delete a notification from user's list.
Example request:
curl --request DELETE \
"https://flex-home.botble.com/api/v1/notifications/564" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/notifications/564"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());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.
Page
List pages
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/pages?per_page=16&page=16" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/pages"
);
const params = {
"per_page": "16",
"page": "16",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"error": false,
"data": [
{
"id": 1,
"title": "About Us",
"slug": "about-us",
"content": "This is the about us page content...",
"published_at": "2023-01-01T00:00:00.000000Z"
}
],
"message": null
}
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 page by ID
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/pages/16" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/pages/16"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
{
"error": false,
"data": {
"id": 1,
"title": "About Us",
"slug": "about-us",
"content": "This is the about us page content...",
"published_at": "2023-01-01T00:00:00.000000Z"
},
"message": null
}
Example response (404):
{
"error": true,
"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.
Profile
Get the user profile information.
requires authentication
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/me" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/me"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"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.
Update profile
requires authentication
Example request:
curl --request PUT \
"https://flex-home.botble.com/api/v1/me" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"first_name\": \"bngz\",
\"last_name\": \"miyv\",
\"name\": \"architecto\",
\"phone\": \"architecto\",
\"dob\": \"architecto\",
\"gender\": \"architecto\",
\"description\": \"Eius et animi quos velit et.\",
\"email\": \"[email protected]\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/me"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"first_name": "bngz",
"last_name": "miyv",
"name": "architecto",
"phone": "architecto",
"dob": "architecto",
"gender": "architecto",
"description": "Eius et animi quos velit et.",
"email": "[email protected]"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());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 Avatar
requires authentication
Example request:
curl --request POST \
"https://flex-home.botble.com/api/v1/update/avatar" \
--header "Content-Type: multipart/form-data" \
--header "Accept: application/json" \
--form "avatar=@/tmp/phpUDm9f6" const url = new URL(
"https://flex-home.botble.com/api/v1/update/avatar"
);
const headers = {
"Content-Type": "multipart/form-data",
"Accept": "application/json",
};
const body = new FormData();
body.append('avatar', document.querySelector('input[name="avatar"]').files[0]);
fetch(url, {
method: "POST",
headers,
body,
}).then(response => response.json());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 password
requires authentication
Example request:
curl --request PUT \
"https://flex-home.botble.com/api/v1/update/password" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"password\": \"|]|{+-\",
\"old_password\": \"architecto\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/update/password"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"password": "|]|{+-",
"old_password": "architecto"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());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 user settings
requires authentication
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"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.
Update user settings
requires authentication
Example request:
curl --request PUT \
"https://flex-home.botble.com/api/v1/settings" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"biometric_enabled\": false,
\"notification_enabled\": false,
\"language\": \"architecto\",
\"currency\": \"architecto\",
\"theme\": \"architecto\",
\"timezone\": \"Asia\\/Yekaterinburg\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/settings"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"biometric_enabled": false,
"notification_enabled": false,
"language": "architecto",
"currency": "architecto",
"theme": "architecto",
"timezone": "Asia\/Yekaterinburg"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());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.
Real Estate
List categories
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/categories?page=16&per_page=16&search=architecto&parent_id=architecto&order=architecto&order_by=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/categories"
);
const params = {
"page": "16",
"per_page": "16",
"search": "architecto",
"parent_id": "architecto",
"order": "architecto",
"order_by": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [],
"links": {
"first": "https://flex-home.botble.com/api/v1/categories?page=1",
"last": "https://flex-home.botble.com/api/v1/categories?page=1",
"prev": "https://flex-home.botble.com/api/v1/categories?page=15",
"next": null
},
"meta": {
"current_page": 16,
"from": null,
"last_page": 1,
"links": [
{
"url": "https://flex-home.botble.com/api/v1/categories?page=15",
"label": "« Previous",
"page": 15,
"active": false
},
{
"url": "https://flex-home.botble.com/api/v1/categories?page=1",
"label": "1",
"page": 1,
"active": false
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "https://flex-home.botble.com/api/v1/categories",
"per_page": 16,
"to": null,
"total": 6
},
"error": false,
"message": null
}
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 category filters
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/categories/filters?parent_id=architecto&order=architecto&order_by=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/categories/filters"
);
const params = {
"parent_id": "architecto",
"order": "architecto",
"order_by": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [
{
"id": 1,
"name": "Apartment",
"description": null,
"status": {
"value": "published",
"label": "Published"
},
"order": 0,
"is_default": 1,
"parent_id": 0,
"created_at": "2025-09-30T15:56:18.000000Z",
"updated_at": "2025-09-30T15:56:18.000000Z",
"url": "https://flex-home.botble.com/property-category/apartment",
"slug": "apartment"
},
{
"id": 2,
"name": "Villa",
"description": null,
"status": {
"value": "published",
"label": "Published"
},
"order": 1,
"is_default": 0,
"parent_id": 0,
"created_at": "2025-09-30T15:56:18.000000Z",
"updated_at": "2025-09-30T15:56:18.000000Z",
"url": "https://flex-home.botble.com/property-category/villa",
"slug": "villa"
},
{
"id": 3,
"name": "Condo",
"description": null,
"status": {
"value": "published",
"label": "Published"
},
"order": 2,
"is_default": 0,
"parent_id": 0,
"created_at": "2025-09-30T15:56:18.000000Z",
"updated_at": "2025-09-30T15:56:18.000000Z",
"url": "https://flex-home.botble.com/property-category/condo",
"slug": "condo"
},
{
"id": 4,
"name": "House",
"description": null,
"status": {
"value": "published",
"label": "Published"
},
"order": 3,
"is_default": 0,
"parent_id": 0,
"created_at": "2025-09-30T15:56:18.000000Z",
"updated_at": "2025-09-30T15:56:18.000000Z",
"url": "https://flex-home.botble.com/property-category/house",
"slug": "house"
},
{
"id": 5,
"name": "Land",
"description": null,
"status": {
"value": "published",
"label": "Published"
},
"order": 4,
"is_default": 0,
"parent_id": 0,
"created_at": "2025-09-30T15:56:18.000000Z",
"updated_at": "2025-09-30T15:56:18.000000Z",
"url": "https://flex-home.botble.com/property-category/land",
"slug": "land"
},
{
"id": 6,
"name": "Commercial property",
"description": null,
"status": {
"value": "published",
"label": "Published"
},
"order": 5,
"is_default": 0,
"parent_id": 0,
"created_at": "2025-09-30T15:56:18.000000Z",
"updated_at": "2025-09-30T15:56:18.000000Z",
"url": "https://flex-home.botble.com/property-category/commercial-property",
"slug": "commercial-property"
}
],
"error": false,
"message": null
}
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 category by slug
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/categories/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/categories/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Category 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.
List properties
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/properties?page=16&per_page=16&search=architecto&type=architecto&city_id=architecto&state_id=architecto&country_id=16&category_id=architecto&project_id=architecto&min_price=architecto&max_price=architecto&min_square=architecto&max_square=architecto&number_bedroom=16&number_bathroom=16&number_floor=16&features=architecto&facilities=architecto&is_featured=architecto&order=architecto&order_by=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/properties"
);
const params = {
"page": "16",
"per_page": "16",
"search": "architecto",
"type": "architecto",
"city_id": "architecto",
"state_id": "architecto",
"country_id": "16",
"category_id": "architecto",
"project_id": "architecto",
"min_price": "architecto",
"max_price": "architecto",
"min_square": "architecto",
"max_square": "architecto",
"number_bedroom": "16",
"number_bathroom": "16",
"number_floor": "16",
"features": "architecto",
"facilities": "architecto",
"is_featured": "architecto",
"order": "architecto",
"order_by": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [],
"links": {
"first": "https://flex-home.botble.com/api/v1/properties?page=1",
"last": "https://flex-home.botble.com/api/v1/properties?page=2",
"prev": "https://flex-home.botble.com/api/v1/properties?page=15",
"next": null
},
"meta": {
"current_page": 16,
"from": null,
"last_page": 2,
"links": [
{
"url": "https://flex-home.botble.com/api/v1/properties?page=15",
"label": "« Previous",
"page": 15,
"active": false
},
{
"url": "https://flex-home.botble.com/api/v1/properties?page=1",
"label": "1",
"page": 1,
"active": false
},
{
"url": "https://flex-home.botble.com/api/v1/properties?page=2",
"label": "2",
"page": 2,
"active": false
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "https://flex-home.botble.com/api/v1/properties",
"per_page": 16,
"to": null,
"total": 17
},
"error": false,
"message": null
}
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.
Search properties
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/properties/search" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"q\": \"architecto\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/properties/search"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"q": "architecto"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": false,
"data": {
"items": [
{
"id": 17,
"name": "Nice Apartment for rent in Berlin",
"description": "Fully furnished shared all-inclusive apartments, with modern amenities that’ll make you feel right at home. A great starting point for exploring the rest of the city and its many hidden gems. Area In the center of East Berlin, you’ll find everything from delicious street food to flee markets, to high-end restaurants.",
"location": "Berlin, Germany",
"images": [
"https://flex-home.botble.com/storage/properties/t3.jpg",
"https://flex-home.botble.com/storage/properties/t1.jpg",
"https://flex-home.botble.com/storage/properties/t2.jpg",
"https://flex-home.botble.com/storage/properties/t4.jpg",
"https://flex-home.botble.com/storage/properties/t5.jpg"
],
"type": {
"value": "rent",
"label": "Rent"
},
"status": {
"value": "renting",
"label": "Renting"
},
"is_featured": 1,
"number_bedroom": 1,
"number_bathroom": 1,
"number_floor": 1,
"square": 33,
"price": 1217,
"price_formatted": "$1,217",
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"period": {
"value": "month",
"label": "Monthly"
},
"city_id": 5,
"state_id": 1,
"country_id": 1,
"city": {
"id": 5,
"name": "San Francisco"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "43.222732",
"longitude": "-76.105523",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T08:13:07.000000Z",
"updated_at": "2025-09-30T15:56:44.000000Z",
"url": "https://flex-home.botble.com/properties/nice-apartment-for-rent-in-berlin",
"slug": "nice-apartment-for-rent-in-berlin"
},
{
"id": 16,
"name": "Apartment Muiderstraatweg in Diemen",
"description": "Lovely modern and very well maintained apartment in Diemen.\nThe property is located on the first floor where you will find the living room and the kitchen with all modern conveniences.\nOn the second floor 2 bedrooms and a nice bathroom with a seperate shower and bathtub.\nOn this floor you have access to the small roof terrace.",
"location": "Diemen, Netherlands",
"images": [
"https://flex-home.botble.com/storage/properties/b4-1.jpg",
"https://flex-home.botble.com/storage/properties/b3.jpg",
"https://flex-home.botble.com/storage/properties/b5-1.jpg"
],
"type": {
"value": "rent",
"label": "Rent"
},
"status": {
"value": "renting",
"label": "Renting"
},
"is_featured": 1,
"number_bedroom": 3,
"number_bathroom": 1,
"number_floor": 2,
"square": 90,
"price": 2123,
"price_formatted": "$2,123",
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"period": {
"value": "month",
"label": "Monthly"
},
"city_id": 3,
"state_id": 1,
"country_id": 1,
"city": {
"id": 3,
"name": "Bakersfield"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "43.52876",
"longitude": "-76.65882",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T07:59:14.000000Z",
"updated_at": "2025-09-30T15:56:44.000000Z",
"url": "https://flex-home.botble.com/properties/apartment-muiderstraatweg-in-diemen",
"slug": "apartment-muiderstraatweg-in-diemen"
},
{
"id": 15,
"name": "2 Floor house in Compound Pejaten Barat Kemang",
"description": "Want to lease a nice house in compound Renovated, balinese style ,homey and comfy area 220/300, 3 bedrooms, 2 bathrooms, garden furnished renovated fasilitas : s.pool, tenis court, jogging track 24 hours security rent price : IDR 250.000.000 / year ",
"location": "Kota Administrasi Jakarta Selatan, South Jakarta City, Jakarta Raya, Indonesia",
"images": [
"https://flex-home.botble.com/storage/properties/a1-2.jpg",
"https://flex-home.botble.com/storage/properties/a2-2.jpg",
"https://flex-home.botble.com/storage/properties/a3-2.jpg",
"https://flex-home.botble.com/storage/properties/a4-2.jpg"
],
"type": {
"value": "rent",
"label": "Rent"
},
"status": {
"value": "renting",
"label": "Renting"
},
"is_featured": 1,
"number_bedroom": 3,
"number_bathroom": 2,
"number_floor": 2,
"square": 200,
"price": 1400,
"price_formatted": "$1,400",
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"period": {
"value": "month",
"label": "Monthly"
},
"city_id": 5,
"state_id": 1,
"country_id": 1,
"city": {
"id": 5,
"name": "San Francisco"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "43.636294",
"longitude": "-76.116519",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T07:44:44.000000Z",
"updated_at": "2025-09-30T15:56:44.000000Z",
"url": "https://flex-home.botble.com/properties/2-floor-house-in-compound-pejaten-barat-kemang",
"slug": "2-floor-house-in-compound-pejaten-barat-kemang"
},
{
"id": 14,
"name": "5 room luxury penthouse for sale in Kuala Lumpur",
"description": "Next to St Regis 5 Star Hotel, Excellent accessibility (LRT,KLIA TRANSIT,KTM), Rooftop Sky lounge, sky pool, sky gym, KLCC and Lake Garden VIEW",
"location": "Kuala Lumpur, Malaysia",
"images": [
"https://flex-home.botble.com/storage/properties/6-2.jpg",
"https://flex-home.botble.com/storage/properties/7-2.jpg",
"https://flex-home.botble.com/storage/properties/9-1.jpg",
"https://flex-home.botble.com/storage/properties/8-2.jpg",
"https://flex-home.botble.com/storage/properties/10-1.jpg",
"https://flex-home.botble.com/storage/properties/11-1.jpg"
],
"type": {
"value": "sale",
"label": "Sale"
},
"status": {
"value": "selling",
"label": "Selling"
},
"is_featured": 1,
"number_bedroom": 5,
"number_bathroom": 7,
"number_floor": 20,
"square": 377,
"price": 1590000,
"price_formatted": "$1,590,000",
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"period": {
"value": "month",
"label": "Monthly"
},
"city_id": 4,
"state_id": 1,
"country_id": 1,
"city": {
"id": 4,
"name": "Anaheim"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "42.504328",
"longitude": "-76.341293",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T07:36:29.000000Z",
"updated_at": "2025-09-30T15:56:44.000000Z",
"url": "https://flex-home.botble.com/properties/5-room-luxury-penthouse-for-sale-in-kuala-lumpur",
"slug": "5-room-luxury-penthouse-for-sale-in-kuala-lumpur"
},
{
"id": 13,
"name": "Luxury Apartments in Singapore for Sale",
"description": "This apartment is located in Singapore. High Floor, Chinese Family, Sky Garden, Beautiful Roof Terrace with Jaccuzzi and Alfresco Dinning, Renovated with Quality Finishes, Near Amenities, Plenty of eateries, 5mins Walk to NTUC / Shaw Plaza, Mins Drive To Orchard",
"location": "Balestier Road, Singapore",
"images": [
"https://flex-home.botble.com/storage/properties/5-2.jpg",
"https://flex-home.botble.com/storage/properties/2-3.jpg",
"https://flex-home.botble.com/storage/properties/3-3.jpg",
"https://flex-home.botble.com/storage/properties/4-2.jpg",
"https://flex-home.botble.com/storage/properties/1-3.jpg"
],
"type": {
"value": "sale",
"label": "Sale"
},
"status": {
"value": "selling",
"label": "Selling"
},
"is_featured": 1,
"number_bedroom": 2,
"number_bathroom": 2,
"number_floor": 1,
"square": 78,
"price": 918000,
"price_formatted": "$918,000",
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"period": {
"value": "month",
"label": "Monthly"
},
"city_id": 5,
"state_id": 1,
"country_id": 1,
"city": {
"id": 5,
"name": "San Francisco"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "42.813772",
"longitude": "-76.615855",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T07:23:02.000000Z",
"updated_at": "2025-09-30T15:56:44.000000Z",
"url": "https://flex-home.botble.com/properties/luxury-apartments-in-singapore-for-sale",
"slug": "luxury-apartments-in-singapore-for-sale"
},
{
"id": 12,
"name": "Elegant family home presents premium modern living",
"description": "Move straight into this beautifully presented four-bedroom home and enjoy the best in modern family living without lifting a finger. Two separate living areas and four generous bedrooms provide plenty of space to grow, and entertaining is a real pleasure on the elegant alfresco patio in a peaceful garden setting.",
"location": "North Lakes QLD 4509, Australia",
"images": [
"https://flex-home.botble.com/storage/properties/a1-1.jpg",
"https://flex-home.botble.com/storage/properties/a2-1.jpg",
"https://flex-home.botble.com/storage/properties/a3-1.jpg",
"https://flex-home.botble.com/storage/properties/a5.jpg",
"https://flex-home.botble.com/storage/properties/a4-1.jpg",
"https://flex-home.botble.com/storage/properties/a6.jpg"
],
"type": {
"value": "rent",
"label": "Rent"
},
"status": {
"value": "renting",
"label": "Renting"
},
"is_featured": 1,
"number_bedroom": 3,
"number_bathroom": 3,
"number_floor": 1,
"square": 658,
"price": 1574,
"price_formatted": "$1,574",
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"period": {
"value": "month",
"label": "Monthly"
},
"city_id": 5,
"state_id": 1,
"country_id": 1,
"city": {
"id": 5,
"name": "San Francisco"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "43.137361",
"longitude": "-76.539998",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T02:47:05.000000Z",
"updated_at": "2025-09-30T15:56:44.000000Z",
"url": "https://flex-home.botble.com/properties/elegant-family-home-presents-premium-modern-living",
"slug": "elegant-family-home-presents-premium-modern-living"
},
{
"id": 11,
"name": "Brand New 1 Bedroom Apartment In First Class Location",
"description": "Set-back from Sandy Bay Road, walk to everything that counts: vibrant Battery Point village, Salamanca Place (Tasmania's premier entertainment precinct), the City Centre, University of Tasmania, hotel, retail and an easy stroll away from bustling Sandy Bay shops, local schools and with public transport outside your front door.",
"location": "Sandy Bay Road, Sandy Bay TAS, Australia",
"images": [
"https://flex-home.botble.com/storage/properties/12.jpg",
"https://flex-home.botble.com/storage/properties/10.jpg",
"https://flex-home.botble.com/storage/properties/13.jpg",
"https://flex-home.botble.com/storage/properties/14.jpg",
"https://flex-home.botble.com/storage/properties/15.jpg"
],
"type": {
"value": "rent",
"label": "Rent"
},
"status": {
"value": "renting",
"label": "Renting"
},
"is_featured": 1,
"number_bedroom": 1,
"number_bathroom": 1,
"number_floor": 1,
"square": 80,
"price": 1680,
"price_formatted": "$1,680",
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"period": {
"value": "month",
"label": "Monthly"
},
"city_id": 5,
"state_id": 1,
"country_id": 1,
"city": {
"id": 5,
"name": "San Francisco"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "42.659611",
"longitude": "-76.197177",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T02:22:48.000000Z",
"updated_at": "2025-09-30T15:56:44.000000Z",
"url": "https://flex-home.botble.com/properties/brand-new-1-bedroom-apartment-in-first-class-location",
"slug": "brand-new-1-bedroom-apartment-in-first-class-location"
},
{
"id": 10,
"name": "Thompsons Road House for rent",
"description": "Perfectly positioned in the exclusive suburb of Bulleen, this renovated home 3 bedroom home offers a superb lifestyle to those seeking all the expected comforts, privacy, convenience to freeways & transport, and space.\nYou are welcomed by a beautiful, low maintenance and established front garden, with ample off street parking, an elevated porch and tantum large garage",
"location": "Thompsons Road, Bulleen VIC, Australia",
"images": [
"https://flex-home.botble.com/storage/properties/5-1.jpg",
"https://flex-home.botble.com/storage/properties/7-1.jpg",
"https://flex-home.botble.com/storage/properties/8-1.jpg",
"https://flex-home.botble.com/storage/properties/9.jpg",
"https://flex-home.botble.com/storage/properties/6.jpg"
],
"type": {
"value": "rent",
"label": "Rent"
},
"status": {
"value": "renting",
"label": "Renting"
},
"is_featured": 1,
"number_bedroom": 3,
"number_bathroom": 3,
"number_floor": 1,
"square": 160,
"price": 1465,
"price_formatted": "$1,465",
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"period": {
"value": "month",
"label": "Monthly"
},
"city_id": 3,
"state_id": 1,
"country_id": 1,
"city": {
"id": 3,
"name": "Bakersfield"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "42.601639",
"longitude": "-76.36969",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T02:16:53.000000Z",
"updated_at": "2025-09-30T15:56:44.000000Z",
"url": "https://flex-home.botble.com/properties/thompsons-road-house-for-rent",
"slug": "thompsons-road-house-for-rent"
},
{
"id": 9,
"name": "Private Estate Magnificent Views",
"description": "Spacious 3 bedroom stabilised earth brick home, light and bright with statement entrance hall. Conservatory sun room, open plan kitchen/dining/lounge with raked cedar lined ceiling, kitchen with oregon timber cupboards and new Smeg oven. Air conditioner & wood heater",
"location": "110 Springdale Heights, Hay Denmark, WA, Australia",
"images": [
"https://flex-home.botble.com/storage/properties/79.jpg",
"https://flex-home.botble.com/storage/properties/71.jpg",
"https://flex-home.botble.com/storage/properties/73.jpg",
"https://flex-home.botble.com/storage/properties/72.jpg",
"https://flex-home.botble.com/storage/properties/74.jpg",
"https://flex-home.botble.com/storage/properties/75.jpg",
"https://flex-home.botble.com/storage/properties/78.jpg"
],
"type": {
"value": "sale",
"label": "Sale"
},
"status": {
"value": "selling",
"label": "Selling"
},
"is_featured": 1,
"number_bedroom": 3,
"number_bathroom": 1,
"number_floor": 1,
"square": 2000,
"price": 694000,
"price_formatted": "$694,000",
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"period": {
"value": "month",
"label": "Monthly"
},
"city_id": 5,
"state_id": 1,
"country_id": 1,
"city": {
"id": 5,
"name": "San Francisco"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "42.812299",
"longitude": "-76.137607",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T02:02:19.000000Z",
"updated_at": "2025-09-30T15:56:44.000000Z",
"url": "https://flex-home.botble.com/properties/private-estate-magnificent-views",
"slug": "private-estate-magnificent-views"
},
{
"id": 8,
"name": "Osaka Heights Apartment",
"description": "Ceramic tiled flooring, Granite counter top , Single bowl stainless steel kitchen sink with drain board and provisions for water purifier , electric hood , exhaust fan will be provided. Anti-skid Ceramic tiles on floor and ceramic wall tiles up to 7 feet height. White coloured branded sanitary fittings, Chromium plated taps , concealed plumbing.",
"location": "High Level Road, Colombo 06, Sri Lanka",
"images": [
"https://flex-home.botble.com/storage/properties/24-1.jpg",
"https://flex-home.botble.com/storage/properties/22-1.jpg",
"https://flex-home.botble.com/storage/properties/p1.jpg",
"https://flex-home.botble.com/storage/properties/p2.jpg"
],
"type": {
"value": "sale",
"label": "Sale"
},
"status": {
"value": "selling",
"label": "Selling"
},
"is_featured": 1,
"number_bedroom": 2,
"number_bathroom": 2,
"number_floor": 1,
"square": 110,
"price": 150000,
"price_formatted": "$150,000",
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"period": {
"value": "month",
"label": "Monthly"
},
"city_id": 5,
"state_id": 1,
"country_id": 1,
"city": {
"id": 5,
"name": "San Francisco"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "42.928003",
"longitude": "-74.902172",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T01:49:36.000000Z",
"updated_at": "2025-09-30T15:56:44.000000Z",
"url": "https://flex-home.botble.com/properties/osaka-heights-apartment",
"slug": "osaka-heights-apartment"
},
{
"id": 7,
"name": "Family Victorian \"View\" Home",
"description": "There is a formal dining room and spacious living room located on either side of the updated eat-in kitchen skylight, white cabinets, and stainless steel appliances. Enjoy ample natural light and spectacular southern views from the main living room oversized windows and a walk-out deck. A bonus room (guest bedroom/office) and a full bath complete t",
"location": "Safeway San Francisco CA, Market Street, San Francisco, CA 94114, USA",
"images": [
"https://flex-home.botble.com/storage/properties/b5.jpg",
"https://flex-home.botble.com/storage/properties/b1.jpg",
"https://flex-home.botble.com/storage/properties/b4.jpg",
"https://flex-home.botble.com/storage/properties/b6.jpg",
"https://flex-home.botble.com/storage/properties/b2.jpg"
],
"type": {
"value": "rent",
"label": "Rent"
},
"status": {
"value": "renting",
"label": "Renting"
},
"is_featured": 1,
"number_bedroom": 3,
"number_bathroom": 2,
"number_floor": 1,
"square": 180,
"price": 2580,
"price_formatted": "$2,580",
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"period": {
"value": "month",
"label": "Monthly"
},
"city_id": 1,
"state_id": 1,
"country_id": 1,
"city": {
"id": 1,
"name": "Alhambra"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "43.819646",
"longitude": "-74.89512",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T01:12:07.000000Z",
"updated_at": "2025-09-30T15:56:44.000000Z",
"url": "https://flex-home.botble.com/properties/family-victorian-view-home",
"slug": "family-victorian-view-home"
},
{
"id": 6,
"name": "5 beds luxury house",
"description": "Luxury and spacious remodeled house in Sea Cliff with 3 levels, 5 bedrooms and 4 bathrooms, and a great Golden Gate View. 4-Car garage. The house is remodeled and spacious with a great layout, and is offered furnished. It is charming and beautiful with lots of details, has thoughtful front landscaping and a large backyard and a patio, and has a great view of the Golden Gate",
"location": "Seacliff San Francisco, Sea Cliff Avenue, San Francisco, CA 94121, USA",
"images": [
"https://flex-home.botble.com/storage/properties/a3.jpg",
"https://flex-home.botble.com/storage/properties/a1.jpg",
"https://flex-home.botble.com/storage/properties/a2.jpg",
"https://flex-home.botble.com/storage/properties/a4.jpg"
],
"type": {
"value": "rent",
"label": "Rent"
},
"status": {
"value": "renting",
"label": "Renting"
},
"is_featured": 1,
"number_bedroom": 5,
"number_bathroom": 4,
"number_floor": 3,
"square": 270,
"price": 1808,
"price_formatted": "$1,808",
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"period": {
"value": "month",
"label": "Monthly"
},
"city_id": 1,
"state_id": 1,
"country_id": 1,
"city": {
"id": 1,
"name": "Alhambra"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "42.946985",
"longitude": "-76.206616",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T01:05:58.000000Z",
"updated_at": "2025-09-30T15:56:44.000000Z",
"url": "https://flex-home.botble.com/properties/5-beds-luxury-house",
"slug": "5-beds-luxury-house"
}
],
"query": "architecto",
"count": 12
},
"message": null
}
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 property filters
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/properties/filters?page=16&per_page=16&search=architecto&type=architecto&city_id=architecto&state_id=architecto&country_id=16&category_id=architecto&project_id=architecto&min_price=architecto&max_price=architecto&min_square=architecto&max_square=architecto&number_bedroom=16&number_bathroom=16&number_floor=16&features=architecto&facilities=architecto&is_featured=architecto&order=architecto&order_by=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/properties/filters"
);
const params = {
"page": "16",
"per_page": "16",
"search": "architecto",
"type": "architecto",
"city_id": "architecto",
"state_id": "architecto",
"country_id": "16",
"category_id": "architecto",
"project_id": "architecto",
"min_price": "architecto",
"max_price": "architecto",
"min_square": "architecto",
"max_square": "architecto",
"number_bedroom": "16",
"number_bathroom": "16",
"number_floor": "16",
"features": "architecto",
"facilities": "architecto",
"is_featured": "architecto",
"order": "architecto",
"order_by": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [],
"links": {
"first": "https://flex-home.botble.com/api/v1/properties/filters?page=1",
"last": "https://flex-home.botble.com/api/v1/properties/filters?page=2",
"prev": "https://flex-home.botble.com/api/v1/properties/filters?page=15",
"next": null
},
"meta": {
"current_page": 16,
"from": null,
"last_page": 2,
"links": [
{
"url": "https://flex-home.botble.com/api/v1/properties/filters?page=15",
"label": "« Previous",
"page": 15,
"active": false
},
{
"url": "https://flex-home.botble.com/api/v1/properties/filters?page=1",
"label": "1",
"page": 1,
"active": false
},
{
"url": "https://flex-home.botble.com/api/v1/properties/filters?page=2",
"label": "2",
"page": 2,
"active": false
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "https://flex-home.botble.com/api/v1/properties/filters",
"per_page": 16,
"to": null,
"total": 17
},
"error": false,
"message": null
}
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 property by slug
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/properties/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/properties/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Property 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 property by ID
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/properties/id/16" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/properties/id/16"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": {
"id": 16,
"name": "Apartment Muiderstraatweg in Diemen",
"description": "Lovely modern and very well maintained apartment in Diemen.\nThe property is located on the first floor where you will find the living room and the kitchen with all modern conveniences.\nOn the second floor 2 bedrooms and a nice bathroom with a seperate shower and bathtub.\nOn this floor you have access to the small roof terrace.",
"content": "<p>For rent fully furnished 3 bedroom apartment in Diemen.<br />\r\nVery suitable for a couple or maximum 2 working sharers, garantors are not accepted.<br />\r\n<br />\r\nLovely modern and very well maintained apartment in Diemen.<br />\r\nThe property is located on the first floor where you will find the living room and the kitchen with all modern conveniences.<br />\r\nOn the second floor 2 bedrooms and a nice bathroom with a seperate shower and bathtub.<br />\r\nOn this floor you have access to the small roof terrace.<br />\r\nLast but not least there is a spacious attic room on the third floor.<br />\r\nThe tram stops in front of the door and within 20 minutes you are in the heart of Amsterdam.<br />\r\nPets are not allowed.</p><h5 class=\"headifhouse\">FAQs</h5> <section class=\"faq-section\">\n \n <div class=\"faq-content\">\n <div class=\"faq-container\">\n <div class=\"faq-wrapper\">\n <div class=\"faq-list\" id=\"faq-list\">\n <div class=\"faq-item\">\n <div class=\"faq-question-wrapper\">\n <button class=\"faq-question \"\n type=\"button\"\n data-target=\"#faq-answer-1\"\n aria-expanded=\"true\"\n aria-controls=\"faq-answer-1\">\n <span class=\"faq-question-text\">What steps are involved in buying a home?</span>\n <span class=\"faq-icon\">\n <span class=\"faq-icon-plus\">+</span>\n <span class=\"faq-icon-minus\">−</span>\n </span>\n </button>\n </div>\n <div id=\"faq-answer-1\"\n class=\"faq-answer show \">\n <div class=\"faq-answer-content\">\n The home buying process involves several steps including getting pre-approved for a mortgage, finding a real estate agent, searching for homes, making an offer, getting a home inspection, and closing the deal.\n </div>\n </div>\n </div>\n <div class=\"faq-item\">\n <div class=\"faq-question-wrapper\">\n <button class=\"faq-question collapsed \"\n type=\"button\"\n data-target=\"#faq-answer-2\"\n aria-expanded=\"false\"\n aria-controls=\"faq-answer-2\">\n <span class=\"faq-question-text\">How can I increase the value of my home before selling?</span>\n <span class=\"faq-icon\">\n <span class=\"faq-icon-plus\">+</span>\n <span class=\"faq-icon-minus\">−</span>\n </span>\n </button>\n </div>\n <div id=\"faq-answer-2\"\n class=\"faq-answer \">\n <div class=\"faq-answer-content\">\n You can increase your home's value by making necessary repairs, updating outdated features, improving curb appeal, and ensuring the home is clean and well-maintained.\n </div>\n </div>\n </div>\n <div class=\"faq-item\">\n <div class=\"faq-question-wrapper\">\n <button class=\"faq-question collapsed \"\n type=\"button\"\n data-target=\"#faq-answer-3\"\n aria-expanded=\"false\"\n aria-controls=\"faq-answer-3\">\n <span class=\"faq-question-text\">What should I look for in a rental property?</span>\n <span class=\"faq-icon\">\n <span class=\"faq-icon-plus\">+</span>\n <span class=\"faq-icon-minus\">−</span>\n </span>\n </button>\n </div>\n <div id=\"faq-answer-3\"\n class=\"faq-answer \">\n <div class=\"faq-answer-content\">\n When looking for a rental property, consider factors such as location, rent price, amenities, lease terms, and the condition of the property. It's also important to understand your rights as a tenant.\n </div>\n </div>\n </div>\n <div class=\"faq-item\">\n <div class=\"faq-question-wrapper\">\n <button class=\"faq-question collapsed \"\n type=\"button\"\n data-target=\"#faq-answer-4\"\n aria-expanded=\"false\"\n aria-controls=\"faq-answer-4\">\n <span class=\"faq-question-text\">What are the benefits of renting versus buying?</span>\n <span class=\"faq-icon\">\n <span class=\"faq-icon-plus\">+</span>\n <span class=\"faq-icon-minus\">−</span>\n </span>\n </button>\n </div>\n <div id=\"faq-answer-4\"\n class=\"faq-answer \">\n <div class=\"faq-answer-content\">\n Renting offers flexibility and fewer maintenance responsibilities, while buying can provide long-term financial benefits and the freedom to customize your home. The decision depends on your financial situation, lifestyle, and future plans.\n </div>\n </div>\n </div>\n <div class=\"faq-item\">\n <div class=\"faq-question-wrapper\">\n <button class=\"faq-question collapsed \"\n type=\"button\"\n data-target=\"#faq-answer-5\"\n aria-expanded=\"false\"\n aria-controls=\"faq-answer-5\">\n <span class=\"faq-question-text\">What types of financing options are available for homebuyers?</span>\n <span class=\"faq-icon\">\n <span class=\"faq-icon-plus\">+</span>\n <span class=\"faq-icon-minus\">−</span>\n </span>\n </button>\n </div>\n <div id=\"faq-answer-5\"\n class=\"faq-answer \">\n <div class=\"faq-answer-content\">\n Common financing options include fixed-rate mortgages, adjustable-rate mortgages, FHA loans, VA loans, and USDA loans. Each has its own requirements and benefits.\n </div>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </div>\n</section>\n",
"location": "Diemen, Netherlands",
"images": [
"https://flex-home.botble.com/storage/properties/b4-1.jpg",
"https://flex-home.botble.com/storage/properties/b3.jpg",
"https://flex-home.botble.com/storage/properties/b5-1.jpg"
],
"type": {
"value": "rent",
"label": "Rent"
},
"status": {
"value": "renting",
"label": "Renting"
},
"moderation_status": {
"value": "approved",
"label": "Approved"
},
"is_featured": 1,
"featured_priority": 0,
"number_bedroom": 3,
"number_bathroom": 1,
"number_floor": 2,
"square": 90,
"price": 2123,
"price_formatted": "$2,123",
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"period": {
"value": "month",
"label": "Monthly"
},
"city_id": 3,
"state_id": 1,
"country_id": 1,
"city": {
"id": 3,
"name": "Bakersfield"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "43.52876",
"longitude": "-76.65882",
"zip_code": null,
"unique_id": null,
"floor_plans": [
{
"name": {
"key": "name",
"value": "First Floor"
},
"bedrooms": {
"key": "bedrooms",
"value": "3"
},
"bathrooms": {
"key": "bathrooms",
"value": "2"
},
"image": {
"key": "image",
"value": "https://flex-home.botble.com/storage/properties/floor.png"
}
},
{
"name": {
"key": "name",
"value": "Second Floor"
},
"bedrooms": {
"key": "bedrooms",
"value": "2"
},
"bathrooms": {
"key": "bathrooms",
"value": "1"
},
"image": {
"key": "image",
"value": "https://flex-home.botble.com/storage/properties/floor.png"
}
}
],
"expire_date": "2025-11-14T00:00:00.000000Z",
"auto_renew": 0,
"created_at": "2019-11-18T07:59:14.000000Z",
"updated_at": "2025-09-30T15:56:44.000000Z",
"url": "https://flex-home.botble.com/properties/apartment-muiderstraatweg-in-diemen",
"slug": "apartment-muiderstraatweg-in-diemen",
"categories": [
{
"id": 1,
"name": "Apartment",
"description": null,
"status": {
"value": null,
"label": ""
},
"order": null,
"is_default": null,
"parent_id": null,
"created_at": null,
"updated_at": null,
"url": "https://flex-home.botble.com/property-category/apartment",
"slug": "apartment"
}
]
},
"error": false,
"message": null
}
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.
List projects
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/projects?page=16&per_page=16&search=architecto&city_id=architecto&state_id=architecto&country_id=16&category_id=architecto&investor_id=architecto&min_price=architecto&max_price=architecto&is_featured=architecto&order=architecto&order_by=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/projects"
);
const params = {
"page": "16",
"per_page": "16",
"search": "architecto",
"city_id": "architecto",
"state_id": "architecto",
"country_id": "16",
"category_id": "architecto",
"investor_id": "architecto",
"min_price": "architecto",
"max_price": "architecto",
"is_featured": "architecto",
"order": "architecto",
"order_by": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [],
"links": {
"first": "https://flex-home.botble.com/api/v1/projects?page=1",
"last": "https://flex-home.botble.com/api/v1/projects?page=1",
"prev": "https://flex-home.botble.com/api/v1/projects?page=15",
"next": null
},
"meta": {
"current_page": 16,
"from": null,
"last_page": 1,
"links": [
{
"url": "https://flex-home.botble.com/api/v1/projects?page=15",
"label": "« Previous",
"page": 15,
"active": false
},
{
"url": "https://flex-home.botble.com/api/v1/projects?page=1",
"label": "1",
"page": 1,
"active": false
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "https://flex-home.botble.com/api/v1/projects",
"per_page": 16,
"to": null,
"total": 6
},
"error": false,
"message": null
}
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.
Search projects
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/projects/search" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"q\": \"architecto\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/projects/search"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"q": "architecto"
};
fetch(url, {
method: "GET",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": false,
"data": {
"items": [
{
"id": 6,
"name": "The Avila Apartments",
"description": "Within the historical peninsula, there is a very special area where you will never find a similar one. Unique sea view with a historical texture of Istanbul. In the bustling city life, in the middle of all transportation possibilities. Large landscaping areas, cafes, shopping opportunities.",
"location": "Singapore Island, Singapore",
"images": [
"https://flex-home.botble.com/storage/properties/e1.jpg",
"https://flex-home.botble.com/storage/properties/e2.jpg",
"https://flex-home.botble.com/storage/properties/e3.jpg",
"https://flex-home.botble.com/storage/properties/e4.jpg",
"https://flex-home.botble.com/storage/properties/e5.jpg",
"https://flex-home.botble.com/storage/properties/e7.jpg",
"https://flex-home.botble.com/storage/properties/e8.jpg"
],
"status": {
"value": "selling",
"label": "Selling"
},
"is_featured": true,
"number_block": 2,
"number_floor": 4,
"number_flat": 125,
"date_finish": "2019-11-19",
"date_sell": "2019-03-11",
"price_from": null,
"price_from_formatted": null,
"price_to": null,
"price_to_formatted": null,
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"city_id": 5,
"state_id": 1,
"country_id": 1,
"city": {
"id": 5,
"name": "San Francisco"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "43.481307",
"longitude": "-74.862851",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T03:53:20.000000Z",
"updated_at": "2025-07-12T01:23:49.000000Z",
"url": "https://flex-home.botble.com/projects/the-avila-apartments",
"slug": "the-avila-apartments"
},
{
"id": 5,
"name": "Aydos Forest Apartments",
"description": "You will have a live site life with 90% occupancy; The clean air of Aydos Forest, the most important social facility of the region with 3,700 sqm which brings enjoyable social activities to your feet, and much more are waiting for you. You will live a life with nature thanks to the artificial lake and cherry trees in the project as",
"location": "Sancaktepe/İstanbul, Turkey",
"images": [
"https://flex-home.botble.com/storage/properties/q1.jpg",
"https://flex-home.botble.com/storage/properties/q2.jpg",
"https://flex-home.botble.com/storage/properties/q8.jpg",
"https://flex-home.botble.com/storage/properties/q7.jpg",
"https://flex-home.botble.com/storage/properties/q3.jpg",
"https://flex-home.botble.com/storage/properties/q6.jpg"
],
"status": {
"value": "selling",
"label": "Selling"
},
"is_featured": true,
"number_block": 4,
"number_floor": 18,
"number_flat": 1394,
"date_finish": "2019-10-30",
"date_sell": "2019-07-21",
"price_from": null,
"price_from_formatted": null,
"price_to": null,
"price_to_formatted": null,
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"city_id": 3,
"state_id": 1,
"country_id": 1,
"city": {
"id": 3,
"name": "Bakersfield"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "43.270016",
"longitude": "-75.054121",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T03:45:06.000000Z",
"updated_at": "2025-07-12T01:23:49.000000Z",
"url": "https://flex-home.botble.com/projects/aydos-forest-apartments",
"slug": "aydos-forest-apartments"
},
{
"id": 4,
"name": "Aegean Villas",
"description": "A very large area of 312.000sqm has only 144 villas. Each villa’s garden is independent of one another and protects private life. There are 400 adult olive trees in the common area landscape. Strengthening of neighborly relations with common sharing points such as open air cinema, village coffee, market.",
"location": "Büyükçekmece, İstanbul, Turkey",
"images": [
"https://flex-home.botble.com/storage/properties/a5-1.jpg",
"https://flex-home.botble.com/storage/properties/a6-1.jpg",
"https://flex-home.botble.com/storage/properties/a7.jpg",
"https://flex-home.botble.com/storage/properties/a8.jpg",
"https://flex-home.botble.com/storage/properties/a10.jpg",
"https://flex-home.botble.com/storage/properties/a9.jpg"
],
"status": {
"value": "selling",
"label": "Selling"
},
"is_featured": true,
"number_block": 5,
"number_floor": 2,
"number_flat": 144,
"date_finish": "2020-06-09",
"date_sell": "2020-10-04",
"price_from": null,
"price_from_formatted": null,
"price_to": null,
"price_to_formatted": null,
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"city_id": 2,
"state_id": 1,
"country_id": 1,
"city": {
"id": 2,
"name": "Oakland"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "42.478281",
"longitude": "-75.321856",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T03:38:13.000000Z",
"updated_at": "2025-07-12T01:23:49.000000Z",
"url": "https://flex-home.botble.com/projects/aegean-villas",
"slug": "aegean-villas"
},
{
"id": 3,
"name": "Mimaroba Paradise",
"description": "A summerhouse in the center of the city. Remove the boundaries between you and the sea, you will be surrounded by blue sea. Everything you have imagined - from infinity pool, zen garden, gourmet restaurant to thematic playgrounds awaiting you. A unique design that makes luxury a habit, a wide variety of apartment plan options.",
"location": "Texas, USA",
"images": [
"https://flex-home.botble.com/storage/projects/13.jpg",
"https://flex-home.botble.com/storage/projects/12.jpg",
"https://flex-home.botble.com/storage/projects/11.jpg",
"https://flex-home.botble.com/storage/projects/14.jpg"
],
"status": {
"value": "selling",
"label": "Selling"
},
"is_featured": true,
"number_block": 2,
"number_floor": 16,
"number_flat": 327,
"date_finish": "2020-06-09",
"date_sell": "2019-09-10",
"price_from": null,
"price_from_formatted": null,
"price_to": null,
"price_to_formatted": null,
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"city_id": 1,
"state_id": 1,
"country_id": 1,
"city": {
"id": 1,
"name": "Alhambra"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "42.795156",
"longitude": "-76.237441",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T03:30:34.000000Z",
"updated_at": "2025-07-12T01:23:49.000000Z",
"url": "https://flex-home.botble.com/projects/mimaroba-paradise",
"slug": "mimaroba-paradise"
},
{
"id": 2,
"name": "Osaka Heights",
"description": "The homes come with all comfy amenities and facilities for a superior life. From the panoramic views, the rooftop swimming pool and the landscaped eco-balconies, beauty meets you at every step in Osaka Heights. Made for an exclusive few, Osaka Heights gives you the advantage of sharing a space with like-minded individuals.",
"location": "Kirulapone, Colombo 06, Colombo, Sri Lanka",
"images": [
"https://flex-home.botble.com/storage/projects/21.jpg",
"https://flex-home.botble.com/storage/projects/24.jpg",
"https://flex-home.botble.com/storage/projects/23.jpg",
"https://flex-home.botble.com/storage/projects/25.jpg",
"https://flex-home.botble.com/storage/projects/26.jpg",
"https://flex-home.botble.com/storage/projects/22.jpg"
],
"status": {
"value": "selling",
"label": "Selling"
},
"is_featured": true,
"number_block": 1,
"number_floor": 15,
"number_flat": 450,
"date_finish": "2019-08-09",
"date_sell": "2019-08-10",
"price_from": null,
"price_from_formatted": null,
"price_to": null,
"price_to_formatted": null,
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"city_id": 3,
"state_id": 1,
"country_id": 1,
"city": {
"id": 3,
"name": "Bakersfield"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "43.013638",
"longitude": "-75.848066",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T01:28:45.000000Z",
"updated_at": "2025-07-12T01:23:49.000000Z",
"url": "https://flex-home.botble.com/projects/osaka-heights",
"slug": "osaka-heights"
},
{
"id": 1,
"name": "Walnut Park Apartments",
"description": "Walnut Park is conveniently located on North Lamar Boulevard across from the 293-acre Walnut Creek Metropolitan Park and just south of Yager Lane near numerous shops and restaurants. Only 11 miles from downtown Austin, the heavily-wooded site borders Walnut Creek and offers residents inspiring views in an unparalleled, secluded community",
"location": "Austin, Texas 78753, USA",
"images": [
"https://flex-home.botble.com/storage/projects/1.jpg",
"https://flex-home.botble.com/storage/projects/5.jpg",
"https://flex-home.botble.com/storage/projects/3.jpg",
"https://flex-home.botble.com/storage/projects/2.jpg"
],
"status": {
"value": "selling",
"label": "Selling"
},
"is_featured": true,
"number_block": 4,
"number_floor": 2,
"number_flat": 50,
"date_finish": "2019-11-10",
"date_sell": "2019-03-11",
"price_from": null,
"price_from_formatted": null,
"price_to": null,
"price_to_formatted": null,
"currency_id": 1,
"currency": {
"id": 1,
"title": "USD",
"symbol": "$",
"is_prefix_symbol": true,
"decimals": 0,
"exchange_rate": 1,
"is_default": true
},
"city_id": 4,
"state_id": 1,
"country_id": 1,
"city": {
"id": 4,
"name": "Anaheim"
},
"state": {
"id": 1,
"name": "California"
},
"country": {
"id": 1,
"name": "United States"
},
"latitude": "43.578848",
"longitude": "-76.32197",
"zip_code": null,
"unique_id": null,
"created_at": "2019-11-18T00:34:49.000000Z",
"updated_at": "2025-07-12T01:23:49.000000Z",
"url": "https://flex-home.botble.com/projects/walnut-park-apartments",
"slug": "walnut-park-apartments"
}
],
"query": "architecto",
"count": 6
},
"message": null
}
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 project filters
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/projects/filters?page=16&per_page=16&search=architecto&city_id=architecto&state_id=architecto&country_id=16&category_id=architecto&investor_id=architecto&min_price=architecto&max_price=architecto&is_featured=architecto&order=architecto&order_by=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/projects/filters"
);
const params = {
"page": "16",
"per_page": "16",
"search": "architecto",
"city_id": "architecto",
"state_id": "architecto",
"country_id": "16",
"category_id": "architecto",
"investor_id": "architecto",
"min_price": "architecto",
"max_price": "architecto",
"is_featured": "architecto",
"order": "architecto",
"order_by": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [],
"links": {
"first": "https://flex-home.botble.com/api/v1/projects/filters?page=1",
"last": "https://flex-home.botble.com/api/v1/projects/filters?page=1",
"prev": "https://flex-home.botble.com/api/v1/projects/filters?page=15",
"next": null
},
"meta": {
"current_page": 16,
"from": null,
"last_page": 1,
"links": [
{
"url": "https://flex-home.botble.com/api/v1/projects/filters?page=15",
"label": "« Previous",
"page": 15,
"active": false
},
{
"url": "https://flex-home.botble.com/api/v1/projects/filters?page=1",
"label": "1",
"page": 1,
"active": false
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "https://flex-home.botble.com/api/v1/projects/filters",
"per_page": 16,
"to": null,
"total": 6
},
"error": false,
"message": null
}
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 project by slug
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/projects/architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/projects/architecto"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Project 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 project by ID
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/projects/id/16" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/projects/id/16"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Project 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 properties of a project
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/projects/id/16/properties?page=16&per_page=16" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/projects/id/16/properties"
);
const params = {
"page": "16",
"per_page": "16",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Project 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 category by ID
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/categories/id/16" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/categories/id/16"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Category 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 properties of a category
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/categories/id/16/properties?page=16&per_page=16" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/categories/id/16/properties"
);
const params = {
"page": "16",
"per_page": "16",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Category 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.
List features
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/features?page=16&per_page=16&search=architecto&order=architecto&order_by=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/features"
);
const params = {
"page": "16",
"per_page": "16",
"search": "architecto",
"order": "architecto",
"order_by": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [],
"links": {
"first": "https://flex-home.botble.com/api/v1/features?page=1",
"last": "https://flex-home.botble.com/api/v1/features?page=1",
"prev": "https://flex-home.botble.com/api/v1/features?page=15",
"next": null
},
"meta": {
"current_page": 16,
"from": null,
"last_page": 1,
"links": [
{
"url": "https://flex-home.botble.com/api/v1/features?page=15",
"label": "« Previous",
"page": 15,
"active": false
},
{
"url": "https://flex-home.botble.com/api/v1/features?page=1",
"label": "1",
"page": 1,
"active": false
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "https://flex-home.botble.com/api/v1/features",
"per_page": 16,
"to": null,
"total": 12
},
"error": false,
"message": null
}
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 features (without pagination)
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/features/all?search=architecto&order=architecto&order_by=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/features/all"
);
const params = {
"search": "architecto",
"order": "architecto",
"order_by": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [
{
"id": 1,
"name": "Wifi",
"icon": null,
"status": "published",
"created_at": null,
"updated_at": null
},
{
"id": 2,
"name": "Parking",
"icon": null,
"status": "published",
"created_at": null,
"updated_at": null
},
{
"id": 3,
"name": "Swimming pool",
"icon": null,
"status": "published",
"created_at": null,
"updated_at": null
},
{
"id": 4,
"name": "Balcony",
"icon": null,
"status": "published",
"created_at": null,
"updated_at": null
},
{
"id": 5,
"name": "Garden",
"icon": null,
"status": "published",
"created_at": null,
"updated_at": null
},
{
"id": 6,
"name": "Security",
"icon": null,
"status": "published",
"created_at": null,
"updated_at": null
},
{
"id": 7,
"name": "Fitness center",
"icon": null,
"status": "published",
"created_at": null,
"updated_at": null
},
{
"id": 8,
"name": "Air Conditioning",
"icon": null,
"status": "published",
"created_at": null,
"updated_at": null
},
{
"id": 9,
"name": "Central Heating ",
"icon": null,
"status": "published",
"created_at": null,
"updated_at": null
},
{
"id": 10,
"name": "Laundry Room",
"icon": null,
"status": "published",
"created_at": null,
"updated_at": null
},
{
"id": 11,
"name": "Pets Allow",
"icon": null,
"status": "published",
"created_at": null,
"updated_at": null
},
{
"id": 12,
"name": "Spa & Massage",
"icon": null,
"status": "published",
"created_at": null,
"updated_at": null
}
],
"error": false,
"message": null
}
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 feature by ID
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/features/16" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/features/16"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Feature 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.
List facilities
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/facilities?page=16&per_page=16&search=architecto&order=architecto&order_by=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/facilities"
);
const params = {
"page": "16",
"per_page": "16",
"search": "architecto",
"order": "architecto",
"order_by": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [],
"links": {
"first": "https://flex-home.botble.com/api/v1/facilities?page=1",
"last": "https://flex-home.botble.com/api/v1/facilities?page=1",
"prev": "https://flex-home.botble.com/api/v1/facilities?page=15",
"next": null
},
"meta": {
"current_page": 16,
"from": null,
"last_page": 1,
"links": [
{
"url": "https://flex-home.botble.com/api/v1/facilities?page=15",
"label": "« Previous",
"page": 15,
"active": false
},
{
"url": "https://flex-home.botble.com/api/v1/facilities?page=1",
"label": "1",
"page": 1,
"active": false
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "https://flex-home.botble.com/api/v1/facilities",
"per_page": 16,
"to": null,
"total": 11
},
"error": false,
"message": null
}
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 facilities (without pagination)
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/facilities/all?search=architecto&order=architecto&order_by=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/facilities/all"
);
const params = {
"search": "architecto",
"order": "architecto",
"order_by": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [
{
"id": 1,
"name": "Hospital",
"icon": "far fa-hospital",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-09-30T15:56:18.000000Z",
"updated_at": "2025-09-30T15:56:18.000000Z"
},
{
"id": 2,
"name": "Super Market",
"icon": "fas fa-cart-plus",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-09-30T15:56:18.000000Z",
"updated_at": "2025-09-30T15:56:18.000000Z"
},
{
"id": 3,
"name": "School",
"icon": "fas fa-school",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-09-30T15:56:18.000000Z",
"updated_at": "2025-09-30T15:56:18.000000Z"
},
{
"id": 4,
"name": "Entertainment",
"icon": "fas fa-hotel",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-09-30T15:56:18.000000Z",
"updated_at": "2025-09-30T15:56:18.000000Z"
},
{
"id": 5,
"name": "Pharmacy",
"icon": "fas fa-prescription-bottle-alt",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-09-30T15:56:18.000000Z",
"updated_at": "2025-09-30T15:56:18.000000Z"
},
{
"id": 6,
"name": "Airport",
"icon": "fas fa-plane-departure",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-09-30T15:56:18.000000Z",
"updated_at": "2025-09-30T15:56:18.000000Z"
},
{
"id": 7,
"name": "Railways",
"icon": "fas fa-subway",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-09-30T15:56:18.000000Z",
"updated_at": "2025-09-30T15:56:18.000000Z"
},
{
"id": 8,
"name": "Bus Stop",
"icon": "fas fa-bus",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-09-30T15:56:18.000000Z",
"updated_at": "2025-09-30T15:56:18.000000Z"
},
{
"id": 9,
"name": "Beach",
"icon": "fas fa-umbrella-beach",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-09-30T15:56:18.000000Z",
"updated_at": "2025-09-30T15:56:18.000000Z"
},
{
"id": 10,
"name": "Mall",
"icon": "fas fa-cart-plus",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-09-30T15:56:18.000000Z",
"updated_at": "2025-09-30T15:56:18.000000Z"
},
{
"id": 11,
"name": "Bank",
"icon": "fas fa-university",
"status": {
"value": "published",
"label": "Published"
},
"created_at": "2025-09-30T15:56:18.000000Z",
"updated_at": "2025-09-30T15:56:18.000000Z"
}
],
"error": false,
"message": null
}
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 facility by ID
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/facilities/16" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/facilities/16"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Facility 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.
List agents/accounts
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/agents?page=16&per_page=16&search=architecto&is_featured=architecto&order=architecto&order_by=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/agents"
);
const params = {
"page": "16",
"per_page": "16",
"search": "architecto",
"is_featured": "architecto",
"order": "architecto",
"order_by": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [],
"links": {
"first": "https://flex-home.botble.com/api/v1/agents?page=1",
"last": "https://flex-home.botble.com/api/v1/agents?page=1",
"prev": "https://flex-home.botble.com/api/v1/agents?page=15",
"next": null
},
"meta": {
"current_page": 16,
"from": null,
"last_page": 1,
"links": [
{
"url": "https://flex-home.botble.com/api/v1/agents?page=15",
"label": "« Previous",
"page": 15,
"active": false
},
{
"url": "https://flex-home.botble.com/api/v1/agents?page=1",
"label": "1",
"page": 1,
"active": false
},
{
"url": null,
"label": "Next »",
"page": null,
"active": false
}
],
"path": "https://flex-home.botble.com/api/v1/agents",
"per_page": 16,
"to": null,
"total": 6
},
"error": false,
"message": null
}
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 account by ID
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/agents/16" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/agents/16"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Account 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 properties of an account
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/agents/16/properties?page=16&per_page=16" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/agents/16/properties"
);
const params = {
"page": "16",
"per_page": "16",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Account 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 projects of an account
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/agents/16/projects?page=16&per_page=16" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/agents/16/projects"
);
const params = {
"page": "16",
"per_page": "16",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Account 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.
List reviews for a property
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/properties/16/reviews?page=16&per_page=16&order=architecto&order_by=architecto" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/properties/16/reviews"
);
const params = {
"page": "16",
"per_page": "16",
"order": "architecto",
"order_by": "architecto",
};
Object.keys(params)
.forEach(key => url.searchParams.append(key, params[key]));
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Property 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 review by ID
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/reviews/16" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/reviews/16"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (404):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"message": "Review 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.
Send consultation request
Example request:
curl --request POST \
"https://flex-home.botble.com/api/v1/consults" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"name\": \"John Doe\",
\"email\": \"[email protected]\",
\"phone\": \"+1234567890\",
\"content\": \"I\'m interested in this property.\",
\"type\": \"property\",
\"data_id\": 1,
\"consult_custom_fields\": [
\"architecto\"
]
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/consults"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"name": "John Doe",
"email": "[email protected]",
"phone": "+1234567890",
"content": "I'm interested in this property.",
"type": "property",
"data_id": 1,
"consult_custom_fields": [
"architecto"
]
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());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 consultation custom fields
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/consults/custom-fields" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/consults/custom-fields"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (200):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"data": [],
"error": false,
"message": null
}
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 account profile
requires authentication
Example request:
curl --request GET \
--get "https://flex-home.botble.com/api/v1/account/profile" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/account/profile"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "GET",
headers,
}).then(response => response.json());Example response (401):
Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
{
"error": true,
"data": null,
"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 review for a property
requires authentication
Example request:
curl --request POST \
"https://flex-home.botble.com/api/v1/properties/16/reviews" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"reviewable_type\": \"Botble\\\\RealEstate\\\\Models\\\\Property\",
\"star\": 5,
\"content\": \"This is an excellent property with great amenities.\",
\"comment\": \"Great property!\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/properties/16/reviews"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"reviewable_type": "Botble\\RealEstate\\Models\\Property",
"star": 5,
"content": "This is an excellent property with great amenities.",
"comment": "Great property!"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());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 a review
requires authentication
Example request:
curl --request PUT \
"https://flex-home.botble.com/api/v1/reviews/16" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"reviewable_type\": \"Botble\\\\RealEstate\\\\Models\\\\Property\",
\"star\": 5,
\"content\": \"This is an excellent property with great amenities.\",
\"comment\": \"Updated review!\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/reviews/16"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"reviewable_type": "Botble\\RealEstate\\Models\\Property",
"star": 5,
"content": "This is an excellent property with great amenities.",
"comment": "Updated review!"
};
fetch(url, {
method: "PUT",
headers,
body: JSON.stringify(body),
}).then(response => response.json());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 a review
requires authentication
Example request:
curl --request DELETE \
"https://flex-home.botble.com/api/v1/reviews/16" \
--header "Content-Type: application/json" \
--header "Accept: application/json"const url = new URL(
"https://flex-home.botble.com/api/v1/reviews/16"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
fetch(url, {
method: "DELETE",
headers,
}).then(response => response.json());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.
Social Login
Apple login
Example request:
curl --request POST \
"https://flex-home.botble.com/api/v1/auth/apple" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"identityToken\": \"architecto\",
\"guard\": \"architecto\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/auth/apple"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"identityToken": "architecto",
"guard": "architecto"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"error": false,
"data": {
"token": "1|abc123def456...",
"user": {
"id": 1,
"name": "John Doe",
"email": "[email protected]"
}
},
"message": "Login successful"
}
Example response (400):
{
"error": true,
"message": "Invalid Apple token"
}
Example response (400):
{
"error": true,
"message": "Cannot login, no email or Apple ID provided!"
}
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.
Google login
Example request:
curl --request POST \
"https://flex-home.botble.com/api/v1/auth/google" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"identityToken\": \"architecto\",
\"guard\": \"architecto\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/auth/google"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"identityToken": "architecto",
"guard": "architecto"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"error": false,
"data": {
"token": "1|abc123def456...",
"user": {
"id": 1,
"name": "John Doe",
"email": "[email protected]"
}
},
"message": "Login successful"
}
Example response (400):
{
"error": true,
"message": "Invalid Google token"
}
Example response (400):
{
"error": true,
"message": "Google authentication is not properly configured"
}
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.
Facebook login
Example request:
curl --request POST \
"https://flex-home.botble.com/api/v1/auth/facebook" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"accessToken\": \"architecto\",
\"guard\": \"architecto\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/auth/facebook"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"accessToken": "architecto",
"guard": "architecto"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"error": false,
"data": {
"token": "1|abc123def456...",
"user": {
"id": 1,
"name": "John Doe",
"email": "[email protected]"
}
},
"message": "Login successful"
}
Example response (400):
{
"error": true,
"message": "Invalid Facebook token"
}
Example response (400):
{
"error": true,
"message": "Facebook authentication is not properly configured"
}
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.
X (Twitter) login
Example request:
curl --request POST \
"https://flex-home.botble.com/api/v1/auth/x" \
--header "Content-Type: application/json" \
--header "Accept: application/json" \
--data "{
\"accessToken\": \"architecto\",
\"guard\": \"architecto\"
}"
const url = new URL(
"https://flex-home.botble.com/api/v1/auth/x"
);
const headers = {
"Content-Type": "application/json",
"Accept": "application/json",
};
let body = {
"accessToken": "architecto",
"guard": "architecto"
};
fetch(url, {
method: "POST",
headers,
body: JSON.stringify(body),
}).then(response => response.json());Example response (200):
{
"error": false,
"data": {
"token": "1|abc123def456...",
"user": {
"id": 1,
"name": "John Doe",
"email": "[email protected]"
}
},
"message": "Login successful"
}
Example response (400):
{
"error": true,
"message": "Invalid X (Twitter) token"
}
Example response (400):
{
"error": true,
"message": "X (Twitter) authentication is not properly configured"
}
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.