MENU navbar-image

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.

Achievements API

View All Achievement

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/achievement" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/achievement"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "The selected slug is invalid.",
    "errors": {
        "slug": [
            "The selected slug is invalid."
        ]
    }
}
 

Request      

GET api/achievement

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the users table. Example: consequatur

View All Achievement for dashboard

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/achievement/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/achievement/show-all"
);

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: *
 

{
    "success": true,
    "message": "Achievements displayed successfully",
    "result": {
        "data": [
            {
                "id": 23,
                "title": "sfdsd edit",
                "content": "gfgfg ggff -edit",
                "date_display": "19 March",
                "date_year": "2024",
                "name": null,
                "is_active": 0,
                "image": "http://localhost/storage/136/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
            },
            {
                "id": 20,
                "title": "sfdsd edit",
                "content": "gfgfg ggff -edit",
                "date_display": "19 March",
                "date_year": "2024",
                "name": null,
                "is_active": 0,
                "image": "http://localhost/storage/133/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
            },
            {
                "id": 19,
                "title": "sfdsd edit",
                "content": "gfgfg ggff -edit",
                "date_display": "19 March",
                "date_year": "2024",
                "name": null,
                "is_active": 0,
                "image": "http://localhost/storage/132/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
            },
            {
                "id": 18,
                "title": "sfdsd edit",
                "content": "gfgfg ggff -edit",
                "date_display": "19 March",
                "date_year": "2024",
                "name": null,
                "is_active": 0,
                "image": "http://localhost/storage/131/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
            },
            {
                "id": 17,
                "title": "sfdsd edit",
                "content": "gfgfg ggff -edit",
                "date_display": "19 March",
                "date_year": "2024",
                "name": null,
                "is_active": 0,
                "image": "http://localhost/storage/130/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
            },
            {
                "id": 16,
                "title": "sfdsd edit",
                "content": "gfgfg ggff -edit",
                "date_display": "19 March",
                "date_year": "2024",
                "name": null,
                "is_active": 0,
                "image": "http://localhost/storage/129/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
            },
            {
                "id": 15,
                "title": "sfdsd edit",
                "content": "gfgfg ggff -edit",
                "date_display": "19 March",
                "date_year": "2024",
                "name": null,
                "is_active": 0,
                "image": "http://localhost/storage/128/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
            },
            {
                "id": 14,
                "title": "sfdsd edit",
                "content": "gfgfg ggff -edit",
                "date_display": "19 March",
                "date_year": "2024",
                "name": null,
                "is_active": 0,
                "image": "http://localhost/storage/127/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
            },
            {
                "id": 13,
                "title": "sfdsd edit",
                "content": "gfgfg ggff -edit",
                "date_display": "19 March",
                "date_year": "2024",
                "name": null,
                "is_active": 0,
                "image": "http://localhost/storage/126/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
            },
            {
                "id": 12,
                "title": "sfdsd edit",
                "content": "gfgfg ggff -edit",
                "date_display": "19 March",
                "date_year": "2024",
                "name": null,
                "is_active": 0,
                "image": "http://localhost/storage/125/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
            },
            {
                "id": 11,
                "title": "sfdsd edit",
                "content": "gfgfg ggff -edit",
                "date_display": "19 March",
                "date_year": "2024",
                "name": null,
                "is_active": 0,
                "image": "http://localhost/storage/124/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
            },
            {
                "id": 10,
                "title": "sfdsd edit",
                "content": "gfgfg ggff -edit",
                "date_display": "19 March",
                "date_year": "2024",
                "name": null,
                "is_active": 0,
                "image": "http://localhost/storage/123/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
            },
            {
                "id": 9,
                "title": "sfdsd edit",
                "content": "gfgfg ggff -edit",
                "date_display": "19 March",
                "date_year": "2024",
                "name": null,
                "is_active": 0,
                "image": "http://localhost/storage/122/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
            },
            {
                "id": 8,
                "title": "sfdsd edit",
                "content": "gfgfg ggff -edit",
                "date_display": "19 March",
                "date_year": "2024",
                "name": null,
                "is_active": 0,
                "image": "http://localhost/storage/121/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
            },
            {
                "id": 7,
                "title": "sfdsd edit",
                "content": "gfgfg ggff -edit",
                "date_display": "19 March",
                "date_year": "2024",
                "name": null,
                "is_active": 0,
                "image": "http://localhost/storage/120/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
            }
        ]
    },
    "first_page_url": "http://localhost/api/achievement/show-all?page=1",
    "last_page_url": "http://localhost/api/achievement/show-all?page=2",
    "next_page_url": "http://localhost/api/achievement/show-all?page=2",
    "prev_page_url": null,
    "per_page": 15,
    "total": 20,
    "current_page": 1,
    "last_page": 2
}
 

Request      

GET api/achievement/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Achievement

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/achievement/store" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=Project Milestone Reached"\
    --form "content=Successfully delivered phase 1 of the project"\
    --form "achievement_date=2023-10-15"\
    --form "user_id=1"\
    --form "is_active="\
    --form "achievement_image=@/tmp/phpfz2Ga1" 
