NAV -image
bash javascript

Introduction

This documentation aims to provide all the information you need to work with our API.

Base URL

https://cms.botble.com

Authenticating requests

This API is not authenticated.

Authentication

Register

Example request:

curl -X POST \
    "https://cms.botble.com/api/v1/register" \
    -H "Authorization: Bearer {token}" \
    -H "Api-Version: v1" \
    -H "Content-Type: application/json" \
    -d '{"first_name":"harum","last_name":"nostrum","email":"odit","password":"saepe","phone":"placeat","password_confirmation":"maiores"}'
const url = new URL(
    "https://cms.botble.com/api/v1/register"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Api-Version": "v1",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "harum",
    "last_name": "nostrum",
    "email": "odit",
    "password": "saepe",
    "phone": "placeat",
    "password_confirmation": "maiores"
}

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": {
        "first_name": [
            "The first name field is required."
        ],
        "last_name": [
            "The last name field is required."
        ],
        "email": [
            "The email field is required."
        ],
        "password": [
            "The password field is required."
        ]
    }
}

Request      

POST api/v1/register

Body Parameters

first_name  string  
The name of the user.

last_name  string  
The name of the user.

email  string  
The email of the user.

password  string  
The password of user to create.

phone  string  
The phone of the user.

password_confirmation  string  
The password confirmation.

Login

Example request:

curl -X POST \
    "https://cms.botble.com/api/v1/login" \
    -H "Authorization: Bearer {token}" \
    -H "Api-Version: v1" \
    -H "Content-Type: application/json" \
    -d '{"email":"[email protected]","password":"provident","login":"qui"}'
const url = new URL(
    "https://cms.botble.com/api/v1/login"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Api-Version": "v1",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "[email protected]",
    "password": "provident",
    "login": "qui"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "error": false,
    "data": {
        "token": "1|aF5s7p3xxx1lVL8hkSrPN72m4wPVpTvTs..."
    },
    "message": null
}

Request      

POST api/v1/login

Body Parameters

email  string  
The value must be a valid email address.

password  string  
The password of user to create.

login  string  
The email/phone of the user.

Forgot password

Send a reset link to the given user.

Example request:

curl -X POST \
    "https://cms.botble.com/api/v1/password/forgot" \
    -H "Authorization: Bearer {token}" \
    -H "Api-Version: v1" \
    -H "Content-Type: application/json" \
    -d '{"email":"totam"}'