const url = new URL(
    "http://localhost/api/achievement/store"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('title', 'Project Milestone Reached');
body.append('content', 'Successfully delivered phase 1 of the project');
body.append('achievement_date', '2023-10-15');
body.append('user_id', '1');
body.append('is_active', '');
body.append('achievement_image', document.querySelector('input[name="achievement_image"]').files[0]);

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

Request      

POST api/achievement/store

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

title   string   

Title of the achievement. Must not be greater than 255 characters. Example: Project Milestone Reached

content   string   

Content describing the achievement. Example: Successfully delivered phase 1 of the project

achievement_date   string   

Date when the achievement was accomplished. Must be a valid date. Example: 2023-10-15

user_id   string   

The ID of the user . The id of an existing record in the users table. Example: 1

is_active   boolean  optional  

Whether the achievement is active (default: true). Example: false

achievement_image   file   

achievement image file. Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpfz2Ga1

update an existing Achievement

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/achievement/update/2" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=vmqeopfuudtdsufvyvddq"\
    --form "content=consequatur"\
    --form "achievement_date=2025-06-25T15:13:21"\
    --form "is_active="\
    --form "achievement_image=@/tmp/phpZsRhp6" 
const url = new URL(
    "http://localhost/api/achievement/update/2"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('title', 'vmqeopfuudtdsufvyvddq');
body.append('content', 'consequatur');
body.append('achievement_date', '2025-06-25T15:13:21');
body.append('is_active', '');
body.append('achievement_image', document.querySelector('input[name="achievement_image"]').files[0]);

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

Request      

PATCH api/achievement/update/{achievement_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

achievement_id   integer   

The ID of the achievement. Example: 2

Body Parameters

title   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

content   string  optional  

Example: consequatur

achievement_date   string  optional  

Must be a valid date. Example: 2025-06-25T15:13:21

user_id   string  optional  

The id of an existing record in the users table.

is_active   boolean  optional  

Example: false

achievement_image   file  optional  

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpZsRhp6

POST api/achievement/toggle-status/{achievement_id}

Example request:
curl --request POST \
    "http://localhost/api/achievement/toggle-status/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/achievement/toggle-status/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/achievement/toggle-status/{achievement_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

achievement_id   integer   

The ID of the achievement. Example: 2

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

View Achievement

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/achievement/show/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/achievement/show/2"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/achievement/show/{achievement_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

achievement_id   integer   

The ID of the achievement. Example: 2

Delete Achievement

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/achievement/delete/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/achievement/delete/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/achievement/delete/{achievement_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

achievement_id   integer   

The ID of the achievement. Example: 2

View All Achievement

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/member-achievement" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/member-achievement"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (401):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/member-achievement

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the users table. Example: consequatur

create a new Achievement

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/member-achievement/store" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=Project Milestone Reached"\
    --form "content=Successfully delivered phase 1 of the project"\
    --form "achievement_date=2023-10-15"\
    --form "is_active="\
    --form "achievement_image=@/tmp/phpghQ5wK" 
const url = new URL(
    "http://localhost/api/member-achievement/store"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('title', 'Project Milestone Reached');
body.append('content', 'Successfully delivered phase 1 of the project');
body.append('achievement_date', '2023-10-15');
body.append('is_active', '');
body.append('achievement_image', document.querySelector('input[name="achievement_image"]').files[0]);

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

Request      

POST api/member-achievement/store

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

title   string   

Title of the achievement. Must not be greater than 255 characters. Example: Project Milestone Reached

content   string   

Content describing the achievement. Example: Successfully delivered phase 1 of the project

achievement_date   string   

Date when the achievement was accomplished. Must be a valid date. Example: 2023-10-15

is_active   boolean  optional  

Whether the achievement is active (default: true). Example: false

achievement_image   file   

achievement image file. Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpghQ5wK

update an existing Achievement

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/member-achievement/update/2" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=vmqeopfuudtdsufvyvddq"\
    --form "content=consequatur"\
    --form "achievement_date=2025-06-25T15:13:21"\
    --form "is_active="\
    --form "achievement_image=@/tmp/phphCYkpj" 
const url = new URL(
    "http://localhost/api/member-achievement/update/2"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('title', 'vmqeopfuudtdsufvyvddq');
body.append('content', 'consequatur');
body.append('achievement_date', '2025-06-25T15:13:21');
body.append('is_active', '');
body.append('achievement_image', document.querySelector('input[name="achievement_image"]').files[0]);

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

Request      

PATCH api/member-achievement/update/{achievement_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

achievement_id   integer   

The ID of the achievement. Example: 2

Body Parameters

title   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

content   string  optional  

Example: consequatur

achievement_date   string  optional  

Must be a valid date. Example: 2025-06-25T15:13:21

is_active   boolean  optional  

Example: false

achievement_image   file  optional  

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phphCYkpj

Addresss API

View All Address

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/address" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/address"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "The selected slug is invalid.",
    "errors": {
        "slug": [
            "The selected slug is invalid."
        ]
    }
}
 

Request      

GET api/address

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the users table. Example: consequatur

View All Address for dashboard

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/address/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/address/show-all"
);

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: *
 

{
    "success": true,
    "message": "addresss displayed successfully",
    "result": {
        "data": [
            {
                "id": 9,
                "titel": "مركز اولو العزم",
                "desc": "مركز أولو العزم- العلاج الطبيعي",
                "lat_lng": "15.35808668405108,44.18917452646808",
                "phone": "711157475",
                "user": null,
                "city": "تعز",
                "price": 0,
                "message_type": "whatsapp",
                "discount": 0,
                "is_active": 1,
                "work_days": []
            },
            {
                "id": 10,
                "titel": "مركز اولو العزم*******",
                "desc": "مركز أولو العزم- العلاج الطبيعي",
                "lat_lng": "15.35808668405108,44.18917452646808",
                "phone": "711157475",
                "user": null,
                "city": "تعز",
                "price": 0,
                "message_type": "whatsapp",
                "discount": 0,
                "is_active": 1,
                "work_days": []
            },
            {
                "id": 8,
                "titel": "Main Branch edit",
                "desc": "Located near the central park, building 22",
                "lat_lng": "24.7136,46.6753",
                "phone": "+966500000000",
                "user": null,
                "city": "دمشق",
                "price": 3000,
                "message_type": "whatsapp",
                "discount": 0,
                "is_active": 1,
                "work_days": []
            },
            {
                "id": 6,
                "titel": "Main Branch edit",
                "desc": "Located near the central park, building 22",
                "lat_lng": "24.7136,46.6753",
                "phone": "+966500000000",
                "user": null,
                "city": "دمشق",
                "price": 3000,
                "message_type": "whatsapp",
                "discount": 0,
                "is_active": 1,
                "work_days": [
                    {
                        "id": 11,
                        "day": "Sunday",
                        "work_periods": [
                            {
                                "id": 16,
                                "period": "Morning",
                                "start_at": "09:00:00",
                                "end_at": "12:00:00"
                            },
                            {
                                "id": 17,
                                "period": "Evening",
                                "start_at": "17:00:00",
                                "end_at": "22:00:00"
                            }
                        ]
                    },
                    {
                        "id": 12,
                        "day": "Monday",
                        "work_periods": [
                            {
                                "id": 18,
                                "period": "Morning",
                                "start_at": "08:00:00",
                                "end_at": "12:00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 5,
                "titel": "Main Branch edit",
                "desc": "Located near the central park, building 22",
                "lat_lng": "24.7136,46.6753",
                "phone": "+966500000000",
                "user": null,
                "city": "دمشق",
                "price": 3000,
                "message_type": "whatsapp",
                "discount": 0,
                "is_active": 1,
                "work_days": [
                    {
                        "id": 9,
                        "day": "Sunday",
                        "work_periods": [
                            {
                                "id": 13,
                                "period": "Evening",
                                "start_at": "17:00:00",
                                "end_at": "22:00:00"
                            },
                            {
                                "id": 14,
                                "period": "Morning",
                                "start_at": "09:00:00",
                                "end_at": "12:00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 4,
                "titel": "Main Branch",
                "desc": "Located near the central park, building 22",
                "lat_lng": "24.7136,46.6753",
                "phone": "+966500000000",
                "user": null,
                "city": "دمشق",
                "price": 0,
                "message_type": "whatsapp",
                "discount": 0,
                "is_active": 1,
                "work_days": [
                    {
                        "id": 7,
                        "day": "Sunday",
                        "work_periods": [
                            {
                                "id": 10,
                                "period": "Morning",
                                "start_at": "09:00:00",
                                "end_at": "12:00:00"
                            },
                            {
                                "id": 11,
                                "period": "Evening",
                                "start_at": "17:00:00",
                                "end_at": "22:00:00"
                            }
                        ]
                    },
                    {
                        "id": 8,
                        "day": "Thursday",
                        "work_periods": [
                            {
                                "id": 12,
                                "period": "Morning",
                                "start_at": "08:00:00",
                                "end_at": "12:00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 3,
                "titel": "Main Branch",
                "desc": "Located near the central park, building 22",
                "lat_lng": "24.7136,46.6753",
                "phone": "+966500000000",
                "user": null,
                "city": "دمشق",
                "price": 2000,
                "message_type": "whatsapp",
                "discount": 0,
                "is_active": 1,
                "work_days": [
                    {
                        "id": 5,
                        "day": "Sunday",
                        "work_periods": [
                            {
                                "id": 7,
                                "period": "Morning",
                                "start_at": "09:00:00",
                                "end_at": "12:00:00"
                            },
                            {
                                "id": 8,
                                "period": "Evening",
                                "start_at": "17:00:00",
                                "end_at": "22:00:00"
                            }
                        ]
                    },
                    {
                        "id": 6,
                        "day": "Thursday",
                        "work_periods": [
                            {
                                "id": 9,
                                "period": "Morning",
                                "start_at": "12:00:00",
                                "end_at": "17:00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 2,
                "titel": "Main Branch",
                "desc": "Located near the central park, building 22",
                "lat_lng": "24.7136,46.6753",
                "phone": "+966500000000",
                "user": null,
                "city": "دمشق",
                "price": 2000,
                "message_type": "whatsapp",
                "discount": 0,
                "is_active": 1,
                "work_days": [
                    {
                        "id": 3,
                        "day": "Sunday",
                        "work_periods": [
                            {
                                "id": 4,
                                "period": "Morning",
                                "start_at": "09:00:00",
                                "end_at": "12:00:00"
                            },
                            {
                                "id": 5,
                                "period": "Evening",
                                "start_at": "17:00:00",
                                "end_at": "22:00:00"
                            }
                        ]
                    },
                    {
                        "id": 4,
                        "day": "Thursday",
                        "work_periods": [
                            {
                                "id": 6,
                                "period": "Morning",
                                "start_at": "08:00:00",
                                "end_at": "12:00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 1,
                "titel": "Main Branch",
                "desc": "Located near the central park, building 22",
                "lat_lng": "24.7136,46.6753",
                "phone": "776652075",
                "user": null,
                "city": "دمشق",
                "price": 2000,
                "message_type": "sms",
                "discount": 0,
                "is_active": 1,
                "work_days": [
                    {
                        "id": 1,
                        "day": "Sunday",
                        "work_periods": [
                            {
                                "id": 1,
                                "period": "Morning",
                                "start_at": "09:00:00",
                                "end_at": "12:00:00"
                            },
                            {
                                "id": 2,
                                "period": "Evening",
                                "start_at": "17:00:00",
                                "end_at": "22:00:00"
                            }
                        ]
                    },
                    {
                        "id": 2,
                        "day": "Thursday",
                        "work_periods": [
                            {
                                "id": 3,
                                "period": "Morning",
                                "start_at": "08:00:00",
                                "end_at": "12:00:00"
                            }
                        ]
                    }
                ]
            }
        ],
        "links": {
            "first": "http://localhost/api/address/show-all?page=1",
            "last": "http://localhost/api/address/show-all?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/address/show-all?page=1",
                    "label": "1",
                    "active": true
                },
                {
                    "url": null,
                    "label": "Next &raquo;",
                    "active": false
                }
            ],
            "path": "http://localhost/api/address/show-all",
            "per_page": 15,
            "to": 9,
            "total": 9
        }
    }
}
 

Request      

GET api/address/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Address

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/address/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"vmqeopfuudtdsufvyvddq\",
    \"description\": \"Dolores molestias ipsam sit.\",
    \"lat_lng\": \"consequatur\",
    \"message_type\": \"whatsapp\",
    \"phone\": \"mqeopfuudtdsufvyv\",
    \"user_id\": \"consequatur\",
    \"city_id\": \"consequatur\",
    \"is_default\": true,
    \"fees\": 17,
    \"work_days\": [
        {
            \"day\": \"consequatur\",
            \"work_periods\": [
                {
                    \"period\": \"consequatur\",
                    \"start_at\": \"consequatur\",
                    \"end_at\": \"consequatur\"
                }
            ]
        }
    ]
}"
const url = new URL(
    "http://localhost/api/address/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": "vmqeopfuudtdsufvyvddq",
    "description": "Dolores molestias ipsam sit.",
    "lat_lng": "consequatur",
    "message_type": "whatsapp",
    "phone": "mqeopfuudtdsufvyv",
    "user_id": "consequatur",
    "city_id": "consequatur",
    "is_default": true,
    "fees": 17,
    "work_days": [
        {
            "day": "consequatur",
            "work_periods": [
                {
                    "period": "consequatur",
                    "start_at": "consequatur",
                    "end_at": "consequatur"
                }
            ]
        }
    ]
};

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

Request      

POST api/address/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

title   string   

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

description   string   

Must not be greater than 1000 characters. Example: Dolores molestias ipsam sit.

lat_lng   string   

Example: consequatur

message_type   string  optional  

Example: whatsapp

Must be one of:
  • whatsapp
  • sms
phone   string   

Must not be greater than 20 characters. Example: mqeopfuudtdsufvyv

user_id   string   

The id of an existing record in the users table. Example: consequatur

city_id   string   

The id of an existing record in the cities table. Example: consequatur

is_default   boolean  optional  

Example: true

fees   integer   

Example: 17

work_days   object[]  optional  
day   string  optional  

This field is required when work_days is present. Example: consequatur

work_periods   object[]  optional  

This field is required when work_days is present. Must have at least 1 items.

period   string  optional  

This field is required when work_days is present. Example: consequatur

start_at   string  optional  

This field is required when work_days is present. Example: consequatur

end_at   string  optional  

This field is required when work_days is present. Example: consequatur

update an existing Address

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/address/update/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"vmqeopfuudtdsufvyvddq\",
    \"description\": \"Dolores molestias ipsam sit.\",
    \"lat_lng\": \"consequatur\",
    \"message_type\": \"whatsapp\",
    \"phone\": \"mqeopfuudtdsufvyv\",
    \"is_default\": false,
    \"fees\": 17,
    \"work_days\": [
        {
            \"day\": \"consequatur\",
            \"is_active\": true,
            \"work_periods\": [
                {
                    \"period\": \"consequatur\",
                    \"start_at\": \"consequatur\",
                    \"end_at\": \"consequatur\",
                    \"is_active\": true
                }
            ]
        }
    ]
}"
const url = new URL(
    "http://localhost/api/address/update/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": "vmqeopfuudtdsufvyvddq",
    "description": "Dolores molestias ipsam sit.",
    "lat_lng": "consequatur",
    "message_type": "whatsapp",
    "phone": "mqeopfuudtdsufvyv",
    "is_default": false,
    "fees": 17,
    "work_days": [
        {
            "day": "consequatur",
            "is_active": true,
            "work_periods": [
                {
                    "period": "consequatur",
                    "start_at": "consequatur",
                    "end_at": "consequatur",
                    "is_active": true
                }
            ]
        }
    ]
};

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

Request      

PATCH api/address/update/{address_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

address_id   integer   

The ID of the address. Example: 1

Body Parameters

title   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

description   string  optional  

Must not be greater than 1000 characters. Example: Dolores molestias ipsam sit.

lat_lng   string  optional  

Example: consequatur

message_type   string  optional  

Example: whatsapp

Must be one of:
  • whatsapp
  • sms
phone   string  optional  

Must not be greater than 20 characters. Example: mqeopfuudtdsufvyv

user_id   string  optional  

The id of an existing record in the users table.

city_id   string  optional  

The id of an existing record in the cities table.

is_default   boolean  optional  

Example: false

fees   integer  optional  

Example: 17

work_days   object[]  optional  
id   string  optional  

The id of an existing record in the days table.

day   string  optional  

Example: consequatur

is_active   boolean  optional  

Example: true

work_periods   object[]  optional  

Must have at least 1 items.

id   string  optional  

The id of an existing record in the periods table.

period   string  optional  

Example: consequatur

start_at   string  optional  

Example: consequatur

end_at   string  optional  

Example: consequatur

is_active   boolean  optional  

Example: true

update Address toggle

Example request:
curl --request POST \
    "http://localhost/api/address/toggle-status/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/address/toggle-status/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/address/toggle-status/{address_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

address_id   integer   

The ID of the address. Example: 1

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

View Address

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/address/show/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/address/show/1"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/address/show/{address_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

address_id   integer   

The ID of the address. Example: 1

Delete Address

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/address/delete/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/address/delete/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/address/delete/{address_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

address_id   integer   

The ID of the address. Example: 1

View All Address

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/member-address" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/member-address"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "The selected slug is invalid.",
    "errors": {
        "slug": [
            "The selected slug is invalid."
        ]
    }
}
 

Request      

GET api/member-address

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the users table. Example: consequatur

create a new Address

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/member-address/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"vmqeopfuudtdsufvyvddq\",
    \"description\": \"Dolores molestias ipsam sit.\",
    \"lat_lng\": \"consequatur\",
    \"message_type\": \"sms\",
    \"phone\": \"mqeopfuudtdsufvyv\",
    \"city_id\": \"consequatur\",
    \"is_default\": false,
    \"fees\": 17,
    \"work_days\": [
        {
            \"day\": \"consequatur\",
            \"work_periods\": [
                {
                    \"period\": \"consequatur\",
                    \"start_at\": \"consequatur\",
                    \"end_at\": \"consequatur\"
                }
            ]
        }
    ]
}"
const url = new URL(
    "http://localhost/api/member-address/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": "vmqeopfuudtdsufvyvddq",
    "description": "Dolores molestias ipsam sit.",
    "lat_lng": "consequatur",
    "message_type": "sms",
    "phone": "mqeopfuudtdsufvyv",
    "city_id": "consequatur",
    "is_default": false,
    "fees": 17,
    "work_days": [
        {
            "day": "consequatur",
            "work_periods": [
                {
                    "period": "consequatur",
                    "start_at": "consequatur",
                    "end_at": "consequatur"
                }
            ]
        }
    ]
};

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

Request      

POST api/member-address/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

title   string   

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

description   string   

Must not be greater than 1000 characters. Example: Dolores molestias ipsam sit.

lat_lng   string   

Example: consequatur

message_type   string  optional  

Example: sms

Must be one of:
  • whatsapp
  • sms
phone   string   

Must not be greater than 20 characters. Example: mqeopfuudtdsufvyv

city_id   string   

The id of an existing record in the cities table. Example: consequatur

is_default   boolean  optional  

Example: false

fees   integer   

Example: 17

work_days   object[]  optional  
day   string  optional  

This field is required when work_days is present. Example: consequatur

work_periods   object[]  optional  

This field is required when work_days is present. Must have at least 1 items.

period   string  optional  

This field is required when work_days is present. Example: consequatur

start_at   string  optional  

This field is required when work_days is present. Example: consequatur

end_at   string  optional  

This field is required when work_days is present. Example: consequatur

update an existing Address

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/member-address/update/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"vmqeopfuudtdsufvyvddq\",
    \"description\": \"Dolores molestias ipsam sit.\",
    \"lat_lng\": \"consequatur\",
    \"message_type\": \"sms\",
    \"phone\": \"mqeopfuudtdsufvyv\",
    \"is_default\": false,
    \"fees\": 17,
    \"work_days\": [
        {
            \"day\": \"consequatur\",
            \"is_active\": false,
            \"work_periods\": [
                {
                    \"period\": \"consequatur\",
                    \"start_at\": \"consequatur\",
                    \"end_at\": \"consequatur\",
                    \"is_active\": true
                }
            ]
        }
    ]
}"
const url = new URL(
    "http://localhost/api/member-address/update/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": "vmqeopfuudtdsufvyvddq",
    "description": "Dolores molestias ipsam sit.",
    "lat_lng": "consequatur",
    "message_type": "sms",
    "phone": "mqeopfuudtdsufvyv",
    "is_default": false,
    "fees": 17,
    "work_days": [
        {
            "day": "consequatur",
            "is_active": false,
            "work_periods": [
                {
                    "period": "consequatur",
                    "start_at": "consequatur",
                    "end_at": "consequatur",
                    "is_active": true
                }
            ]
        }
    ]
};

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

Request      

PATCH api/member-address/update/{address_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

address_id   integer   

The ID of the address. Example: 1

Body Parameters

title   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

description   string  optional  

Must not be greater than 1000 characters. Example: Dolores molestias ipsam sit.

lat_lng   string  optional  

Example: consequatur

message_type   string  optional  

Example: sms

Must be one of:
  • whatsapp
  • sms
phone   string  optional  

Must not be greater than 20 characters. Example: mqeopfuudtdsufvyv

city_id   string  optional  

The id of an existing record in the cities table.

is_default   boolean  optional  

Example: false

fees   integer  optional  

Example: 17

work_days   object[]  optional  
id   string  optional  

The id of an existing record in the days table.

day   string  optional  

Example: consequatur

is_active   boolean  optional  

Example: false

work_periods   object[]  optional  

Must have at least 1 items.

id   string  optional  

The id of an existing record in the periods table.

period   string  optional  

Example: consequatur

start_at   string  optional  

Example: consequatur

end_at   string  optional  

Example: consequatur

is_active   boolean  optional  

Example: true

Albums API

View All Album

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/album" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/album"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "The selected slug is invalid.",
    "errors": {
        "slug": [
            "The selected slug is invalid."
        ]
    }
}
 

Request      

GET api/album

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the users table. Example: consequatur

View All Album for dashboard

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/album/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/album/show-all"
);

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: *
 

{
    "success": true,
    "message": "Albums displayed successfully",
    "result": {
        "data": [
            {
                "id": 17,
                "title": "title1",
                "description": "desc",
                "name": null,
                "publish_date": "2025-11-23",
                "is_active": 1,
                "album_images": [
                    "http://localhost/storage/141/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                    "http://localhost/storage/142/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
                ]
            },
            {
                "id": 16,
                "title": "title1",
                "description": "desc",
                "name": null,
                "publish_date": "2025-11-23",
                "is_active": 1,
                "album_images": [
                    "http://localhost/storage/139/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                    "http://localhost/storage/140/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
                ]
            },
            {
                "id": 15,
                "title": "title1",
                "description": "desc",
                "name": null,
                "publish_date": "2025-11-23",
                "is_active": 1,
                "album_images": [
                    "http://localhost/storage/137/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                    "http://localhost/storage/138/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
                ]
            },
            {
                "id": 14,
                "title": "title1",
                "description": "desc",
                "name": null,
                "publish_date": "2025-11-23",
                "is_active": 1,
                "album_images": []
            },
            {
                "id": 12,
                "title": "title1",
                "description": "desc",
                "name": null,
                "publish_date": "2025-11-23",
                "is_active": 1,
                "album_images": []
            },
            {
                "id": 11,
                "title": "title1",
                "description": "desc",
                "name": null,
                "publish_date": "2025-11-23",
                "is_active": 1,
                "album_images": []
            },
            {
                "id": 10,
                "title": "title1",
                "description": "desc",
                "name": null,
                "publish_date": "2025-11-23",
                "is_active": 1,
                "album_images": []
            },
            {
                "id": 9,
                "title": "title1",
                "description": "desc",
                "name": null,
                "publish_date": "2025-11-23",
                "is_active": 1,
                "album_images": []
            },
            {
                "id": 8,
                "title": "title1",
                "description": "desc",
                "name": null,
                "publish_date": "2025-11-23",
                "is_active": 1,
                "album_images": []
            },
            {
                "id": 7,
                "title": "title1",
                "description": "desc",
                "name": null,
                "publish_date": "2025-11-23",
                "is_active": 1,
                "album_images": []
            },
            {
                "id": 6,
                "title": "title1",
                "description": "desc",
                "name": null,
                "publish_date": "2025-11-23",
                "is_active": 1,
                "album_images": []
            },
            {
                "id": 5,
                "title": "title1",
                "description": "desc",
                "name": null,
                "publish_date": "2025-11-23",
                "is_active": 1,
                "album_images": []
            },
            {
                "id": 4,
                "title": "title1",
                "description": "desc",
                "name": null,
                "publish_date": "2025-06-25",
                "is_active": 1,
                "album_images": [
                    "http://localhost/storage/9/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                    "http://localhost/storage/10/conversions/435f792ff6839d11142f391386e676de-media-webp.webp"
                ]
            },
            {
                "id": 3,
                "title": "title1",
                "description": "desc",
                "name": null,
                "publish_date": "2025-06-25",
                "is_active": 1,
                "album_images": [
                    "http://localhost/storage/8/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp"
                ]
            },
            {
                "id": 2,
                "title": "title1",
                "description": "desc",
                "name": null,
                "publish_date": "2025-06-25",
                "is_active": 1,
                "album_images": []
            }
        ]
    },
    "first_page_url": "http://localhost/api/album/show-all?page=1",
    "last_page_url": "http://localhost/api/album/show-all?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 15,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/album/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Album

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/album/store" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=Company Events"\
    --form "description=Photos from annual company events"\
    --form "is_active="\
    --form "user_id=1"\
    --form "publish_date=2023-10-15"\
    --form "album_image[]=@/tmp/phpy5AEfF" 
const url = new URL(
    "http://localhost/api/album/store"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('title', 'Company Events');
body.append('description', 'Photos from annual company events');
body.append('is_active', '');
body.append('user_id', '1');
body.append('publish_date', '2023-10-15');
body.append('album_image[]', document.querySelector('input[name="album_image[]"]').files[0]);

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

Request      

POST api/album/store

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

title   string   

Title of the album. Must not be greater than 255 characters. Example: Company Events

description   string   

Description of the album. Example: Photos from annual company events

is_active   boolean  optional  

Whether the album is active (default: true). Example: false

user_id   string   

The ID of the user who owns the clinic. The id of an existing record in the users table. Example: 1

publish_date   string   

Date when the album was accomplished. Must be a valid date. Example: 2023-10-15

album_image   file[]   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes.

update Album toggle

Example request:
curl --request POST \
    "http://localhost/api/album/toggle-status/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/album/toggle-status/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/album/toggle-status/{album_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

album_id   integer   

The ID of the album. Example: 2

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

update an existing Album

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/album/update/2" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=vmqeopfuudtdsufvyvddq"\
    --form "description=Dolores dolorum amet iste laborum eius est dolor."\
    --form "is_active=1"\
    --form "publish_date=2025-06-25T15:13:20"\
    --form "album_images[]=@/tmp/phpDUdRfp" 
const url = new URL(
    "http://localhost/api/album/update/2"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('title', 'vmqeopfuudtdsufvyvddq');
body.append('description', 'Dolores dolorum amet iste laborum eius est dolor.');
body.append('is_active', '1');
body.append('publish_date', '2025-06-25T15:13:20');
body.append('album_images[]', document.querySelector('input[name="album_images[]"]').files[0]);

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

Request      

PATCH api/album/update/{album_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

album_id   integer   

The ID of the album. Example: 2

Body Parameters

title   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

description   string  optional  

Example: Dolores dolorum amet iste laborum eius est dolor.

is_active   boolean  optional  

Example: true

user_id   string  optional  

The id of an existing record in the users table.

publish_date   string  optional  

Must be a valid date. Example: 2025-06-25T15:13:20

album_images   file[]  optional  

Must be a file. Must be an image. Must not be greater than 2048 kilobytes.

View Album

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/album/show/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/album/show/2"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/album/show/{album_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

album_id   integer   

The ID of the album. Example: 2

Delete Album

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/album/delete/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/album/delete/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/album/delete/{album_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

album_id   integer   

The ID of the album. Example: 2

View All Album

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/member-album" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/member-album"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "The selected slug is invalid.",
    "errors": {
        "slug": [
            "The selected slug is invalid."
        ]
    }
}
 

Request      

GET api/member-album

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the users table. Example: consequatur

create a new Album

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/member-album/store" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=Company Events"\
    --form "description=Photos from annual company events"\
    --form "is_active="\
    --form "publish_date=2023-10-15"\
    --form "album_image[]=@/tmp/php4MO9JW" 
const url = new URL(
    "http://localhost/api/member-album/store"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('title', 'Company Events');
body.append('description', 'Photos from annual company events');
body.append('is_active', '');
body.append('publish_date', '2023-10-15');
body.append('album_image[]', document.querySelector('input[name="album_image[]"]').files[0]);

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

Request      

POST api/member-album/store

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

title   string   

Title of the album. Must not be greater than 255 characters. Example: Company Events

description   string   

Description of the album. Example: Photos from annual company events

is_active   boolean  optional  

Whether the album is active (default: true). Example: false

publish_date   string   

Date when the album was accomplished. Must be a valid date. Example: 2023-10-15

album_image   file[]   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes.

update an existing Album

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/member-album/update/2" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=vmqeopfuudtdsufvyvddq"\
    --form "description=Dolores dolorum amet iste laborum eius est dolor."\
    --form "is_active="\
    --form "publish_date=2025-06-25T15:13:20"\
    --form "album_images[]=@/tmp/phphXmKJd" 
const url = new URL(
    "http://localhost/api/member-album/update/2"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('title', 'vmqeopfuudtdsufvyvddq');
body.append('description', 'Dolores dolorum amet iste laborum eius est dolor.');
body.append('is_active', '');
body.append('publish_date', '2025-06-25T15:13:20');
body.append('album_images[]', document.querySelector('input[name="album_images[]"]').files[0]);

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

Request      

PATCH api/member-album/update/{album_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

album_id   integer   

The ID of the album. Example: 2

Body Parameters

title   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

description   string  optional  

Example: Dolores dolorum amet iste laborum eius est dolor.

is_active   boolean  optional  

Example: false

publish_date   string  optional  

Must be a valid date. Example: 2025-06-25T15:13:20

album_images   file[]  optional  

Must be a file. Must be an image. Must not be greater than 2048 kilobytes.

Articles API

View All article

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/article" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/article"
);

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: *
 

{
    "success": true,
    "message": "article displayed successfully",
    "result": {
        "data": [
            {
                "id": 12,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-9",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "completed",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/150/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 11,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-8",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "completed",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/144/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 10,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-7",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "completed",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/143/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 9,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-6",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "completed",
                "publish_date": "2023-10-01",
                "article_image": "",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 8,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-5",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/86/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science",
                "author_image": "",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 7,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-4",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science",
                "author_image": "",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 6,
                "title": "Introduction to Laravel edit",
                "slug": "introduction-to-laravel-edit",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/55/WebP_Logo.webp",
                "short_content": "Lorem ipsum dolor sit amet... ddd",
                "content": "Lorem ipsum dolor sit amet... ddd",
                "author": null,
                "display_major": null,
                "author_image": "",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 5,
                "title": "Introduction to Laravel edit",
                "slug": "introduction-to-laravel-3",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/32/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "short_content": "Lorem ipsum dolor sit amet... ddd",
                "content": "Lorem ipsum dolor sit amet... ddd",
                "author": null,
                "display_major": null,
                "author_image": "",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 3,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/22/435f792ff6839d11142f391386e676de.jpg",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": null,
                "author_image": "",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 2,
                "title": " to Laravel",
                "slug": null,
                "views_count": 5,
                "shares_count": 1,
                "saves_count": 1,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/21/435f792ff6839d11142f391386e676de.jpg",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            }
        ]
    }
}
 

Request      

GET api/article

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View articles for dashboard

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/article/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/article/show-all"
);

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: *
 

{
    "success": true,
    "message": "user displayed successfully",
    "result": {
        "data": [
            {
                "id": 12,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-9",
                "views_count": 0,
                "statues": "completed",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/150/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                "author": null,
                "is_active": 1
            },
            {
                "id": 11,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-8",
                "views_count": 0,
                "statues": "completed",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/144/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                "author": null,
                "is_active": 1
            },
            {
                "id": 9,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-6",
                "views_count": 0,
                "statues": "completed",
                "publish_date": "2023-10-01",
                "article_image": "",
                "author": null,
                "is_active": 1
            },
            {
                "id": 10,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-7",
                "views_count": 0,
                "statues": "completed",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/143/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                "author": null,
                "is_active": 1
            },
            {
                "id": 7,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-4",
                "views_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "",
                "author": null,
                "is_active": 1
            },
            {
                "id": 8,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-5",
                "views_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/86/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "author": null,
                "is_active": 1
            },
            {
                "id": 6,
                "title": "Introduction to Laravel edit",
                "slug": "introduction-to-laravel-edit",
                "views_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/55/WebP_Logo.webp",
                "author": null,
                "is_active": 1
            },
            {
                "id": 5,
                "title": "Introduction to Laravel edit",
                "slug": "introduction-to-laravel-3",
                "views_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/32/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "author": null,
                "is_active": 1
            },
            {
                "id": 4,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-2",
                "views_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/30/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "author": null,
                "is_active": 0
            },
            {
                "id": 3,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel",
                "views_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/22/435f792ff6839d11142f391386e676de.jpg",
                "author": null,
                "is_active": 1
            },
            {
                "id": 1,
                "title": "title1",
                "slug": null,
                "views_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/23/61c4798370f16329c26c3a2440064f6b.jpg",
                "author": null,
                "is_active": 1
            },
            {
                "id": 2,
                "title": " to Laravel",
                "slug": null,
                "views_count": 5,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/21/435f792ff6839d11142f391386e676de.jpg",
                "author": null,
                "is_active": 1
            }
        ],
        "links": {
            "first": "http://localhost/api/article/show-all?page=1",
            "last": "http://localhost/api/article/show-all?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/article/show-all?page=1",
                    "label": "1",
                    "active": true
                },
                {
                    "url": null,
                    "label": "Next &raquo;",
                    "active": false
                }
            ],
            "path": "http://localhost/api/article/show-all",
            "per_page": 100,
            "to": 12,
            "total": 12
        }
    }
}
 

Request      

GET api/article/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All article depending on writer

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/article/show-writer-article" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/article/show-writer-article"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "The selected slug is invalid.",
    "errors": {
        "slug": [
            "The selected slug is invalid."
        ]
    }
}
 

Request      

GET api/article/show-writer-article

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the users table. Example: consequatur

View articles with filters

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/article/with-filter" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/article/with-filter"
);

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: *
 

{
    "success": true,
    "message": "user displayed successfully",
    "result": {
        "data": [
            {
                "id": 12,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-9",
                "views_count": 0,
                "shares_count": null,
                "saves_count": null,
                "statues": "completed",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/150/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 11,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-8",
                "views_count": 0,
                "shares_count": null,
                "saves_count": null,
                "statues": "completed",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/144/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 9,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-6",
                "views_count": 0,
                "shares_count": null,
                "saves_count": null,
                "statues": "completed",
                "publish_date": "2023-10-01",
                "article_image": "",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 10,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-7",
                "views_count": 0,
                "shares_count": null,
                "saves_count": null,
                "statues": "completed",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/143/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 7,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-4",
                "views_count": 0,
                "shares_count": null,
                "saves_count": null,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science",
                "author_image": "",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 8,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-5",
                "views_count": 0,
                "shares_count": null,
                "saves_count": null,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/86/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science",
                "author_image": "",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 6,
                "title": "Introduction to Laravel edit",
                "slug": "introduction-to-laravel-edit",
                "views_count": 0,
                "shares_count": null,
                "saves_count": null,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/55/WebP_Logo.webp",
                "short_content": "Lorem ipsum dolor sit amet... ddd",
                "content": "Lorem ipsum dolor sit amet... ddd",
                "author": null,
                "display_major": null,
                "author_image": "",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 5,
                "title": "Introduction to Laravel edit",
                "slug": "introduction-to-laravel-3",
                "views_count": 0,
                "shares_count": null,
                "saves_count": null,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/32/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "short_content": "Lorem ipsum dolor sit amet... ddd",
                "content": "Lorem ipsum dolor sit amet... ddd",
                "author": null,
                "display_major": null,
                "author_image": "",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 3,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel",
                "views_count": 0,
                "shares_count": null,
                "saves_count": null,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/22/435f792ff6839d11142f391386e676de.jpg",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": null,
                "author_image": "",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 2,
                "title": " to Laravel",
                "slug": null,
                "views_count": 5,
                "shares_count": null,
                "saves_count": null,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/21/435f792ff6839d11142f391386e676de.jpg",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 1,
                "title": "title1",
                "slug": null,
                "views_count": 0,
                "shares_count": null,
                "saves_count": null,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/23/61c4798370f16329c26c3a2440064f6b.jpg",
                "short_content": "sam ipsum dolor sit amet... sam",
                "content": "sam ipsum dolor sit amet... sam",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            }
        ]
    }
}
 

Request      

GET api/article/with-filter

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Article

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/article/store" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=Introduction to Laravel"\
    --form "sub_categories=Null"\
    --form "statues=completed"\
    --form "content=Lorem ipsum dolor sit amet..."\
    --form "publish_date=2023-10-01"\
    --form "main_keyword=Laravel Tutorial"\
    --form "tags=laravel,web-development"\
    --form "meta_description=Learn Laravel with this comprehensive guide"\
    --form "seo_title=Laravel Guide | Best Tutorial 2023"\
    --form "category_id=1"\
    --form "written_by=1"\
    --form "is_active="\
    --form "article_image=@/tmp/phplPWL9L" 
const url = new URL(
    "http://localhost/api/article/store"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('title', 'Introduction to Laravel');
body.append('sub_categories', 'Null');
body.append('statues', 'completed');
body.append('content', 'Lorem ipsum dolor sit amet...');
body.append('publish_date', '2023-10-01');
body.append('main_keyword', 'Laravel Tutorial');
body.append('tags', 'laravel,web-development');
body.append('meta_description', 'Learn Laravel with this comprehensive guide');
body.append('seo_title', 'Laravel Guide | Best Tutorial 2023');
body.append('category_id', '1');
body.append('written_by', '1');
body.append('is_active', '');
body.append('article_image', document.querySelector('input[name="article_image"]').files[0]);

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

Request      

POST api/article/store

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

title   string   

Article title. Must not be greater than 255 characters. Example: Introduction to Laravel

sub_categories   string  optional  

subcategory . Example: Null

statues   string   

Example: completed

Must be one of:
  • pending
  • completed
  • deleted
content   string   

Full article content. Example: Lorem ipsum dolor sit amet...

publish_date   string   

Publication date (YYYY-MM-DD). Must be a valid date. Example: 2023-10-01

main_keyword   string  optional  

Primary SEO keyword. Must not be greater than 255 characters. Example: Laravel Tutorial

tags   string  optional  

Comma-separated tags. Example: laravel,web-development

meta_description   string  optional  

SEO meta description. Example: Learn Laravel with this comprehensive guide

seo_title   string  optional  

SEO title. Must not be greater than 255 characters. Example: Laravel Guide | Best Tutorial 2023

category_id   string   

Main category ID. The id of an existing record in the categories table. Example: 1

written_by   string   

Author ID. The id of an existing record in the users table. Example: 1

is_active   boolean  optional  

Activation status. Example: false

article_image   file   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phplPWL9L

disease_ids   string[]  optional  

The id of an existing record in the diseases table.

update an existing Article

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/article/update/1" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=Introduction to Laravel"\
    --form "sub_categories=Null"\
    --form "statues=pending"\
    --form "content=Lorem ipsum dolor sit amet..."\
    --form "publish_date=2023-10-01"\
    --form "main_keyword=Laravel Tutorial"\
    --form "tags=laravel,web-development"\
    --form "meta_description=Learn Laravel with this comprehensive guide"\
    --form "seo_title=Laravel Guide | Best Tutorial 2023"\
    --form "category_id=1"\
    --form "written_by=1"\
    --form "is_active="\
    --form "article_image=@/tmp/phpel4OJg" 
const url = new URL(
    "http://localhost/api/article/update/1"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('title', 'Introduction to Laravel');
body.append('sub_categories', 'Null');
body.append('statues', 'pending');
body.append('content', 'Lorem ipsum dolor sit amet...');
body.append('publish_date', '2023-10-01');
body.append('main_keyword', 'Laravel Tutorial');
body.append('tags', 'laravel,web-development');
body.append('meta_description', 'Learn Laravel with this comprehensive guide');
body.append('seo_title', 'Laravel Guide | Best Tutorial 2023');
body.append('category_id', '1');
body.append('written_by', '1');
body.append('is_active', '');
body.append('article_image', document.querySelector('input[name="article_image"]').files[0]);

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

Request      

PATCH api/article/update/{article_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

article_id   integer   

The ID of the article. Example: 1

Body Parameters

title   string  optional  

Article title. Must not be greater than 255 characters. Example: Introduction to Laravel

sub_categories   string  optional  

subcategory . Example: Null

statues   string  optional  

Example: pending

Must be one of:
  • pending
  • completed
  • deleted
content   string  optional  

Full article content. Example: Lorem ipsum dolor sit amet...

publish_date   string  optional  

Publication date (YYYY-MM-DD). Must be a valid date. Example: 2023-10-01

main_keyword   string  optional  

Primary SEO keyword. Must not be greater than 255 characters. Example: Laravel Tutorial

tags   string  optional  

Comma-separated tags. Example: laravel,web-development

meta_description   string  optional  

SEO meta description. Example: Learn Laravel with this comprehensive guide

seo_title   string  optional  

SEO title. Must not be greater than 255 characters. Example: Laravel Guide | Best Tutorial 2023

category_id   string  optional  

Main category ID. The id of an existing record in the categories table. Example: 1

written_by   string  optional  

Author ID. The id of an existing record in the users table. Example: 1

is_active   boolean  optional  

Activation status. Example: false

article_image   file  optional  

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpel4OJg

update Article toggle

Example request:
curl --request POST \
    "http://localhost/api/article/toggle-status/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/article/toggle-status/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/article/toggle-status/{article_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

article_id   integer   

The ID of the article. Example: 1

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

update an existing article view counts

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/article/article-count/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": \"save\"
}"
const url = new URL(
    "http://localhost/api/article/article-count/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "type": "save"
};

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

Request      

POST api/article/article-count/{article_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

article_id   integer   

The ID of the article. Example: 1

Body Parameters

type   string   

Example: save

Must be one of:
  • view
  • share
  • save

View Article

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/article/show/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/article/show/1"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/article/show/{article_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

article_id   integer   

The ID of the article. Example: 1

View Article by slug

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/article/show-by-slug" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/article/show-by-slug"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "The selected slug is invalid.",
    "errors": {
        "slug": [
            "The selected slug is invalid."
        ]
    }
}
 

Request      

GET api/article/show-by-slug

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the articles table. Example: consequatur

Delete Article

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/article/delete/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/article/delete/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/article/delete/{article_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

article_id   integer   

The ID of the article. Example: 1

View articles depend on category

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/article/with-category" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/article/with-category"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "The selected slug is invalid.",
    "errors": {
        "slug": [
            "The selected slug is invalid."
        ]
    }
}
 

Request      

GET api/article/with-category

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the categories table. Example: consequatur

POST api/article/images-upload

Example request:
curl --request POST \
    "http://localhost/api/article/images-upload" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "article_id=consequatur"\
    --form "article_image=@/tmp/phpOP4esc" 
const url = new URL(
    "http://localhost/api/article/images-upload"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('article_id', 'consequatur');
body.append('article_image', document.querySelector('input[name="article_image"]').files[0]);

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

Request      

POST api/article/images-upload

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

article_id   string   

The id of an existing record in the articles table. Example: consequatur

article_image   file   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpOP4esc

View All article

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/article/site-map" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/article/site-map"
);

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: *
 

{
    "success": true,
    "message": "article displayed successfully",
    "result": {
        "data": [
            {
                "slug": "introduction-to-laravel-9",
                "updated_at": null
            },
            {
                "slug": "introduction-to-laravel-8",
                "updated_at": null
            },
            {
                "slug": "introduction-to-laravel-6",
                "updated_at": null
            },
            {
                "slug": "introduction-to-laravel-7",
                "updated_at": null
            },
            {
                "slug": "introduction-to-laravel-4",
                "updated_at": null
            },
            {
                "slug": "introduction-to-laravel-5",
                "updated_at": null
            },
            {
                "slug": "introduction-to-laravel-edit",
                "updated_at": null
            },
            {
                "slug": "introduction-to-laravel-3",
                "updated_at": null
            },
            {
                "slug": "introduction-to-laravel",
                "updated_at": null
            },
            {
                "slug": null,
                "updated_at": null
            }
        ]
    }
}
 

Request      

GET api/article/site-map

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All article with tag

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/article/tag" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"tag\": \"vmqeopfuudtdsufvyvddq\"
}"
const url = new URL(
    "http://localhost/api/article/tag"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "tag": "vmqeopfuudtdsufvyvddq"
};

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: *
 

{
    "success": true,
    "message": "article displayed successfully",
    "result": {
        "data": []
    }
}
 

Request      

GET api/article/tag

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

tag   string   

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

View All article

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/member-article" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/member-article"
);

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: *
 

{
    "success": true,
    "message": "article displayed successfully",
    "result": {
        "data": [
            {
                "id": 12,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-9",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "completed",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/150/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 11,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-8",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "completed",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/144/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 9,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-6",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "completed",
                "publish_date": "2023-10-01",
                "article_image": "",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 10,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-7",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "completed",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/143/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 7,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-4",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science",
                "author_image": "",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 8,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-5",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/86/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science",
                "author_image": "",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 6,
                "title": "Introduction to Laravel edit",
                "slug": "introduction-to-laravel-edit",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/55/WebP_Logo.webp",
                "short_content": "Lorem ipsum dolor sit amet... ddd",
                "content": "Lorem ipsum dolor sit amet... ddd",
                "author": null,
                "display_major": null,
                "author_image": "",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 5,
                "title": "Introduction to Laravel edit",
                "slug": "introduction-to-laravel-3",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/32/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "short_content": "Lorem ipsum dolor sit amet... ddd",
                "content": "Lorem ipsum dolor sit amet... ddd",
                "author": null,
                "display_major": null,
                "author_image": "",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 4,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel-2",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/30/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 0
            },
            {
                "id": 3,
                "title": "Introduction to Laravel",
                "slug": "introduction-to-laravel",
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/22/435f792ff6839d11142f391386e676de.jpg",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": null,
                "author_image": "",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 1,
                "title": "title1",
                "slug": null,
                "views_count": 0,
                "shares_count": 0,
                "saves_count": 0,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/23/61c4798370f16329c26c3a2440064f6b.jpg",
                "short_content": "sam ipsum dolor sit amet... sam",
                "content": "sam ipsum dolor sit amet... sam",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            },
            {
                "id": 2,
                "title": " to Laravel",
                "slug": null,
                "views_count": 5,
                "shares_count": 1,
                "saves_count": 1,
                "statues": "pending",
                "publish_date": "2023-10-01",
                "article_image": "http://localhost/storage/21/435f792ff6839d11142f391386e676de.jpg",
                "short_content": "Lorem ipsum dolor sit amet...",
                "content": "Lorem ipsum dolor sit amet...",
                "author": null,
                "display_major": "Computer Science ثيهف",
                "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "category_name": "تصنيف جديد sjkjakjdska",
                "is_active": 1
            }
        ],
        "links": {
            "first": "http://localhost/api/member-article?page=1",
            "last": "http://localhost/api/member-article?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/member-article?page=1",
                    "label": "1",
                    "active": true
                },
                {
                    "url": null,
                    "label": "Next &raquo;",
                    "active": false
                }
            ],
            "path": "http://localhost/api/member-article",
            "per_page": 15,
            "to": 12,
            "total": 12
        }
    }
}
 

Request      

GET api/member-article

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Article

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/member-article/store" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=Introduction to Laravel"\
    --form "sub_categories=1,2,3"\
    --form "content=Lorem ipsum dolor sit amet..."\
    --form "publish_date=2023-10-01"\
    --form "category_id=1"\
    --form "is_active="\
    --form "article_image=@/tmp/phpCtmk1h" 
const url = new URL(
    "http://localhost/api/member-article/store"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('title', 'Introduction to Laravel');
body.append('sub_categories', '1,2,3');
body.append('content', 'Lorem ipsum dolor sit amet...');
body.append('publish_date', '2023-10-01');
body.append('category_id', '1');
body.append('is_active', '');
body.append('article_image', document.querySelector('input[name="article_image"]').files[0]);

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

Request      

POST api/member-article/store

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

title   string   

Article title. Must not be greater than 255 characters. Example: Introduction to Laravel

sub_categories   string  optional  

Comma-separated subcategory IDs. Example: 1,2,3

content   string   

Full article content. Example: Lorem ipsum dolor sit amet...

publish_date   string   

Publication date (YYYY-MM-DD). Must be a valid date. Example: 2023-10-01

category_id   string   

Main category ID. The id of an existing record in the categories table. Example: 1

is_active   boolean  optional  

Activation status. Example: false

article_image   file   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpCtmk1h

update an existing Article

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/member-article/update/1" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=Introduction to Laravel"\
    --form "sub_categories=1,2,3"\
    --form "content=Lorem ipsum dolor sit amet..."\
    --form "publish_date=2023-10-01"\
    --form "category_id=1"\
    --form "is_active="\
    --form "article_image=@/tmp/phpDBrnYO" 
const url = new URL(
    "http://localhost/api/member-article/update/1"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('title', 'Introduction to Laravel');
body.append('sub_categories', '1,2,3');
body.append('content', 'Lorem ipsum dolor sit amet...');
body.append('publish_date', '2023-10-01');
body.append('category_id', '1');
body.append('is_active', '');
body.append('article_image', document.querySelector('input[name="article_image"]').files[0]);

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

Request      

PATCH api/member-article/update/{article_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

article_id   integer   

The ID of the article. Example: 1

Body Parameters

title   string  optional  

Article title. Must not be greater than 255 characters. Example: Introduction to Laravel

sub_categories   string  optional  

Comma-separated subcategory IDs. Example: 1,2,3

content   string  optional  

Full article content. Example: Lorem ipsum dolor sit amet...

publish_date   string  optional  

Publication date (YYYY-MM-DD). Must be a valid date. Example: 2023-10-01

category_id   string  optional  

Main category ID. The id of an existing record in the categories table. Example: 1

is_active   boolean  optional  

Activation status. Example: false

article_image   file  optional  

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpDBrnYO

Authenticating Users

Endpoints for loging and logout operations for the users

Authenticate Users to The System

Example request:
curl --request POST \
    "http://localhost/api/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"phone\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/login"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "phone": "consequatur"
};

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

Request      

POST api/login

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

phone   string   

The phone of an existing record in the users table. Example: consequatur

POST api/sign-up

Example request:
curl --request POST \
    "http://localhost/api/sign-up" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name_ar\": \"vmqeopfuudtdsufvyvddq\",
    \"phone\": \"1562\",
    \"gender\": \"female\",
    \"city_id\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/sign-up"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name_ar": "vmqeopfuudtdsufvyvddq",
    "phone": "1562",
    "gender": "female",
    "city_id": "consequatur"
};

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

Request      

POST api/sign-up

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name_ar   string   

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

phone   string   

Must match the regex /^[0-9]+$/. Example: 1562

gender   string   

Example: female

Must be one of:
  • female
  • male
city_id   string   

The id of an existing record in the cities table. Example: consequatur

POST api/web-sign-up

Example request:
curl --request POST \
    "http://localhost/api/web-sign-up" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name_ar=محمد أحمد"\
    --form "name_en=Mohamed Ahmed"\
    --form "phone=966501234567"\
    --form "gender=ذكر"\
    --form "city_id=5"\
    --form "role_id=consequatur"\
    --form "country_id=1"\
    --form "display_major=Computer Science"\
    --form "department_id=1"\
    --form "bio=I am a software engineer with 5 years of experience..."\
    --form "tags=programming,web development,laravel"\
    --form "meta_title=consequatur"\
    --form "meta_description=Mohamed Ahmed is a software engineer specializing in web development"\
    --form "is_verified=1"\
    --form "user_image=@/tmp/phpWyPKDL" \
    --form "cover_image=@/tmp/phpCLgQ1f" 
const url = new URL(
    "http://localhost/api/web-sign-up"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('name_ar', 'محمد أحمد');
body.append('name_en', 'Mohamed Ahmed');
body.append('phone', '966501234567');
body.append('gender', 'ذكر');
body.append('city_id', '5');
body.append('role_id', 'consequatur');
body.append('country_id', '1');
body.append('display_major', 'Computer Science');
body.append('department_id', '1');
body.append('bio', 'I am a software engineer with 5 years of experience...');
body.append('tags', 'programming,web development,laravel');
body.append('meta_title', 'consequatur');
body.append('meta_description', 'Mohamed Ahmed is a software engineer specializing in web development');
body.append('is_verified', '1');
body.append('user_image', document.querySelector('input[name="user_image"]').files[0]);
body.append('cover_image', document.querySelector('input[name="cover_image"]').files[0]);

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

Request      

POST api/web-sign-up

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

name_ar   string   

The Arabic name of the user. Must not be greater than 255 characters. Example: محمد أحمد

name_en   string  optional  

The English name of the user (optional). Must not be greater than 255 characters. Example: Mohamed Ahmed

phone   string   

The phone number of the user (must be unique). Must match the regex /^[0-9]+$/. Example: 966501234567

gender   string   

The gender of the user. Example: ذكر

Must be one of:
  • female
  • male
  • other
city_id   string   

The ID of the city the user is located in. The id of an existing record in the cities table. Example: 5

role_id   string   

The id of an existing record in the roles table. Example: consequatur

country_id   string   

The ID of the country the user is located in. The id of an existing record in the countries table. Example: 1

display_major   string   

The major or field of study to display. Must not be greater than 255 characters. Example: Computer Science

department_id   string   

The ID of the department the user belongs to. The id of an existing record in the departments table. Example: 1

bio   string   

A short biography about the user. Example: I am a software engineer with 5 years of experience...

tags   string   

Tags associated with the user (comma separated or JSON). Example: programming,web development,laravel

meta_title   string   

Example: consequatur

meta_description   string   

SEO meta description for the user profile. Example: Mohamed Ahmed is a software engineer specializing in web development

is_verified   integer  optional  

Example: 1

Must be one of:
  • -1
  • 0
  • 1
user_image   file   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpWyPKDL

cover_image   file   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpCLgQ1f

POST api/verify-otp

Example request:
curl --request POST \
    "http://localhost/api/verify-otp" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"phone\": \"1234567890\",
    \"otp\": \"123456\"
}"
const url = new URL(
    "http://localhost/api/verify-otp"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "phone": "1234567890",
    "otp": "123456"
};

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

Request      

POST api/verify-otp

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

phone   string   

The phone number used to receive the OTP. The phone of an existing record in the users table. Example: 1234567890

fcm_token   string  optional  
otp   string   

The OTP sent to the phone. Example: 123456

0   string  optional  

Logout user account.

Example request:
curl --request GET \
    --get "http://localhost/api/logout" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/logout

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/user-profile

Example request:
curl --request GET \
    --get "http://localhost/api/user-profile" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/user-profile"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "The selected slug is invalid.",
    "errors": {
        "slug": [
            "The selected slug is invalid."
        ]
    }
}
 

Request      

GET api/user-profile

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the users table. Example: consequatur

Delete Client

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/user/delete" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/user/delete"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/user/delete

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/send-notification

Example request:
curl --request POST \
    "http://localhost/api/send-notification" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "body=consequatur"\
    --form "title=consequatur"\
    --form "image=@/tmp/phpSROxKk" 
const url = new URL(
    "http://localhost/api/send-notification"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('body', 'consequatur');
body.append('title', 'consequatur');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Request      

POST api/send-notification

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

body   string   

Example: consequatur

title   string   

Example: consequatur

image   file  optional  

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpSROxKk

Categorys API

View All category

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/category" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/category"
);

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: *
 

{
    "success": true,
    "message": "categorys displayed successfully",
    "result": {
        "data": [
            {
                "id": 1,
                "name": "New Category ***",
                "is_pinned": 0,
                "parent_id": 0,
                "slug": "tsnyf-gdyd",
                "is_active": 1,
                "articles_count": 12,
                "section": {
                    "id": 1,
                    "name": "jkjkjk",
                    "slug": "fdfdf",
                    "show_order": 1,
                    "icon": "http://localhost/storage/45/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
                }
            }
        ]
    },
    "first_page_url": "http://localhost/api/category?page=1",
    "last_page_url": "http://localhost/api/category?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 1,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/category

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All category for web dashboard

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/category/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/category/show-all"
);

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: *
 

{
    "success": true,
    "message": "categorys displayed successfully",
    "result": {
        "data": [
            {
                "id": 2,
                "name": "New Category ***",
                "is_pinned": 0,
                "parent_id": 0,
                "slug": "tsnyf-gdyd-2",
                "is_active": 0,
                "articles_count": null,
                "section": {
                    "id": 1,
                    "name": "jkjkjk",
                    "slug": "fdfdf",
                    "show_order": 1,
                    "icon": "http://localhost/storage/45/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
                }
            },
            {
                "id": 1,
                "name": "New Category ***",
                "is_pinned": 0,
                "parent_id": 0,
                "slug": "tsnyf-gdyd",
                "is_active": 1,
                "articles_count": null,
                "section": {
                    "id": 1,
                    "name": "jkjkjk",
                    "slug": "fdfdf",
                    "show_order": 1,
                    "icon": "http://localhost/storage/45/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
                }
            }
        ]
    },
    "first_page_url": "http://localhost/api/category/show-all?page=1",
    "last_page_url": "http://localhost/api/category/show-all?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 2,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/category/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Category

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/category/store" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name_ar=تصنيف جديد"\
    --form "name_en=New Category"\
    --form "section_id=1"\
    --form "is_pinned=0"\
    --form "is_active="\
    --form "category_image=@/tmp/phpqNcmbH" 
const url = new URL(
    "http://localhost/api/category/store"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('name_ar', 'تصنيف جديد');
body.append('name_en', 'New Category');
body.append('section_id', '1');
body.append('is_pinned', '0');
body.append('is_active', '');
body.append('category_image', document.querySelector('input[name="category_image"]').files[0]);

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

Request      

POST api/category/store

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

name_ar   string   

Arabic name of the category. Must not be greater than 255 characters. Example: تصنيف جديد

name_en   string  optional  

English name of the category. Must not be greater than 255 characters. Example: New Category

section_id   string   

ID of the related section. The id of an existing record in the sections table. Example: 1

is_pinned   integer  optional  

Pinning status (-1=not pinned, 0=normal, 1=featured). Example: 0

Must be one of:
  • -1
  • 0
  • 1
category_image   file   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpqNcmbH

is_active   boolean  optional  

Activation status. Example: false

update an existing Category

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/category/update/1" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name_ar=تصنيف جديد"\
    --form "name_en=New Category"\
    --form "section_id=1"\
    --form "is_pinned=0"\
    --form "is_active="\
    --form "category_image=@/tmp/phpTHOQPN" 
const url = new URL(
    "http://localhost/api/category/update/1"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('name_ar', 'تصنيف جديد');
body.append('name_en', 'New Category');
body.append('section_id', '1');
body.append('is_pinned', '0');
body.append('is_active', '');
body.append('category_image', document.querySelector('input[name="category_image"]').files[0]);

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

Request      

PATCH api/category/update/{category_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

category_id   integer   

The ID of the category. Example: 1

Body Parameters

name_ar   string  optional  

Arabic name of the category. Must not be greater than 255 characters. Example: تصنيف جديد

name_en   string  optional  

English name of the category. Must not be greater than 255 characters. Example: New Category

section_id   string  optional  

ID of the related section. The id of an existing record in the sections table. Example: 1

is_pinned   integer  optional  

Pinning status (-1=not pinned, 0=normal, 1=featured). Example: 0

Must be one of:
  • -1
  • 0
  • 1
category_image   file  optional  

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpTHOQPN

is_active   boolean  optional  

Activation status. Example: false

update Category toggle

Example request:
curl --request POST \
    "http://localhost/api/category/toggle-status/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/category/toggle-status/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/category/toggle-status/{category_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

category_id   integer   

The ID of the category. Example: 1

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

View Category

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/category/show/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/category/show/1"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/category/show/{category_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

category_id   integer   

The ID of the category. Example: 1

Delete Category

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/category/delete/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/category/delete/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/category/delete/{category_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

category_id   integer   

The ID of the category. Example: 1

Citys API

View All City

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/city" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/city"
);

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: *
 

{
    "success": true,
    "message": "Citys displayed successfully",
    "result": {
        "data": [
            {
                "id": 6,
                "country": "USA",
                "name": "Taiz",
                "is_active": 1
            },
            {
                "id": 1,
                "country": "USA",
                "name": "fff",
                "is_active": 1
            },
            {
                "id": 3,
                "country": "USA",
                "name": "Dumuscus",
                "is_active": 1
            }
        ]
    },
    "first_page_url": "http://localhost/api/city?page=1",
    "last_page_url": "http://localhost/api/city?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 3,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/city

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All City for dashboard

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/city/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/city/show-all"
);

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: *
 

{
    "success": true,
    "message": "Citys displayed successfully",
    "result": {
        "data": [
            {
                "id": 6,
                "country": "USA",
                "name": "Taiz",
                "is_active": 1
            },
            {
                "id": 1,
                "country": "USA",
                "name": "fff",
                "is_active": 1
            },
            {
                "id": 2,
                "country": "Taiz",
                "name": "Cairo",
                "is_active": 1
            },
            {
                "id": 3,
                "country": "USA",
                "name": "Dumuscus",
                "is_active": 1
            },
            {
                "id": 4,
                "country": "Taiz",
                "name": "Aleppo",
                "is_active": 1
            },
            {
                "id": 5,
                "country": "Taiz",
                "name": "Latakia",
                "is_active": 0
            }
        ]
    },
    "first_page_url": "http://localhost/api/city/show-all?page=1",
    "last_page_url": "http://localhost/api/city/show-all?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 6,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/city/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new City

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/city/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name_ar\": \"عرض خاص\",
    \"name_en\": \"Special City\",
    \"country_id\": 1,
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/city/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name_ar": "عرض خاص",
    "name_en": "Special City",
    "country_id": 1,
    "is_active": false
};

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

Request      

POST api/city/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name_ar   string   

Arabic name for the city. Must not be greater than 255 characters. Example: عرض خاص

name_en   string   

English name for the city. Must not be greater than 255 characters. Example: Special City

country_id   string   

ID of the country creating the city. The id of an existing record in the countries table. Example: 1

is_active   boolean  optional  

City activation status. Example: false

update an existing City

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/city/update/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name_ar\": \"vmqeopfuudtdsufvyvddq\",
    \"name_en\": \"amniihfqcoynlazghdtqt\",
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/city/update/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name_ar": "vmqeopfuudtdsufvyvddq",
    "name_en": "amniihfqcoynlazghdtqt",
    "is_active": false
};

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

Request      

PATCH api/city/update/{city_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

city_id   integer   

The ID of the city. Example: 1

Body Parameters

name_ar   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

name_en   string  optional  

Must not be greater than 255 characters. Example: amniihfqcoynlazghdtqt

country_id   string  optional  

The id of an existing record in the countries table.

is_active   boolean  optional  

Example: false

update City toggle

Example request:
curl --request POST \
    "http://localhost/api/city/toggle-status/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/city/toggle-status/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/city/toggle-status/{city_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

city_id   integer   

The ID of the city. Example: 1

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

View City

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/city/show/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/city/show/1"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/city/show/{city_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

city_id   integer   

The ID of the city. Example: 1

Delete City

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/city/delete/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/city/delete/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/city/delete/{city_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

city_id   integer   

The ID of the city. Example: 1

Clinics API

View All Clinic

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/clinic" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/clinic"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "The selected slug is invalid.",
    "errors": {
        "slug": [
            "The selected slug is invalid."
        ]
    }
}
 

Request      

GET api/clinic

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the users table. Example: consequatur

View All Clinic for dashboard

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/clinic/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/clinic/show-all"
);

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: *
 

{
    "success": true,
    "message": "clinic displayed successfully",
    "result": {
        "data": [
            {
                "id": 1,
                "user_name": null,
                "title": "City Clinic edit",
                "type": "clinic",
                "description": "Advanced diagnostics and care",
                "fees": 4000,
                "message_type": "whatsapp",
                "phone": "771056196",
                "is_active": 1,
                "doctors": [
                    {
                        "id": 6,
                        "clinic_id": 1,
                        "name": "Dr. John Doe edit",
                        "display_major": "Cardiologist edit",
                        "notes": "Specializes in pediatric cardiology edit",
                        "is_reservation": 1,
                        "image": "",
                        "days": []
                    },
                    {
                        "id": 9,
                        "clinic_id": 1,
                        "name": "Dr. John Doe",
                        "display_major": "Cardiologist",
                        "notes": "Specializes in pediatric cardiology",
                        "is_reservation": 1,
                        "image": "",
                        "days": [
                            {
                                "id": 4,
                                "day": "Thursday",
                                "work_periods": [
                                    {
                                        "id": 1,
                                        "period": "Morning",
                                        "start_at": "09:00:00",
                                        "end_at": "12:00:00"
                                    },
                                    {
                                        "id": 2,
                                        "period": "evening",
                                        "start_at": "12:00:00",
                                        "end_at": "17:00:00"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": 10,
                        "clinic_id": 1,
                        "name": "Dr. John Doe",
                        "display_major": "Cardiologist",
                        "notes": "Specializes in pediatric cardiology",
                        "is_reservation": 1,
                        "image": "",
                        "days": [
                            {
                                "id": 5,
                                "day": "Monday",
                                "work_periods": [
                                    {
                                        "id": 3,
                                        "period": "Morning",
                                        "start_at": "09:00:00",
                                        "end_at": "12:00:00"
                                    },
                                    {
                                        "id": 4,
                                        "period": "Morning",
                                        "start_at": "13:00:00",
                                        "end_at": "17:00:00"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            {
                "id": 2,
                "user_name": null,
                "title": "City Clinic",
                "type": "clinic",
                "description": "Advanced diagnostics and care",
                "fees": 150,
                "message_type": "whatsapp",
                "phone": "",
                "is_active": 1,
                "doctors": [
                    {
                        "id": 7,
                        "clinic_id": 2,
                        "name": "Dr. John Doe edit",
                        "display_major": "Cardiologist edit",
                        "notes": "Specializes in pediatric cardiology edit",
                        "is_reservation": 1,
                        "image": "",
                        "days": [
                            {
                                "id": 2,
                                "day": "Monday",
                                "work_periods": [
                                    {
                                        "id": 15,
                                        "period": "Morning",
                                        "start_at": "09:00:00",
                                        "end_at": "12:00:00"
                                    },
                                    {
                                        "id": 16,
                                        "period": "Morning",
                                        "start_at": "13:00:00",
                                        "end_at": "17:00:00"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": 11,
                        "clinic_id": 2,
                        "name": "بيسيب",
                        "display_major": "يسبشيسب",
                        "notes": "شيسبش",
                        "is_reservation": 1,
                        "image": "http://localhost/storage/47/61c4798370f16329c26c3a2440064f6b.jpg",
                        "days": [
                            {
                                "id": 9,
                                "day": "Monday",
                                "work_periods": [
                                    {
                                        "id": 17,
                                        "period": "morning",
                                        "start_at": "12:00:00",
                                        "end_at": "18:00:00"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": 12,
                        "clinic_id": 2,
                        "name": "بيسيب",
                        "display_major": "يسبشيسب",
                        "notes": "شيسبش",
                        "is_reservation": 1,
                        "image": "http://localhost/storage/48/61c4798370f16329c26c3a2440064f6b.jpg",
                        "days": [
                            {
                                "id": 10,
                                "day": "Monday",
                                "work_periods": [
                                    {
                                        "id": 18,
                                        "period": "morning",
                                        "start_at": "12:00:00",
                                        "end_at": "18:00:00"
                                    }
                                ]
                            }
                        ]
                    },
                    {
                        "id": 13,
                        "clinic_id": 2,
                        "name": "بيسيب",
                        "display_major": "يسبشيسب",
                        "notes": "شيسبش",
                        "is_reservation": 1,
                        "image": "http://localhost/storage/49/61c4798370f16329c26c3a2440064f6b.jpg",
                        "days": [
                            {
                                "id": 11,
                                "day": "Monday",
                                "work_periods": [
                                    {
                                        "id": 19,
                                        "period": "morning",
                                        "start_at": "12:00:00",
                                        "end_at": "18:00:00"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            {
                "id": 3,
                "user_name": null,
                "title": "City Clinic",
                "type": "clinic",
                "description": "Advanced diagnostics and care",
                "fees": 150,
                "message_type": "whatsapp",
                "phone": "",
                "is_active": 1,
                "doctors": []
            },
            {
                "id": 4,
                "user_name": null,
                "title": "City Clinic",
                "type": "clinic",
                "description": "Advanced diagnostics and care",
                "fees": 150,
                "message_type": "whatsapp",
                "phone": "",
                "is_active": 1,
                "doctors": [
                    {
                        "id": 14,
                        "clinic_id": 4,
                        "name": "Dr.JohnDoe",
                        "display_major": "Cardiologist",
                        "notes": "Specializesinpediatriccardiology",
                        "is_reservation": 1,
                        "image": "http://localhost/storage/147/conversions/سمير-الحطامي-media-webp.webp",
                        "days": []
                    },
                    {
                        "id": 15,
                        "clinic_id": 4,
                        "name": "Dr.JohnDoe",
                        "display_major": "Cardiologist",
                        "notes": "Specializesinpediatriccardiology",
                        "is_reservation": 1,
                        "image": "http://localhost/storage/148/conversions/سمير-الحطامي-media-webp.webp",
                        "days": [
                            {
                                "id": 15,
                                "day": "السبت",
                                "work_periods": [
                                    {
                                        "id": 23,
                                        "period": "الفترة الاولى",
                                        "start_at": "08:00",
                                        "end_at": "16:00"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            },
            {
                "id": 5,
                "user_name": null,
                "title": "CityClinicedit",
                "type": "clinic",
                "description": "Advanceddiagnosticsandcare",
                "fees": 4000,
                "message_type": "whatsapp",
                "phone": "771056196",
                "is_active": 1,
                "doctors": []
            },
            {
                "id": 6,
                "user_name": null,
                "title": "CityClinicedit",
                "type": "clinic",
                "description": "Advanceddiagnosticsandcare",
                "fees": 4000,
                "message_type": "whatsapp",
                "phone": "771056196",
                "is_active": 1,
                "doctors": []
            },
            {
                "id": 7,
                "user_name": null,
                "title": "City Clinic",
                "type": "clinic",
                "description": "Advanced diagnostics and care",
                "fees": 4000,
                "message_type": "whatsapp",
                "phone": "771056196",
                "is_active": 1,
                "doctors": []
            },
            {
                "id": 8,
                "user_name": null,
                "title": "City Clinic",
                "type": "clinic",
                "description": "Advanced diagnostics and care",
                "fees": 4000,
                "message_type": "sms",
                "phone": "771056196",
                "is_active": 1,
                "doctors": []
            },
            {
                "id": 9,
                "user_name": null,
                "title": "City Clinic edit",
                "type": "clinic",
                "description": "Advanced diagnostics and care",
                "fees": 4000,
                "message_type": "sms",
                "phone": "771056196",
                "is_active": 0,
                "doctors": []
            }
        ],
        "links": {
            "first": "http://localhost/api/clinic/show-all?page=1",
            "last": "http://localhost/api/clinic/show-all?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/clinic/show-all?page=1",
                    "label": "1",
                    "active": true
                },
                {
                    "url": null,
                    "label": "Next &raquo;",
                    "active": false
                }
            ],
            "path": "http://localhost/api/clinic/show-all",
            "per_page": 15,
            "to": 9,
            "total": 9
        }
    }
}
 

Request      

GET api/clinic/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Clinic

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/clinic/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"user_id\": 1,
    \"message_type\": \"sms\",
    \"title\": \"Downtown Medical Center\",
    \"type\": \"rays\",
    \"phone\": \"+966500000000\",
    \"description\": \"A full-service family clinic.\",
    \"fees\": 200,
    \"order\": 17,
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/clinic/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "user_id": 1,
    "message_type": "sms",
    "title": "Downtown Medical Center",
    "type": "rays",
    "phone": "+966500000000",
    "description": "A full-service family clinic.",
    "fees": 200,
    "order": 17,
    "is_active": false
};

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

Request      

POST api/clinic/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

user_id   string   

The ID of the user who owns the clinic. The id of an existing record in the users table. Example: 1

message_type   string  optional  

Example: sms

Must be one of:
  • whatsapp
  • sms
title   string   

Title of the clinic. Must not be greater than 255 characters. Example: Downtown Medical Center

type   string   

Type of reservation. Example: rays

Must be one of:
  • Laboratories
  • rays
  • clinic
phone   string   

Contact phone number. Must not be greater than 20 characters. Example: +966500000000

description   string  optional  

Description of the clinic. Example: A full-service family clinic.

fees   integer   

Consultation fees. Example: 200

order   integer   

Example: 17

is_active   boolean  optional  

Clinic status. Example: false

update an existing Clinic

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/clinic/update/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"vmqeopfuudtdsufvyvddq\",
    \"message_type\": \"sms\",
    \"type\": \"Laboratories\",
    \"phone\": \"amniihfqcoynlazgh\",
    \"description\": \"Dolores dolorum amet iste laborum eius est dolor.\",
    \"fees\": 17,
    \"is_active\": true
}"
const url = new URL(
    "http://localhost/api/clinic/update/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": "vmqeopfuudtdsufvyvddq",
    "message_type": "sms",
    "type": "Laboratories",
    "phone": "amniihfqcoynlazgh",
    "description": "Dolores dolorum amet iste laborum eius est dolor.",
    "fees": 17,
    "is_active": true
};

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

Request      

PATCH api/clinic/update/{clinic_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

clinic_id   integer   

The ID of the clinic. Example: 1

Body Parameters

user_id   string  optional  

The id of an existing record in the users table.

title   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

message_type   string  optional  

Example: sms

Must be one of:
  • whatsapp
  • sms
type   string  optional  

Example: Laboratories

Must be one of:
  • Laboratories
  • rays
  • clinic
phone   string  optional  

Must not be greater than 20 characters. Example: amniihfqcoynlazgh

description   string  optional  

Example: Dolores dolorum amet iste laborum eius est dolor.

fees   integer  optional  

Example: 17

is_active   boolean  optional  

Example: true

update Clinic toggle

Example request:
curl --request POST \
    "http://localhost/api/clinic/toggle-status/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/clinic/toggle-status/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/clinic/toggle-status/{clinic_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

clinic_id   integer   

The ID of the clinic. Example: 1

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

View Clinic

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/clinic/show/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/clinic/show/1"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/clinic/show/{clinic_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

clinic_id   integer   

The ID of the clinic. Example: 1

Delete Clinic

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/clinic/delete/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/clinic/delete/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/clinic/delete/{clinic_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

clinic_id   integer   

The ID of the clinic. Example: 1

View All Clinic

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/member-clinic" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/member-clinic"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "The selected slug is invalid.",
    "errors": {
        "slug": [
            "The selected slug is invalid."
        ]
    }
}
 

Request      

GET api/member-clinic

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the users table. Example: consequatur

create a new Clinic

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/member-clinic/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"message_type\": \"whatsapp\",
    \"title\": \"Downtown Medical Center\",
    \"type\": \"rays\",
    \"phone\": \"+966500000000\",
    \"description\": \"A full-service family clinic.\",
    \"fees\": 200,
    \"order\": 17,
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/member-clinic/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "message_type": "whatsapp",
    "title": "Downtown Medical Center",
    "type": "rays",
    "phone": "+966500000000",
    "description": "A full-service family clinic.",
    "fees": 200,
    "order": 17,
    "is_active": false
};

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

Request      

POST api/member-clinic/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

message_type   string  optional  

Example: whatsapp

Must be one of:
  • whatsapp
  • sms
title   string   

Title of the clinic. Must not be greater than 255 characters. Example: Downtown Medical Center

type   string   

Type of reservation. Example: rays

Must be one of:
  • Laboratories
  • rays
  • clinic
phone   string   

Contact phone number. Must not be greater than 20 characters. Example: +966500000000

description   string  optional  

Description of the clinic. Example: A full-service family clinic.

fees   integer   

Consultation fees. Example: 200

order   integer   

Example: 17

is_active   boolean  optional  

Clinic status. Example: false

update an existing Clinic

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/member-clinic/update/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title\": \"vmqeopfuudtdsufvyvddq\",
    \"message_type\": \"sms\",
    \"type\": \"Laboratories\",
    \"phone\": \"amniihfqcoynlazgh\",
    \"description\": \"Dolores dolorum amet iste laborum eius est dolor.\",
    \"fees\": 17,
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/member-clinic/update/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title": "vmqeopfuudtdsufvyvddq",
    "message_type": "sms",
    "type": "Laboratories",
    "phone": "amniihfqcoynlazgh",
    "description": "Dolores dolorum amet iste laborum eius est dolor.",
    "fees": 17,
    "is_active": false
};

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

Request      

PATCH api/member-clinic/update/{clinic_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

clinic_id   integer   

The ID of the clinic. Example: 1

Body Parameters

title   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

message_type   string  optional  

Example: sms

Must be one of:
  • whatsapp
  • sms
type   string  optional  

Example: Laboratories

Must be one of:
  • Laboratories
  • rays
  • clinic
phone   string  optional  

Must not be greater than 20 characters. Example: amniihfqcoynlazgh

description   string  optional  

Example: Dolores dolorum amet iste laborum eius est dolor.

fees   integer  optional  

Example: 17

is_active   boolean  optional  

Example: false

ContactUss API

View All ContactUs

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/contact-us" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/contact-us"
);

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: *
 

{
    "success": true,
    "message": "ContactUss displayed successfully",
    "result": {
        "data": [
            {
                "id": 1,
                "name": "123456",
                "phone": "77105619600",
                "message": "message"
            }
        ]
    },
    "first_page_url": "http://localhost/api/contact-us?page=1",
    "last_page_url": "http://localhost/api/contact-us?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 1,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/contact-us

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All ContactUs for dashboard

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/contact-us/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/contact-us/show-all"
);

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: *
 

{
    "success": true,
    "message": "ContactUss displayed successfully",
    "result": {
        "data": [
            {
                "id": 1,
                "name": "123456",
                "phone": "77105619600",
                "message": "message"
            }
        ]
    },
    "first_page_url": "http://localhost/api/contact-us/show-all?page=1",
    "last_page_url": "http://localhost/api/contact-us/show-all?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 1,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/contact-us/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new ContactUs

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/contact-us/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\",
    \"phone\": \"amniihfqcoynlazghdtqt\",
    \"message\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/contact-us/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq",
    "phone": "amniihfqcoynlazghdtqt",
    "message": "consequatur"
};

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

Request      

POST api/contact-us/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

phone   string   

Must not be greater than 255 characters. Example: amniihfqcoynlazghdtqt

message   string   

Example: consequatur

View ContactUs

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/contact-us/show/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/contact-us/show/1"
);

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: *
 

{
    "success": true,
    "message": "تمت العملية",
    "result": {
        "id": 1,
        "name": "123456",
        "phone": "77105619600",
        "message": "message"
    }
}
 

Request      

GET api/contact-us/show/{contactus_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

contactus_id   integer   

The ID of the contactus. Example: 1

update an existing ContactUs

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/contact-us/update/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\",
    \"phone\": \"amniihfqcoynlazghdtqt\",
    \"message\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/contact-us/update/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq",
    "phone": "amniihfqcoynlazghdtqt",
    "message": "consequatur"
};

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

Request      

PATCH api/contact-us/update/{contactus_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

contactus_id   integer   

The ID of the contactus. Example: 1

Body Parameters

name   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

phone   string  optional  

Must not be greater than 255 characters. Example: amniihfqcoynlazghdtqt

message   string  optional  

Example: consequatur

Delete ContactUs

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/contact-us/delete/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/contact-us/delete/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/contact-us/delete/{contactus_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

contactus_id   integer   

The ID of the contactus. Example: 1

Countrys API

View All Country

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/country" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/country"
);

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: *
 

{
    "success": true,
    "message": "Countrys displayed successfully",
    "result": {
        "data": [
            {
                "id": 2,
                "name": "Taiz",
                "is_active": 1
            }
        ]
    },
    "first_page_url": "http://localhost/api/country?page=1",
    "last_page_url": "http://localhost/api/country?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 1,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/country

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All Country for dashboard

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/country/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/country/show-all"
);

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: *
 

{
    "success": true,
    "message": "Countrys displayed successfully",
    "result": {
        "data": [
            {
                "id": 2,
                "name": "Taiz",
                "is_active": 1
            },
            {
                "id": 1,
                "name": "USA",
                "is_active": 0
            }
        ]
    },
    "first_page_url": "http://localhost/api/country/show-all?page=1",
    "last_page_url": "http://localhost/api/country/show-all?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 2,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/country/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Country

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/country/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name_ar\": \"عرض خاص\",
    \"name_en\": \"Special Country\",
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/country/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name_ar": "عرض خاص",
    "name_en": "Special Country",
    "is_active": false
};

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

Request      

POST api/country/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name_ar   string   

Arabic name for the country. Must not be greater than 255 characters. Example: عرض خاص

name_en   string   

English name for the country. Must not be greater than 255 characters. Example: Special Country

is_active   boolean  optional  

Country activation status. Example: false

update an existing Country

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/country/update/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name_ar\": \"vmqeopfuudtdsufvyvddq\",
    \"name_en\": \"amniihfqcoynlazghdtqt\",
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/country/update/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name_ar": "vmqeopfuudtdsufvyvddq",
    "name_en": "amniihfqcoynlazghdtqt",
    "is_active": false
};

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

Request      

PATCH api/country/update/{country_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

country_id   integer   

The ID of the country. Example: 1

Body Parameters

name_ar   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

name_en   string  optional  

Must not be greater than 255 characters. Example: amniihfqcoynlazghdtqt

is_active   boolean  optional  

Updated activation status. Example: false

View Country

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/country/show/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/country/show/1"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/country/show/{country_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

country_id   integer   

The ID of the country. Example: 1

Delete Country

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/country/delete/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/country/delete/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/country/delete/{country_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

country_id   integer   

The ID of the country. Example: 1

Departments API

View All Department

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/department" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/department"
);

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: *
 

{
    "success": true,
    "message": "Departments displayed successfully",
    "result": {
        "data": [
            {
                "id": 20,
                "slug": "ksm-ltsmym-3",
                "name": "Design Department",
                "icon": "",
                "users_count": 0,
                "children": []
            },
            {
                "id": 19,
                "slug": "ksm-ltsmym-2",
                "name": "Design Department",
                "icon": "",
                "users_count": 0,
                "children": []
            },
            {
                "id": 18,
                "slug": "ksm-ltsmym",
                "name": "Design Department",
                "icon": "",
                "users_count": 0,
                "children": []
            },
            {
                "id": 8,
                "slug": "مؤسسات",
                "name": "Organizations",
                "icon": "",
                "users_count": 0,
                "children": []
            },
            {
                "id": 5,
                "slug": "شركات-ادوية",
                "name": "medical companies",
                "icon": "",
                "users_count": 11,
                "children": []
            },
            {
                "id": 3,
                "slug": "اشعة-ومختبرات",
                "name": "Labs & Rays",
                "icon": "",
                "users_count": 0,
                "children": []
            },
            {
                "id": 4,
                "slug": "صيدليات",
                "name": "Pharmacies",
                "icon": "",
                "users_count": 0,
                "children": []
            },
            {
                "id": 1,
                "slug": "اطباء-وعيادات",
                "name": "Doctors",
                "icon": "",
                "users_count": 7,
                "children": [
                    {
                        "id": 6,
                        "slug": "طب-وجراحة-الفم-والاسنان",
                        "is_pinned": 1,
                        "name": "Dentist",
                        "icon": ""
                    },
                    {
                        "id": 7,
                        "slug": "الباطنية",
                        "is_pinned": -1,
                        "name": "medicin",
                        "icon": ""
                    },
                    {
                        "id": 10,
                        "slug": "الجلدية",
                        "is_pinned": 1,
                        "name": "Dermatology",
                        "icon": ""
                    },
                    {
                        "id": 11,
                        "slug": "Therapeutic-feeding",
                        "is_pinned": -1,
                        "name": "Therapeutic feeding",
                        "icon": ""
                    },
                    {
                        "id": 12,
                        "slug": "نساء-وولادة",
                        "is_pinned": 1,
                        "name": "Obstetrics and Gynecology",
                        "icon": ""
                    },
                    {
                        "id": 13,
                        "slug": "المسالك-البولية",
                        "is_pinned": 1,
                        "name": "Urology",
                        "icon": ""
                    },
                    {
                        "id": 14,
                        "slug": "القلب-والأوعية-الدموية",
                        "is_pinned": 1,
                        "name": "Cardiology",
                        "icon": ""
                    },
                    {
                        "id": 15,
                        "slug": "دماغ-وأعصاب",
                        "is_pinned": -1,
                        "name": "Neurology",
                        "icon": ""
                    },
                    {
                        "id": 16,
                        "slug": "جراحة-العظام-والمفاصل",
                        "is_pinned": -1,
                        "name": "Orthopedic Surgery",
                        "icon": ""
                    },
                    {
                        "id": 17,
                        "slug": "مخ-وأعصاب",
                        "is_pinned": -1,
                        "name": "Neurology",
                        "icon": ""
                    }
                ]
            },
            {
                "id": 2,
                "slug": "مستشفيات-ومراكز-صحية",
                "name": "Hospitals",
                "icon": "",
                "users_count": 0,
                "children": []
            }
        ]
    },
    "first_page_url": "http://localhost/api/department?page=1",
    "last_page_url": "http://localhost/api/department?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 9,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/department

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All Department in web

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/department/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/department/show-all"
);

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: *
 

{
    "success": true,
    "message": "Departments displayed successfully",
    "result": {
        "data": [
            {
                "id": 22,
                "slug": "ksm-ltsmym-5",
                "is_active": 0,
                "is_pinned": 1,
                "parent": 0,
                "name": "Design Department",
                "icon": ""
            },
            {
                "id": 21,
                "slug": "ksm-ltsmym-4",
                "is_active": 0,
                "is_pinned": 1,
                "parent": 0,
                "name": "Design Department",
                "icon": ""
            },
            {
                "id": 20,
                "slug": "ksm-ltsmym-3",
                "is_active": 1,
                "is_pinned": 1,
                "parent": 0,
                "name": "Design Department",
                "icon": ""
            },
            {
                "id": 19,
                "slug": "ksm-ltsmym-2",
                "is_active": 1,
                "is_pinned": 1,
                "parent": 0,
                "name": "Design Department",
                "icon": ""
            },
            {
                "id": 18,
                "slug": "ksm-ltsmym",
                "is_active": 1,
                "is_pinned": 1,
                "parent": 0,
                "name": "Design Department",
                "icon": ""
            },
            {
                "id": 17,
                "slug": "مخ-وأعصاب",
                "is_active": 1,
                "is_pinned": -1,
                "parent": 1,
                "name": "Neurology",
                "icon": ""
            },
            {
                "id": 15,
                "slug": "دماغ-وأعصاب",
                "is_active": -1,
                "is_pinned": -1,
                "parent": 1,
                "name": "Neurology",
                "icon": ""
            },
            {
                "id": 14,
                "slug": "القلب-والأوعية-الدموية",
                "is_active": 1,
                "is_pinned": 1,
                "parent": 1,
                "name": "Cardiology",
                "icon": ""
            },
            {
                "id": 13,
                "slug": "المسالك-البولية",
                "is_active": 1,
                "is_pinned": 1,
                "parent": 1,
                "name": "Urology",
                "icon": ""
            },
            {
                "id": 12,
                "slug": "نساء-وولادة",
                "is_active": 1,
                "is_pinned": 1,
                "parent": 1,
                "name": "Obstetrics and Gynecology",
                "icon": ""
            },
            {
                "id": 11,
                "slug": "Therapeutic-feeding",
                "is_active": 1,
                "is_pinned": -1,
                "parent": 1,
                "name": "Therapeutic feeding",
                "icon": ""
            },
            {
                "id": 10,
                "slug": "الجلدية",
                "is_active": 1,
                "is_pinned": 1,
                "parent": 1,
                "name": "Dermatology",
                "icon": ""
            },
            {
                "id": 9,
                "slug": null,
                "is_active": -1,
                "is_pinned": 1,
                "parent": 0,
                "name": "institutions",
                "icon": ""
            },
            {
                "id": 8,
                "slug": "مؤسسات",
                "is_active": 1,
                "is_pinned": 1,
                "parent": 0,
                "name": "Organizations",
                "icon": ""
            },
            {
                "id": 7,
                "slug": "الباطنية",
                "is_active": 1,
                "is_pinned": -1,
                "parent": 1,
                "name": "medicin",
                "icon": ""
            }
        ]
    },
    "first_page_url": "http://localhost/api/department/show-all?page=1",
    "last_page_url": "http://localhost/api/department/show-all?page=2",
    "next_page_url": "http://localhost/api/department/show-all?page=2",
    "prev_page_url": null,
    "per_page": 15,
    "total": 22,
    "current_page": 1,
    "last_page": 2
}
 

Request      

GET api/department/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All Department with childern

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/department/all-with-childern" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/department/all-with-childern"
);

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: *
 

{
    "success": true,
    "message": "Departments displayed successfully",
    "result": {
        "data": [
            {
                "id": 20,
                "slug": "ksm-ltsmym-3",
                "name": "Design Department",
                "selected": false,
                "icon": "",
                "users_count": 0,
                "children": []
            },
            {
                "id": 19,
                "slug": "ksm-ltsmym-2",
                "name": "Design Department",
                "selected": false,
                "icon": "",
                "users_count": 0,
                "children": []
            },
            {
                "id": 18,
                "slug": "ksm-ltsmym",
                "name": "Design Department",
                "selected": false,
                "icon": "",
                "users_count": 0,
                "children": []
            },
            {
                "id": 8,
                "slug": "مؤسسات",
                "name": "Organizations",
                "selected": false,
                "icon": "",
                "users_count": 0,
                "children": []
            },
            {
                "id": 5,
                "slug": "شركات-ادوية",
                "name": "medical companies",
                "selected": false,
                "icon": "",
                "users_count": 0,
                "children": []
            },
            {
                "id": 3,
                "slug": "اشعة-ومختبرات",
                "name": "Labs & Rays",
                "selected": false,
                "icon": "",
                "users_count": 0,
                "children": []
            },
            {
                "id": 4,
                "slug": "صيدليات",
                "name": "Pharmacies",
                "selected": false,
                "icon": "",
                "users_count": 0,
                "children": []
            },
            {
                "id": 1,
                "slug": "اطباء-وعيادات",
                "name": "Doctors",
                "selected": false,
                "icon": "",
                "users_count": 0,
                "children": [
                    {
                        "id": 6,
                        "slug": "طب-وجراحة-الفم-والاسنان",
                        "is_pinned": null,
                        "name": "Dentist",
                        "icon": ""
                    },
                    {
                        "id": 7,
                        "slug": "الباطنية",
                        "is_pinned": null,
                        "name": "medicin",
                        "icon": ""
                    },
                    {
                        "id": 10,
                        "slug": "الجلدية",
                        "is_pinned": null,
                        "name": "Dermatology",
                        "icon": ""
                    },
                    {
                        "id": 11,
                        "slug": "Therapeutic-feeding",
                        "is_pinned": null,
                        "name": "Therapeutic feeding",
                        "icon": ""
                    },
                    {
                        "id": 12,
                        "slug": "نساء-وولادة",
                        "is_pinned": null,
                        "name": "Obstetrics and Gynecology",
                        "icon": ""
                    },
                    {
                        "id": 13,
                        "slug": "المسالك-البولية",
                        "is_pinned": null,
                        "name": "Urology",
                        "icon": ""
                    },
                    {
                        "id": 14,
                        "slug": "القلب-والأوعية-الدموية",
                        "is_pinned": null,
                        "name": "Cardiology",
                        "icon": ""
                    },
                    {
                        "id": 16,
                        "slug": "جراحة-العظام-والمفاصل",
                        "is_pinned": null,
                        "name": "Orthopedic Surgery",
                        "icon": ""
                    },
                    {
                        "id": 17,
                        "slug": "مخ-وأعصاب",
                        "is_pinned": null,
                        "name": "Neurology",
                        "icon": ""
                    }
                ]
            },
            {
                "id": 2,
                "slug": "مستشفيات-ومراكز-صحية",
                "name": "Hospitals",
                "selected": false,
                "icon": "",
                "users_count": 0,
                "children": []
            }
        ]
    },
    "first_page_url": "http://localhost/api/department/all-with-childern?page=1",
    "last_page_url": "http://localhost/api/department/all-with-childern?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 9,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/department/all-with-childern

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Department

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/department/store" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name_ar=قسم التصميم"\
    --form "name_en=Design Department"\
    --form "is_active="\
    --form "is_pinned=1"\
    --form "parent=17"\
    --form "department_icon=@/tmp/phpdVhBb1" 
const url = new URL(
    "http://localhost/api/department/store"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('name_ar', 'قسم التصميم');
body.append('name_en', 'Design Department');
body.append('is_active', '');
body.append('is_pinned', '1');
body.append('parent', '17');
body.append('department_icon', document.querySelector('input[name="department_icon"]').files[0]);

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

Request      

POST api/department/store

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

name_ar   string   

Arabic department name. Must not be greater than 255 characters. Example: قسم التصميم

name_en   string  optional  

English department name. Must not be greater than 255 characters. Example: Design Department

is_active   boolean  optional  

Example: false

is_pinned   integer  optional  

Pinning status (-1=not pinned, 0=normal, 1=featured). Must be between -1 and 1. Example: 1

parent   integer  optional  

Example: 17

department_icon   file   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpdVhBb1

update an existing Department

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/department/update/1" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name_ar=vmqeopfuudtdsufvyvddq"\
    --form "name_en=amniihfqcoynlazghdtqt"\
    --form "is_active="\
    --form "is_pinned=13"\
    --form "parent=17"\
    --form "department_icon=@/tmp/phplAxClE" 
const url = new URL(
    "http://localhost/api/department/update/1"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('name_ar', 'vmqeopfuudtdsufvyvddq');
body.append('name_en', 'amniihfqcoynlazghdtqt');
body.append('is_active', '');
body.append('is_pinned', '13');
body.append('parent', '17');
body.append('department_icon', document.querySelector('input[name="department_icon"]').files[0]);

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

Request      

PATCH api/department/update/{department_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

department_id   integer   

The ID of the department. Example: 1

Body Parameters

name_ar   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

name_en   string  optional  

Must not be greater than 255 characters. Example: amniihfqcoynlazghdtqt

is_active   boolean  optional  

Example: false

is_pinned   integer  optional  

Must be between -1 and 1. Example: 13

parent   integer  optional  

Example: 17

department_icon   file  optional  

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phplAxClE

update Department toggle

Example request:
curl --request POST \
    "http://localhost/api/department/toggle-status/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/department/toggle-status/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/department/toggle-status/{department_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

department_id   integer   

The ID of the department. Example: 1

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

View Department

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/department/show/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/department/show/1"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/department/show/{department_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

department_id   integer   

The ID of the department. Example: 1

Delete Department

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/department/delete/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/department/delete/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/department/delete/{department_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

department_id   integer   

The ID of the department. Example: 1

POST api/department/images-upload

Example request:
curl --request POST \
    "http://localhost/api/department/images-upload" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "department_id=consequatur"\
    --form "department_image=@/tmp/phpMBrw6l" 
const url = new URL(
    "http://localhost/api/department/images-upload"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('department_id', 'consequatur');
body.append('department_image', document.querySelector('input[name="department_image"]').files[0]);

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

Request      

POST api/department/images-upload

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

department_id   string   

The id of an existing record in the articles table. Example: consequatur

department_image   file   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpMBrw6l

Diseases API

View All Disease

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/disease/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/disease/show-all"
);

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: *
 

{
    "success": true,
    "message": "Diseases displayed successfully",
    "result": {
        "data": [
            {
                "id": 2,
                "name": "covid_19",
                "is_active": 0
            },
            {
                "id": 1,
                "name": "covid_19",
                "is_active": 0
            }
        ]
    },
    "first_page_url": "http://localhost/api/disease/show-all?page=1",
    "last_page_url": "http://localhost/api/disease/show-all?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 2,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/disease/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Disease

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/disease/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\",
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/disease/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq",
    "is_active": false
};

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

Request      

POST api/disease/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

is_active   boolean  optional  

Disease activation status. Example: false

update an existing Disease

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/disease/update/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\",
    \"is_active\": true
}"
const url = new URL(
    "http://localhost/api/disease/update/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq",
    "is_active": true
};

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

Request      

PATCH api/disease/update/{disease_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

disease_id   integer   

The ID of the disease. Example: 1

Body Parameters

name   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

is_active   boolean  optional  

Example: true

update Disease toggle

Example request:
curl --request POST \
    "http://localhost/api/disease/toggle-status/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/disease/toggle-status/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/disease/toggle-status/{disease_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

disease_id   integer   

The ID of the disease. Example: 1

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

View Disease

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/disease/show/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/disease/show/1"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/disease/show/{disease_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

disease_id   integer   

The ID of the disease. Example: 1

Delete Disease

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/disease/delete/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/disease/delete/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/disease/delete/{disease_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

disease_id   integer   

The ID of the disease. Example: 1

Doctors API

View All Doctor

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/doctor" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/doctor"
);

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: *
 

{
    "success": true,
    "message": "doctors displayed successfully",
    "result": {
        "data": [
            {
                "id": 15,
                "clinic_id": 4,
                "name": "Dr.JohnDoe",
                "display_major": "Cardiologist",
                "notes": "Specializesinpediatriccardiology",
                "price": 150,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "http://localhost/storage/148/conversions/سمير-الحطامي-media-webp.webp",
                "days": [
                    {
                        "id": 15,
                        "day": "السبت",
                        "periods": [
                            {
                                "id": 23,
                                "period": "الفترة الاولى",
                                "start_at": "08:00",
                                "end_at": "16:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 14,
                "clinic_id": 4,
                "name": "Dr.JohnDoe",
                "display_major": "Cardiologist",
                "notes": "Specializesinpediatriccardiology",
                "price": 150,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "http://localhost/storage/147/conversions/سمير-الحطامي-media-webp.webp",
                "days": []
            },
            {
                "id": 13,
                "clinic_id": 2,
                "name": "بيسيب",
                "display_major": "يسبشيسب",
                "notes": "شيسبش",
                "price": 150,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "http://localhost/storage/49/61c4798370f16329c26c3a2440064f6b.jpg",
                "days": [
                    {
                        "id": 11,
                        "day": "Monday",
                        "periods": [
                            {
                                "id": 19,
                                "period": "morning",
                                "start_at": "12:00:00",
                                "end_at": "18:00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 12,
                "clinic_id": 2,
                "name": "بيسيب",
                "display_major": "يسبشيسب",
                "notes": "شيسبش",
                "price": 150,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "http://localhost/storage/48/61c4798370f16329c26c3a2440064f6b.jpg",
                "days": [
                    {
                        "id": 10,
                        "day": "Monday",
                        "periods": [
                            {
                                "id": 18,
                                "period": "morning",
                                "start_at": "12:00:00",
                                "end_at": "18:00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 11,
                "clinic_id": 2,
                "name": "بيسيب",
                "display_major": "يسبشيسب",
                "notes": "شيسبش",
                "price": 150,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "http://localhost/storage/47/61c4798370f16329c26c3a2440064f6b.jpg",
                "days": [
                    {
                        "id": 9,
                        "day": "Monday",
                        "periods": [
                            {
                                "id": 17,
                                "period": "morning",
                                "start_at": "12:00:00",
                                "end_at": "18:00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 10,
                "clinic_id": 1,
                "name": "Dr. John Doe",
                "display_major": "Cardiologist",
                "notes": "Specializes in pediatric cardiology",
                "price": 4000,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "",
                "days": [
                    {
                        "id": 5,
                        "day": "Monday",
                        "periods": [
                            {
                                "id": 3,
                                "period": "Morning",
                                "start_at": "09:00:00",
                                "end_at": "12:00:00"
                            },
                            {
                                "id": 4,
                                "period": "Morning",
                                "start_at": "13:00:00",
                                "end_at": "17:00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 9,
                "clinic_id": 1,
                "name": "Dr. John Doe",
                "display_major": "Cardiologist",
                "notes": "Specializes in pediatric cardiology",
                "price": 4000,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "",
                "days": [
                    {
                        "id": 4,
                        "day": "Thursday",
                        "periods": [
                            {
                                "id": 1,
                                "period": "Morning",
                                "start_at": "09:00:00",
                                "end_at": "12:00:00"
                            },
                            {
                                "id": 2,
                                "period": "evening",
                                "start_at": "12:00:00",
                                "end_at": "17:00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 7,
                "clinic_id": 2,
                "name": "Dr. John Doe edit",
                "display_major": "Cardiologist edit",
                "notes": "Specializes in pediatric cardiology edit",
                "price": 150,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "",
                "days": [
                    {
                        "id": 2,
                        "day": "Monday",
                        "periods": [
                            {
                                "id": 15,
                                "period": "Morning",
                                "start_at": "09:00:00",
                                "end_at": "12:00:00"
                            },
                            {
                                "id": 16,
                                "period": "Morning",
                                "start_at": "13:00:00",
                                "end_at": "17:00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 6,
                "clinic_id": 1,
                "name": "Dr. John Doe edit",
                "display_major": "Cardiologist edit",
                "notes": "Specializes in pediatric cardiology edit",
                "price": 4000,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "",
                "days": []
            }
        ]
    },
    "first_page_url": "http://localhost/api/doctor?page=1",
    "last_page_url": "http://localhost/api/doctor?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 9,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/doctor

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All Doctor for dashboard

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/doctor/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/doctor/show-all"
);

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: *
 

{
    "success": true,
    "message": "doctors displayed successfully",
    "result": {
        "data": [
            {
                "id": 15,
                "clinic_id": 4,
                "name": "Dr.JohnDoe",
                "display_major": "Cardiologist",
                "notes": "Specializesinpediatriccardiology",
                "price": 150,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "http://localhost/storage/148/conversions/سمير-الحطامي-media-webp.webp",
                "days": [
                    {
                        "id": 15,
                        "day": "السبت",
                        "periods": [
                            {
                                "id": 23,
                                "period": "الفترة الاولى",
                                "start_at": "08:00",
                                "end_at": "16:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 14,
                "clinic_id": 4,
                "name": "Dr.JohnDoe",
                "display_major": "Cardiologist",
                "notes": "Specializesinpediatriccardiology",
                "price": 150,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "http://localhost/storage/147/conversions/سمير-الحطامي-media-webp.webp",
                "days": []
            },
            {
                "id": 13,
                "clinic_id": 2,
                "name": "بيسيب",
                "display_major": "يسبشيسب",
                "notes": "شيسبش",
                "price": 150,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "http://localhost/storage/49/61c4798370f16329c26c3a2440064f6b.jpg",
                "days": [
                    {
                        "id": 11,
                        "day": "Monday",
                        "periods": [
                            {
                                "id": 19,
                                "period": "morning",
                                "start_at": "12:00:00",
                                "end_at": "18:00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 12,
                "clinic_id": 2,
                "name": "بيسيب",
                "display_major": "يسبشيسب",
                "notes": "شيسبش",
                "price": 150,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "http://localhost/storage/48/61c4798370f16329c26c3a2440064f6b.jpg",
                "days": [
                    {
                        "id": 10,
                        "day": "Monday",
                        "periods": [
                            {
                                "id": 18,
                                "period": "morning",
                                "start_at": "12:00:00",
                                "end_at": "18:00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 11,
                "clinic_id": 2,
                "name": "بيسيب",
                "display_major": "يسبشيسب",
                "notes": "شيسبش",
                "price": 150,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "http://localhost/storage/47/61c4798370f16329c26c3a2440064f6b.jpg",
                "days": [
                    {
                        "id": 9,
                        "day": "Monday",
                        "periods": [
                            {
                                "id": 17,
                                "period": "morning",
                                "start_at": "12:00:00",
                                "end_at": "18:00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 10,
                "clinic_id": 1,
                "name": "Dr. John Doe",
                "display_major": "Cardiologist",
                "notes": "Specializes in pediatric cardiology",
                "price": 4000,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "",
                "days": [
                    {
                        "id": 5,
                        "day": "Monday",
                        "periods": [
                            {
                                "id": 3,
                                "period": "Morning",
                                "start_at": "09:00:00",
                                "end_at": "12:00:00"
                            },
                            {
                                "id": 4,
                                "period": "Morning",
                                "start_at": "13:00:00",
                                "end_at": "17:00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 9,
                "clinic_id": 1,
                "name": "Dr. John Doe",
                "display_major": "Cardiologist",
                "notes": "Specializes in pediatric cardiology",
                "price": 4000,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "",
                "days": [
                    {
                        "id": 4,
                        "day": "Thursday",
                        "periods": [
                            {
                                "id": 1,
                                "period": "Morning",
                                "start_at": "09:00:00",
                                "end_at": "12:00:00"
                            },
                            {
                                "id": 2,
                                "period": "evening",
                                "start_at": "12:00:00",
                                "end_at": "17:00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 7,
                "clinic_id": 2,
                "name": "Dr. John Doe edit",
                "display_major": "Cardiologist edit",
                "notes": "Specializes in pediatric cardiology edit",
                "price": 150,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "",
                "days": [
                    {
                        "id": 2,
                        "day": "Monday",
                        "periods": [
                            {
                                "id": 15,
                                "period": "Morning",
                                "start_at": "09:00:00",
                                "end_at": "12:00:00"
                            },
                            {
                                "id": 16,
                                "period": "Morning",
                                "start_at": "13:00:00",
                                "end_at": "17:00:00"
                            }
                        ]
                    }
                ]
            },
            {
                "id": 6,
                "clinic_id": 1,
                "name": "Dr. John Doe edit",
                "display_major": "Cardiologist edit",
                "notes": "Specializes in pediatric cardiology edit",
                "price": 4000,
                "discount": 0,
                "is_active": 1,
                "is_reservation": 1,
                "image": "",
                "days": []
            }
        ]
    },
    "first_page_url": "http://localhost/api/doctor/show-all?page=1",
    "last_page_url": "http://localhost/api/doctor/show-all?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 9,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/doctor/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Doctor

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/doctor/store" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "clinic_id=1"\
    --form "name=Dr. John Doe"\
    --form "display_major=Cardiologist"\
    --form "notes=Specializes in pediatric cardiology"\
    --form "is_active="\
    --form "is_reservation=1"\
    --form "days[][day]=Monday"\
    --form "days[][is_active]="\
    --form "days[][periods][][period]=vmqeopfuudtdsufvyvddq"\
    --form "days[][periods][][start_at]=09:00"\
    --form "days[][periods][][end_at]=17:00"\
    --form "days[][periods][][is_active]="\
    --form "doctor_image=@/tmp/phpUm0ZF3" 
const url = new URL(
    "http://localhost/api/doctor/store"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('clinic_id', '1');
body.append('name', 'Dr. John Doe');
body.append('display_major', 'Cardiologist');
body.append('notes', 'Specializes in pediatric cardiology');
body.append('is_active', '');
body.append('is_reservation', '1');
body.append('days[][day]', 'Monday');
body.append('days[][is_active]', '');
body.append('days[][periods][][period]', 'vmqeopfuudtdsufvyvddq');
body.append('days[][periods][][start_at]', '09:00');
body.append('days[][periods][][end_at]', '17:00');
body.append('days[][periods][][is_active]', '');
body.append('doctor_image', document.querySelector('input[name="doctor_image"]').files[0]);

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

Request      

POST api/doctor/store

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

clinic_id   string   

ID of the associated clinic. The id of an existing record in the clinics table. Example: 1

name   string   

Name of the doctor. Must not be greater than 255 characters. Example: Dr. John Doe

display_major   string   

Doctor's specialty display name. Must not be greater than 255 characters. Example: Cardiologist

notes   string  optional  

Additional notes about the doctor. Example: Specializes in pediatric cardiology

is_active   boolean  optional  

Whether the doctor is active. Example: false

is_reservation   boolean  optional  

Example: true

disease_ids   string[]  optional  

The id of an existing record in the diseases table.

doctor_image   file   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpUm0ZF3

days   object[]  optional  

Array of working days. Must have at least 1 items.

day   string  optional  

Name of the day. Must not be greater than 255 characters. Example: Monday

is_active   boolean  optional  

Example: false

periods   object[]  optional  

Array of working periods for the day. Must have at least 1 items.

period   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

start_at   string  optional  

Start time of the period (HH:MM format). Example: 09:00

end_at   string  optional  

End time of the period (HH:MM format). Example: 17:00

is_active   boolean  optional  

Example: false

update an existing Doctor

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/doctor/update/6" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=vmqeopfuudtdsufvyvddq"\
    --form "display_major=amniihfqcoynlazghdtqt"\
    --form "notes=consequatur"\
    --form "is_active="\
    --form "is_reservation=1"\
    --form "days[][day]=mqeopfuudtdsufvyvddqa"\
    --form "days[][is_active]="\
    --form "days[][periods][][period]=mniihfqcoynlazghdtqtq"\
    --form "days[][periods][][start_at]=consequatur"\
    --form "days[][periods][][end_at]=consequatur"\
    --form "days[][periods][][is_active]=1"\
    --form "doctor_image=@/tmp/phpHtjHWl" 
const url = new URL(
    "http://localhost/api/doctor/update/6"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('name', 'vmqeopfuudtdsufvyvddq');
body.append('display_major', 'amniihfqcoynlazghdtqt');
body.append('notes', 'consequatur');
body.append('is_active', '');
body.append('is_reservation', '1');
body.append('days[][day]', 'mqeopfuudtdsufvyvddqa');
body.append('days[][is_active]', '');
body.append('days[][periods][][period]', 'mniihfqcoynlazghdtqtq');
body.append('days[][periods][][start_at]', 'consequatur');
body.append('days[][periods][][end_at]', 'consequatur');
body.append('days[][periods][][is_active]', '1');
body.append('doctor_image', document.querySelector('input[name="doctor_image"]').files[0]);

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

Request      

PATCH api/doctor/update/{doctor_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

doctor_id   integer   

The ID of the doctor. Example: 6

Body Parameters

clinic_id   string  optional  

The id of an existing record in the clinics table.

name   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

display_major   string  optional  

Must not be greater than 255 characters. Example: amniihfqcoynlazghdtqt

notes   string  optional  

Example: consequatur

is_active   boolean  optional  

Example: false

is_reservation   boolean  optional  

Example: true

disease_ids   string[]  optional  

The id of an existing record in the diseases table.

doctor_image   file  optional  

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpHtjHWl

days   object[]  optional  

Must have at least 1 items.

id   string  optional  

The id of an existing record in the days table.

day   string  optional  

Must not be greater than 255 characters. Example: mqeopfuudtdsufvyvddqa

is_active   boolean  optional  

Example: false

periods   object[]  optional  

Must have at least 1 items.

id   string  optional  

The id of an existing record in the periods table.

period   string   

Must not be greater than 255 characters. Example: mniihfqcoynlazghdtqtq

start_at   string  optional  

Example: consequatur

end_at   string  optional  

Example: consequatur

is_active   boolean  optional  

Example: true

update Doctor toggle

Example request:
curl --request POST \
    "http://localhost/api/doctor/toggle-status/6" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/doctor/toggle-status/6"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/doctor/toggle-status/{doctor_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

doctor_id   integer   

The ID of the doctor. Example: 6

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

View Doctor

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/doctor/show/6" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/doctor/show/6"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/doctor/show/{doctor_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

doctor_id   integer   

The ID of the doctor. Example: 6

Delete Doctor

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/doctor/delete/6" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/doctor/delete/6"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/doctor/delete/{doctor_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

doctor_id   integer   

The ID of the doctor. Example: 6

View All Doctor

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/member-doctor" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/member-doctor"
);

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: *
 

{
    "success": true,
    "message": "doctors displayed successfully",
    "result": {
        "data": []
    },
    "first_page_url": "http://localhost/api/member-doctor?page=1",
    "last_page_url": "http://localhost/api/member-doctor?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 0,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/member-doctor

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Doctor

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/member-doctor/store" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "clinic_id=1"\
    --form "name=Dr. John Doe"\
    --form "display_major=Cardiologist"\
    --form "notes=Specializes in pediatric cardiology"\
    --form "is_active="\
    --form "is_reservation="\
    --form "days[][day]=Monday"\
    --form "days[][is_active]="\
    --form "days[][periods][][period]=vmqeopfuudtdsufvyvddq"\
    --form "days[][periods][][start_at]=09:00"\
    --form "days[][periods][][end_at]=17:00"\
    --form "days[][periods][][is_active]="\
    --form "doctor_image=@/tmp/php5jznab" 
const url = new URL(
    "http://localhost/api/member-doctor/store"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('clinic_id', '1');
body.append('name', 'Dr. John Doe');
body.append('display_major', 'Cardiologist');
body.append('notes', 'Specializes in pediatric cardiology');
body.append('is_active', '');
body.append('is_reservation', '');
body.append('days[][day]', 'Monday');
body.append('days[][is_active]', '');
body.append('days[][periods][][period]', 'vmqeopfuudtdsufvyvddq');
body.append('days[][periods][][start_at]', '09:00');
body.append('days[][periods][][end_at]', '17:00');
body.append('days[][periods][][is_active]', '');
body.append('doctor_image', document.querySelector('input[name="doctor_image"]').files[0]);

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

Request      

POST api/member-doctor/store

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

clinic_id   string   

ID of the associated clinic. The id of an existing record in the clinics table. Example: 1

name   string   

Name of the doctor. Must not be greater than 255 characters. Example: Dr. John Doe

display_major   string   

Doctor's specialty display name. Must not be greater than 255 characters. Example: Cardiologist

notes   string  optional  

Additional notes about the doctor. Example: Specializes in pediatric cardiology

is_active   boolean  optional  

Whether the doctor is active. Example: false

is_reservation   boolean  optional  

Example: false

disease_ids   string[]  optional  

The id of an existing record in the diseases table.

doctor_image   file   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/php5jznab

days   object[]  optional  

Array of working days. Must have at least 1 items.

day   string  optional  

Name of the day. Must not be greater than 255 characters. Example: Monday

is_active   boolean  optional  

Example: false

periods   object[]  optional  

Array of working periods for the day. Must have at least 1 items.

period   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

start_at   string  optional  

Start time of the period (HH:MM format). Example: 09:00

end_at   string  optional  

End time of the period (HH:MM format). Example: 17:00

is_active   boolean  optional  

Example: false

update an existing Doctor

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/member-doctor/update/6" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=vmqeopfuudtdsufvyvddq"\
    --form "display_major=amniihfqcoynlazghdtqt"\
    --form "notes=consequatur"\
    --form "is_active=1"\
    --form "is_reservation="\
    --form "days[][day]=mqeopfuudtdsufvyvddqa"\
    --form "days[][is_active]="\
    --form "days[][periods][][period]=mniihfqcoynlazghdtqtq"\
    --form "days[][periods][][start_at]=consequatur"\
    --form "days[][periods][][end_at]=consequatur"\
    --form "days[][periods][][is_active]=1"\
    --form "doctor_image=@/tmp/phpctZStb" 
const url = new URL(
    "http://localhost/api/member-doctor/update/6"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('name', 'vmqeopfuudtdsufvyvddq');
body.append('display_major', 'amniihfqcoynlazghdtqt');
body.append('notes', 'consequatur');
body.append('is_active', '1');
body.append('is_reservation', '');
body.append('days[][day]', 'mqeopfuudtdsufvyvddqa');
body.append('days[][is_active]', '');
body.append('days[][periods][][period]', 'mniihfqcoynlazghdtqtq');
body.append('days[][periods][][start_at]', 'consequatur');
body.append('days[][periods][][end_at]', 'consequatur');
body.append('days[][periods][][is_active]', '1');
body.append('doctor_image', document.querySelector('input[name="doctor_image"]').files[0]);

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

Request      

PATCH api/member-doctor/update/{doctor_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

doctor_id   integer   

The ID of the doctor. Example: 6

Body Parameters

clinic_id   string  optional  

The id of an existing record in the clinics table.

name   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

display_major   string  optional  

Must not be greater than 255 characters. Example: amniihfqcoynlazghdtqt

notes   string  optional  

Example: consequatur

is_active   boolean  optional  

Example: true

is_reservation   boolean  optional  

Example: false

disease_ids   string[]  optional  

The id of an existing record in the diseases table.

doctor_image   file  optional  

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpctZStb

days   object[]  optional  

Must have at least 1 items.

id   string  optional  

The id of an existing record in the days table.

day   string  optional  

Must not be greater than 255 characters. Example: mqeopfuudtdsufvyvddqa

is_active   boolean  optional  

Example: false

periods   object[]  optional  

Must have at least 1 items.

id   string  optional  

The id of an existing record in the periods table.

period   string   

Must not be greater than 255 characters. Example: mniihfqcoynlazghdtqtq

start_at   string  optional  

Example: consequatur

end_at   string  optional  

Example: consequatur

is_active   boolean  optional  

Example: true

Endpoints

GET api/user

Example request:
curl --request GET \
    --get "http://localhost/api/user" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/user"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/user

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/config/countries

Example request:
curl --request GET \
    --get "http://localhost/api/config/countries" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/config/countries"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "Server Error"
}
 

Request      

GET api/config/countries

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/sitemap.xml

Example request:
curl --request GET \
    --get "http://localhost/api/sitemap.xml" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/sitemap.xml"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (200):

Show headers
content-type: text/xml; charset=UTF-8
cache-control: no-cache, private
access-control-allow-origin: *
 

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9">
    <url>
    <loc>http://localhost/blog</loc>
    <lastmod>2025-04-23T11:26:16+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/blog/introduction-to-laravel</loc>
    <lastmod>2025-04-20T09:23:39+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/blog/introduction-to-laravel-2</loc>
    <lastmod>2025-04-23T11:14:28+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/blog/introduction-to-laravel-3</loc>
    <lastmod>2025-04-23T11:23:49+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/blog/introduction-to-laravel-edit</loc>
    <lastmod>2025-05-03T17:02:50+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/blog/introduction-to-laravel-4</loc>
    <lastmod>2025-05-24T12:35:29+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/blog/introduction-to-laravel-5</loc>
    <lastmod>2025-05-24T12:35:29+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/blog/introduction-to-laravel-6</loc>
    <lastmod>2025-06-23T13:23:49+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/blog/introduction-to-laravel-7</loc>
    <lastmod>2025-06-23T13:23:49+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/blog/introduction-to-laravel-8</loc>
    <lastmod>2025-06-23T13:26:48+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/blog/introduction-to-laravel-9</loc>
    <lastmod>2025-06-24T07:31:36+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmd-ahmdACCAA</loc>
    <lastmod>2025-05-25T07:41:32+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmd-ahmd-2</loc>
    <lastmod>2025-04-07T12:35:13+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmd-ahmd-3</loc>
    <lastmod>2025-04-07T12:37:49+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmd-ahmd-4</loc>
    <lastmod>2025-04-07T12:39:06+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmd-ahmd-5</loc>
    <lastmod>2025-04-07T12:42:08+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmd-ahmd-6</loc>
    <lastmod>2025-04-07T12:45:31+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmd-ahmd-7</loc>
    <lastmod>2025-04-07T13:00:15+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmd-ahmd-8</loc>
    <lastmod>2025-04-20T08:39:54+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmd-ahmd</loc>
    <lastmod>2025-04-24T11:21:55+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmd-ahmd-9</loc>
    <lastmod>2025-04-24T11:43:27+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmd-ahmd-10</loc>
    <lastmod>2025-04-24T11:44:34+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmd-ahmd-11</loc>
    <lastmod>2025-05-11T12:57:18+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmdahmd</loc>
    <lastmod>2025-05-06T10:53:00+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmdahmd-2</loc>
    <lastmod>2025-05-06T10:56:17+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmdahmd-3</loc>
    <lastmod>2025-05-06T10:57:07+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmdahmd-4</loc>
    <lastmod>2025-05-06T10:58:46+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmdahmd-5</loc>
    <lastmod>2025-05-06T10:59:34+00:00</lastmod>
            </url>
    <url>
    <loc>http://localhost/profile/mhmdahmd-6</loc>
    <lastmod>2025-05-06T11:01:14+00:00</lastmod>
            </url>
</urlset>

 

Request      

GET api/sitemap.xml

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Favorites API

GET api/favorite

Example request:
curl --request GET \
    --get "http://localhost/api/favorite" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/favorite"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/favorite

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Favorite

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/favorite/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"favoritable_type\": \"vmqeopfuudtdsufvyvddq\",
    \"type\": \"save\",
    \"favoritable_id\": 17
}"
const url = new URL(
    "http://localhost/api/favorite/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "favoritable_type": "vmqeopfuudtdsufvyvddq",
    "type": "save",
    "favoritable_id": 17
};

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

Request      

POST api/favorite/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

favoritable_type   string   

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

type   string   

Type of interaction (save/share). Example: save

Must be one of:
  • save
  • share
favoritable_id   integer   

Example: 17

View Favorite

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/favorite/show/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/favorite/show/1"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/favorite/show/{favorite_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

favorite_id   integer   

The ID of the favorite. Example: 1

update an existing Favorite

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/favorite/update/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"table_type\": \"vmqeopfuudtdsufvyvddq\",
    \"type\": \"save\",
    \"table_id\": 17
}"
const url = new URL(
    "http://localhost/api/favorite/update/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "table_type": "vmqeopfuudtdsufvyvddq",
    "type": "save",
    "table_id": 17
};

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

Request      

PATCH api/favorite/update/{favorite_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

favorite_id   integer   

The ID of the favorite. Example: 1

Body Parameters

user_id   string  optional  

The id of an existing record in the users table.

table_type   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

type   string  optional  

Example: save

Must be one of:
  • save
  • share
table_id   integer  optional  

Example: 17

Delete Favorite

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/favorite/delete/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/favorite/delete/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/favorite/delete/{favorite_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

favorite_id   integer   

The ID of the favorite. Example: 1

JoinRequests API

View All JoinRequest for dashboard

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/join-resquest/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/join-resquest/show-all"
);

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: *
 

{
    "success": true,
    "message": "JoinRequests displayed successfully",
    "result": {
        "data": [
            {
                "id": 1,
                "name": "John",
                "last_name": "Doe",
                "major": "Computer Science",
                "email": "john.doe@example.com",
                "phone": "+1234567890",
                "city": "New York",
                "address": "123 Main Street, Apt 4B",
                "notes": "Interested in AI research projects",
                "status": 0,
                "is_active": 1
            },
            {
                "id": 2,
                "name": "John",
                "last_name": "Doe",
                "major": "Computer Science",
                "email": "john.doe@example.com",
                "phone": "+1234567890",
                "city": "New York",
                "address": "123 Main Street, Apt 4B",
                "notes": "Interested in AI research projects",
                "status": 1,
                "is_active": 1
            }
        ]
    },
    "first_page_url": "http://localhost/api/join-resquest/show-all?page=1",
    "last_page_url": "http://localhost/api/join-resquest/show-all?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 2,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/join-resquest/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new JoinRequest

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/join-resquest/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"John\",
    \"last_name\": \"Doe\",
    \"major\": \"Computer Science\",
    \"email\": \"john.doe@example.com\",
    \"phone\": \"+1234567890\",
    \"city\": \"New York\",
    \"address\": \"123 Main Street, Apt 4B\",
    \"notes\": \"Available for part-time opportunities\"
}"
const url = new URL(
    "http://localhost/api/join-resquest/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "John",
    "last_name": "Doe",
    "major": "Computer Science",
    "email": "john.doe@example.com",
    "phone": "+1234567890",
    "city": "New York",
    "address": "123 Main Street, Apt 4B",
    "notes": "Available for part-time opportunities"
};

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

Request      

POST api/join-resquest/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

First name of the applicant. Must not be greater than 255 characters. Example: John

last_name   string   

Last name of the applicant. Must not be greater than 255 characters. Example: Doe

major   string   

Field of study or expertise. Must not be greater than 255 characters. Example: Computer Science

email   string  optional  

Contact email address. Must be a valid email address. Must not be greater than 255 characters. Example: john.doe@example.com

phone   string  optional  

Contact phone number. Must not be greater than 20 characters. Example: +1234567890

city   string  optional  

City of residence. Must not be greater than 255 characters. Example: New York

address   string   

Full physical address. Example: 123 Main Street, Apt 4B

notes   string  optional  

Additional comments or information. Example: Available for part-time opportunities

View JoinRequest

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/join-resquest/show/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/join-resquest/show/1"
);

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: *
 

{
    "success": true,
    "message": "تمت العملية",
    "result": {
        "id": 1,
        "name": "John",
        "last_name": "Doe",
        "major": "Computer Science",
        "email": "john.doe@example.com",
        "phone": "+1234567890",
        "city": "New York",
        "address": "123 Main Street, Apt 4B",
        "notes": "Interested in AI research projects",
        "status": 0,
        "is_active": 1
    }
}
 

Request      

GET api/join-resquest/show/{joinrequest_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

joinrequest_id   integer   

The ID of the joinrequest. Example: 1

update an existing JoinRequest

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/join-resquest/update/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\",
    \"last_name\": \"amniihfqcoynlazghdtqt\",
    \"major\": \"qxbajwbpilpmufinllwlo\",
    \"email\": \"schmitt.beulah@example.org\",
    \"phone\": \"smsjuryvojcybzvrb\",
    \"city\": \"yickznkygloigmkwxphlv\",
    \"address\": \"consequatur\",
    \"notes\": \"consequatur\",
    \"status\": false,
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/join-resquest/update/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq",
    "last_name": "amniihfqcoynlazghdtqt",
    "major": "qxbajwbpilpmufinllwlo",
    "email": "schmitt.beulah@example.org",
    "phone": "smsjuryvojcybzvrb",
    "city": "yickznkygloigmkwxphlv",
    "address": "consequatur",
    "notes": "consequatur",
    "status": false,
    "is_active": false
};

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

Request      

PATCH api/join-resquest/update/{joinrequest_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

joinrequest_id   integer   

The ID of the joinrequest. Example: 1

Body Parameters

name   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

last_name   string  optional  

Must not be greater than 255 characters. Example: amniihfqcoynlazghdtqt

major   string  optional  

Must not be greater than 255 characters. Example: qxbajwbpilpmufinllwlo

email   string  optional  

Must be a valid email address. Must not be greater than 255 characters. Example: schmitt.beulah@example.org

phone   string  optional  

Must not be greater than 20 characters. Example: smsjuryvojcybzvrb

city   string  optional  

Must not be greater than 255 characters. Example: yickznkygloigmkwxphlv

address   string  optional  

Example: consequatur

notes   string  optional  

Example: consequatur

status   boolean  optional  

Example: false

is_active   boolean  optional  

Example: false

update JoinRequest toggle

Example request:
curl --request POST \
    "http://localhost/api/join-resquest/toggle-status/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/join-resquest/toggle-status/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/join-resquest/toggle-status/{joinrequest_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

joinrequest_id   integer   

The ID of the joinrequest. Example: 1

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

Delete JoinRequest

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/join-resquest/delete/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/join-resquest/delete/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/join-resquest/delete/{joinrequest_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

joinrequest_id   integer   

The ID of the joinrequest. Example: 1

Offers API

View All Offer

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/offer" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/offer"
);

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: *
 

{
    "success": true,
    "message": "Offers displayed successfully",
    "result": {
        "data": [
            {
                "id": 4,
                "user_name": null,
                "user_image": "",
                "title": "Special Offer edit",
                "desc": "Offer description in English",
                "is_active": 1
            },
            {
                "id": 2,
                "user_name": null,
                "user_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "title": "Special Offer",
                "desc": "Offer description in English",
                "is_active": 1
            }
        ]
    },
    "first_page_url": "http://localhost/api/offer?page=1",
    "last_page_url": "http://localhost/api/offer?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 2,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/offer

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All Offer for dashboard

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/offer/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/offer/show-all"
);

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: *
 

{
    "success": true,
    "message": "Offers displayed successfully",
    "result": {
        "data": [
            {
                "id": 2,
                "user_name": null,
                "user_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "title": "Special Offer",
                "desc": "Offer description in English",
                "is_active": 1
            },
            {
                "id": 3,
                "user_name": null,
                "user_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "title": "Special Offer",
                "desc": "Offer description in English",
                "is_active": 0
            },
            {
                "id": 4,
                "user_name": null,
                "user_image": "",
                "title": "Special Offer edit",
                "desc": "Offer description in English",
                "is_active": 1
            }
        ]
    },
    "first_page_url": "http://localhost/api/offer/show-all?page=1",
    "last_page_url": "http://localhost/api/offer/show-all?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 3,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/offer/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Offer

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/offer/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title_ar\": \"عرض خاص\",
    \"title_en\": \"Special Offer\",
    \"desc_ar\": \"وصف العرض باللغة العربية\",
    \"desc_en\": \"Offer description in English\",
    \"user_id\": 1,
    \"start_date\": \"2024-01-01\",
    \"end_date\": \"2024-12-31\",
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/offer/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title_ar": "عرض خاص",
    "title_en": "Special Offer",
    "desc_ar": "وصف العرض باللغة العربية",
    "desc_en": "Offer description in English",
    "user_id": 1,
    "start_date": "2024-01-01",
    "end_date": "2024-12-31",
    "is_active": false
};

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

Request      

POST api/offer/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

title_ar   string   

Arabic title for the offer. Must not be greater than 255 characters. Example: عرض خاص

title_en   string   

English title for the offer. Must not be greater than 255 characters. Example: Special Offer

desc_ar   string   

Arabic description. Must not be greater than 500 characters. Example: وصف العرض باللغة العربية

desc_en   string   

English description. Must not be greater than 500 characters. Example: Offer description in English

user_id   string   

ID of the user creating the offer. The id of an existing record in the users table. Example: 1

start_date   string   

Offer start date (YYYY-MM-DD). Must be a valid date. Must be a date after or equal to today. Example: 2024-01-01

end_date   string   

Offer end date (YYYY-MM-DD). Must be a valid date. Must be a date after start_date. Example: 2024-12-31

is_active   boolean  optional  

Offer activation status. Example: false

View Offer

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/offer/show/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/offer/show/2"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/offer/show/{offer_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 2

update an existing Offer

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/offer/update/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title_ar\": \"عرض محدث\",
    \"title_en\": \"Updated Offer\",
    \"desc_ar\": \"vmqeopfuudtdsufvyvddq\",
    \"desc_en\": \"amniihfqcoynlazghdtqt\",
    \"start_date\": \"2025-06-25T15:13:20\",
    \"end_date\": \"2106-07-25\",
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/offer/update/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title_ar": "عرض محدث",
    "title_en": "Updated Offer",
    "desc_ar": "vmqeopfuudtdsufvyvddq",
    "desc_en": "amniihfqcoynlazghdtqt",
    "start_date": "2025-06-25T15:13:20",
    "end_date": "2106-07-25",
    "is_active": false
};

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

Request      

PATCH api/offer/update/{offer_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 2

Body Parameters

title_ar   string  optional  

Updated Arabic title. Must not be greater than 255 characters. Example: عرض محدث

title_en   string  optional  

Updated English title. Must not be greater than 255 characters. Example: Updated Offer

desc_ar   string  optional  

Must not be greater than 500 characters. Example: vmqeopfuudtdsufvyvddq

desc_en   string  optional  

Must not be greater than 500 characters. Example: amniihfqcoynlazghdtqt

user_id   string  optional  

The id of an existing record in the users table.

start_date   string  optional  

Must be a valid date. Example: 2025-06-25T15:13:20

end_date   string  optional  

Must be a valid date. Must be a date after start_date. Example: 2106-07-25

is_active   boolean  optional  

Example: false

update Offer toggle

Example request:
curl --request POST \
    "http://localhost/api/offer/toggle-status/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/offer/toggle-status/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/offer/toggle-status/{offer_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 2

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

Delete Offer

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/offer/delete/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/offer/delete/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/offer/delete/{offer_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 2

View All Offer

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/member-offer" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/member-offer"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/member-offer

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Offer

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/member-offer/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title_ar\": \"عرض خاص\",
    \"title_en\": \"Special Offer\",
    \"desc_ar\": \"وصف العرض باللغة العربية\",
    \"desc_en\": \"Offer description in English\",
    \"start_date\": \"2024-01-01\",
    \"end_date\": \"2024-12-31\",
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/member-offer/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title_ar": "عرض خاص",
    "title_en": "Special Offer",
    "desc_ar": "وصف العرض باللغة العربية",
    "desc_en": "Offer description in English",
    "start_date": "2024-01-01",
    "end_date": "2024-12-31",
    "is_active": false
};

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

Request      

POST api/member-offer/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

title_ar   string   

Arabic title for the offer. Must not be greater than 255 characters. Example: عرض خاص

title_en   string   

English title for the offer. Must not be greater than 255 characters. Example: Special Offer

desc_ar   string   

Arabic description. Must not be greater than 500 characters. Example: وصف العرض باللغة العربية

desc_en   string   

English description. Must not be greater than 500 characters. Example: Offer description in English

start_date   string   

Offer start date (YYYY-MM-DD). Must be a valid date. Must be a date after or equal to today. Example: 2024-01-01

end_date   string   

Offer end date (YYYY-MM-DD). Must be a valid date. Must be a date after start_date. Example: 2024-12-31

is_active   boolean  optional  

Offer activation status. Example: false

View Offer

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/member-offer/show/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/member-offer/show/2"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/member-offer/show/{offer_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 2

update an existing Offer

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/member-offer/update/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"title_ar\": \"عرض محدث\",
    \"title_en\": \"Updated Offer\",
    \"desc_ar\": \"vmqeopfuudtdsufvyvddq\",
    \"desc_en\": \"amniihfqcoynlazghdtqt\",
    \"start_date\": \"2025-06-25T15:13:20\",
    \"end_date\": \"2106-07-25\",
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/member-offer/update/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "title_ar": "عرض محدث",
    "title_en": "Updated Offer",
    "desc_ar": "vmqeopfuudtdsufvyvddq",
    "desc_en": "amniihfqcoynlazghdtqt",
    "start_date": "2025-06-25T15:13:20",
    "end_date": "2106-07-25",
    "is_active": false
};

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

Request      

PATCH api/member-offer/update/{offer_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 2

Body Parameters

title_ar   string  optional  

Updated Arabic title. Must not be greater than 255 characters. Example: عرض محدث

title_en   string  optional  

Updated English title. Must not be greater than 255 characters. Example: Updated Offer

desc_ar   string  optional  

Must not be greater than 500 characters. Example: vmqeopfuudtdsufvyvddq

desc_en   string  optional  

Must not be greater than 500 characters. Example: amniihfqcoynlazghdtqt

start_date   string  optional  

Must be a valid date. Example: 2025-06-25T15:13:20

end_date   string  optional  

Must be a valid date. Must be a date after start_date. Example: 2106-07-25

is_active   boolean  optional  

Example: false

Posts API

View All Post

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/post" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/post"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "The selected slug is invalid.",
    "errors": {
        "slug": [
            "The selected slug is invalid."
        ]
    }
}
 

Request      

GET api/post

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the users table. Example: consequatur

View All Post for dashboard

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/post/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/post/show-all"
);

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: *
 

{
    "success": true,
    "message": "Posts displayed successfully",
    "result": {
        "data": [
            {
                "id": 9,
                "content": "sdfasda sdA edit*****",
                "views_count": 0,
                "name": null,
                "publish_date": "2025-12-12",
                "is_active": 1,
                "images": []
            },
            {
                "id": 8,
                "content": "sdfasda sdA DSF",
                "views_count": 0,
                "name": null,
                "publish_date": "2025-06-12",
                "is_active": 1,
                "images": []
            },
            {
                "id": 7,
                "content": "sdfasda sdA DSF",
                "views_count": 0,
                "name": null,
                "publish_date": "2025-06-12",
                "is_active": 1,
                "images": []
            },
            {
                "id": 6,
                "content": "sdfasda sdA DSF",
                "views_count": 0,
                "name": null,
                "publish_date": "2025-06-12",
                "is_active": 1,
                "images": []
            },
            {
                "id": 5,
                "content": "sdfasda sdA DSF",
                "views_count": 0,
                "name": null,
                "publish_date": "2025-06-25",
                "is_active": 1,
                "images": []
            },
            {
                "id": 4,
                "content": "sdfasda sdA DSF",
                "views_count": 0,
                "name": null,
                "publish_date": "2025-06-25",
                "is_active": 1,
                "images": []
            },
            {
                "id": 3,
                "content": "sdfasda sdA DSF",
                "views_count": 0,
                "name": null,
                "publish_date": "2025-06-25",
                "is_active": 1,
                "images": []
            },
            {
                "id": 2,
                "content": "sdfasda sdA edit*****",
                "views_count": 2,
                "name": null,
                "publish_date": "2025-12-12",
                "is_active": 1,
                "images": [
                    "http://localhost/storage/5/conversions/435f792ff6839d11142f391386e676de-media-webp.webp",
                    "http://localhost/storage/53/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                    "http://localhost/storage/54/conversions/1642566237-media-webp.webp"
                ]
            }
        ]
    },
    "first_page_url": "http://localhost/api/post/show-all?page=1",
    "last_page_url": "http://localhost/api/post/show-all?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 8,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/post/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Post

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/post/store" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "content=Today we launched new features!"\
    --form "is_active="\
    --form "user_id=1"\
    --form "publish_date=2023-10-15"\
    --form "post_image[]=@/tmp/php7Wa9eO" 
const url = new URL(
    "http://localhost/api/post/store"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('content', 'Today we launched new features!');
body.append('is_active', '');
body.append('user_id', '1');
body.append('publish_date', '2023-10-15');
body.append('post_image[]', document.querySelector('input[name="post_image[]"]').files[0]);

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

Request      

POST api/post/store

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

content   string   

The content of the post. Example: Today we launched new features!

is_active   boolean  optional  

Whether the post is active (default: true). Example: false

user_id   string   

The ID of the user who owns the clinic. The id of an existing record in the users table. Example: 1

publish_date   string   

Date when the post was accomplished. Must be a valid date. Example: 2023-10-15

post_image   file[]   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes.

update an existing Post

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/post/update/2" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "content=consequatur"\
    --form "is_active="\
    --form "publish_date=2025-06-25T15:13:20"\
    --form "post_image[]=@/tmp/phpxY1JqD" 
const url = new URL(
    "http://localhost/api/post/update/2"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('content', 'consequatur');
body.append('is_active', '');
body.append('publish_date', '2025-06-25T15:13:20');
body.append('post_image[]', document.querySelector('input[name="post_image[]"]').files[0]);

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

Request      

PATCH api/post/update/{post_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

post_id   integer   

The ID of the post. Example: 2

Body Parameters

content   string  optional  

Example: consequatur

is_active   boolean  optional  

Example: false

user_id   string  optional  

The id of an existing record in the users table.

publish_date   string  optional  

Must be a valid date. Example: 2025-06-25T15:13:20

post_image   file[]   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes.

update Post toggle

Example request:
curl --request POST \
    "http://localhost/api/post/toggle-status/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/post/toggle-status/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/post/toggle-status/{post_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

post_id   integer   

The ID of the post. Example: 2

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

update an existing post view counts

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/post/post-count/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/post/post-count/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Request      

POST api/post/post-count/{post_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

post_id   integer   

The ID of the post. Example: 2

View Post

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/post/show/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/post/show/2"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/post/show/{post_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

post_id   integer   

The ID of the post. Example: 2

Delete Post

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/post/delete/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/post/delete/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/post/delete/{post_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

post_id   integer   

The ID of the post. Example: 2

POST api/post/images-upload

Example request:
curl --request POST \
    "http://localhost/api/post/images-upload" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "post_id=consequatur"\
    --form "post_image[]=@/tmp/phpiVhqEj" 
const url = new URL(
    "http://localhost/api/post/images-upload"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('post_id', 'consequatur');
body.append('post_image[]', document.querySelector('input[name="post_image[]"]').files[0]);

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

Request      

POST api/post/images-upload

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

post_id   string   

The id of an existing record in the posts table. Example: consequatur

post_image   file[]   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes.

View All Post

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/member-post" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/member-post"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "The selected slug is invalid.",
    "errors": {
        "slug": [
            "The selected slug is invalid."
        ]
    }
}
 

Request      

GET api/member-post

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the users table. Example: consequatur

create a new Post

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/member-post/store" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "content=Today we launched new features!"\
    --form "is_active="\
    --form "publish_date=2023-10-15"\
    --form "post_image[]=@/tmp/phpifHLR4" 
const url = new URL(
    "http://localhost/api/member-post/store"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('content', 'Today we launched new features!');
body.append('is_active', '');
body.append('publish_date', '2023-10-15');
body.append('post_image[]', document.querySelector('input[name="post_image[]"]').files[0]);

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

Request      

POST api/member-post/store

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

content   string   

The content of the post. Example: Today we launched new features!

is_active   boolean  optional  

Whether the post is active (default: true). Example: false

publish_date   string   

Date when the post was accomplished. Must be a valid date. Example: 2023-10-15

post_image   file[]   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes.

update an existing Post

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/member-post/update/2" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "content=consequatur"\
    --form "is_active=1"\
    --form "publish_date=2025-06-25T15:13:20"\
    --form "post_image[]=@/tmp/phpuLwHf3" 
const url = new URL(
    "http://localhost/api/member-post/update/2"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('content', 'consequatur');
body.append('is_active', '1');
body.append('publish_date', '2025-06-25T15:13:20');
body.append('post_image[]', document.querySelector('input[name="post_image[]"]').files[0]);

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

Request      

PATCH api/member-post/update/{post_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

post_id   integer   

The ID of the post. Example: 2

Body Parameters

content   string  optional  

Example: consequatur

is_active   boolean  optional  

Example: true

publish_date   string  optional  

Must be a valid date. Example: 2025-06-25T15:13:20

post_image   file[]   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes.

Reservations API

View All Reservation

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/reservation/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/reservation/show-all"
);

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: *
 

{
    "success": true,
    "message": "reservation displayed successfully",
    "result": {
        "data": [
            {
                "id": 27,
                "type": "doctor",
                "statues": "pending",
                "period": "صباحا",
                "reservation_date": "2025-05-20",
                "is_active": null,
                "reservation_day": "الثلاثاء",
                "address": "Main Branch",
                "name": "محمد أحمد",
                "clinic_doctor": null
            },
            {
                "id": 26,
                "type": "doctor",
                "statues": "pending",
                "period": "صباحا",
                "reservation_date": "2025-05-20",
                "is_active": null,
                "reservation_day": "الثلاثاء",
                "address": "Main Branch",
                "name": "محمد أحمد",
                "clinic_doctor": null
            },
            {
                "id": 22,
                "type": "doctor",
                "statues": "pending",
                "period": "صباحا",
                "reservation_date": "2025-05-20",
                "is_active": null,
                "reservation_day": "الثلاثاء",
                "address": "Main Branch",
                "name": "محمد أحمد",
                "clinic_doctor": null
            },
            {
                "id": 21,
                "type": "doctor",
                "statues": "pending",
                "period": "صباحا",
                "reservation_date": "2025-05-20",
                "is_active": null,
                "reservation_day": "الثلاثاء",
                "address": "Main Branch",
                "name": "محمد أحمد",
                "clinic_doctor": null
            },
            {
                "id": 20,
                "type": "doctor",
                "statues": "pending",
                "period": "صباحا",
                "reservation_date": "2025-05-20",
                "is_active": null,
                "reservation_day": "الثلاثاء",
                "address": "Main Branch",
                "name": "محمد أحمد",
                "clinic_doctor": null
            },
            {
                "id": 19,
                "type": "doctor",
                "statues": "pending",
                "period": "صباحا",
                "reservation_date": "2025-05-20",
                "is_active": null,
                "reservation_day": "الثلاثاء",
                "address": "Main Branch",
                "name": "محمد أحمد",
                "clinic_doctor": null
            },
            {
                "id": 18,
                "type": "doctor",
                "statues": "pending",
                "period": "صباحا",
                "reservation_date": "2025-05-20",
                "is_active": null,
                "reservation_day": "الثلاثاء",
                "address": "Main Branch",
                "name": "محمد أحمد",
                "clinic_doctor": null
            },
            {
                "id": 16,
                "type": "doctor",
                "statues": "pending",
                "period": "صباحا",
                "reservation_date": "2025-05-20",
                "is_active": null,
                "reservation_day": "الثلاثاء",
                "address": "Main Branch",
                "name": "محمد أحمد",
                "clinic_doctor": null
            },
            {
                "id": 14,
                "type": "doctor",
                "statues": "pending",
                "period": "صباحا",
                "reservation_date": "2025-05-20",
                "is_active": null,
                "reservation_day": "الثلاثاء",
                "address": "Main Branch",
                "name": "محمد أحمد",
                "clinic_doctor": null
            },
            {
                "id": 15,
                "type": "doctor",
                "statues": "pending",
                "period": "صباحا",
                "reservation_date": "2025-05-20",
                "is_active": null,
                "reservation_day": "الثلاثاء",
                "address": "Main Branch",
                "name": "محمد أحمد",
                "clinic_doctor": null
            }
        ],
        "links": {
            "first": "http://localhost/api/reservation/show-all?page=1",
            "last": "http://localhost/api/reservation/show-all?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/reservation/show-all?page=1",
                    "label": "1",
                    "active": true
                },
                {
                    "url": null,
                    "label": "Next &raquo;",
                    "active": false
                }
            ],
            "path": "http://localhost/api/reservation/show-all",
            "per_page": 15,
            "to": 10,
            "total": 10
        }
    }
}
 

Request      

GET api/reservation/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All Patient Reservation

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/reservation/patient-reservation" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/reservation/patient-reservation"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/reservation/patient-reservation

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Reservation

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/reservation/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"Ali Mohamed\",
    \"type\": \"doctor\",
    \"gender\": \"male\",
    \"period\": \"9:00 AM - 11:00 AM\",
    \"phone\": \"+201012345678\",
    \"age\": \"vmqeo\",
    \"reservation_date\": \"2024-03-20\",
    \"doctor_id\": 1,
    \"clinic_id\": 1,
    \"address_id\": 1
}"
const url = new URL(
    "http://localhost/api/reservation/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "Ali Mohamed",
    "type": "doctor",
    "gender": "male",
    "period": "9:00 AM - 11:00 AM",
    "phone": "+201012345678",
    "age": "vmqeo",
    "reservation_date": "2024-03-20",
    "doctor_id": 1,
    "clinic_id": 1,
    "address_id": 1
};

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

Request      

POST api/reservation/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Patient full name. Must not be greater than 255 characters. Example: Ali Mohamed

type   string   

Type of reservation. Example: doctor

Must be one of:
  • doctor
  • clinic
gender   string   

Patient gender. Example: male

Must be one of:
  • female
  • male
period   string   

Specific time period. Must not be greater than 255 characters. Example: 9:00 AM - 11:00 AM

phone   string   

Patient phone number. Must not be greater than 20 characters. Example: +201012345678

age   string   

Must not be greater than 5 characters. Example: vmqeo

reservation_date   string   

Date of reservation (YYYY-MM-DD). Must be a valid date. Must be a date after or equal to today. Example: 2024-03-20

doctor_id   string  optional  

ID of associated doctor. This field is required when type is clinic. The id of an existing record in the doctors table. Example: 1

clinic_id   string  optional  

ID of associated clinic. This field is required when type is clinic. The id of an existing record in the clinics table. Example: 1

address_id   string  optional  

ID of associated address. This field is required when type is doctor. The id of an existing record in the addresses table. Example: 1

update an existing Reservation

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/reservation/update/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"vmqeopfuudtdsufvyvddq\",
    \"type\": \"doctor\",
    \"gender\": \"female\",
    \"period\": \"amniihfqcoynlazghdtqt\",
    \"phone\": \"qxbajwbpilpmufinl\",
    \"age\": \"lwloa\",
    \"reservation_date\": \"2106-07-25\"
}"
const url = new URL(
    "http://localhost/api/reservation/update/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "name": "vmqeopfuudtdsufvyvddq",
    "type": "doctor",
    "gender": "female",
    "period": "amniihfqcoynlazghdtqt",
    "phone": "qxbajwbpilpmufinl",
    "age": "lwloa",
    "reservation_date": "2106-07-25"
};

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

Request      

PATCH api/reservation/update/{reservation_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

reservation_id   integer   

The ID of the reservation. Example: 2

Body Parameters

name   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

type   string  optional  

Example: doctor

Must be one of:
  • doctor
  • clinic
gender   string  optional  

Example: female

Must be one of:
  • female
  • male
period   string  optional  

Must not be greater than 255 characters. Example: amniihfqcoynlazghdtqt

phone   string  optional  

Must not be greater than 20 characters. Example: qxbajwbpilpmufinl

age   string  optional  

Must not be greater than 5 characters. Example: lwloa

reservation_date   string  optional  

Must be a valid date. Must be a date after or equal to today. Example: 2106-07-25

doctor_id   string  optional  

The id of an existing record in the doctors table.

clinic_id   string  optional  

The id of an existing record in the clinics table.

address_id   string  optional  

The id of an existing record in the addresses table.

View Reservation

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/reservation/show/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/reservation/show/2"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/reservation/show/{reservation_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

reservation_id   integer   

The ID of the reservation. Example: 2

update an Reservation's statues

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/reservation/update-statues/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"statues\": \"completed\"
}"
const url = new URL(
    "http://localhost/api/reservation/update-statues/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "statues": "completed"
};

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

Request      

PATCH api/reservation/update-statues/{reservation_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

reservation_id   integer   

The ID of the reservation. Example: 2

Body Parameters

statues   string   

Updated Reservation Statues. Example: completed

Must be one of:
  • pending
  • completed
  • deleted

Delete Reservation

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/reservation/delete/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/reservation/delete/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/reservation/delete/{reservation_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

reservation_id   integer   

The ID of the reservation. Example: 2

View All Reservation

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/member-reservation" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/member-reservation"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/member-reservation

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Sections API

View All Section

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/section" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/section"
);

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: *
 

{
    "success": true,
    "message": "Sections displayed successfully",
    "result": {
        "data": [
            {
                "id": 2,
                "name": "jkjkjk",
                "slug": "fdfdf-2",
                "show_order": 1,
                "icon": "",
                "is_active": 1,
                "categories": []
            },
            {
                "id": 1,
                "name": "jkjkjk",
                "slug": "fdfdf",
                "show_order": 1,
                "icon": "http://localhost/storage/45/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "is_active": 1,
                "categories": [
                    {
                        "id": 1,
                        "name": "New Category ***",
                        "is_pinned": 0,
                        "parent_id": 0,
                        "slug": "tsnyf-gdyd",
                        "articles_count": 12,
                        "section": {
                            "id": 1,
                            "name": "jkjkjk",
                            "slug": "fdfdf",
                            "show_order": 1,
                            "icon": "http://localhost/storage/45/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
                        }
                    }
                ]
            }
        ]
    },
    "first_page_url": "http://localhost/api/section?page=1",
    "last_page_url": "http://localhost/api/section?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 2,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/section

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All Section for dashboard

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/section/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/section/show-all"
);

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: *
 

{
    "success": true,
    "message": "Sections displayed successfully",
    "result": {
        "data": [
            {
                "id": 2,
                "name": "jkjkjk",
                "slug": "fdfdf-2",
                "show_order": 1,
                "icon": "",
                "is_active": 1,
                "categories": []
            },
            {
                "id": 1,
                "name": "jkjkjk",
                "slug": "fdfdf",
                "show_order": 1,
                "icon": "http://localhost/storage/45/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "is_active": 1,
                "categories": [
                    {
                        "id": 1,
                        "name": "New Category ***",
                        "is_pinned": 0,
                        "parent_id": 0,
                        "slug": "tsnyf-gdyd",
                        "articles_count": 12,
                        "section": {
                            "id": 1,
                            "name": "jkjkjk",
                            "slug": "fdfdf",
                            "show_order": 1,
                            "icon": "http://localhost/storage/45/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
                        }
                    },
                    {
                        "id": 2,
                        "name": "New Category ***",
                        "is_pinned": 0,
                        "parent_id": 0,
                        "slug": "tsnyf-gdyd-2",
                        "articles_count": 0,
                        "section": {
                            "id": 1,
                            "name": "jkjkjk",
                            "slug": "fdfdf",
                            "show_order": 1,
                            "icon": "http://localhost/storage/45/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
                        }
                    }
                ]
            }
        ]
    }
}
 

Request      

GET api/section/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All Sections with childern

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/section/all-with-childern" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/section/all-with-childern"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "The selected slug is invalid.",
    "errors": {
        "slug": [
            "The selected slug is invalid."
        ]
    }
}
 

Request      

GET api/section/all-with-childern

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the sections table. Example: consequatur

create a new Section

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/section/store" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name_ar=الأخبار"\
    --form "name_en=News"\
    --form "show_order=1"\
    --form "is_active="\
    --form "section_icon=@/tmp/phpcYVmvS" 
const url = new URL(
    "http://localhost/api/section/store"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('name_ar', 'الأخبار');
body.append('name_en', 'News');
body.append('show_order', '1');
body.append('is_active', '');
body.append('section_icon', document.querySelector('input[name="section_icon"]').files[0]);

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

Request      

POST api/section/store

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

name_ar   string   

Arabic name of the section. Must not be greater than 255 characters. Example: الأخبار

name_en   string   

English name of the section. Must not be greater than 255 characters. Example: News

show_order   integer   

Order in which the section is displayed. Example: 1

is_active   boolean  optional  

Whether the section is active (default: true). Example: false

section_icon   file   

section icon file. Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpcYVmvS

update an existing Section

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/section/update/1" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name_ar=vmqeopfuudtdsufvyvddq"\
    --form "name_en=amniihfqcoynlazghdtqt"\
    --form "show_order=17"\
    --form "is_active=1"\
    --form "section_icon=@/tmp/phpvaOPAm" 
const url = new URL(
    "http://localhost/api/section/update/1"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('name_ar', 'vmqeopfuudtdsufvyvddq');
body.append('name_en', 'amniihfqcoynlazghdtqt');
body.append('show_order', '17');
body.append('is_active', '1');
body.append('section_icon', document.querySelector('input[name="section_icon"]').files[0]);

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

Request      

PATCH api/section/update/{section_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

section_id   integer   

The ID of the section. Example: 1

Body Parameters

name_ar   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

name_en   string  optional  

Must not be greater than 255 characters. Example: amniihfqcoynlazghdtqt

show_order   integer  optional  

Example: 17

is_active   boolean  optional  

Example: true

section_icon   file  optional  

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpvaOPAm

update Section toggle

Example request:
curl --request POST \
    "http://localhost/api/section/toggle-status/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/section/toggle-status/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/section/toggle-status/{section_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

section_id   integer   

The ID of the section. Example: 1

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

View Section

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/section/show/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/section/show/1"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/section/show/{section_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

section_id   integer   

The ID of the section. Example: 1

Delete Section

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/section/delete/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/section/delete/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/section/delete/{section_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

section_id   integer   

The ID of the section. Example: 1

Sliders API

View All slider

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/slider" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/slider"
);

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: *
 

{
    "success": true,
    "message": "sliders displayed successfully",
    "result": {
        "data": [
            {
                "id": 3,
                "link": "https://medical-house.net/",
                "is_active": 1,
                "icon": "http://localhost/storage/15/slider.png"
            },
            {
                "id": 2,
                "link": "https://chatgpt.com/?model=auto",
                "is_active": 1,
                "icon": "http://localhost/storage/2/61c4798370f16329c26c3a2440064f6b.jpg"
            }
        ]
    },
    "first_page_url": "http://localhost/api/slider?page=1",
    "last_page_url": "http://localhost/api/slider?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 30,
    "total": 2,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/slider

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All slider for dashboard

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/slider/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/slider/show-all"
);

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: *
 

{
    "success": true,
    "message": "sliders displayed successfully",
    "result": {
        "data": [
            {
                "id": 3,
                "link": "https://medical-house.net/",
                "is_active": 1,
                "icon": "http://localhost/storage/15/slider.png"
            },
            {
                "id": 2,
                "link": "https://chatgpt.com/?model=auto",
                "is_active": 1,
                "icon": "http://localhost/storage/2/61c4798370f16329c26c3a2440064f6b.jpg"
            }
        ]
    },
    "first_page_url": "http://localhost/api/slider/show-all?page=1",
    "last_page_url": "http://localhost/api/slider/show-all?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 2,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/slider/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Slider

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/slider/store" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "link=https://example.com/promotion"\
    --form "is_active="\
    --form "slider_image=@/tmp/phpnRcr8k" 
const url = new URL(
    "http://localhost/api/slider/store"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('link', 'https://example.com/promotion');
body.append('is_active', '');
body.append('slider_image', document.querySelector('input[name="slider_image"]').files[0]);

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

Request      

POST api/slider/store

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

link   string   

URL link for the slider. Must be a valid URL. Must not be greater than 255 characters. Example: https://example.com/promotion

slider_image   file   

Slider image file. Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpnRcr8k

is_active   boolean  optional  

Slider activation status. Example: false

update an existing Slider

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/slider/update/2" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "link=https://updated-example.com/promotion"\
    --form "is_active="\
    --form "slider_image=@/tmp/phpdpbQpT" 
const url = new URL(
    "http://localhost/api/slider/update/2"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('link', 'https://updated-example.com/promotion');
body.append('is_active', '');
body.append('slider_image', document.querySelector('input[name="slider_image"]').files[0]);

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

Request      

PATCH api/slider/update/{slider_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

slider_id   integer   

The ID of the slider. Example: 2

Body Parameters

link   string  optional  

URL link for the slider. Must be a valid URL. Must not be greater than 255 characters. Example: https://updated-example.com/promotion

slider_image   file  optional  

Updated slider image file. Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpdpbQpT

is_active   boolean  optional  

Updated activation status. Example: false

update Slider toggle

Example request:
curl --request POST \
    "http://localhost/api/slider/toggle-status/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/slider/toggle-status/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/slider/toggle-status/{slider_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

slider_id   integer   

The ID of the slider. Example: 2

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

View Slider

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/slider/show/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/slider/show/2"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/slider/show/{slider_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

slider_id   integer   

The ID of the slider. Example: 2

Delete Slider

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/slider/delete/2" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/slider/delete/2"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/slider/delete/{slider_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

slider_id   integer   

The ID of the slider. Example: 2

SocialMedias API

View All SocialMedia

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/social-media/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/social-media/show-all"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/social-media/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new SocialMedia

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/social-media/store" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name_ar=فيس بوك"\
    --form "name_en=face book"\
    --form "is_active="\
    --form "social_image=@/tmp/phpdptCOj" 
const url = new URL(
    "http://localhost/api/social-media/store"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('name_ar', 'فيس بوك');
body.append('name_en', 'face book');
body.append('is_active', '');
body.append('social_image', document.querySelector('input[name="social_image"]').files[0]);

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

Request      

POST api/social-media/store

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

name_ar   string   

Arabic name for the city. Must not be greater than 255 characters. Example: فيس بوك

name_en   string   

English name for the city. Must not be greater than 255 characters. Example: face book

social_image   file   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpdptCOj

is_active   boolean  optional  

Social activation status. Example: false

update an existing SocialMedia

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/social-media/update/4" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name_ar=vmqeopfuudtdsufvyvddq"\
    --form "name_en=amniihfqcoynlazghdtqt"\
    --form "is_active="\
    --form "social_image=@/tmp/php6L4JGw" 
const url = new URL(
    "http://localhost/api/social-media/update/4"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('name_ar', 'vmqeopfuudtdsufvyvddq');
body.append('name_en', 'amniihfqcoynlazghdtqt');
body.append('is_active', '');
body.append('social_image', document.querySelector('input[name="social_image"]').files[0]);

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

Request      

PATCH api/social-media/update/{socialmedia_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

socialmedia_id   integer   

The ID of the socialmedia. Example: 4

Body Parameters

name_ar   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

name_en   string  optional  

Must not be greater than 255 characters. Example: amniihfqcoynlazghdtqt

social_image   file  optional  

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/php6L4JGw

is_active   boolean  optional  

Example: false

update SocialMedia toggle

Example request:
curl --request POST \
    "http://localhost/api/social-media/toggle-status/4" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/social-media/toggle-status/4"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/social-media/toggle-status/{socialmedia_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

socialmedia_id   integer   

The ID of the socialmedia. Example: 4

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

View SocialMedia

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/social-media/show/4" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/social-media/show/4"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/social-media/show/{socialmedia_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

socialmedia_id   integer   

The ID of the socialmedia. Example: 4

Delete SocialMedia

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/social-media/delete/4" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/social-media/delete/4"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/social-media/delete/{socialmedia_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

socialmedia_id   integer   

The ID of the socialmedia. Example: 4

User API

GET api/role

Example request:
curl --request GET \
    --get "http://localhost/api/role" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/role"
);

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: *
 

{
    "success": true,
    "message": "user displayed successfully",
    "result": {
        "data": [
            {
                "id": 1,
                "name": "writer"
            },
            {
                "id": 2,
                "name": "hospital"
            }
        ]
    }
}
 

Request      

GET api/role

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All User

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/members" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/members"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "The selected slug is invalid.",
    "errors": {
        "slug": [
            "The selected slug is invalid."
        ]
    }
}
 

Request      

GET api/members

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the departments table. Example: consequatur

View some User

Example request:
curl --request GET \
    --get "http://localhost/api/some-members" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/some-members"
);

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: *
 

{
    "success": true,
    "message": "user displayed successfully",
    "result": {
        "data": [
            {
                "id": 24,
                "name": "محمدأحمد",
                "slug": "mhmdahmd-5",
                "address": null,
                "role": "writer",
                "image": "http://localhost/storage/64/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "profile": {
                    "id": 19,
                    "department": {
                        "id": 5,
                        "slug": "شركات-ادوية",
                        "name": "medical companies",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 12,
                "name": "محمد أحمد",
                "slug": "mhmd-ahmd-8",
                "address": "Main Branch",
                "role": "hospital",
                "image": "",
                "profile": {
                    "id": 10,
                    "department": {
                        "id": 10,
                        "slug": "الجلدية",
                        "name": "Dermatology",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 23,
                "name": "محمدأحمد",
                "slug": "mhmdahmd-4",
                "address": null,
                "role": "writer",
                "image": "http://localhost/storage/62/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "profile": {
                    "id": 18,
                    "department": {
                        "id": 5,
                        "slug": "شركات-ادوية",
                        "name": "medical companies",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 20,
                "name": "محمدأحمد",
                "slug": "mhmdahmd",
                "address": null,
                "role": "writer",
                "image": "",
                "profile": {
                    "id": 15,
                    "department": {
                        "id": 5,
                        "slug": "شركات-ادوية",
                        "name": "medical companies",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 16,
                "name": "محمد أحمد",
                "slug": "mhmd-ahmd",
                "address": null,
                "role": "writer",
                "image": "",
                "profile": {
                    "id": 11,
                    "department": {
                        "id": 5,
                        "slug": "شركات-ادوية",
                        "name": "medical companies",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 21,
                "name": "محمدأحمد",
                "slug": "mhmdahmd-2",
                "address": null,
                "role": "writer",
                "image": "http://localhost/storage/58/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "profile": {
                    "id": 16,
                    "department": {
                        "id": 5,
                        "slug": "شركات-ادوية",
                        "name": "medical companies",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 7,
                "name": "احمد أحمد",
                "slug": "mhmd-ahmd-3",
                "address": null,
                "role": "writer",
                "image": "",
                "profile": {
                    "id": 5,
                    "department": {
                        "id": 1,
                        "slug": "اطباء-وعيادات",
                        "name": "Doctors",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 10,
                "name": "محمد أحمد",
                "slug": "mhmd-ahmd-6",
                "address": null,
                "role": "writer",
                "image": "",
                "profile": {
                    "id": 8,
                    "department": {
                        "id": 1,
                        "slug": "اطباء-وعيادات",
                        "name": "Doctors",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 9,
                "name": "صابر أحمد",
                "slug": "mhmd-ahmd-5",
                "address": null,
                "role": "writer",
                "image": "",
                "profile": {
                    "id": 7,
                    "department": {
                        "id": 1,
                        "slug": "اطباء-وعيادات",
                        "name": "Doctors",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 6,
                "name": "سامي أحمد",
                "slug": "mhmd-ahmd-2",
                "address": null,
                "role": "writer",
                "image": "",
                "profile": {
                    "id": 4,
                    "department": {
                        "id": 1,
                        "slug": "اطباء-وعيادات",
                        "name": "Doctors",
                        "is_selected": false
                    }
                }
            }
        ]
    }
}
 

Request      

GET api/some-members

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All User With Search

Example request:
curl --request GET \
    --get "http://localhost/api/search-members" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/search-members"
);

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: *
 

{
    "success": true,
    "message": "Users displayed successfully",
    "result": {
        "data": [
            {
                "id": 25,
                "name": null,
                "slug": "mhmdahmd-6",
                "address": null,
                "role": "writer",
                "image": "http://localhost/storage/66/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "profile": {
                    "id": 20,
                    "department": {
                        "id": 5,
                        "slug": "شركات-ادوية",
                        "name": "medical companies",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 24,
                "name": null,
                "slug": "mhmdahmd-5",
                "address": null,
                "role": "writer",
                "image": "http://localhost/storage/64/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "profile": {
                    "id": 19,
                    "department": {
                        "id": 5,
                        "slug": "شركات-ادوية",
                        "name": "medical companies",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 23,
                "name": null,
                "slug": "mhmdahmd-4",
                "address": null,
                "role": "writer",
                "image": "http://localhost/storage/62/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "profile": {
                    "id": 18,
                    "department": {
                        "id": 5,
                        "slug": "شركات-ادوية",
                        "name": "medical companies",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 22,
                "name": null,
                "slug": "mhmdahmd-3",
                "address": null,
                "role": "writer",
                "image": "http://localhost/storage/60/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "profile": {
                    "id": 17,
                    "department": {
                        "id": 5,
                        "slug": "شركات-ادوية",
                        "name": "medical companies",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 21,
                "name": null,
                "slug": "mhmdahmd-2",
                "address": null,
                "role": "writer",
                "image": "http://localhost/storage/58/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "profile": {
                    "id": 16,
                    "department": {
                        "id": 5,
                        "slug": "شركات-ادوية",
                        "name": "medical companies",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 20,
                "name": null,
                "slug": "mhmdahmd",
                "address": null,
                "role": "writer",
                "image": "",
                "profile": {
                    "id": 15,
                    "department": {
                        "id": 5,
                        "slug": "شركات-ادوية",
                        "name": "medical companies",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 19,
                "name": null,
                "slug": "mhmd-ahmd-11",
                "address": "مركز اولو العزم",
                "role": "writer",
                "image": "",
                "profile": {
                    "id": 14,
                    "department": {
                        "id": 5,
                        "slug": "شركات-ادوية",
                        "name": "medical companies",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 18,
                "name": null,
                "slug": "mhmd-ahmd-10",
                "address": null,
                "role": "writer",
                "image": "",
                "profile": {
                    "id": 13,
                    "department": {
                        "id": 5,
                        "slug": "شركات-ادوية",
                        "name": "medical companies",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 17,
                "name": null,
                "slug": "mhmd-ahmd-9",
                "address": null,
                "role": "writer",
                "image": "",
                "profile": {
                    "id": 12,
                    "department": {
                        "id": 5,
                        "slug": "شركات-ادوية",
                        "name": "medical companies",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 16,
                "name": null,
                "slug": "mhmd-ahmd",
                "address": null,
                "role": "writer",
                "image": "",
                "profile": {
                    "id": 11,
                    "department": {
                        "id": 5,
                        "slug": "شركات-ادوية",
                        "name": "medical companies",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 12,
                "name": null,
                "slug": "mhmd-ahmd-8",
                "address": "Main Branch",
                "role": "hospital",
                "image": "",
                "profile": {
                    "id": 10,
                    "department": {
                        "id": 10,
                        "slug": "الجلدية",
                        "name": "Dermatology",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 11,
                "name": null,
                "slug": "mhmd-ahmd-7",
                "address": null,
                "role": "writer",
                "image": "",
                "profile": {
                    "id": 9,
                    "department": {
                        "id": 1,
                        "slug": "اطباء-وعيادات",
                        "name": "Doctors",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 10,
                "name": null,
                "slug": "mhmd-ahmd-6",
                "address": null,
                "role": "writer",
                "image": "",
                "profile": {
                    "id": 8,
                    "department": {
                        "id": 1,
                        "slug": "اطباء-وعيادات",
                        "name": "Doctors",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 9,
                "name": null,
                "slug": "mhmd-ahmd-5",
                "address": null,
                "role": "writer",
                "image": "",
                "profile": {
                    "id": 7,
                    "department": {
                        "id": 1,
                        "slug": "اطباء-وعيادات",
                        "name": "Doctors",
                        "is_selected": false
                    }
                }
            },
            {
                "id": 8,
                "name": null,
                "slug": "mhmd-ahmd-4",
                "address": null,
                "role": "writer",
                "image": "",
                "profile": {
                    "id": 6,
                    "department": {
                        "id": 1,
                        "slug": "اطباء-وعيادات",
                        "name": "Doctors",
                        "is_selected": false
                    }
                }
            }
        ]
    },
    "first_page_url": "http://localhost/api/search-members?page=1",
    "last_page_url": "http://localhost/api/search-members?page=2",
    "next_page_url": "http://localhost/api/search-members?page=2",
    "prev_page_url": null,
    "per_page": 15,
    "total": 18,
    "current_page": 1,
    "last_page": 2
}
 

Request      

GET api/search-members

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All User With Department

Example request:
curl --request GET \
    --get "http://localhost/api/department-members" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/department-members"
);

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: *
 

{
    "success": true,
    "message": "user displayed successfully",
    "result": {
        "data": [
            {
                "department_id": 1,
                "department_name": "Doctors",
                "department_slug": "اطباء-وعيادات",
                "members": [
                    {
                        "id": 11,
                        "name": null,
                        "display_major": null,
                        "slug": "mhmd-ahmd-7",
                        "address": null,
                        "role": "writer",
                        "image": ""
                    },
                    {
                        "id": 7,
                        "name": null,
                        "display_major": null,
                        "slug": "mhmd-ahmd-3",
                        "address": null,
                        "role": "writer",
                        "image": ""
                    },
                    {
                        "id": 6,
                        "name": null,
                        "display_major": null,
                        "slug": "mhmd-ahmd-2",
                        "address": null,
                        "role": "writer",
                        "image": ""
                    },
                    {
                        "id": 8,
                        "name": null,
                        "display_major": null,
                        "slug": "mhmd-ahmd-4",
                        "address": null,
                        "role": "writer",
                        "image": ""
                    },
                    {
                        "id": 10,
                        "name": null,
                        "display_major": null,
                        "slug": "mhmd-ahmd-6",
                        "address": null,
                        "role": "writer",
                        "image": ""
                    },
                    {
                        "id": 9,
                        "name": null,
                        "display_major": null,
                        "slug": "mhmd-ahmd-5",
                        "address": null,
                        "role": "writer",
                        "image": ""
                    }
                ]
            },
            {
                "department_id": 5,
                "department_name": "medical companies",
                "department_slug": "شركات-ادوية",
                "members": [
                    {
                        "id": 16,
                        "name": null,
                        "display_major": "Computer Science",
                        "slug": "mhmd-ahmd",
                        "address": null,
                        "role": "writer",
                        "image": ""
                    },
                    {
                        "id": 20,
                        "name": null,
                        "display_major": "ComputerScience",
                        "slug": "mhmdahmd",
                        "address": null,
                        "role": "writer",
                        "image": ""
                    },
                    {
                        "id": 24,
                        "name": null,
                        "display_major": "ComputerScience",
                        "slug": "mhmdahmd-5",
                        "address": null,
                        "role": "writer",
                        "image": "http://localhost/storage/64/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
                    },
                    {
                        "id": 21,
                        "name": null,
                        "display_major": "ComputerScience",
                        "slug": "mhmdahmd-2",
                        "address": null,
                        "role": "writer",
                        "image": "http://localhost/storage/58/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
                    },
                    {
                        "id": 5,
                        "name": null,
                        "display_major": "Computer Science ثيهف",
                        "slug": "mhmd-ahmdACCAA",
                        "address": "Main Branch edit",
                        "role": "writer",
                        "image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
                    },
                    {
                        "id": 17,
                        "name": null,
                        "display_major": "Computer Science",
                        "slug": "mhmd-ahmd-9",
                        "address": null,
                        "role": "writer",
                        "image": ""
                    },
                    {
                        "id": 18,
                        "name": null,
                        "display_major": "Computer Science",
                        "slug": "mhmd-ahmd-10",
                        "address": null,
                        "role": "writer",
                        "image": ""
                    },
                    {
                        "id": 23,
                        "name": null,
                        "display_major": "ComputerScience",
                        "slug": "mhmdahmd-4",
                        "address": null,
                        "role": "writer",
                        "image": "http://localhost/storage/62/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
                    },
                    {
                        "id": 25,
                        "name": null,
                        "display_major": "ComputerScience",
                        "slug": "mhmdahmd-6",
                        "address": null,
                        "role": "writer",
                        "image": "http://localhost/storage/66/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
                    },
                    {
                        "id": 22,
                        "name": null,
                        "display_major": "ComputerScience",
                        "slug": "mhmdahmd-3",
                        "address": null,
                        "role": "writer",
                        "image": "http://localhost/storage/60/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
                    },
                    {
                        "id": 19,
                        "name": null,
                        "display_major": "Computer Science",
                        "slug": "mhmd-ahmd-11",
                        "address": "مركز اولو العزم",
                        "role": "writer",
                        "image": ""
                    }
                ]
            }
        ]
    }
}
 

Request      

GET api/department-members

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/images-upload

Example request:
curl --request POST \
    "http://localhost/api/images-upload" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "user_id=consequatur"\
    --form "user_image=@/tmp/phpguwiH6" \
    --form "cover_image=@/tmp/phpveZaQV" 
const url = new URL(
    "http://localhost/api/images-upload"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('user_id', 'consequatur');
body.append('user_image', document.querySelector('input[name="user_image"]').files[0]);
body.append('cover_image', document.querySelector('input[name="cover_image"]').files[0]);

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

Request      

POST api/images-upload

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

user_id   string   

The id of an existing record in the users table. Example: consequatur

user_image   file   

Must be a file. Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpguwiH6

cover_image   file   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpveZaQV

update an existing user view counts

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/user-count" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/user-count"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Request      

POST api/user-count

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the users table. Example: consequatur

View All Statistics

Example request:
curl --request GET \
    --get "http://localhost/api/statistic" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/statistic"
);

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: *
 

{
    "success": true,
    "message": "user displayed successfully",
    "result": {
        "data": {
            "articles_count": 11,
            "clinic_count": 18,
            "user_count": 18
        }
    }
}
 

Request      

GET api/statistic

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/user/show-all

Example request:
curl --request GET \
    --get "http://localhost/api/user/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/user/show-all"
);

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: *
 

{
    "success": true,
    "message": "user displayed successfully",
    "result": {
        "data": [
            {
                "id": 25,
                "name": "محمدأحمد",
                "slug": "mhmdahmd-6",
                "address": null,
                "role": "writer",
                "image": "http://localhost/storage/66/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "default_address_phone": null,
                "today_work_periods": []
            },
            {
                "id": 24,
                "name": "محمدأحمد",
                "slug": "mhmdahmd-5",
                "address": null,
                "role": "writer",
                "image": "http://localhost/storage/64/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "default_address_phone": null,
                "today_work_periods": []
            },
            {
                "id": 23,
                "name": "محمدأحمد",
                "slug": "mhmdahmd-4",
                "address": null,
                "role": "writer",
                "image": "http://localhost/storage/62/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "default_address_phone": null,
                "today_work_periods": []
            },
            {
                "id": 22,
                "name": "محمدأحمد",
                "slug": "mhmdahmd-3",
                "address": null,
                "role": "writer",
                "image": "http://localhost/storage/60/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "default_address_phone": null,
                "today_work_periods": []
            },
            {
                "id": 21,
                "name": "محمدأحمد",
                "slug": "mhmdahmd-2",
                "address": null,
                "role": "writer",
                "image": "http://localhost/storage/58/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "default_address_phone": null,
                "today_work_periods": []
            },
            {
                "id": 20,
                "name": "محمدأحمد",
                "slug": "mhmdahmd",
                "address": null,
                "role": "writer",
                "image": "",
                "default_address_phone": null,
                "today_work_periods": []
            },
            {
                "id": 19,
                "name": "محمد أحمد",
                "slug": "mhmd-ahmd-11",
                "address": "مركز اولو العزم",
                "role": "writer",
                "image": "",
                "default_address_phone": "711157475",
                "today_work_periods": []
            },
            {
                "id": 18,
                "name": "محمد أحمد",
                "slug": "mhmd-ahmd-10",
                "address": null,
                "role": "writer",
                "image": "",
                "default_address_phone": null,
                "today_work_periods": []
            },
            {
                "id": 17,
                "name": "محمد أحمد",
                "slug": "mhmd-ahmd-9",
                "address": null,
                "role": "writer",
                "image": "",
                "default_address_phone": null,
                "today_work_periods": []
            },
            {
                "id": 16,
                "name": "محمد أحمد",
                "slug": "mhmd-ahmd",
                "address": null,
                "role": "writer",
                "image": "",
                "default_address_phone": null,
                "today_work_periods": []
            },
            {
                "id": 12,
                "name": "محمد أحمد",
                "slug": "mhmd-ahmd-8",
                "address": "Main Branch",
                "role": "hospital",
                "image": "",
                "default_address_phone": "776652075",
                "today_work_periods": []
            },
            {
                "id": 11,
                "name": "عماد أحمد",
                "slug": "mhmd-ahmd-7",
                "address": null,
                "role": "writer",
                "image": "",
                "default_address_phone": null,
                "today_work_periods": []
            },
            {
                "id": 10,
                "name": "محمد أحمد",
                "slug": "mhmd-ahmd-6",
                "address": null,
                "role": "writer",
                "image": "",
                "default_address_phone": null,
                "today_work_periods": []
            },
            {
                "id": 9,
                "name": "صابر أحمد",
                "slug": "mhmd-ahmd-5",
                "address": null,
                "role": "writer",
                "image": "",
                "default_address_phone": null,
                "today_work_periods": []
            },
            {
                "id": 8,
                "name": "صالح أحمد",
                "slug": "mhmd-ahmd-4",
                "address": null,
                "role": "writer",
                "image": "",
                "default_address_phone": null,
                "today_work_periods": []
            },
            {
                "id": 7,
                "name": "احمد أحمد",
                "slug": "mhmd-ahmd-3",
                "address": null,
                "role": "writer",
                "image": "",
                "default_address_phone": null,
                "today_work_periods": []
            },
            {
                "id": 6,
                "name": "سامي أحمد",
                "slug": "mhmd-ahmd-2",
                "address": null,
                "role": "writer",
                "image": "",
                "default_address_phone": null,
                "today_work_periods": []
            },
            {
                "id": 5,
                "name": "عماد نعمان",
                "slug": "mhmd-ahmdACCAA",
                "address": "Main Branch edit",
                "role": "hospital",
                "image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "default_address_phone": "+966500000000",
                "today_work_periods": []
            }
        ]
    }
}
 

Request      

GET api/user/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All Writers

Example request:
curl --request GET \
    --get "http://localhost/api/user/writers" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/user/writers"
);

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: *
 

{
    "success": true,
    "message": "user displayed successfully",
    "result": {
        "data": [
            {
                "id": 25,
                "name": null,
                "slug": "mhmdahmd-6",
                "display_major": "ComputerScience",
                "meta_description": "SeniordeveloperspecializinginPHPecosystems",
                "tags": "backend",
                "image": "http://localhost/storage/66/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "articles_count": 0,
                "total_views": 0
            },
            {
                "id": 24,
                "name": null,
                "slug": "mhmdahmd-5",
                "display_major": "ComputerScience",
                "meta_description": "SeniordeveloperspecializinginPHPecosystems",
                "tags": "backend",
                "image": "http://localhost/storage/64/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "articles_count": 0,
                "total_views": 0
            },
            {
                "id": 23,
                "name": null,
                "slug": "mhmdahmd-4",
                "display_major": "ComputerScience",
                "meta_description": "SeniordeveloperspecializinginPHPecosystems",
                "tags": "backend",
                "image": "http://localhost/storage/62/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "articles_count": 0,
                "total_views": 0
            },
            {
                "id": 22,
                "name": null,
                "slug": "mhmdahmd-3",
                "display_major": "ComputerScience",
                "meta_description": "SeniordeveloperspecializinginPHPecosystems",
                "tags": "backend",
                "image": "http://localhost/storage/60/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "articles_count": 0,
                "total_views": 0
            },
            {
                "id": 21,
                "name": null,
                "slug": "mhmdahmd-2",
                "display_major": "ComputerScience",
                "meta_description": "SeniordeveloperspecializinginPHPecosystems",
                "tags": "backend",
                "image": "http://localhost/storage/58/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "articles_count": 0,
                "total_views": 0
            },
            {
                "id": 20,
                "name": null,
                "slug": "mhmdahmd",
                "display_major": "ComputerScience",
                "meta_description": "SeniordeveloperspecializinginPHPecosystems",
                "tags": "backend",
                "image": "",
                "articles_count": 0,
                "total_views": 0
            },
            {
                "id": 19,
                "name": null,
                "slug": "mhmd-ahmd-11",
                "display_major": "Computer Science",
                "meta_description": "Senior developer specializing in PHP ecosystems",
                "tags": "backend",
                "image": "",
                "articles_count": 0,
                "total_views": 0
            },
            {
                "id": 18,
                "name": null,
                "slug": "mhmd-ahmd-10",
                "display_major": "Computer Science",
                "meta_description": "Senior developer specializing in PHP ecosystems",
                "tags": "backend",
                "image": "",
                "articles_count": 0,
                "total_views": 0
            },
            {
                "id": 17,
                "name": null,
                "slug": "mhmd-ahmd-9",
                "display_major": "Computer Science",
                "meta_description": "Senior developer specializing in PHP ecosystems",
                "tags": "backend",
                "image": "",
                "articles_count": 0,
                "total_views": 0
            },
            {
                "id": 16,
                "name": null,
                "slug": "mhmd-ahmd",
                "display_major": "Computer Science",
                "meta_description": "Senior developer specializing in PHP ecosystems",
                "tags": "backend",
                "image": "",
                "articles_count": 0,
                "total_views": 0
            },
            {
                "id": 11,
                "name": null,
                "slug": "mhmd-ahmd-7",
                "display_major": null,
                "meta_description": null,
                "tags": null,
                "image": "",
                "articles_count": 0,
                "total_views": 0
            },
            {
                "id": 10,
                "name": null,
                "slug": "mhmd-ahmd-6",
                "display_major": null,
                "meta_description": null,
                "tags": null,
                "image": "",
                "articles_count": 0,
                "total_views": 0
            },
            {
                "id": 9,
                "name": null,
                "slug": "mhmd-ahmd-5",
                "display_major": null,
                "meta_description": null,
                "tags": null,
                "image": "",
                "articles_count": 0,
                "total_views": 0
            },
            {
                "id": 8,
                "name": null,
                "slug": "mhmd-ahmd-4",
                "display_major": null,
                "meta_description": null,
                "tags": null,
                "image": "",
                "articles_count": 0,
                "total_views": 0
            },
            {
                "id": 7,
                "name": null,
                "slug": "mhmd-ahmd-3",
                "display_major": null,
                "meta_description": null,
                "tags": null,
                "image": "",
                "articles_count": 0,
                "total_views": 0
            },
            {
                "id": 6,
                "name": null,
                "slug": "mhmd-ahmd-2",
                "display_major": null,
                "meta_description": null,
                "tags": null,
                "image": "",
                "articles_count": 0,
                "total_views": 0
            },
            {
                "id": 5,
                "name": null,
                "slug": "mhmd-ahmdACCAA",
                "display_major": "Computer Science ثيهف",
                "meta_description": "SeniordeveloperspecializinginPHPecosystems",
                "tags": "backend",
                "image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "articles_count": 0,
                "total_views": 0
            }
        ]
    }
}
 

Request      

GET api/user/writers

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All sitemap Writers

Example request:
curl --request GET \
    --get "http://localhost/api/user/writers/site-map" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/user/writers/site-map"
);

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: *
 

{
    "success": true,
    "message": "user displayed successfully",
    "result": {
        "data": [
            {
                "slug": "mhmdahmd-6",
                "updated_at": null
            },
            {
                "slug": "mhmdahmd-5",
                "updated_at": null
            },
            {
                "slug": "mhmdahmd-4",
                "updated_at": null
            },
            {
                "slug": "mhmdahmd-3",
                "updated_at": null
            },
            {
                "slug": "mhmdahmd-2",
                "updated_at": null
            },
            {
                "slug": "mhmdahmd",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-11",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-10",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-9",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-7",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-6",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-5",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-4",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-3",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-2",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmdACCAA",
                "updated_at": null
            }
        ]
    }
}
 

Request      

GET api/user/writers/site-map

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All Guides sitemap

Example request:
curl --request GET \
    --get "http://localhost/api/user/site-map" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/user/site-map"
);

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: *
 

{
    "success": true,
    "message": "user displayed successfully",
    "result": {
        "data": [
            {
                "slug": "mhmdahmd-6",
                "updated_at": null
            },
            {
                "slug": "mhmdahmd-5",
                "updated_at": null
            },
            {
                "slug": "mhmdahmd-4",
                "updated_at": null
            },
            {
                "slug": "mhmdahmd-3",
                "updated_at": null
            },
            {
                "slug": "mhmdahmd-2",
                "updated_at": null
            },
            {
                "slug": "mhmdahmd",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-11",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-10",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-9",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-8",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-7",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-6",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-5",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-4",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-3",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmd-2",
                "updated_at": null
            },
            {
                "slug": "mhmd-ahmdACCAA",
                "updated_at": null
            }
        ]
    }
}
 

Request      

GET api/user/site-map

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View User

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/user/show/5" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/user/show/5"
);

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: *
 

{
    "success": true,
    "message": "تمت العملية",
    "result": {
        "id": 5,
        "name_ar": "عماد نعمان",
        "name_en": null,
        "slug": "mhmd-ahmdACCAA",
        "role": "hospital",
        "date": "2 months ago",
        "gender": "male",
        "display_major": "Computer Science ثيهف",
        "bio": "Experiencedsoftwaredeveloper...",
        "meta_description": "SeniordeveloperspecializinginPHPecosystems",
        "meta_title": null,
        "tags": "backend",
        "is_verified": 0,
        "city": "fff",
        "city_id": 1,
        "phone": "77665207577",
        "image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
        "display_image": "http://localhost/storage/116/61c4798370f16329c26c3a2440064f6b.jpg",
        "reservations": 1,
        "visitors": 4,
        "posts": 6,
        "Achievements": 17,
        "addrAchievementsess": "Main Branch edit",
        "lat_lng": "24.7136,46.6753",
        "departments": {
            "id": 5,
            "slug": "شركات-ادوية",
            "name": "medical companies",
            "is_selected": false
        }
    }
}
 

Request      

GET api/user/show/{user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   integer   

The ID of the user. Example: 5

update User toggle

Example request:
curl --request POST \
    "http://localhost/api/user/toggle-status/5" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/user/toggle-status/5"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/user/toggle-status/{user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   integer   

The ID of the user. Example: 5

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

UserSocialMedias API

View All UserSocialMedia

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/user-social-media/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/user-social-media/show-all"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/user-social-media/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All UserSocialMedia

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/user-social-media/show-by-slug" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/user-social-media/show-by-slug"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "The selected slug is invalid.",
    "errors": {
        "slug": [
            "The selected slug is invalid."
        ]
    }
}
 

Request      

GET api/user-social-media/show-by-slug

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the users table. Example: consequatur

create a new UserSocialMedia

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/user-social-media/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"user_id\": 1,
    \"social_media_id\": 2,
    \"link\": \"https:\\/\\/facebook.com\\/johndoe\",
    \"is_active\": true
}"
const url = new URL(
    "http://localhost/api/user-social-media/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "user_id": 1,
    "social_media_id": 2,
    "link": "https:\/\/facebook.com\/johndoe",
    "is_active": true
};

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

Request      

POST api/user-social-media/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

user_id   string   

The ID of the associated user. The id of an existing record in the users table. Example: 1

social_media_id   string   

The ID of the social media platform. The id of an existing record in the social_media table. Example: 2

link   string   

URL to the social media profile. Must be a valid URL. Must not be greater than 255 characters. Example: https://facebook.com/johndoe

is_active   boolean  optional  

Example: true

update an existing UserSocialMedia

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/user-social-media/update/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"user_id\": \"consequatur\",
    \"social_media_id\": \"consequatur\",
    \"link\": \"mqeopfuudtdsufvyvddqa\",
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/user-social-media/update/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "user_id": "consequatur",
    "social_media_id": "consequatur",
    "link": "mqeopfuudtdsufvyvddqa",
    "is_active": false
};

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

Request      

PATCH api/user-social-media/update/{usersocialmedia_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

usersocialmedia_id   integer   

The ID of the usersocialmedia. Example: 1

Body Parameters

user_id   string   

The id of an existing record in the users table. Example: consequatur

social_media_id   string   

The id of an existing record in the social_media table. Example: consequatur

link   string   

Must be a valid URL. Must not be greater than 255 characters. Example: mqeopfuudtdsufvyvddqa

is_active   boolean  optional  

Example: false

update UserSocialMedia toggle

Example request:
curl --request POST \
    "http://localhost/api/user-social-media/toggle-status/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/user-social-media/toggle-status/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/user-social-media/toggle-status/{usersocialmedia_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

usersocialmedia_id   integer   

The ID of the usersocialmedia. Example: 1

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

View UserSocialMedia

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/user-social-media/show/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/user-social-media/show/1"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/user-social-media/show/{usersocialmedia_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

usersocialmedia_id   integer   

The ID of the usersocialmedia. Example: 1

Delete UserSocialMedia

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/user-social-media/delete/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/user-social-media/delete/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/user-social-media/delete/{usersocialmedia_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

usersocialmedia_id   integer   

The ID of the usersocialmedia. Example: 1

create a new UserSocialMedia

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/member-social-media/store" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"social_media_id\": 2,
    \"link\": \"https:\\/\\/facebook.com\\/johndoe\",
    \"is_active\": true
}"
const url = new URL(
    "http://localhost/api/member-social-media/store"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "social_media_id": 2,
    "link": "https:\/\/facebook.com\/johndoe",
    "is_active": true
};

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

Request      

POST api/member-social-media/store

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

social_media_id   string   

The ID of the social media platform. The id of an existing record in the social_media table. Example: 2

link   string   

URL to the social media profile. Must be a valid URL. Must not be greater than 255 characters. Example: https://facebook.com/johndoe

is_active   boolean  optional  

Example: true

update an existing UserSocialMedia

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/member-social-media/update/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"social_media_id\": \"consequatur\",
    \"link\": \"mqeopfuudtdsufvyvddqa\",
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/member-social-media/update/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "social_media_id": "consequatur",
    "link": "mqeopfuudtdsufvyvddqa",
    "is_active": false
};

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

Request      

PATCH api/member-social-media/update/{usersocialmedia_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

usersocialmedia_id   integer   

The ID of the usersocialmedia. Example: 1

Body Parameters

social_media_id   string   

The id of an existing record in the social_media table. Example: consequatur

link   string   

Must be a valid URL. Must not be greater than 255 characters. Example: mqeopfuudtdsufvyvddqa

is_active   boolean  optional  

Example: false

Users API

View User

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/member-show/5" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/member-show/5"
);

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: *
 

{
    "success": true,
    "message": "تمت العملية",
    "result": {
        "id": 5,
        "name_ar": "عماد نعمان",
        "name_en": null,
        "slug": "mhmd-ahmdACCAA",
        "role": "hospital",
        "date": "2 months ago",
        "gender": "male",
        "display_major": "Computer Science ثيهف",
        "bio": "Experiencedsoftwaredeveloper...",
        "city": "fff",
        "city_id": 1,
        "phone": "77665207577",
        "image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
        "display_image": "http://localhost/storage/116/61c4798370f16329c26c3a2440064f6b.jpg"
    }
}
 

Request      

GET api/member-show/{user_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   integer   

The ID of the user. Example: 5

Videos API

View All video

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/vedio" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vedio"
);

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: *
 

{
    "success": true,
    "message": "videos displayed successfully",
    "result": {
        "data": [
            {
                "id": 1,
                "link": "https://medical-house.net",
                "title": "hjkhkj edit",
                "user_name": null,
                "user_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "desc": "kjkjkljlk",
                "views_num": 1,
                "share_num": 0,
                "save_num": 0,
                "publish_date": "2025-06-25",
                "is_active": 1,
                "image": "",
                "date": "2 months ago"
            },
            {
                "id": 2,
                "link": "https://medical-house.net/",
                "title": "fsdasda",
                "user_name": null,
                "user_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "desc": "rfdfdsf",
                "views_num": 0,
                "share_num": 0,
                "save_num": 0,
                "publish_date": "2025-06-25",
                "is_active": 1,
                "image": "",
                "date": "1 month ago"
            },
            {
                "id": 3,
                "link": "https://medical-house.net",
                "title": "edit",
                "user_name": null,
                "user_image": "",
                "desc": "kjkjkljlk",
                "views_num": 0,
                "share_num": 0,
                "save_num": 0,
                "publish_date": "2025-12-12",
                "is_active": 1,
                "image": "http://localhost/storage/73/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "date": "1 month ago"
            }
        ]
    },
    "first_page_url": "http://localhost/api/vedio?page=1",
    "last_page_url": "http://localhost/api/vedio?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 3,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/vedio

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All video by slug

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/vedio/show-by-slug" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vedio/show-by-slug"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (500):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "success": false,
    "message": "حدث خطأ اثناء العملية",
    "result": null
}
 

Request      

GET api/vedio/show-by-slug

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

View All video

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/vedio/show-all" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vedio/show-all"
);

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: *
 

{
    "success": true,
    "message": "videos displayed successfully",
    "result": {
        "data": [
            {
                "id": 3,
                "link": "https://medical-house.net",
                "title": "edit",
                "user_name": null,
                "user_image": "",
                "desc": "kjkjkljlk",
                "views_num": 0,
                "share_num": 0,
                "save_num": 0,
                "publish_date": "2025-12-12",
                "is_active": 1,
                "image": "http://localhost/storage/73/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "date": "1 month ago"
            },
            {
                "id": 2,
                "link": "https://medical-house.net/",
                "title": "fsdasda",
                "user_name": null,
                "user_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "desc": "rfdfdsf",
                "views_num": 0,
                "share_num": 0,
                "save_num": 0,
                "publish_date": "2025-06-25",
                "is_active": 1,
                "image": "",
                "date": "1 month ago"
            },
            {
                "id": 1,
                "link": "https://medical-house.net",
                "title": "hjkhkj edit",
                "user_name": null,
                "user_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                "desc": "kjkjkljlk",
                "views_num": 1,
                "share_num": 0,
                "save_num": 0,
                "publish_date": "2025-06-25",
                "is_active": 1,
                "image": "",
                "date": "2 months ago"
            }
        ]
    },
    "first_page_url": "http://localhost/api/vedio/show-all?page=1",
    "last_page_url": "http://localhost/api/vedio/show-all?page=1",
    "next_page_url": null,
    "prev_page_url": null,
    "per_page": 15,
    "total": 3,
    "current_page": 1,
    "last_page": 1
}
 

Request      

GET api/vedio/show-all

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Video

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/vedio/store" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "link=https://example.com/promotion"\
    --form "title=vmqeopfuudtdsufvyvddq"\
    --form "user_id=consequatur"\
    --form "description=Dolorum amet iste laborum eius est dolor."\
    --form "publish_date=2023-10-15"\
    --form "is_active="\
    --form "vedio_image=@/tmp/phpi1SqOa" 
const url = new URL(
    "http://localhost/api/vedio/store"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('link', 'https://example.com/promotion');
body.append('title', 'vmqeopfuudtdsufvyvddq');
body.append('user_id', 'consequatur');
body.append('description', 'Dolorum amet iste laborum eius est dolor.');
body.append('publish_date', '2023-10-15');
body.append('is_active', '');
body.append('vedio_image', document.querySelector('input[name="vedio_image"]').files[0]);

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

Request      

POST api/vedio/store

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

link   string   

URL link for the video. Must be a valid URL. Must not be greater than 255 characters. Example: https://example.com/promotion

title   string   

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

user_id   string   

The id of an existing record in the users table. Example: consequatur

description   string   

Must not be greater than 255 characters. Example: Dolorum amet iste laborum eius est dolor.

publish_date   string   

Date when the video was accomplished. Must be a valid date. Example: 2023-10-15

vedio_image   file   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpi1SqOa

is_active   boolean  optional  

Video activation status. Example: false

update an existing Video counts

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/vedio/vedio-count/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": \"share\"
}"
const url = new URL(
    "http://localhost/api/vedio/vedio-count/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "type": "share"
};

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

Request      

POST api/vedio/vedio-count/{video_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

video_id   integer   

The ID of the video. Example: 1

Body Parameters

type   string   

Example: share

Must be one of:
  • view
  • share
  • save

update an existing Video

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/vedio/update/1" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "link=https://updated-example.com/promotion"\
    --form "title=vmqeopfuudtdsufvyvddq"\
    --form "description=Dolores molestias ipsam sit."\
    --form "publish_date=2023-10-15"\
    --form "is_active="\
    --form "vedio_image=@/tmp/phpve1kFo" 
const url = new URL(
    "http://localhost/api/vedio/update/1"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('link', 'https://updated-example.com/promotion');
body.append('title', 'vmqeopfuudtdsufvyvddq');
body.append('description', 'Dolores molestias ipsam sit.');
body.append('publish_date', '2023-10-15');
body.append('is_active', '');
body.append('vedio_image', document.querySelector('input[name="vedio_image"]').files[0]);

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

Request      

PATCH api/vedio/update/{video_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

video_id   integer   

The ID of the video. Example: 1

Body Parameters

link   string  optional  

URL link for the video. Must be a valid URL. Must not be greater than 255 characters. Example: https://updated-example.com/promotion

title   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

user_id   string  optional  

The id of an existing record in the users table.

description   string  optional  

Must not be greater than 255 characters. Example: Dolores molestias ipsam sit.

publish_date   string  optional  

Date when the video was accomplished. Must be a valid date. Example: 2023-10-15

vedio_image   file  optional  

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpve1kFo

is_active   boolean  optional  

Updated activation status. Example: false

update Video toggle

Example request:
curl --request POST \
    "http://localhost/api/vedio/toggle-status/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"is_active\": false
}"
const url = new URL(
    "http://localhost/api/vedio/toggle-status/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "is_active": false
};

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

Request      

POST api/vedio/toggle-status/{video_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

video_id   integer   

The ID of the video. Example: 1

Body Parameters

is_active   boolean   

Whether the album is active (default: true). Example: false

View Video

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/vedio/show/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vedio/show/1"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/vedio/show/{video_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

video_id   integer   

The ID of the video. Example: 1

Delete Video

requires authentication

Example request:
curl --request DELETE \
    "http://localhost/api/vedio/delete/1" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/vedio/delete/1"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

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

Example response (204, Deleted Successfully):

Empty response
 

Request      

DELETE api/vedio/delete/{video_id}

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

video_id   integer   

The ID of the video. Example: 1

View All video

requires authentication

Example request:
curl --request GET \
    --get "http://localhost/api/member-vedio" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/member-vedio"
);

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: *
 

{
    "message": "Unauthenticated."
}
 

Request      

GET api/member-vedio

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

create a new Video

requires authentication

Example request:
curl --request POST \
    "http://localhost/api/member-vedio/store" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "link=https://example.com/promotion"\
    --form "title=vmqeopfuudtdsufvyvddq"\
    --form "description=Dolores molestias ipsam sit."\
    --form "publish_date=2023-10-15"\
    --form "is_active="\
    --form "vedio_image=@/tmp/phpmzHzwq" 
const url = new URL(
    "http://localhost/api/member-vedio/store"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('link', 'https://example.com/promotion');
body.append('title', 'vmqeopfuudtdsufvyvddq');
body.append('description', 'Dolores molestias ipsam sit.');
body.append('publish_date', '2023-10-15');
body.append('is_active', '');
body.append('vedio_image', document.querySelector('input[name="vedio_image"]').files[0]);

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

Request      

POST api/member-vedio/store

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

link   string   

URL link for the video. Must be a valid URL. Must not be greater than 255 characters. Example: https://example.com/promotion

title   string   

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

description   string   

Must not be greater than 255 characters. Example: Dolores molestias ipsam sit.

publish_date   string   

Date when the video was accomplished. Must be a valid date. Example: 2023-10-15

vedio_image   file   

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpmzHzwq

is_active   boolean  optional  

Video activation status. Example: false

update an existing Video

requires authentication

Example request:
curl --request PATCH \
    "http://localhost/api/member-vedio/update/1" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "link=https://updated-example.com/promotion"\
    --form "title=vmqeopfuudtdsufvyvddq"\
    --form "description=Dolores molestias ipsam sit."\
    --form "publish_date=2023-10-15"\
    --form "is_active="\
    --form "vedio_image=@/tmp/php4wMNnT" 
const url = new URL(
    "http://localhost/api/member-vedio/update/1"
);

const headers = {
    "Content-Type": "multipart/form-data",
    "Accept": "application/json",
};

const body = new FormData();
body.append('link', 'https://updated-example.com/promotion');
body.append('title', 'vmqeopfuudtdsufvyvddq');
body.append('description', 'Dolores molestias ipsam sit.');
body.append('publish_date', '2023-10-15');
body.append('is_active', '');
body.append('vedio_image', document.querySelector('input[name="vedio_image"]').files[0]);

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

Request      

PATCH api/member-vedio/update/{video_id}

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

video_id   integer   

The ID of the video. Example: 1

Body Parameters

link   string  optional  

URL link for the video. Must be a valid URL. Must not be greater than 255 characters. Example: https://updated-example.com/promotion

title   string  optional  

Must not be greater than 255 characters. Example: vmqeopfuudtdsufvyvddq

description   string  optional  

Must not be greater than 255 characters. Example: Dolores molestias ipsam sit.

publish_date   string  optional  

Date when the video was accomplished. Must be a valid date. Example: 2023-10-15

vedio_image   file  optional  

Must be a file. Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/php4wMNnT

is_active   boolean  optional  

Updated activation status. Example: false

medical home API

GET api/home-page

Example request:
curl --request GET \
    --get "http://localhost/api/home-page" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/home-page"
);

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: *
 

{
    "success": true,
    "message": "Data Retrieved Successfully.",
    "result": {
        "slider": {
            "title": "",
            "desc": "",
            "items": [
                {
                    "id": 3,
                    "link": "https://medical-house.net/",
                    "is_active": 1,
                    "icon": "http://localhost/storage/15/slider.png"
                },
                {
                    "id": 2,
                    "link": "https://chatgpt.com/?model=auto",
                    "is_active": 1,
                    "icon": "http://localhost/storage/2/61c4798370f16329c26c3a2440064f6b.jpg"
                }
            ]
        },
        "offer": {
            "title": "العروض",
            "desc": "",
            "items": [
                {
                    "id": 2,
                    "user_name": null,
                    "user_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                    "title": "Special Offer",
                    "desc": "Offer description in English",
                    "is_active": 1
                },
                {
                    "id": 4,
                    "user_name": null,
                    "user_image": "",
                    "title": "Special Offer edit",
                    "desc": "Offer description in English",
                    "is_active": 1
                }
            ]
        },
        "guide": {
            "title": "اقسام الدليل الطبي",
            "desc": "جزئية الدليل توفر معلومات عن الأطباء، المستشفيات، العيادات، والصيدليات مع تفاصيل الاتصال، الموقع، وإمكانية الحجز ",
            "items": [
                {
                    "id": 20,
                    "slug": "ksm-ltsmym-3",
                    "name": "Design Department",
                    "icon": "",
                    "users_count": 0,
                    "children": []
                },
                {
                    "id": 19,
                    "slug": "ksm-ltsmym-2",
                    "name": "Design Department",
                    "icon": "",
                    "users_count": 0,
                    "children": []
                },
                {
                    "id": 18,
                    "slug": "ksm-ltsmym",
                    "name": "Design Department",
                    "icon": "",
                    "users_count": 0,
                    "children": []
                },
                {
                    "id": 8,
                    "slug": "مؤسسات",
                    "name": "Organizations",
                    "icon": "",
                    "users_count": 0,
                    "children": []
                },
                {
                    "id": 5,
                    "slug": "شركات-ادوية",
                    "name": "medical companies",
                    "icon": "",
                    "users_count": 11,
                    "children": []
                },
                {
                    "id": 3,
                    "slug": "اشعة-ومختبرات",
                    "name": "Labs & Rays",
                    "icon": "",
                    "users_count": 0,
                    "children": []
                },
                {
                    "id": 4,
                    "slug": "صيدليات",
                    "name": "Pharmacies",
                    "icon": "",
                    "users_count": 0,
                    "children": []
                },
                {
                    "id": 1,
                    "slug": "اطباء-وعيادات",
                    "name": "Doctors",
                    "icon": "",
                    "users_count": 7,
                    "children": [
                        {
                            "id": 6,
                            "slug": "طب-وجراحة-الفم-والاسنان",
                            "is_pinned": 1,
                            "name": "Dentist",
                            "icon": ""
                        },
                        {
                            "id": 7,
                            "slug": "الباطنية",
                            "is_pinned": -1,
                            "name": "medicin",
                            "icon": ""
                        },
                        {
                            "id": 10,
                            "slug": "الجلدية",
                            "is_pinned": 1,
                            "name": "Dermatology",
                            "icon": ""
                        },
                        {
                            "id": 11,
                            "slug": "Therapeutic-feeding",
                            "is_pinned": -1,
                            "name": "Therapeutic feeding",
                            "icon": ""
                        },
                        {
                            "id": 12,
                            "slug": "نساء-وولادة",
                            "is_pinned": 1,
                            "name": "Obstetrics and Gynecology",
                            "icon": ""
                        },
                        {
                            "id": 13,
                            "slug": "المسالك-البولية",
                            "is_pinned": 1,
                            "name": "Urology",
                            "icon": ""
                        },
                        {
                            "id": 14,
                            "slug": "القلب-والأوعية-الدموية",
                            "is_pinned": 1,
                            "name": "Cardiology",
                            "icon": ""
                        },
                        {
                            "id": 15,
                            "slug": "دماغ-وأعصاب",
                            "is_pinned": -1,
                            "name": "Neurology",
                            "icon": ""
                        },
                        {
                            "id": 16,
                            "slug": "جراحة-العظام-والمفاصل",
                            "is_pinned": -1,
                            "name": "Orthopedic Surgery",
                            "icon": ""
                        },
                        {
                            "id": 17,
                            "slug": "مخ-وأعصاب",
                            "is_pinned": -1,
                            "name": "Neurology",
                            "icon": ""
                        }
                    ]
                },
                {
                    "id": 2,
                    "slug": "مستشفيات-ومراكز-صحية",
                    "name": "Hospitals",
                    "icon": "",
                    "users_count": 0,
                    "children": []
                }
            ]
        },
        "blog": {
            "title": "المدونة الطبية",
            "desc": "مدونة تحتوي على العديد من المقالات و المعلومات كتبها مختصون في المجال الطبي",
            "items": [
                {
                    "id": 2,
                    "name": "jkjkjk",
                    "slug": "fdfdf-2",
                    "show_order": 1,
                    "icon": "",
                    "is_active": 1,
                    "categories": []
                },
                {
                    "id": 1,
                    "name": "jkjkjk",
                    "slug": "fdfdf",
                    "show_order": 1,
                    "icon": "http://localhost/storage/45/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                    "is_active": 1,
                    "categories": [
                        {
                            "id": 1,
                            "name": "New Category ***",
                            "is_pinned": 0,
                            "parent_id": 0,
                            "slug": "tsnyf-gdyd",
                            "articles_count": 12,
                            "section": {
                                "id": 1,
                                "name": "jkjkjk",
                                "slug": "fdfdf",
                                "show_order": 1,
                                "icon": "http://localhost/storage/45/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
                            }
                        }
                    ]
                }
            ]
        },
        "video": {
            "title": "",
            "desc": "",
            "items": [
                {
                    "id": 1,
                    "link": "https://medical-house.net",
                    "title": "hjkhkj edit",
                    "user_name": null,
                    "user_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                    "desc": "kjkjkljlk",
                    "views_num": 1,
                    "share_num": 0,
                    "save_num": 0,
                    "publish_date": "2025-06-25",
                    "is_active": 1,
                    "image": "",
                    "date": "2 months ago"
                },
                {
                    "id": 2,
                    "link": "https://medical-house.net/",
                    "title": "fsdasda",
                    "user_name": null,
                    "user_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                    "desc": "rfdfdsf",
                    "views_num": 0,
                    "share_num": 0,
                    "save_num": 0,
                    "publish_date": "2025-06-25",
                    "is_active": 1,
                    "image": "",
                    "date": "1 month ago"
                },
                {
                    "id": 3,
                    "link": "https://medical-house.net",
                    "title": "edit",
                    "user_name": null,
                    "user_image": "",
                    "desc": "kjkjkljlk",
                    "views_num": 0,
                    "share_num": 0,
                    "save_num": 0,
                    "publish_date": "2025-12-12",
                    "is_active": 1,
                    "image": "http://localhost/storage/73/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                    "date": "1 month ago"
                }
            ]
        }
    }
}
 

Request      

GET api/home-page

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

GET api/guide

Example request:
curl --request GET \
    --get "http://localhost/api/guide" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"slug\": \"consequatur\"
}"
const url = new URL(
    "http://localhost/api/guide"
);

const headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
};

let body = {
    "slug": "consequatur"
};

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

Example response (422):

Show headers
cache-control: no-cache, private
content-type: application/json
access-control-allow-origin: *
 

{
    "message": "The selected slug is invalid.",
    "errors": {
        "slug": [
            "The selected slug is invalid."
        ]
    }
}
 

Request      

GET api/guide

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

slug   string   

The slug of an existing record in the departments table. Example: consequatur

medical web home API

GET api/web-home-page

Example request:
curl --request GET \
    --get "http://localhost/api/web-home-page" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "http://localhost/api/web-home-page"
);

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: *
 

{
    "success": true,
    "message": "Data Retrieved Successfully.",
    "result": {
        "slider": {
            "title": "silder",
            "desc": "slider desc",
            "items": [
                {
                    "id": 3,
                    "link": "https://medical-house.net/",
                    "is_active": 1,
                    "icon": "http://localhost/storage/15/slider.png"
                },
                {
                    "id": 2,
                    "link": "https://chatgpt.com/?model=auto",
                    "is_active": 1,
                    "icon": "http://localhost/storage/2/61c4798370f16329c26c3a2440064f6b.jpg"
                }
            ]
        },
        "offer": {
            "title": "Offer",
            "desc": "Offer desc "
        },
        "guide": {
            "title": "اقسام الدليل الطبي",
            "desc": "جزئية الدليل توفر معلومات عن الأطباء، المستشفيات، العيادات، والصيدليات مع تفاصيل الاتصال، الموقع، وإمكانية الحجز ",
            "items": [
                {
                    "id": 20,
                    "slug": "ksm-ltsmym-3",
                    "name": "Design Department",
                    "icon": "",
                    "users_count": 0,
                    "children": []
                },
                {
                    "id": 19,
                    "slug": "ksm-ltsmym-2",
                    "name": "Design Department",
                    "icon": "",
                    "users_count": 0,
                    "children": []
                },
                {
                    "id": 18,
                    "slug": "ksm-ltsmym",
                    "name": "Design Department",
                    "icon": "",
                    "users_count": 0,
                    "children": []
                },
                {
                    "id": 8,
                    "slug": "مؤسسات",
                    "name": "Organizations",
                    "icon": "",
                    "users_count": 0,
                    "children": []
                },
                {
                    "id": 5,
                    "slug": "شركات-ادوية",
                    "name": "medical companies",
                    "icon": "",
                    "users_count": 11,
                    "children": []
                },
                {
                    "id": 3,
                    "slug": "اشعة-ومختبرات",
                    "name": "Labs & Rays",
                    "icon": "",
                    "users_count": 0,
                    "children": []
                },
                {
                    "id": 4,
                    "slug": "صيدليات",
                    "name": "Pharmacies",
                    "icon": "",
                    "users_count": 0,
                    "children": []
                },
                {
                    "id": 1,
                    "slug": "اطباء-وعيادات",
                    "name": "Doctors",
                    "icon": "",
                    "users_count": 7,
                    "children": [
                        {
                            "id": 6,
                            "slug": "طب-وجراحة-الفم-والاسنان",
                            "is_pinned": 1,
                            "name": "Dentist",
                            "icon": ""
                        },
                        {
                            "id": 7,
                            "slug": "الباطنية",
                            "is_pinned": -1,
                            "name": "medicin",
                            "icon": ""
                        },
                        {
                            "id": 10,
                            "slug": "الجلدية",
                            "is_pinned": 1,
                            "name": "Dermatology",
                            "icon": ""
                        },
                        {
                            "id": 11,
                            "slug": "Therapeutic-feeding",
                            "is_pinned": -1,
                            "name": "Therapeutic feeding",
                            "icon": ""
                        },
                        {
                            "id": 12,
                            "slug": "نساء-وولادة",
                            "is_pinned": 1,
                            "name": "Obstetrics and Gynecology",
                            "icon": ""
                        },
                        {
                            "id": 13,
                            "slug": "المسالك-البولية",
                            "is_pinned": 1,
                            "name": "Urology",
                            "icon": ""
                        },
                        {
                            "id": 14,
                            "slug": "القلب-والأوعية-الدموية",
                            "is_pinned": 1,
                            "name": "Cardiology",
                            "icon": ""
                        },
                        {
                            "id": 15,
                            "slug": "دماغ-وأعصاب",
                            "is_pinned": -1,
                            "name": "Neurology",
                            "icon": ""
                        },
                        {
                            "id": 16,
                            "slug": "جراحة-العظام-والمفاصل",
                            "is_pinned": -1,
                            "name": "Orthopedic Surgery",
                            "icon": ""
                        },
                        {
                            "id": 17,
                            "slug": "مخ-وأعصاب",
                            "is_pinned": -1,
                            "name": "Neurology",
                            "icon": ""
                        }
                    ]
                },
                {
                    "id": 2,
                    "slug": "مستشفيات-ومراكز-صحية",
                    "name": "Hospitals",
                    "icon": "",
                    "users_count": 0,
                    "children": []
                }
            ]
        },
        "blog": {
            "title": "",
            "desc": "",
            "items": [
                {
                    "id": 2,
                    "name": "jkjkjk",
                    "slug": "fdfdf-2",
                    "show_order": 1,
                    "icon": "",
                    "is_active": 1,
                    "categories": []
                },
                {
                    "id": 1,
                    "name": "jkjkjk",
                    "slug": "fdfdf",
                    "show_order": 1,
                    "icon": "http://localhost/storage/45/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                    "is_active": 1,
                    "categories": [
                        {
                            "id": 1,
                            "name": "New Category ***",
                            "is_pinned": 0,
                            "parent_id": 0,
                            "slug": "tsnyf-gdyd",
                            "articles_count": 12,
                            "section": {
                                "id": 1,
                                "name": "jkjkjk",
                                "slug": "fdfdf",
                                "show_order": 1,
                                "icon": "http://localhost/storage/45/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
                            }
                        }
                    ]
                }
            ]
        },
        "artical": {
            "title": "artical",
            "desc": "artical desc ",
            "items": [
                {
                    "id": 12,
                    "title": "Introduction to Laravel",
                    "slug": "introduction-to-laravel-9",
                    "views_count": 0,
                    "shares_count": 0,
                    "saves_count": 0,
                    "statues": "completed",
                    "publish_date": "2023-10-01",
                    "article_image": "http://localhost/storage/150/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                    "short_content": "Lorem ipsum dolor sit amet...",
                    "content": "Lorem ipsum dolor sit amet...",
                    "author": null,
                    "display_major": "Computer Science ثيهف",
                    "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                    "category_name": "تصنيف جديد sjkjakjdska",
                    "is_active": 1
                },
                {
                    "id": 11,
                    "title": "Introduction to Laravel",
                    "slug": "introduction-to-laravel-8",
                    "views_count": 0,
                    "shares_count": 0,
                    "saves_count": 0,
                    "statues": "completed",
                    "publish_date": "2023-10-01",
                    "article_image": "http://localhost/storage/144/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                    "short_content": "Lorem ipsum dolor sit amet...",
                    "content": "Lorem ipsum dolor sit amet...",
                    "author": null,
                    "display_major": "Computer Science ثيهف",
                    "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                    "category_name": "تصنيف جديد sjkjakjdska",
                    "is_active": 1
                },
                {
                    "id": 9,
                    "title": "Introduction to Laravel",
                    "slug": "introduction-to-laravel-6",
                    "views_count": 0,
                    "shares_count": 0,
                    "saves_count": 0,
                    "statues": "completed",
                    "publish_date": "2023-10-01",
                    "article_image": "",
                    "short_content": "Lorem ipsum dolor sit amet...",
                    "content": "Lorem ipsum dolor sit amet...",
                    "author": null,
                    "display_major": "Computer Science ثيهف",
                    "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                    "category_name": "تصنيف جديد sjkjakjdska",
                    "is_active": 1
                },
                {
                    "id": 10,
                    "title": "Introduction to Laravel",
                    "slug": "introduction-to-laravel-7",
                    "views_count": 0,
                    "shares_count": 0,
                    "saves_count": 0,
                    "statues": "completed",
                    "publish_date": "2023-10-01",
                    "article_image": "http://localhost/storage/143/conversions/01JMSF5WHJGV1PVFSYKQQ9S2ZP-media-webp.webp",
                    "short_content": "Lorem ipsum dolor sit amet...",
                    "content": "Lorem ipsum dolor sit amet...",
                    "author": null,
                    "display_major": "Computer Science ثيهف",
                    "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                    "category_name": "تصنيف جديد sjkjakjdska",
                    "is_active": 1
                },
                {
                    "id": 8,
                    "title": "Introduction to Laravel",
                    "slug": "introduction-to-laravel-5",
                    "views_count": 0,
                    "shares_count": 0,
                    "saves_count": 0,
                    "statues": "pending",
                    "publish_date": "2023-10-01",
                    "article_image": "http://localhost/storage/86/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                    "short_content": "Lorem ipsum dolor sit amet...",
                    "content": "Lorem ipsum dolor sit amet...",
                    "author": null,
                    "display_major": "Computer Science",
                    "author_image": "",
                    "category_name": "تصنيف جديد sjkjakjdska",
                    "is_active": 1
                },
                {
                    "id": 7,
                    "title": "Introduction to Laravel",
                    "slug": "introduction-to-laravel-4",
                    "views_count": 0,
                    "shares_count": 0,
                    "saves_count": 0,
                    "statues": "pending",
                    "publish_date": "2023-10-01",
                    "article_image": "",
                    "short_content": "Lorem ipsum dolor sit amet...",
                    "content": "Lorem ipsum dolor sit amet...",
                    "author": null,
                    "display_major": "Computer Science",
                    "author_image": "",
                    "category_name": "تصنيف جديد sjkjakjdska",
                    "is_active": 1
                },
                {
                    "id": 6,
                    "title": "Introduction to Laravel edit",
                    "slug": "introduction-to-laravel-edit",
                    "views_count": 0,
                    "shares_count": 0,
                    "saves_count": 0,
                    "statues": "pending",
                    "publish_date": "2023-10-01",
                    "article_image": "http://localhost/storage/55/WebP_Logo.webp",
                    "short_content": "Lorem ipsum dolor sit amet... ddd",
                    "content": "Lorem ipsum dolor sit amet... ddd",
                    "author": null,
                    "display_major": null,
                    "author_image": "",
                    "category_name": "تصنيف جديد sjkjakjdska",
                    "is_active": 1
                },
                {
                    "id": 5,
                    "title": "Introduction to Laravel edit",
                    "slug": "introduction-to-laravel-3",
                    "views_count": 0,
                    "shares_count": 0,
                    "saves_count": 0,
                    "statues": "pending",
                    "publish_date": "2023-10-01",
                    "article_image": "http://localhost/storage/32/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                    "short_content": "Lorem ipsum dolor sit amet... ddd",
                    "content": "Lorem ipsum dolor sit amet... ddd",
                    "author": null,
                    "display_major": null,
                    "author_image": "",
                    "category_name": "تصنيف جديد sjkjakjdska",
                    "is_active": 1
                },
                {
                    "id": 3,
                    "title": "Introduction to Laravel",
                    "slug": "introduction-to-laravel",
                    "views_count": 0,
                    "shares_count": 0,
                    "saves_count": 0,
                    "statues": "pending",
                    "publish_date": "2023-10-01",
                    "article_image": "http://localhost/storage/22/435f792ff6839d11142f391386e676de.jpg",
                    "short_content": "Lorem ipsum dolor sit amet...",
                    "content": "Lorem ipsum dolor sit amet...",
                    "author": null,
                    "display_major": null,
                    "author_image": "",
                    "category_name": "تصنيف جديد sjkjakjdska",
                    "is_active": 1
                },
                {
                    "id": 1,
                    "title": "title1",
                    "slug": null,
                    "views_count": 0,
                    "shares_count": 0,
                    "saves_count": 0,
                    "statues": "pending",
                    "publish_date": "2023-10-01",
                    "article_image": "http://localhost/storage/23/61c4798370f16329c26c3a2440064f6b.jpg",
                    "short_content": "sam ipsum dolor sit amet... sam",
                    "content": "sam ipsum dolor sit amet... sam",
                    "author": null,
                    "display_major": "Computer Science ثيهف",
                    "author_image": "http://localhost/storage/115/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                    "category_name": "تصنيف جديد sjkjakjdska",
                    "is_active": 1
                }
            ]
        },
        "member": {
            "title": "member",
            "desc": "member desc ",
            "items": [
                {
                    "id": 16,
                    "name": "محمد أحمد",
                    "slug": "mhmd-ahmd",
                    "address": null,
                    "role": "writer",
                    "image": "",
                    "profile": {
                        "id": 11,
                        "department": {
                            "id": 5,
                            "slug": "شركات-ادوية",
                            "name": "medical companies",
                            "is_selected": false
                        }
                    }
                },
                {
                    "id": 6,
                    "name": "سامي أحمد",
                    "slug": "mhmd-ahmd-2",
                    "address": null,
                    "role": "writer",
                    "image": "",
                    "profile": {
                        "id": 4,
                        "department": {
                            "id": 1,
                            "slug": "اطباء-وعيادات",
                            "name": "Doctors",
                            "is_selected": false
                        }
                    }
                },
                {
                    "id": 25,
                    "name": "محمدأحمد",
                    "slug": "mhmdahmd-6",
                    "address": null,
                    "role": "writer",
                    "image": "http://localhost/storage/66/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                    "profile": {
                        "id": 20,
                        "department": {
                            "id": 5,
                            "slug": "شركات-ادوية",
                            "name": "medical companies",
                            "is_selected": false
                        }
                    }
                },
                {
                    "id": 20,
                    "name": "محمدأحمد",
                    "slug": "mhmdahmd",
                    "address": null,
                    "role": "writer",
                    "image": "",
                    "profile": {
                        "id": 15,
                        "department": {
                            "id": 5,
                            "slug": "شركات-ادوية",
                            "name": "medical companies",
                            "is_selected": false
                        }
                    }
                },
                {
                    "id": 21,
                    "name": "محمدأحمد",
                    "slug": "mhmdahmd-2",
                    "address": null,
                    "role": "writer",
                    "image": "http://localhost/storage/58/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                    "profile": {
                        "id": 16,
                        "department": {
                            "id": 5,
                            "slug": "شركات-ادوية",
                            "name": "medical companies",
                            "is_selected": false
                        }
                    }
                },
                {
                    "id": 24,
                    "name": "محمدأحمد",
                    "slug": "mhmdahmd-5",
                    "address": null,
                    "role": "writer",
                    "image": "http://localhost/storage/64/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg",
                    "profile": {
                        "id": 19,
                        "department": {
                            "id": 5,
                            "slug": "شركات-ادوية",
                            "name": "medical companies",
                            "is_selected": false
                        }
                    }
                },
                {
                    "id": 8,
                    "name": "صالح أحمد",
                    "slug": "mhmd-ahmd-4",
                    "address": null,
                    "role": "writer",
                    "image": "",
                    "profile": {
                        "id": 6,
                        "department": {
                            "id": 1,
                            "slug": "اطباء-وعيادات",
                            "name": "Doctors",
                            "is_selected": false
                        }
                    }
                },
                {
                    "id": 10,
                    "name": "محمد أحمد",
                    "slug": "mhmd-ahmd-6",
                    "address": null,
                    "role": "writer",
                    "image": "",
                    "profile": {
                        "id": 8,
                        "department": {
                            "id": 1,
                            "slug": "اطباء-وعيادات",
                            "name": "Doctors",
                            "is_selected": false
                        }
                    }
                },
                {
                    "id": 18,
                    "name": "محمد أحمد",
                    "slug": "mhmd-ahmd-10",
                    "address": null,
                    "role": "writer",
                    "image": "",
                    "profile": {
                        "id": 13,
                        "department": {
                            "id": 5,
                            "slug": "شركات-ادوية",
                            "name": "medical companies",
                            "is_selected": false
                        }
                    }
                },
                {
                    "id": 7,
                    "name": "احمد أحمد",
                    "slug": "mhmd-ahmd-3",
                    "address": null,
                    "role": "writer",
                    "image": "",
                    "profile": {
                        "id": 5,
                        "department": {
                            "id": 1,
                            "slug": "اطباء-وعيادات",
                            "name": "Doctors",
                            "is_selected": false
                        }
                    }
                }
            ]
        },
        "guide-with-member": {
            "title": "guide-with-member",
            "desc": "guide-with-member desc ",
            "items": [
                {
                    "department_id": 5,
                    "department_name": "medical companies",
                    "department_slug": "شركات-ادوية",
                    "members": [
                        {
                            "id": 16,
                            "name": null,
                            "display_major": "Computer Science",
                            "slug": "mhmd-ahmd",
                            "address": null,
                            "role": "writer",
                            "image": ""
                        },
                        {
                            "id": 25,
                            "name": null,
                            "display_major": "ComputerScience",
                            "slug": "mhmdahmd-6",
                            "address": null,
                            "role": "writer",
                            "image": "http://localhost/storage/66/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
                        },
                        {
                            "id": 20,
                            "name": null,
                            "display_major": "ComputerScience",
                            "slug": "mhmdahmd",
                            "address": null,
                            "role": "writer",
                            "image": ""
                        },
                        {
                            "id": 21,
                            "name": null,
                            "display_major": "ComputerScience",
                            "slug": "mhmdahmd-2",
                            "address": null,
                            "role": "writer",
                            "image": "http://localhost/storage/58/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
                        },
                        {
                            "id": 24,
                            "name": null,
                            "display_major": "ComputerScience",
                            "slug": "mhmdahmd-5",
                            "address": null,
                            "role": "writer",
                            "image": "http://localhost/storage/64/01JMSF5WHJGV1PVFSYKQQ9S2ZP.jpg"
                        },
                        {
                            "id": 18,
                            "name": null,
                            "display_major": "Computer Science",
                            "slug": "mhmd-ahmd-10",
                            "address": null,
                            "role": "writer",
                            "image": ""
                        }
                    ]
                },
                {
                    "department_id": 1,
                    "department_name": "Doctors",
                    "department_slug": "اطباء-وعيادات",
                    "members": [
                        {
                            "id": 6,
                            "name": null,
                            "display_major": null,
                            "slug": "mhmd-ahmd-2",
                            "address": null,
                            "role": "writer",
                            "image": ""
                        },
                        {
                            "id": 8,
                            "name": null,
                            "display_major": null,
                            "slug": "mhmd-ahmd-4",
                            "address": null,
                            "role": "writer",
                            "image": ""
                        },
                        {
                            "id": 10,
                            "name": null,
                            "display_major": null,
                            "slug": "mhmd-ahmd-6",
                            "address": null,
                            "role": "writer",
                            "image": ""
                        },
                        {
                            "id": 7,
                            "name": null,
                            "display_major": null,
                            "slug": "mhmd-ahmd-3",
                            "address": null,
                            "role": "writer",
                            "image": ""
                        }
                    ]
                }
            ]
        },
        "partener": {
            "title": "",
            "desc": "",
            "items": []
        },
        "statistic": {
            "title": "",
            "desc": "",
            "items": {
                "articles_count": 11,
                "clinic_count": 18,
                "user_count": 18
            }
        }
    }
}
 

Request      

GET api/web-home-page

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json