const url = new URL(
    "https://cms.botble.com/api/v1/password/forgot"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Api-Version": "v1",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "totam"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/password/forgot

Body Parameters

email  string  
The email of the user.

Resend email verification

Resend the email verification notification.

Example request:

curl -X POST \
    "https://cms.botble.com/api/v1/resend-verify-account-email" \
    -H "Authorization: Bearer {token}" \
    -H "Api-Version: v1" \
    -H "Content-Type: application/json" \
    -d '{"email":"id"}'
const url = new URL(
    "https://cms.botble.com/api/v1/resend-verify-account-email"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Api-Version": "v1",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "email": "id"
}

fetch(url, {
    method: "POST",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

POST api/v1/resend-verify-account-email

Body Parameters

email  string  
The email of the user.

Logout

requires authentication

Example request:

curl -X GET \
    -G "https://cms.botble.com/api/v1/logout" \
    -H "Authorization: Bearer {token}" \
    -H "Api-Version: v1"
const url = new URL(
    "https://cms.botble.com/api/v1/logout"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Api-Version": "v1",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (302):


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="refresh" content="0;url='http://cms.botble.com/admin/login'" />

        <title>Redirecting to http://cms.botble.com/admin/login</title>
    </head>
    <body>
        Redirecting to <a href="http://cms.botble.com/admin/login">http://cms.botble.com/admin/login</a>.
    </body>
</html>

Request      

GET api/v1/logout

Blog

Search post

Example request:

curl -X GET \
    -G "https://cms.botble.com/api/v1/search" \
    -H "Authorization: Bearer {token}" \
    -H "Api-Version: v1" \
    -H "Content-Type: application/json" \
    -d '{"q":"possimus"}'
const url = new URL(
    "https://cms.botble.com/api/v1/search"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Api-Version": "v1",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "q": "possimus"
}

fetch(url, {
    method: "GET",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Example response (200):

{
    "error": true,
    "data": null,
    "message": "No results found, please try with different keywords."
}

List posts

Example request:

curl -X GET \
    -G "https://cms.botble.com/api/v1/posts" \
    -H "Authorization: Bearer {token}" \
    -H "Api-Version: v1"
const url = new URL(
    "https://cms.botble.com/api/v1/posts"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Api-Version": "v1",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 1,
            "name": "The Top 2020 Handbag Trends to Know",
            "slug": "the-top-2020-handbag-trends-to-know",
            "description": "Voluptatum ut dignissimos qui cupiditate illo. Saepe veritatis quod ea ab ex enim. Inventore optio qui ut laborum magnam labore incidunt.",
            "image": "https:\/\/cdn.botble.com\/cms\/storage\/news\/1.jpg",
            "categories": [
                {
                    "id": 1,
                    "name": "Design",
                    "slug": "design",
                    "description": "Autem cumque et sint cum repellat. Ea veritatis quo odit est accusamus. Qui laborum facere voluptatum. Officia aliquid minima consequuntur doloremque non modi."
                },
                {
                    "id": 5,
                    "name": "Travel Tips",
                    "slug": "travel-tips",
                    "description": "Est sed consequatur veritatis dolorem quia ut fugit. Minus dolor iste fugiat molestias cupiditate ut eos debitis. Ea qui velit iure doloribus aliquid quasi."
                }
            ],
            "tags": [
                {
                    "id": 1,
                    "name": "General",
                    "slug": "general",
                    "description": ""
                },
                {
                    "id": 2,
                    "name": "Design",
                    "slug": "design",
                    "description": ""
                },
                {
                    "id": 3,
                    "name": "Fashion",
                    "slug": "fashion",
                    "description": ""
                },
                {
                    "id": 4,
                    "name": "Branding",
                    "slug": "branding",
                    "description": ""
                },
                {
                    "id": 5,
                    "name": "Modern",
                    "slug": "modern",
                    "description": ""
                }
            ],
            "created_at": "2022-09-15T10:33:19.000000Z",
            "updated_at": "2022-09-15T10:33:19.000000Z"
        },
        {
            "id": 2,
            "name": "Top Search Engine Optimization Strategies!",
            "slug": "top-search-engine-optimization-strategies",
            "description": "Mollitia minima temporibus ex rerum. Provident explicabo quos occaecati ratione veniam. Explicabo minima sunt labore dicta soluta qui incidunt. Molestias illo consequatur atque qui ipsa repellendus.",
            "image": "https:\/\/cdn.botble.com\/cms\/storage\/news\/2.jpg",
            "categories": [
                {
                    "id": 4,
                    "name": "Healthy",
                    "slug": "healthy",
                    "description": "Sed sed hic error nostrum nihil est. Nostrum et autem consequatur laboriosam quas quo. Veniam quod accusamus quidem et laboriosam. Placeat est aut dignissimos sunt."
                },
                {
                    "id": 6,
                    "name": "Hotel",
                    "slug": "hotel",
                    "description": "Voluptas tempore ipsum minus voluptas. Ipsam molestias dicta laudantium ipsam omnis. Ut molestiae nostrum atque quae ea enim est."
                }
            ],
            "tags": [
                {
                    "id": 1,
                    "name": "General",
                    "slug": "general",
                    "description": ""
                },
                {
                    "id": 2,
                    "name": "Design",
                    "slug": "design",
                    "description": ""
                },
                {
                    "id": 3,
                    "name": "Fashion",
                    "slug": "fashion",
                    "description": ""
                },
                {
                    "id": 4,
                    "name": "Branding",
                    "slug": "branding",
                    "description": ""
                },
                {
                    "id": 5,
                    "name": "Modern",
                    "slug": "modern",
                    "description": ""
                }
            ],
            "created_at": "2022-09-15T10:33:19.000000Z",
            "updated_at": "2022-09-15T10:33:19.000000Z"
        },
        {
            "id": 3,
            "name": "Which Company Would You Choose?",
            "slug": "which-company-would-you-choose",
            "description": "Totam qui quo non ea id ea quia. Quis harum odit asperiores dolorem laboriosam eos consequatur voluptas. Omnis eaque molestias rerum id est.",
            "image": "https:\/\/cdn.botble.com\/cms\/storage\/news\/3.jpg",
            "categories": [
                {
                    "id": 1,
                    "name": "Design",
                    "slug": "design",
                    "description": "Autem cumque et sint cum repellat. Ea veritatis quo odit est accusamus. Qui laborum facere voluptatum. Officia aliquid minima consequuntur doloremque non modi."
                },
                {
                    "id": 5,
                    "name": "Travel Tips",
                    "slug": "travel-tips",
                    "description": "Est sed consequatur veritatis dolorem quia ut fugit. Minus dolor iste fugiat molestias cupiditate ut eos debitis. Ea qui velit iure doloribus aliquid quasi."
                }
            ],
            "tags": [
                {
                    "id": 1,
                    "name": "General",
                    "slug": "general",
                    "description": ""
                },
                {
                    "id": 2,
                    "name": "Design",
                    "slug": "design",
                    "description": ""
                },
                {
                    "id": 3,
                    "name": "Fashion",
                    "slug": "fashion",
                    "description": ""
                },
                {
                    "id": 4,
                    "name": "Branding",
                    "slug": "branding",
                    "description": ""
                },
                {
                    "id": 5,
                    "name": "Modern",
                    "slug": "modern",
                    "description": ""
                }
            ],
            "created_at": "2022-09-15T10:33:19.000000Z",
            "updated_at": "2022-09-15T10:33:19.000000Z"
        },
        {
            "id": 4,
            "name": "Used Car Dealer Sales Tricks Exposed",
            "slug": "used-car-dealer-sales-tricks-exposed",
            "description": "Soluta nulla animi accusantium repellat. Labore eveniet corporis rerum magnam quam aut voluptas non. Tempora sapiente reiciendis atque quia placeat et sit molestias.",
            "image": "https:\/\/cdn.botble.com\/cms\/storage\/news\/4.jpg",
            "categories": [
                {
                    "id": 1,
                    "name": "Design",
                    "slug": "design",
                    "description": "Autem cumque et sint cum repellat. Ea veritatis quo odit est accusamus. Qui laborum facere voluptatum. Officia aliquid minima consequuntur doloremque non modi."
                },
                {
                    "id": 5,
                    "name": "Travel Tips",
                    "slug": "travel-tips",
                    "description": "Est sed consequatur veritatis dolorem quia ut fugit. Minus dolor iste fugiat molestias cupiditate ut eos debitis. Ea qui velit iure doloribus aliquid quasi."
                }
            ],
            "tags": [
                {
                    "id": 1,
                    "name": "General",
                    "slug": "general",
                    "description": ""
                },
                {
                    "id": 2,
                    "name": "Design",
                    "slug": "design",
                    "description": ""
                },
                {
                    "id": 3,
                    "name": "Fashion",
                    "slug": "fashion",
                    "description": ""
                },
                {
                    "id": 4,
                    "name": "Branding",
                    "slug": "branding",
                    "description": ""
                },
                {
                    "id": 5,
                    "name": "Modern",
                    "slug": "modern",
                    "description": ""
                }
            ],
            "created_at": "2022-09-15T10:33:19.000000Z",
            "updated_at": "2022-09-15T10:33:19.000000Z"
        },
        {
            "id": 5,
            "name": "20 Ways To Sell Your Product Faster",
            "slug": "20-ways-to-sell-your-product-faster",
            "description": "Et itaque iste tempora quasi. Non recusandae nisi neque a molestiae tempora sint. Eos qui voluptas nobis labore. Aut a architecto enim fugit repellat. Est at aut magnam.",
            "image": "https:\/\/cdn.botble.com\/cms\/storage\/news\/5.jpg",
            "categories": [
                {
                    "id": 2,
                    "name": "Lifestyle",
                    "slug": "lifestyle",
                    "description": "Esse vero alias optio dicta et voluptate. Suscipit rerum magni ipsam consequuntur. Molestias nemo voluptas odit tenetur."
                },
                {
                    "id": 6,
                    "name": "Hotel",
                    "slug": "hotel",
                    "description": "Voluptas tempore ipsum minus voluptas. Ipsam molestias dicta laudantium ipsam omnis. Ut molestiae nostrum atque quae ea enim est."
                }
            ],
            "tags": [
                {
                    "id": 1,
                    "name": "General",
                    "slug": "general",
                    "description": ""
                },
                {
                    "id": 2,
                    "name": "Design",
                    "slug": "design",
                    "description": ""
                },
                {
                    "id": 3,
                    "name": "Fashion",
                    "slug": "fashion",
                    "description": ""
                },
                {
                    "id": 4,
                    "name": "Branding",
                    "slug": "branding",
                    "description": ""
                },
                {
                    "id": 5,
                    "name": "Modern",
                    "slug": "modern",
                    "description": ""
                }
            ],
            "created_at": "2022-09-15T10:33:19.000000Z",
            "updated_at": "2022-09-15T10:33:19.000000Z"
        },
        {
            "id": 6,
            "name": "The Secrets Of Rich And Famous Writers",
            "slug": "the-secrets-of-rich-and-famous-writers",
            "description": "Placeat omnis unde esse unde. Explicabo itaque voluptate provident aliquam consequatur omnis ullam ipsa.",
            "image": "https:\/\/cdn.botble.com\/cms\/storage\/news\/6.jpg",
            "categories": [
                {
                    "id": 4,
                    "name": "Healthy",
                    "slug": "healthy",
                    "description": "Sed sed hic error nostrum nihil est. Nostrum et autem consequatur laboriosam quas quo. Veniam quod accusamus quidem et laboriosam. Placeat est aut dignissimos sunt."
                },
                {
                    "id": 6,
                    "name": "Hotel",
                    "slug": "hotel",
                    "description": "Voluptas tempore ipsum minus voluptas. Ipsam molestias dicta laudantium ipsam omnis. Ut molestiae nostrum atque quae ea enim est."
                }
            ],
            "tags": [
                {
                    "id": 1,
                    "name": "General",
                    "slug": "general",
                    "description": ""
                },
                {
                    "id": 2,
                    "name": "Design",
                    "slug": "design",
                    "description": ""
                },
                {
                    "id": 3,
                    "name": "Fashion",
                    "slug": "fashion",
                    "description": ""
                },
                {
                    "id": 4,
                    "name": "Branding",
                    "slug": "branding",
                    "description": ""
                },
                {
                    "id": 5,
                    "name": "Modern",
                    "slug": "modern",
                    "description": ""
                }
            ],
            "created_at": "2022-09-15T10:33:19.000000Z",
            "updated_at": "2022-09-27T04:14:11.000000Z"
        },
        {
            "id": 7,
            "name": "Imagine Losing 20 Pounds In 14 Days!",
            "slug": "imagine-losing-20-pounds-in-14-days",
            "description": "Consequatur error nobis velit pariatur et. Temporibus corporis rerum sunt quos mollitia et. Temporibus fuga ut est dicta.",
            "image": "https:\/\/cdn.botble.com\/cms\/storage\/news\/7.jpg",
            "categories": [
                {
                    "id": 3,
                    "name": "Travel Tips",
                    "slug": "travel-tips",
                    "description": "Quam exercitationem sapiente vitae pariatur consectetur numquam. Nulla repudiandae et necessitatibus aliquid."
                },
                {
                    "id": 6,
                    "name": "Hotel",
                    "slug": "hotel",
                    "description": "Voluptas tempore ipsum minus voluptas. Ipsam molestias dicta laudantium ipsam omnis. Ut molestiae nostrum atque quae ea enim est."
                }
            ],
            "tags": [
                {
                    "id": 1,
                    "name": "General",
                    "slug": "general",
                    "description": ""
                },
                {
                    "id": 2,
                    "name": "Design",
                    "slug": "design",
                    "description": ""
                },
                {
                    "id": 3,
                    "name": "Fashion",
                    "slug": "fashion",
                    "description": ""
                },
                {
                    "id": 4,
                    "name": "Branding",
                    "slug": "branding",
                    "description": ""
                },
                {
                    "id": 5,
                    "name": "Modern",
                    "slug": "modern",
                    "description": ""
                }
            ],
            "created_at": "2022-09-15T10:33:19.000000Z",
            "updated_at": "2022-09-15T10:33:19.000000Z"
        },
        {
            "id": 8,
            "name": "Are You Still Using That Slow, Old Typewriter?",
            "slug": "are-you-still-using-that-slow-old-typewriter",
            "description": "Sed delectus et aut sit. Veniam quos molestiae quia qui. Maiores sapiente aut sit delectus. Reprehenderit et voluptates adipisci animi aut est.",
            "image": "https:\/\/cdn.botble.com\/cms\/storage\/news\/8.jpg",
            "categories": [
                {
                    "id": 4,
                    "name": "Healthy",
                    "slug": "healthy",
                    "description": "Sed sed hic error nostrum nihil est. Nostrum et autem consequatur laboriosam quas quo. Veniam quod accusamus quidem et laboriosam. Placeat est aut dignissimos sunt."
                },
                {
                    "id": 5,
                    "name": "Travel Tips",
                    "slug": "travel-tips",
                    "description": "Est sed consequatur veritatis dolorem quia ut fugit. Minus dolor iste fugiat molestias cupiditate ut eos debitis. Ea qui velit iure doloribus aliquid quasi."
                }
            ],
            "tags": [
                {
                    "id": 1,
                    "name": "General",
                    "slug": "general",
                    "description": ""
                },
                {
                    "id": 2,
                    "name": "Design",
                    "slug": "design",
                    "description": ""
                },
                {
                    "id": 3,
                    "name": "Fashion",
                    "slug": "fashion",
                    "description": ""
                },
                {
                    "id": 4,
                    "name": "Branding",
                    "slug": "branding",
                    "description": ""
                },
                {
                    "id": 5,
                    "name": "Modern",
                    "slug": "modern",
                    "description": ""
                }
            ],
            "created_at": "2022-09-15T10:33:19.000000Z",
            "updated_at": "2022-09-15T10:33:19.000000Z"
        },
        {
            "id": 9,
            "name": "A Skin Cream That’s Proven To Work",
            "slug": "a-skin-cream-thats-proven-to-work",
            "description": "Facere sint hic est sit perferendis culpa et culpa. Voluptas pariatur qui ex placeat aliquam eos quia. Quis animi et aut nostrum voluptatem dicta. Veritatis adipisci rerum rerum dolores distinctio.",
            "image": "https:\/\/cdn.botble.com\/cms\/storage\/news\/9.jpg",
            "categories": [
                {
                    "id": 2,
                    "name": "Lifestyle",
                    "slug": "lifestyle",
                    "description": "Esse vero alias optio dicta et voluptate. Suscipit rerum magni ipsam consequuntur. Molestias nemo voluptas odit tenetur."
                },
                {
                    "id": 7,
                    "name": "Nature",
                    "slug": "nature",
                    "description": "Quibusdam possimus laborum necessitatibus voluptatem voluptatem sint maiores. Dolor repellat dolor impedit suscipit asperiores et. Illo sit eos error ullam quam expedita eum dolor."
                }
            ],
            "tags": [
                {
                    "id": 1,
                    "name": "General",
                    "slug": "general",
                    "description": ""
                },
                {
                    "id": 2,
                    "name": "Design",
                    "slug": "design",
                    "description": ""
                },
                {
                    "id": 3,
                    "name": "Fashion",
                    "slug": "fashion",
                    "description": ""
                },
                {
                    "id": 4,
                    "name": "Branding",
                    "slug": "branding",
                    "description": ""
                },
                {
                    "id": 5,
                    "name": "Modern",
                    "slug": "modern",
                    "description": ""
                }
            ],
            "created_at": "2022-09-15T10:33:19.000000Z",
            "updated_at": "2022-09-15T10:33:19.000000Z"
        },
        {
            "id": 10,
            "name": "10 Reasons To Start Your Own, Profitable Website!",
            "slug": "10-reasons-to-start-your-own-profitable-website",
            "description": "In esse voluptatem molestiae id. Optio illo ad ullam quia nesciunt voluptas. Quaerat ea et repudiandae nam et placeat.",
            "image": "https:\/\/cdn.botble.com\/cms\/storage\/news\/10.jpg",
            "categories": [
                {
                    "id": 2,
                    "name": "Lifestyle",
                    "slug": "lifestyle",
                    "description": "Esse vero alias optio dicta et voluptate. Suscipit rerum magni ipsam consequuntur. Molestias nemo voluptas odit tenetur."
                },
                {
                    "id": 5,
                    "name": "Travel Tips",
                    "slug": "travel-tips",
                    "description": "Est sed consequatur veritatis dolorem quia ut fugit. Minus dolor iste fugiat molestias cupiditate ut eos debitis. Ea qui velit iure doloribus aliquid quasi."
                }
            ],
            "tags": [
                {
                    "id": 1,
                    "name": "General",
                    "slug": "general",
                    "description": ""
                },
                {
                    "id": 2,
                    "name": "Design",
                    "slug": "design",
                    "description": ""
                },
                {
                    "id": 3,
                    "name": "Fashion",
                    "slug": "fashion",
                    "description": ""
                },
                {
                    "id": 4,
                    "name": "Branding",
                    "slug": "branding",
                    "description": ""
                },
                {
                    "id": 5,
                    "name": "Modern",
                    "slug": "modern",
                    "description": ""
                }
            ],
            "created_at": "2022-09-15T10:33:19.000000Z",
            "updated_at": "2022-09-15T10:33:19.000000Z"
        }
    ],
    "links": {
        "first": "http:\/\/localhost\/api\/v1\/posts?page=1",
        "last": "http:\/\/localhost\/api\/v1\/posts?page=2",
        "prev": null,
        "next": "http:\/\/localhost\/api\/v1\/posts?page=2"
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 2,
        "links": [
            {
                "url": null,
                "label": "&laquo; Previous",
                "active": false
            },
            {
                "url": "http:\/\/localhost\/api\/v1\/posts?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": "http:\/\/localhost\/api\/v1\/posts?page=2",
                "label": "2",
                "active": false
            },
            {
                "url": "http:\/\/localhost\/api\/v1\/posts?page=2",
                "label": "Next &raquo;",
                "active": false
            }
        ],
        "path": "http:\/\/localhost\/api\/v1\/posts",
        "per_page": 10,
        "to": 10,
        "total": 16
    },
    "error": false,
    "message": null
}

Request      

GET api/v1/posts

List categories

Example request:

curl -X GET \
    -G "https://cms.botble.com/api/v1/categories" \
    -H "Authorization: Bearer {token}" \
    -H "Api-Version: v1"
const url = new URL(
    "https://cms.botble.com/api/v1/categories"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Api-Version": "v1",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 1,
            "name": "Design",
            "slug": "design",
            "description": "Autem cumque et sint cum repellat. Ea veritatis quo odit est accusamus. Qui laborum facere voluptatum. Officia aliquid minima consequuntur doloremque non modi.",
            "children": [],
            "parent": {
                "id": null,
                "name": null,
                "slug": "",
                "description": null
            }
        },
        {
            "id": 2,
            "name": "Lifestyle",
            "slug": "lifestyle",
            "description": "Esse vero alias optio dicta et voluptate. Suscipit rerum magni ipsam consequuntur. Molestias nemo voluptas odit tenetur.",
            "children": [
                {
                    "id": 3,
                    "name": "Travel Tips",
                    "slug": "travel-tips",
                    "description": "Quam exercitationem sapiente vitae pariatur consectetur numquam. Nulla repudiandae et necessitatibus aliquid."
                }
            ],
            "parent": {
                "id": null,
                "name": null,
                "slug": "",
                "description": null
            }
        },
        {
            "id": 3,
            "name": "Travel Tips",
            "slug": "travel-tips",
            "description": "Quam exercitationem sapiente vitae pariatur consectetur numquam. Nulla repudiandae et necessitatibus aliquid.",
            "children": [],
            "parent": {
                "id": 2,
                "name": "Lifestyle",
                "slug": "lifestyle",
                "description": "Esse vero alias optio dicta et voluptate. Suscipit rerum magni ipsam consequuntur. Molestias nemo voluptas odit tenetur."
            }
        },
        {
            "id": 4,
            "name": "Healthy",
            "slug": "healthy",
            "description": "Sed sed hic error nostrum nihil est. Nostrum et autem consequatur laboriosam quas quo. Veniam quod accusamus quidem et laboriosam. Placeat est aut dignissimos sunt.",
            "children": [
                {
                    "id": 5,
                    "name": "Travel Tips",
                    "slug": "travel-tips",
                    "description": "Est sed consequatur veritatis dolorem quia ut fugit. Minus dolor iste fugiat molestias cupiditate ut eos debitis. Ea qui velit iure doloribus aliquid quasi."
                }
            ],
            "parent": {
                "id": null,
                "name": null,
                "slug": "",
                "description": null
            }
        },
        {
            "id": 5,
            "name": "Travel Tips",
            "slug": "travel-tips",
            "description": "Est sed consequatur veritatis dolorem quia ut fugit. Minus dolor iste fugiat molestias cupiditate ut eos debitis. Ea qui velit iure doloribus aliquid quasi.",
            "children": [],
            "parent": {
                "id": 4,
                "name": "Healthy",
                "slug": "healthy",
                "description": "Sed sed hic error nostrum nihil est. Nostrum et autem consequatur laboriosam quas quo. Veniam quod accusamus quidem et laboriosam. Placeat est aut dignissimos sunt."
            }
        },
        {
            "id": 6,
            "name": "Hotel",
            "slug": "hotel",
            "description": "Voluptas tempore ipsum minus voluptas. Ipsam molestias dicta laudantium ipsam omnis. Ut molestiae nostrum atque quae ea enim est.",
            "children": [
                {
                    "id": 7,
                    "name": "Nature",
                    "slug": "nature",
                    "description": "Quibusdam possimus laborum necessitatibus voluptatem voluptatem sint maiores. Dolor repellat dolor impedit suscipit asperiores et. Illo sit eos error ullam quam expedita eum dolor."
                }
            ],
            "parent": {
                "id": null,
                "name": null,
                "slug": "",
                "description": null
            }
        },
        {
            "id": 7,
            "name": "Nature",
            "slug": "nature",
            "description": "Quibusdam possimus laborum necessitatibus voluptatem voluptatem sint maiores. Dolor repellat dolor impedit suscipit asperiores et. Illo sit eos error ullam quam expedita eum dolor.",
            "children": [],
            "parent": {
                "id": 6,
                "name": "Hotel",
                "slug": "hotel",
                "description": "Voluptas tempore ipsum minus voluptas. Ipsam molestias dicta laudantium ipsam omnis. Ut molestiae nostrum atque quae ea enim est."
            }
        }
    ],
    "links": {
        "first": "http:\/\/localhost\/api\/v1\/categories?page=1",
        "last": "http:\/\/localhost\/api\/v1\/categories?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "&laquo; Previous",
                "active": false
            },
            {
                "url": "http:\/\/localhost\/api\/v1\/categories?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next &raquo;",
                "active": false
            }
        ],
        "path": "http:\/\/localhost\/api\/v1\/categories",
        "per_page": 10,
        "to": 7,
        "total": 7
    },
    "error": false,
    "message": null
}

Request      

GET api/v1/categories

List tags

Example request:

curl -X GET \
    -G "https://cms.botble.com/api/v1/tags" \
    -H "Authorization: Bearer {token}" \
    -H "Api-Version: v1"
const url = new URL(
    "https://cms.botble.com/api/v1/tags"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Api-Version": "v1",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 1,
            "name": "General",
            "slug": "general",
            "description": ""
        },
        {
            "id": 2,
            "name": "Design",
            "slug": "design",
            "description": ""
        },
        {
            "id": 3,
            "name": "Fashion",
            "slug": "fashion",
            "description": ""
        },
        {
            "id": 4,
            "name": "Branding",
            "slug": "branding",
            "description": ""
        },
        {
            "id": 5,
            "name": "Modern",
            "slug": "modern",
            "description": ""
        }
    ],
    "links": {
        "first": "http:\/\/localhost\/api\/v1\/tags?page=1",
        "last": "http:\/\/localhost\/api\/v1\/tags?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "&laquo; Previous",
                "active": false
            },
            {
                "url": "http:\/\/localhost\/api\/v1\/tags?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next &raquo;",
                "active": false
            }
        ],
        "path": "http:\/\/localhost\/api\/v1\/tags",
        "per_page": 10,
        "to": 5,
        "total": 5
    },
    "error": false,
    "message": null
}

Request      

GET api/v1/tags

Filters posts

Example request:

curl -X GET \
    -G "https://cms.botble.com/api/v1/posts/filters?page=7&per_page=3&search=deserunt&after=ipsam&author=sit&author_exclude=aut&before=deserunt&exclude=hic&include=voluptatem&order=harum&order_by=vel&categories=est&categories_exclude=sit&tags=odio&tags_exclude=nemo&featured=consequatur" \
    -H "Authorization: Bearer {token}" \
    -H "Api-Version: v1"
const url = new URL(
    "https://cms.botble.com/api/v1/posts/filters"
);

let params = {
    "page": "7",
    "per_page": "3",
    "search": "deserunt",
    "after": "ipsam",
    "author": "sit",
    "author_exclude": "aut",
    "before": "deserunt",
    "exclude": "hic",
    "include": "voluptatem",
    "order": "harum",
    "order_by": "vel",
    "categories": "est",
    "categories_exclude": "sit",
    "tags": "odio",
    "tags_exclude": "nemo",
    "featured": "consequatur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Api-Version": "v1",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (500):

{
    "message": "Server Error"
}

Request      

GET api/v1/posts/filters

Query Parameters

page  integer optional  
Current page of the collection. Default: 1

per_page  integer optional  
Maximum number of items to be returned in result set.Default: 10

search  string optional  
Limit results to those matching a string.

after  string optional  
Limit response to posts published after a given ISO8601 compliant date.

author  string optional  
Limit result set to posts assigned to specific authors.

author_exclude  string optional  
Ensure result set excludes posts assigned to specific authors.

before  string optional  
Limit response to posts published before a given ISO8601 compliant date.

exclude  string optional  
Ensure result set excludes specific IDs.

include  string optional  
Limit result set to specific IDs.

order  string optional  
Order sort attribute ascending or descending. Default: desc .One of: asc, desc

order_by  string optional  
Sort collection by object attribute. Default: updated_at. One of: author, created_at, updated_at, id, slug, title

categories  string optional  
Limit result set to all items that have the specified term assigned in the categories taxonomy.

categories_exclude  string optional  
Limit result set to all items except those that have the specified term assigned in the categories taxonomy.

tags  string optional  
Limit result set to all items that have the specified term assigned in the tags taxonomy.

tags_exclude  string optional  
Limit result set to all items except those that have the specified term assigned in the tags taxonomy.

featured  string optional  
Limit result set to items that are sticky.

Get post by slug

Example request:

curl -X GET \
    -G "https://cms.botble.com/api/v1/posts/ullam?slug=delectus" \
    -H "Authorization: Bearer {token}" \
    -H "Api-Version: v1"
const url = new URL(
    "https://cms.botble.com/api/v1/posts/ullam"
);

let params = {
    "slug": "delectus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Api-Version": "v1",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (404):

{
    "error": true,
    "data": null,
    "message": "Not found"
}

Request      

GET api/v1/posts/{slug}

URL Parameters

slug  string  

Query Parameters

slug  string optional  
Find by slug of post.

Filters categories

Example request:

curl -X GET \
    -G "https://cms.botble.com/api/v1/categories/filters" \
    -H "Authorization: Bearer {token}" \
    -H "Api-Version: v1"
const url = new URL(
    "https://cms.botble.com/api/v1/categories/filters"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Api-Version": "v1",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (200):

{
    "data": [
        {
            "id": 3,
            "name": "Travel Tips",
            "slug": "travel-tips",
            "description": "Quam exercitationem sapiente vitae pariatur consectetur numquam. Nulla repudiandae et necessitatibus aliquid."
        },
        {
            "id": 5,
            "name": "Travel Tips",
            "slug": "travel-tips",
            "description": "Est sed consequatur veritatis dolorem quia ut fugit. Minus dolor iste fugiat molestias cupiditate ut eos debitis. Ea qui velit iure doloribus aliquid quasi."
        },
        {
            "id": 7,
            "name": "Nature",
            "slug": "nature",
            "description": "Quibusdam possimus laborum necessitatibus voluptatem voluptatem sint maiores. Dolor repellat dolor impedit suscipit asperiores et. Illo sit eos error ullam quam expedita eum dolor."
        },
        {
            "id": 2,
            "name": "Lifestyle",
            "slug": "lifestyle",
            "description": "Esse vero alias optio dicta et voluptate. Suscipit rerum magni ipsam consequuntur. Molestias nemo voluptas odit tenetur."
        },
        {
            "id": 6,
            "name": "Hotel",
            "slug": "hotel",
            "description": "Voluptas tempore ipsum minus voluptas. Ipsam molestias dicta laudantium ipsam omnis. Ut molestiae nostrum atque quae ea enim est."
        },
        {
            "id": 4,
            "name": "Healthy",
            "slug": "healthy",
            "description": "Sed sed hic error nostrum nihil est. Nostrum et autem consequatur laboriosam quas quo. Veniam quod accusamus quidem et laboriosam. Placeat est aut dignissimos sunt."
        },
        {
            "id": 1,
            "name": "Design",
            "slug": "design",
            "description": "Autem cumque et sint cum repellat. Ea veritatis quo odit est accusamus. Qui laborum facere voluptatum. Officia aliquid minima consequuntur doloremque non modi."
        }
    ],
    "links": {
        "first": "http:\/\/localhost\/api\/v1\/categories\/filters?page=1",
        "last": "http:\/\/localhost\/api\/v1\/categories\/filters?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [
            {
                "url": null,
                "label": "&laquo; Previous",
                "active": false
            },
            {
                "url": "http:\/\/localhost\/api\/v1\/categories\/filters?page=1",
                "label": "1",
                "active": true
            },
            {
                "url": null,
                "label": "Next &raquo;",
                "active": false
            }
        ],
        "path": "http:\/\/localhost\/api\/v1\/categories\/filters",
        "per_page": 10,
        "to": 7,
        "total": 7
    },
    "error": false,
    "message": null
}

Request      

GET api/v1/categories/filters

Get category by slug

Example request:

curl -X GET \
    -G "https://cms.botble.com/api/v1/categories/placeat?slug=aut" \
    -H "Authorization: Bearer {token}" \
    -H "Api-Version: v1"
const url = new URL(
    "https://cms.botble.com/api/v1/categories/placeat"
);

let params = {
    "slug": "aut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

let headers = {
    "Authorization": "Bearer {token}",
    "Api-Version": "v1",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (404):

{
    "error": true,
    "data": null,
    "message": "Not found"
}

Request      

GET api/v1/categories/{slug}

URL Parameters

slug  string  

Query Parameters

slug  string optional  
Find by slug of category.

Profile

Get the user profile information.

requires authentication

Example request:

curl -X GET \
    -G "https://cms.botble.com/api/v1/me" \
    -H "Authorization: Bearer {token}" \
    -H "Api-Version: v1"
const url = new URL(
    "https://cms.botble.com/api/v1/me"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Api-Version": "v1",
    "Accept": "application/json",
};

fetch(url, {
    method: "GET",
    headers,
}).then(response => response.json());

Example response (302):


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="refresh" content="0;url='http://cms.botble.com/admin/login'" />

        <title>Redirecting to http://cms.botble.com/admin/login</title>
    </head>
    <body>
        Redirecting to <a href="http://cms.botble.com/admin/login">http://cms.botble.com/admin/login</a>.
    </body>
</html>

Request      

GET api/v1/me

Update profile

requires authentication

Example request:

curl -X PUT \
    "https://cms.botble.com/api/v1/me" \
    -H "Authorization: Bearer {token}" \
    -H "Api-Version: v1" \
    -H "Content-Type: application/json" \
    -d '{"first_name":"dolores","last_name":"consequatur","email":"maiores","dob":"sed","gender":"in","description":"consequuntur","phone":"consequatur"}'
const url = new URL(
    "https://cms.botble.com/api/v1/me"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Api-Version": "v1",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "first_name": "dolores",
    "last_name": "consequatur",
    "email": "maiores",
    "dob": "sed",
    "gender": "in",
    "description": "consequuntur",
    "phone": "consequatur"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/me

Body Parameters

first_name  string  
First name.

last_name  string  
Last name.

email  string optional  
Email.

dob  string  
Date of birth.

gender  string optional  
Gender

description  string optional  
Description

phone  string  
Phone.

Update Avatar

requires authentication

Example request:

curl -X POST \
    "https://cms.botble.com/api/v1/update/avatar" \
    -H "Authorization: Bearer {token}" \
    -H "Api-Version: v1" \
    -H "Content-Type: multipart/form-data" \
    -F "avatar=@/tmp/phpdSiWPg" 
const url = new URL(
    "https://cms.botble.com/api/v1/update/avatar"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Api-Version": "v1",
    "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());

Request      

POST api/v1/update/avatar

Body Parameters

avatar  file  
Avatar file.

Update password

requires authentication

Example request:

curl -X PUT \
    "https://cms.botble.com/api/v1/update/password" \
    -H "Authorization: Bearer {token}" \
    -H "Api-Version: v1" \
    -H "Content-Type: application/json" \
    -d '{"password":"perspiciatis"}'
const url = new URL(
    "https://cms.botble.com/api/v1/update/password"
);

let headers = {
    "Authorization": "Bearer {token}",
    "Api-Version": "v1",
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "password": "perspiciatis"
}

fetch(url, {
    method: "PUT",
    headers,
    body: JSON.stringify(body),
}).then(response => response.json());

Request      

PUT api/v1/update/password

Body Parameters

password  string  
The new password of user.