MENU navbar-image

Introduction

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

Authenticating requests

To authenticate requests, include an Authorization header with the value "Bearer {YOUR_AUTH_KEY}".

All authenticated endpoints are marked with a requires authentication badge in the documentation below.

You can retrieve your token by visiting your dashboard and clicking Generate API token.

Ads

APIs for managing ads

Show all ads

requires authentication

This endpoint lets you show all ads

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/ads?page=15&per_page=13&filter%5Bid%5D=et&filter%5Blink%5D=modi&filter%5Bdescription%5D=qui&filter%5Btitle%5D=porro&sort=et" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/ads"
);

const params = {
    "page": "15",
    "per_page": "13",
    "filter[id]": "et",
    "filter[link]": "modi",
    "filter[description]": "qui",
    "filter[title]": "porro",
    "sort": "et",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 8,
            "title": "Prof.",
            "title_ar": "Prof.",
            "description_ar": "Architecto eum harum rerum. Et rerum quaerat dolorem quis accusantium eos. Sunt culpa ipsum quos inventore quis.",
            "description": "Occaecati aliquam repellendus officia asperiores quia impedit earum. Ipsum omnis ipsam distinctio. Est impedit ut aspernatur. Omnis culpa quia in debitis. Delectus sed hic quia autem.",
            "link": "http://quitzon.com/",
            "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/0033cc?text=in"
        },
        {
            "id": 9,
            "title": "Prof.",
            "title_ar": "Mr.",
            "description_ar": "Odit quisquam ullam sit illum rerum alias sit. Eos aut quis dolorem eligendi. Architecto voluptate molestiae velit assumenda molestiae. Laudantium architecto incidunt et praesentium asperiores possimus. Tempora est accusantium nostrum.",
            "description": "Aut expedita deserunt voluptates nesciunt aperiam. Repellat corporis impedit animi et. Odit hic maxime dolores dolorum cum dignissimos.",
            "link": "http://kub.info/quam-quo-distinctio-illum-eveniet-velit-qui-ipsum",
            "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/007766?text=facere"
        },
        {
            "id": 10,
            "title": "Mr.",
            "title_ar": "Prof.",
            "description_ar": "Sed inventore sequi voluptatem rem consequatur aliquid. Aut cum nihil quae pariatur. Quae dolore suscipit dignissimos consequatur sunt. Quis qui voluptatibus est ex autem eum impedit possimus.",
            "description": "Consequuntur sequi amet veritatis voluptatibus. Dolores quibusdam id modi quo illum incidunt quis. Cumque et est dolore qui. Non qui quo consequatur dolores.",
            "link": "http://reilly.com/eum-culpa-pariatur-doloremque-sequi-quo-harum",
            "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/004499?text=non"
        },
        {
            "id": 11,
            "title": "Prof.",
            "title_ar": "Mr.",
            "description_ar": "Sit accusamus expedita et cupiditate rem quo. Aliquid amet culpa voluptates doloremque rem asperiores. Aut est sed deleniti rerum velit sit. Sapiente voluptatem recusandae cum quis minus est.",
            "description": "Quia sit magni dolorem cupiditate laborum doloribus quia. Laudantium corrupti modi exercitationem ex voluptatem similique. Nesciunt voluptatum deleniti cumque qui voluptatem ut. Laboriosam repellendus saepe molestiae repudiandae.",
            "link": "http://www.upton.com/et-maiores-qui-aspernatur-quas-ab",
            "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/009999?text=nam"
        },
        {
            "id": 12,
            "title": "Prof.",
            "title_ar": "Ms.",
            "description_ar": "Numquam maiores voluptatem fugit. Nihil voluptate eius incidunt cumque molestias optio sit. Veritatis deleniti quia cupiditate ab nihil quod consectetur.",
            "description": "Molestiae debitis rerum dolores voluptate nihil eum. Veniam repellat mollitia et omnis. Molestias modi rem similique qui laboriosam suscipit repudiandae nostrum. Quis sit eius necessitatibus a magni.",
            "link": "http://nolan.biz/",
            "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/0066ee?text=accusantium"
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/ads

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 15

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 13

filter[id]   string  optional  

Field to filter items by id. Example: et

filter[link]   string  optional  

Field to filter items by link. Example: modi

filter[description]   string  optional  

Field to filter items by description. Example: qui

filter[title]   string  optional  

Field to filter items by title. Example: porro

sort   string  optional  

Field to sort items by id,link,description,title. Example: et

Add ad

requires authentication

This endpoint lets you add ad.

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/ads" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "link=http://www.okuneva.net/aliquid-occaecati-consequatur-inventore-reprehenderit-necessitatibus-ullam.html"\
    --form "title=voluptatum"\
    --form "title_ar=culpa"\
    --form "description=accusantium"\
    --form "description_ar=modi"\
    --form "image=@/tmp/phpccMpHI" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/ads"
);

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

const body = new FormData();
body.append('link', 'http://www.okuneva.net/aliquid-occaecati-consequatur-inventore-reprehenderit-necessitatibus-ullam.html');
body.append('title', 'voluptatum');
body.append('title_ar', 'culpa');
body.append('description', 'accusantium');
body.append('description_ar', 'modi');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 1,
        "title": "title",
        "title_ar": "title",
        "description_ar": "fffff",
        "description": "fffff",
        "link": "https://google.com",
        "image": "https://api.dev.menassahur.com/storage/ads/test_20251213062548000.jpg"
    },
    "message": "The ad added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/ads

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

link   string   

Must be a valid URL. Example: http://www.okuneva.net/aliquid-occaecati-consequatur-inventore-reprehenderit-necessitatibus-ullam.html

title   string   

Example: voluptatum

title_ar   string   

Example: culpa

description   string   

Example: accusantium

description_ar   string   

Example: modi

image   file   

Must be an image. Example: /tmp/phpccMpHI

Show specific ad

requires authentication

This endpoint lets you show specific ad

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/ads/13" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/ads/13"
);

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

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

Example response (200):


{
    "data": {
        "id": 3,
        "title": "Miss",
        "title_ar": "Prof.",
        "description_ar": "Quidem neque non placeat quia ea eius. Ullam in soluta qui in soluta aut nobis. Aut quo facere dicta cupiditate eos tempora libero.",
        "description": "Sequi veritatis et voluptatum ex aperiam quam deleniti. Consequatur molestias qui ducimus id illo et qui. Quisquam expedita dignissimos perspiciatis.",
        "link": "http://www.kiehn.com/",
        "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/00cc88?text=accusamus"
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/ads/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the ad. Example: 13

Update specific ad

requires authentication

This endpoint lets you update specific ad.

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/ads/19" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "link=http://effertz.biz/ipsa-alias-ipsa-assumenda-beatae"\
    --form "image=@/tmp/phpKJAAfD" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/ads/19"
);

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

const body = new FormData();
body.append('link', 'http://effertz.biz/ipsa-alias-ipsa-assumenda-beatae');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 5,
        "title": "title",
        "title_ar": "Prof.",
        "description_ar": "Ea natus aut quos officiis qui tempore. Qui possimus enim quis odio. Ducimus dolor labore molestiae labore. Aspernatur vero nostrum architecto voluptatum. Et animi accusamus sit quisquam est.",
        "description": "description",
        "link": "https://google.com",
        "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/0033dd?text=error"
    },
    "message": "Ad's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/ads/{id}

PATCH api/v1/ads/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the ad. Example: 19

Body Parameters

link   string  optional  

Must be a valid URL. Example: http://effertz.biz/ipsa-alias-ipsa-assumenda-beatae

title   string  optional  
title_ar   string  optional  
description_ar   string  optional  
description   string  optional  
image   file  optional  

Must be an image. Example: /tmp/phpKJAAfD

Delete specific ad

requires authentication

This endpoint lets you delete specific ad

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/ads/9" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/ads/9"
);

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

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

Example response (200):


{
    "message": "The Ad deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/ads/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the ad. Example: 9

Attachments

APIs for managing attachments

requires authentication

This endpoint lets you add attachment by link

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/attachment/link" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"link\": \"http:\\/\\/www.wiza.biz\\/\",
    \"order\": 14
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/attachment/link"
);

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

let body = {
    "link": "http:\/\/www.wiza.biz\/",
    "order": 14
};

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

Example response (200):


{
    "data": {
        "id": 1,
        "user_id": 681,
        "status": 2,
        "sort": null,
        "type": 3,
        "name": null,
        "link": "https://www.nicesnippets.com/blog/laravel-validation-for-url-example",
        "order": {
            "id": 2,
            "subject": "Vitae et rerum perspiciatis recusandae quod. Explicabo et nemo consequatur necessitatibus libero qui cupiditate sint. Labore velit et non est. Voluptatem fugit ipsam veniam rem iure eos.",
            "status": 9
        }
    },
    "message": "The attachment added successfully",
    "status_code": 200
}
 

Add file attachment

requires authentication

This endpoint lets you add attachment by file

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/attachment/file" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=npxsowpjatlhmuf"\
    --form "type=3"\
    --form "order=4"\
    --form "file=@/tmp/phpdpeFpd" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/attachment/file"
);

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

const body = new FormData();
body.append('name', 'npxsowpjatlhmuf');
body.append('type', '3');
body.append('order', '4');
body.append('file', document.querySelector('input[name="file"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 1,
        "user_id": 17,
        "status": 2,
        "sort": 4,
        "type": 2,
        "name": "myFile",
        "link": "https://api.dev.menassahur.com/storage/attachments/test_20251213062558000.jpg",
        "order": {
            "id": 3,
            "subject": "Aliquam molestiae rerum iste consequuntur et exercitationem et. Rem sed hic dolores animi eum. Ipsa doloremque at repellat iure.",
            "status": 6
        }
    },
    "message": "The attachment added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/attachment/file

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

file   file   

Must be a file. Example: /tmp/phpdpeFpd

name   string   

Must not be greater than 255 characters. Example: npxsowpjatlhmuf

order_id   string  optional  

The id of an existing record in the orders table. This field is required when offer_id is not present.

offer_id   string  optional  

The id of an existing record in the offers table. This field is required when order_id is not present.

type   string   

Example: 3

Must be one of:
  • 1
  • 2
  • 3
order   integer   

Example: 4

Accept Attachment

requires authentication

This endpoint lets you accept attachment

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/attachment/1/status/accept" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/attachment/1/status/accept"
);

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

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

Example response (200):


{
    "data": {
        "id": 4,
        "user_id": 42,
        "status": 2,
        "sort": 11,
        "type": 2,
        "name": "myFile",
        "link": "http://connelly.com/",
        "order": {
            "id": 10,
            "subject": "Voluptas facilis vel enim ad. Et consequatur repellat aut adipisci enim ipsam ut impedit. Dicta labore quis et et.",
            "status": 9
        }
    },
    "message": "The attachment status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/attachment/{attachment_id}/status/accept

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

attachment_id   integer   

The ID of the attachment. Example: 1

Reject Attachment

requires authentication

This endpoint lets you reject attachment

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/attachment/1/status/reject" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/attachment/1/status/reject"
);

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

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

Example response (200):


{
    "data": {
        "id": 10,
        "user_id": 50,
        "status": 3,
        "sort": 13,
        "type": 3,
        "name": "myFile",
        "link": "http://www.rolfson.com/libero-ut-velit-ex-nobis",
        "order": {
            "id": 12,
            "subject": "Iusto minus laboriosam ut aut nisi expedita. Quisquam ratione est adipisci ut. Voluptates enim tempora recusandae est. Sunt quos non cupiditate consequatur quia repellat ipsam.",
            "status": 7
        }
    },
    "message": "The attachment status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/attachment/{attachment_id}/status/reject

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

attachment_id   integer   

The ID of the attachment. Example: 1

Show all attachments

requires authentication

This endpoint lets you show all attachments

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/attachments?page=12&per_page=5&filter%5Bid%5D=eveniet&filter%5Blink%5D=inventore&filter%5Buser_id%5D=autem&sort=modi" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/attachments"
);

const params = {
    "page": "12",
    "per_page": "5",
    "filter[id]": "eveniet",
    "filter[link]": "inventore",
    "filter[user_id]": "autem",
    "sort": "modi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 11,
            "user_id": 48,
            "status": 1,
            "sort": 6,
            "type": 2,
            "name": "myFile",
            "link": null,
            "order": {
                "id": 11,
                "subject": "Voluptatem excepturi et laborum porro in odio omnis. Fugit officia distinctio est voluptatem qui dolorum. Ullam ut inventore rerum.",
                "status": 6
            }
        },
        {
            "id": 12,
            "user_id": 51,
            "status": 1,
            "sort": 13,
            "type": 2,
            "name": "myFile",
            "link": null,
            "order": {
                "id": 12,
                "subject": "Hic ut aut repellendus suscipit dolore. Corporis ut est natus voluptates veritatis. Voluptatibus placeat quia a quaerat soluta tenetur.",
                "status": 7
            }
        },
        {
            "id": 13,
            "user_id": 54,
            "status": 1,
            "sort": 2,
            "type": 1,
            "name": "myFile",
            "link": null,
            "order": {
                "id": 13,
                "subject": "Debitis doloribus nostrum temporibus sequi laudantium debitis optio et. Hic nobis rem odit quos. Repellendus et in voluptatibus quis qui.",
                "status": 9
            }
        },
        {
            "id": 14,
            "user_id": 57,
            "status": 1,
            "sort": 16,
            "type": 2,
            "name": "myFile",
            "link": null,
            "order": {
                "id": 14,
                "subject": "Ut enim sit et vitae nostrum suscipit. Et voluptatem impedit ut porro ab. Asperiores quo rem nobis quia tempore praesentium.",
                "status": 3
            }
        },
        {
            "id": 15,
            "user_id": 60,
            "status": 2,
            "sort": 8,
            "type": 2,
            "name": "myFile",
            "link": "http://www.macejkovic.info/",
            "order": {
                "id": 15,
                "subject": "Optio aut nam aut voluptates id voluptas. Delectus molestiae eius rem sit soluta. Quia dignissimos ipsam aut eius occaecati modi labore nostrum.",
                "status": 9
            }
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/attachments

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 12

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 5

filter[id]   string  optional  

Field to filter items by id. Example: eveniet

filter[link]   string  optional  

Field to filter items by link. Example: inventore

filter[user_id]   string  optional  

Field to filter items by user_id. Example: autem

sort   string  optional  

Field to sort items by id,link,user_id,order_id. Example: modi

Show specific attachment

requires authentication

This endpoint lets you show specific attachment

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/attachments/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/attachments/1"
);

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

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

Example response (200):


{
    "data": {
        "id": 3,
        "user_id": 19,
        "status": 2,
        "sort": 9,
        "type": 2,
        "name": "myFile",
        "link": "http://klein.com/necessitatibus-ut-ut-voluptatibus-quasi",
        "order": {
            "id": 3,
            "subject": "Rerum numquam repudiandae consequatur est placeat. At molestiae quas occaecati suscipit quidem asperiores eos natus. Aut aspernatur aut sunt sed.",
            "status": 9
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/attachments/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the attachment. Example: 1

Delete specific attachment

requires authentication

This endpoint lets you delete specific attachment

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/attachments/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/attachments/1"
);

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

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

Example response (200):


{
    "message": "The attachment deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/attachments/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the attachment. Example: 1

Auth management

APIs for login, register and all about auth

Register

This endpoint lets you add a new user

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/auth/register" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "phone=provident"\
    --form "password=&|K(O4?gp"\
    --form "name=gfpit"\
    --form "age=uapipfxigw"\
    --form "brief=xribshprsgqnt"\
    --form "specialty=jmdudkvjxdgjxmxcridxp"\
    --form "profession=ektywaautfxj"\
    --form "[email protected]"\
    --form "language=1"\
    --form "image=@/tmp/phpodNLlk" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/register"
);

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

const body = new FormData();
body.append('phone', 'provident');
body.append('password', '&|K(O4?gp');
body.append('name', 'gfpit');
body.append('age', 'uapipfxigw');
body.append('brief', 'xribshprsgqnt');
body.append('specialty', 'jmdudkvjxdgjxmxcridxp');
body.append('profession', 'ektywaautfxj');
body.append('email', '[email protected]');
body.append('language', '1');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "token_type": "bearer",
        "access_token": "DAqEtQXVarD4zPwnftwjRspMkmrfvhoNVAaXfwIR",
        "access_expires_at": "2026-12-13T06:26:17.000000Z",
        "refresh_token": "NrgrMNP10TJ8P3Kh2BgGOsoEzeMnV838jpWmgB4P",
        "refresh_expires_at": "2026-12-13T06:26:17.000000Z",
        "me": {
            "id": 710,
            "name": null,
            "phone": "+971554838025",
            "image": "https://api.dev.menassahur.com/storage/users/avatar_20251213062617000.png",
            "email": null,
            "chat_id": "710_TESTING_CHAT_ID",
            "has_verified_email": false,
            "has_verified_phone": false,
            "age": null,
            "profession": null,
            "specialty": null,
            "brief": null,
            "expert_rating_avg": null,
            "marketing_link": null,
            "permissions": null,
            "type": 0,
            "section": null,
            "language": 1,
            "expert_services": null,
            "has_password": true,
            "roles": null
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

POST api/v1/auth/register

Headers

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

phone   string   

Example: provident

password   string   

Must be at least 6 characters. Example: &|K(O4?gp

name   string  optional  

Must not be greater than 255 characters. Example: gfpit

age   string  optional  

Must not be greater than 255 characters. Example: uapipfxigw

brief   string  optional  

Must not be greater than 255 characters. Example: xribshprsgqnt

specialty   string  optional  

Must not be greater than 255 characters. Example: jmdudkvjxdgjxmxcridxp

profession   string  optional  

Must not be greater than 255 characters. Example: ektywaautfxj

email   string  optional  

Must be a valid email address. Must not be greater than 255 characters. Example: [email protected]

language   string  optional  

Example: 1

Must be one of:
  • 1
  • 2
image   file  optional  

Must be an image. Must not be greater than 10240 kilobytes. Example: /tmp/phpodNLlk

Login

This endpoint lets you log in with specific user

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/auth/login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"phone\": \"sint\",
    \"password\": \"fC]\\\"b1gnMboy$-]}.\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/login"
);

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

let body = {
    "phone": "sint",
    "password": "fC]\"b1gnMboy$-]}."
};

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

Example response (200):


{
    "data": {
        "token_type": "bearer",
        "access_token": "DAqEtQXVarD4zPwnftwjRspMkmrfvhoNVAaXfwIR",
        "access_expires_at": "2026-12-13T06:26:17.000000Z",
        "refresh_token": "NrgrMNP10TJ8P3Kh2BgGOsoEzeMnV838jpWmgB4P",
        "refresh_expires_at": "2026-12-13T06:26:17.000000Z",
        "me": {
            "id": 710,
            "name": null,
            "phone": "+971554838025",
            "image": "https://api.dev.menassahur.com/storage/users/avatar_20251213062617000.png",
            "email": null,
            "chat_id": "710_TESTING_CHAT_ID",
            "has_verified_email": false,
            "has_verified_phone": false,
            "age": null,
            "profession": null,
            "specialty": null,
            "brief": null,
            "expert_rating_avg": null,
            "marketing_link": null,
            "permissions": null,
            "type": 0,
            "section": null,
            "language": 1,
            "expert_services": null,
            "has_password": true,
            "roles": null
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

POST api/v1/auth/login

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

phone   string   

Example: sint

password   string   

Must be at least 6 characters. Example: fC]"b1gnMboy$-]}.

udid   string  optional  
fcm_token   string  optional  

login via firebase account

This endpoint lets you login via firebase id token

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/auth/firebase-login" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"id_token\": \"odit\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/firebase-login"
);

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

let body = {
    "id_token": "odit"
};

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

Request      

POST api/v1/auth/firebase-login

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

id_token   string   

Example: odit

phone   string  optional  
udid   string  optional  
fcm_token   string  optional  

Update user

requires authentication

This endpoint lets you update user's information

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/auth/update" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=jiafynhrkudvzanyymqy"\
    --form "password=tawyKTnh"\
    --form "age=lkqwxjtxwjpzkltkhprpm"\
    --form "brief=nwbk"\
    --form "specialty=lrqeev"\
    --form "profession=cpxccmwemnmoaxdgugsvvrt"\
    --form "chat_id=qjq"\
    --form "[email protected]"\
    --form "language=1"\
    --form "image=@/tmp/phpdbMjgk" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/update"
);

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

const body = new FormData();
body.append('name', 'jiafynhrkudvzanyymqy');
body.append('password', 'tawyKTnh');
body.append('age', 'lkqwxjtxwjpzkltkhprpm');
body.append('brief', 'nwbk');
body.append('specialty', 'lrqeev');
body.append('profession', 'cpxccmwemnmoaxdgugsvvrt');
body.append('chat_id', 'qjq');
body.append('email', '[email protected]');
body.append('language', '1');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 746,
        "name": "New last name",
        "phone": "+13099963599",
        "image": null,
        "email": "fliddddd@gmail",
        "chat_id": "0c3b4f74-3068-3d0a-88f4-ed260d942218",
        "has_verified_email": false,
        "has_verified_phone": false,
        "age": 21,
        "profession": "Caterpillar took.",
        "specialty": "Alice and all the.",
        "brief": "Queen, pointing to.",
        "expert_rating_avg": 0.1,
        "marketing_link": null,
        "permissions": null,
        "type": 1,
        "section": 1,
        "language": 1,
        "expert_services": [],
        "has_password": true,
        "roles": null
    },
    "message": "User's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/auth/update

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

name   string  optional  

Must not be greater than 255 characters. Example: jiafynhrkudvzanyymqy

password   string  optional  

Must be at least 6 characters. Example: tawyKTnh

age   string  optional  

Must not be greater than 255 characters. Example: lkqwxjtxwjpzkltkhprpm

brief   string  optional  

Must not be greater than 255 characters. Example: nwbk

specialty   string  optional  

Must not be greater than 255 characters. Example: lrqeev

profession   string  optional  

Must not be greater than 255 characters. Example: cpxccmwemnmoaxdgugsvvrt

chat_id   string  optional  

Must not be greater than 255 characters. Example: qjq

email   string  optional  

Must be a valid email address. Must not be greater than 255 characters. Example: [email protected]

language   string  optional  

Example: 1

Must be one of:
  • 1
  • 2
image   file  optional  

Must be an image. Must not be greater than 10240 kilobytes. Example: /tmp/phpdbMjgk

Refresh token

This endpoint lets you refresh token to user

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/auth/refresh?token=eligendi" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"access_token\": \"placeat\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/refresh"
);

const params = {
    "token": "eligendi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

let body = {
    "access_token": "placeat"
};

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

Example response (200):


{
    "data": {
        "token_type": "bearer",
        "access_token": "QIdm2CamBNFZR67QvFTAp8QBUxQCIt61UZgbj06O",
        "access_expires_at": "2026-12-13T06:26:10.000000Z",
        "refresh_token": "6k9dZeT4hICNnAJjwaMV0KD4VKLluDtUDMPTVbR5",
        "refresh_expires_at": "2026-12-13T06:26:10.000000Z",
        "me": {
            "id": 702,
            "name": "Mrs. Evie Buckridge DDS",
            "phone": "+15866073623",
            "image": null,
            "email": "[email protected]",
            "chat_id": "58786e25-766c-3ff2-8f52-0329bccaf86e",
            "has_verified_email": true,
            "has_verified_phone": false,
            "age": "65",
            "profession": "Don't let him know.",
            "specialty": "The Duchess took.",
            "brief": "I hadn't begun my.",
            "expert_rating_avg": 0.4,
            "marketing_link": null,
            "permissions": null,
            "type": 1,
            "section": 1,
            "language": 1,
            "expert_services": [],
            "has_password": true,
            "roles": null
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/auth/refresh

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

token   string   

User's token. Example: eligendi

Body Parameters

access_token   string   

Example: placeat

Logout

requires authentication

This endpoint lets you log out

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/auth/logout?token=omnis&udid=a" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"access_token\": \"nihil\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/logout"
);

const params = {
    "token": "omnis",
    "udid": "a",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

let body = {
    "access_token": "nihil"
};

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

Example response (200):


{
    "message": "Successfully logged out",
    "status_code": 200
}
 

Request      

POST api/v1/auth/logout

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

token   string   

User's token. Example: omnis

udid   string  optional  

User's device udid. Example: a

Body Parameters

udid   string  optional  
fcm_token   string  optional  
access_token   string   

Example: nihil

Change Password

requires authentication

This endpoint lets you change the account password

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/auth/change-password" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"password\": \"ab\",
    \"new_password\": \"lqpvvikkwykgryfqsbwryyadmqoxjnmvznnvtipqhjyfoxprhhtfeqaglczmyzkuuieuelwrussesfq\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/change-password"
);

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

let body = {
    "password": "ab",
    "new_password": "lqpvvikkwykgryfqsbwryyadmqoxjnmvznnvtipqhjyfoxprhhtfeqaglczmyzkuuieuelwrussesfq"
};

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

Example response (200):


{
    "message": "Password is updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/auth/change-password

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

password   string   

Example: ab

new_password   string   

Must be at least 6 characters. Example: lqpvvikkwykgryfqsbwryyadmqoxjnmvznnvtipqhjyfoxprhhtfeqaglczmyzkuuieuelwrussesfq

Register User Device

requires authentication

This endpoint lets you register User Device

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/auth/register-device" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"udid\": \"perspiciatis\",
    \"fcm_token\": \"quos\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/register-device"
);

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

let body = {
    "udid": "perspiciatis",
    "fcm_token": "quos"
};

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

Example response (200):


{
    "message": "Device is registered successfully",
    "status_code": 200
}
 

Request      

POST api/v1/auth/register-device

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

udid   string   

Example: perspiciatis

fcm_token   string   

Example: quos

Log in using phone number

This endpoint creates a new user and sends an OTP to the provided phone number.

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/auth/login-with-phone" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"phone\": \"+1234567890\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/login-with-phone"
);

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

let body = {
    "phone": "+1234567890"
};

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

Example response (200):


{
    "data": {
        "user_id": 57
    },
    "message": "OTP sent",
    "status_code": 200
}
 

Request      

POST api/v1/auth/login-with-phone

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

phone   string   

The user's phone number. Example: +1234567890

Verify OTP

This endpoint verifies the (OTP) sent to the user's phone.

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/auth/register/verify-otp" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"phone\": \"+1234567890\",
    \"otp_code\": \"mollitia\",
    \"otp_cod\": \"123456\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/register/verify-otp"
);

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

let body = {
    "phone": "+1234567890",
    "otp_code": "mollitia",
    "otp_cod": "123456"
};

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

Example response (200):


{
    "data": {
        "token_type": "bearer",
        "access_token": "BUZ8OKuWVDy1m9lypmElgSq8lNbIJrMoHvUVeO3D",
        "access_expires_at": "2026-12-13T06:26:13.000000Z",
        "refresh_token": "ME8ssEz14sX8o7RlM7ZbLGpc76YN10N5OdEID1GO",
        "refresh_expires_at": "2026-12-13T06:26:13.000000Z",
        "me": {
            "id": 57,
            "name": "Torrance Howell II",
            "phone": "+963994635477",
            "image": null,
            "email": "[email protected]",
            "chat_id": "0a49e0d6-d9f4-3865-893a-e51feaaf5d00",
            "has_verified_email": true,
            "has_verified_phone": true,
            "age": "95",
            "profession": "Gryphon. 'I mean.",
            "specialty": "The Mouse did not.",
            "brief": "King said gravely.",
            "expert_rating_avg": 0.1,
            "marketing_link": null,
            "permissions": null,
            "type": 16,
            "section": 1,
            "language": 1,
            "expert_services": null,
            "has_password": true,
            "roles": null
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

POST api/v1/auth/register/verify-otp

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

phone   string   

The user's phone number. Example: +1234567890

otp_code   string   

Example: mollitia

otp_cod   string   

The OTP code sent to the user's phone. Example: 123456

Request To Resend Otp Code

requires authentication

This endpoint lets you request otp code

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/auth/request-phone-otp" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"phone\": \"sit\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/auth/request-phone-otp"
);

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

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

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

Example response (200):


{
    "data": {
        "retry_after": 60
    },
    "message": "Code is sent successfully",
    "status_code": 200
}
 

Request      

POST api/v1/auth/request-phone-otp

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

phone   string   

Example: sit

Category

APIs for course category settings

Show all category

requires authentication

This endpoint lets you show all category

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/categories?page=16&per_page=7&filter%5Bid%5D=qui&filter%5Bname%5D=blanditiis&filter%5Bdescription%5D=qui&sort=deleniti" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/categories"
);

const params = {
    "page": "16",
    "per_page": "7",
    "filter[id]": "qui",
    "filter[name]": "blanditiis",
    "filter[description]": "qui",
    "sort": "deleniti",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 8,
            "name": "Mrs. Adella Jones IV",
            "name_ar": "Mrs. Chloe Lakin DDS",
            "description": "Assumenda et officia in ut. Officia maxime qui minus reprehenderit et laborum quasi. Illum laudantium quidem est libero accusantium maxime minima.",
            "description_ar": "Alias dicta dolores nihil voluptas sit velit. Et eveniet id non laboriosam. Aut exercitationem est molestias quam soluta ut."
        },
        {
            "id": 9,
            "name": "Dr. Charles Wisozk",
            "name_ar": "Mr. Deshawn Auer Jr.",
            "description": "Adipisci officia beatae officiis illo harum cupiditate. Exercitationem voluptate eum rerum corrupti impedit. Voluptatem voluptatum et rerum aut dolores et.",
            "description_ar": "Aut distinctio rem ratione sapiente reiciendis nisi. Similique voluptas unde eaque in consectetur nam veritatis. Mollitia libero esse eius veritatis reiciendis possimus."
        },
        {
            "id": 10,
            "name": "Tyree Larkin",
            "name_ar": "Oceane Kirlin",
            "description": "Aperiam et voluptatem corporis autem. Consequuntur ut veniam omnis aliquam praesentium saepe. Voluptas voluptas voluptas praesentium fuga et. Illo dolorum et necessitatibus esse qui enim.",
            "description_ar": "Et repudiandae autem qui. Eos laborum facilis eos itaque cumque. Laudantium excepturi consectetur iure."
        },
        {
            "id": 11,
            "name": "Bertram Dibbert",
            "name_ar": "Lonzo Volkman",
            "description": "Non quae minus quis at dolore consequatur et. Tenetur est est maiores iure facilis. Velit et maiores quisquam quidem quis atque voluptate optio. Soluta debitis nobis magni dignissimos qui.",
            "description_ar": "Consequuntur at aut molestiae ipsa iste. Aut doloribus nihil et omnis quis nihil. Dolorum quas dignissimos voluptas quo. Animi eveniet qui corrupti nisi et."
        },
        {
            "id": 12,
            "name": "Pietro Abbott II",
            "name_ar": "Justus Bechtelar",
            "description": "Libero ad minus omnis ut aperiam. Mollitia non eum est commodi aut quia totam. Ut sit sit sit dolorem ratione provident necessitatibus. Quos saepe in explicabo optio error et. Dolor qui et illo ut. Delectus aut eos debitis et omnis qui dignissimos.",
            "description_ar": "Tenetur hic et unde qui. Voluptatem et laudantium quia id consectetur odio vitae. Ratione maxime ut modi vel architecto quo suscipit. Eligendi dolores facere doloremque nulla modi."
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/categories

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 16

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 7

filter[id]   string  optional  

Field to filter items by id. Example: qui

filter[name]   string  optional  

Field to filter items by name. Example: blanditiis

filter[description]   string  optional  

sting Field to filter items by description. Example: qui

sort   string  optional  

Field to sort items by id,description,name. Example: deleniti

Add category to category

requires authentication

This endpoint lets you add category to category

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/categories" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"description\": \"Magnam explicabo omnis sint aut.\",
    \"description_ar\": \"grbuuoqxtifmknfohsr\",
    \"name\": \"pagmnbozuinwwamks\",
    \"name_ar\": \"sqoejsallerpihabkyxaxz\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/categories"
);

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

let body = {
    "description": "Magnam explicabo omnis sint aut.",
    "description_ar": "grbuuoqxtifmknfohsr",
    "name": "pagmnbozuinwwamks",
    "name_ar": "sqoejsallerpihabkyxaxz"
};

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

Example response (200):


{
    "data": {
        "id": 1,
        "name": "category1",
        "name_ar": "تصنيف",
        "description": "this is my category",
        "description_ar": "this is my arabic"
    },
    "message": "The category added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/categories

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

description   string   

Must not be greater than 255 characters. Example: Magnam explicabo omnis sint aut.

description_ar   string   

Must not be greater than 255 characters. Example: grbuuoqxtifmknfohsr

name   string   

Must not be greater than 255 characters. Example: pagmnbozuinwwamks

name_ar   string   

Must not be greater than 255 characters. Example: sqoejsallerpihabkyxaxz

Show specific category

requires authentication

This endpoint lets you show specific category

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/categories/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/categories/1"
);

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

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

Example response (200):


{
    "data": {
        "id": 6,
        "name": "Heidi Brown",
        "name_ar": "Ransom Borer V",
        "description": "Eum tenetur velit nihil incidunt dolore. Quaerat recusandae ad ratione veniam velit voluptatum. Et et ex quia quas velit. Est sunt in aut excepturi. Dolorum esse molestiae excepturi maiores voluptas officiis.",
        "description_ar": "Ullam voluptate ad excepturi. Maiores alias quibusdam accusantium laudantium. Quas numquam est ut fugit explicabo eum quod autem. Quasi ducimus voluptate voluptatem doloribus numquam quia."
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/categories/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the category. Example: 1

Update specific category

requires authentication

This endpoint lets you update specific category.

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/categories/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"description\": \"Corporis reprehenderit est rerum iusto magnam ad.\",
    \"description_ar\": \"lvqxnqyi\",
    \"name\": \"mlbysfwluhdpm\",
    \"name_ar\": \"jgmugnoceja\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/categories/1"
);

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

let body = {
    "description": "Corporis reprehenderit est rerum iusto magnam ad.",
    "description_ar": "lvqxnqyi",
    "name": "mlbysfwluhdpm",
    "name_ar": "jgmugnoceja"
};

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

Example response (200):


{
    "data": {
        "id": 8,
        "name": "category1",
        "name_ar": "Lizzie Wintheiser",
        "description": "this is my category",
        "description_ar": "Corrupti dolores earum qui voluptas amet. In omnis nihil aliquid distinctio sit iste corrupti. Autem consequatur fugit dolor quia quam. Nesciunt doloribus officia nostrum ut."
    },
    "message": "course's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/categories/{id}

PATCH api/v1/categories/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the category. Example: 1

Body Parameters

description   string  optional  

Must not be greater than 255 characters. Example: Corporis reprehenderit est rerum iusto magnam ad.

description_ar   string  optional  

Must not be greater than 255 characters. Example: lvqxnqyi

name   string  optional  

Must not be greater than 255 characters. Example: mlbysfwluhdpm

name_ar   string  optional  

Must not be greater than 255 characters. Example: jgmugnoceja

Delete specific category

requires authentication

This endpoint lets you delete specific category

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/categories/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/categories/1"
);

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

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

Example response (200):


{
    "message": "The category deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/categories/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the category. Example: 1

Show category courses

requires authentication

This endpoint lets you show all courses for specific category id

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/categories/1/courses?page=16&per_page=20&filter%5Bid%5D=harum&filter%5Bteacher_id%5D=repellat&filter%5Bname%5D=pariatur&filter%5Bdescription%5D=eum&filter%5Bprice%5D=5515220.64462&filter%5Bhours%5D=3&filter%5Bdates%5D=illum&sort=dolor" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/categories/1/courses"
);

const params = {
    "page": "16",
    "per_page": "20",
    "filter[id]": "harum",
    "filter[teacher_id]": "repellat",
    "filter[name]": "pariatur",
    "filter[description]": "eum",
    "filter[price]": "5515220.64462",
    "filter[hours]": "3",
    "filter[dates]": "illum",
    "sort": "dolor",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 1,
            "name": "Anna Zboncak",
            "name_ar": "Emily Auer",
            "description": "Numquam consequatur quis laboriosam et incidunt vel pariatur consequatur. Veniam deserunt aut minima at excepturi nostrum. Vitae architecto sapiente voluptates quo sint qui.",
            "description_ar": "Incidunt qui et nam laboriosam. Sit totam saepe inventore distinctio eligendi officia. Aliquam aut sint et. Nisi doloribus consequatur assumenda omnis consectetur. Quisquam ea quia aut eius aut.",
            "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/0011ee?text=repudiandae",
            "price": 7047.5,
            "hours": 11386,
            "dates": null,
            "teachers": null,
            "category_id": 1,
            "teacher_id": 60,
            "category_name": "Devonte Berge",
            "teacher_name": "Prof. Randy Yundt MD"
        },
        {
            "id": 2,
            "name": "Miss Jane Purdy DVM",
            "name_ar": "Leonardo Weimann",
            "description": "Blanditiis quae facere iste qui vel. Quis sit architecto veniam aut eum voluptas tempora error. Nemo aperiam quo totam. Molestiae ducimus dolorem sequi laborum officia accusamus. Dolorem soluta dolor quia quo dolor et quo.",
            "description_ar": "Qui quas non neque vero maxime. Voluptas vel doloribus eum. Eos non sed non qui. Quia ea omnis dignissimos non. Eos ullam nobis perferendis facilis aut fugit iste. Aut qui et dignissimos eius accusantium fugiat.",
            "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/006622?text=dolorum",
            "price": 7932.17,
            "hours": 14877,
            "dates": null,
            "teachers": null,
            "category_id": 1,
            "teacher_id": 62,
            "category_name": "Devonte Berge",
            "teacher_name": "Jarrod Purdy PhD"
        }
    ],
    "meta": {
        "pagination": {
            "total": 2,
            "per_page": 5,
            "count": 2,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/categories/{category_id}/courses

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

category_id   integer   

The ID of the category. Example: 1

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 16

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 20

filter[id]   string  optional  

Field to filter items by id. Example: harum

filter[teacher_id]   string  optional  

Field to filter items by teacher_id. Example: repellat

filter[name]   string  optional  

Field to filter items by name. Example: pariatur

filter[description]   string  optional  

sting Field to filter items by description. Example: eum

filter[price]   number  optional  

Field to filter items by price. Example: 5515220.64462

filter[hours]   integer  optional  

Field to filter items by hours. Example: 3

filter[dates]   string  optional  

Field to filter items by dates. Example: illum

sort   string  optional  

Field to sort items by id,description,name,price,hours,dates,teacher_id. Example: dolor

Chat

APIs for Chat Management

Show all user chats

requires authentication

This endpoint lets user show all chats

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/user/chats" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/user/chats"
);

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

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

Example response (200):


{
    "data": [
        {
            "chat_id": 6,
            "user": null,
            "receiver": {
                "id": 80,
                "name": "Mara Schulist",
                "phone": "+16898425150",
                "image": null
            },
            "last_message": {
                "message": "Et consectetur et ab quo cum in numquam.",
                "created_at": "2025-12-13T06:26:25.000000Z"
            },
            "unread_messages_count": 2
        },
        {
            "chat_id": 7,
            "user": null,
            "receiver": {
                "id": 82,
                "name": "Trinity Daugherty",
                "phone": "+14086700609",
                "image": null
            },
            "last_message": {
                "message": "Sit quia amet sit magni et occaecati et.",
                "created_at": "2025-12-13T06:26:25.000000Z"
            },
            "unread_messages_count": 0
        },
        {
            "chat_id": 8,
            "user": null,
            "receiver": {
                "id": 84,
                "name": "Kelsi Mitchell",
                "phone": "+17317059423",
                "image": null
            },
            "last_message": {
                "message": "Voluptatum consequatur nesciunt sapiente fuga cum.",
                "created_at": "2025-12-13T06:26:25.000000Z"
            },
            "unread_messages_count": 0
        },
        {
            "chat_id": 9,
            "user": null,
            "receiver": {
                "id": 86,
                "name": "Mrs. Frederique Leannon",
                "phone": "+12106398082",
                "image": null
            },
            "last_message": {
                "message": "Voluptatem accusantium aperiam modi aut possimus sapiente.",
                "created_at": "2025-12-13T06:26:26.000000Z"
            },
            "unread_messages_count": 0
        },
        {
            "chat_id": 10,
            "user": null,
            "receiver": {
                "id": 88,
                "name": "Adrienne Lowe",
                "phone": "+14253281383",
                "image": null
            },
            "last_message": {
                "message": "Nihil pariatur voluptas animi adipisci iusto quasi placeat modi.",
                "created_at": "2025-12-13T06:26:26.000000Z"
            },
            "unread_messages_count": 1
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/user/chats

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Show specific user chat messages

requires authentication

This endpoint lets user show specific chat messages

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/user/chats/offer/1/messages" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/user/chats/offer/1/messages"
);

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

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

Example response (200):


{
    "data": [
        {
            "chat": {
                "id": 1
            },
            "message_id": 10,
            "sender": {
                "id": 758,
                "name": "Simeon Windler"
            },
            "message": "Non illo id velit sint est omnis dicta.",
            "attachments": null,
            "created_at": "2025-12-13T06:35:24.000000Z",
            "status": 1,
            "type": 3,
            "offer": {
                "id": 3,
                "status": 3
            },
            "order": {
                "id": 8,
                "status": 3
            }
        },
        {
            "chat": {
                "id": 1
            },
            "message_id": 9,
            "sender": {
                "id": 755,
                "name": "Bethel Schroeder"
            },
            "message": "Optio recusandae laborum tempore assumenda consequuntur suscipit.",
            "attachments": null,
            "created_at": "2025-12-13T06:34:24.000000Z",
            "status": 2,
            "type": 4,
            "offer": {
                "id": 3,
                "status": 3
            },
            "order": {
                "id": 8,
                "status": 3
            }
        },
        {
            "chat": {
                "id": 1
            },
            "message_id": 8,
            "sender": {
                "id": 752,
                "name": "Lavinia Ferry"
            },
            "message": "Mollitia illum consequatur magnam libero occaecati placeat iste.",
            "attachments": null,
            "created_at": "2025-12-13T06:33:24.000000Z",
            "status": 1,
            "type": 3,
            "offer": {
                "id": 3,
                "status": 3
            },
            "order": {
                "id": 8,
                "status": 3
            }
        },
        {
            "chat": {
                "id": 1
            },
            "message_id": 7,
            "sender": {
                "id": 749,
                "name": "Mrs. Magali Hickle"
            },
            "message": "Ex quidem fugit inventore molestiae eos quia ab.",
            "attachments": null,
            "created_at": "2025-12-13T06:32:23.000000Z",
            "status": 2,
            "type": 1,
            "offer": {
                "id": 3,
                "status": 3
            },
            "order": {
                "id": 8,
                "status": 3
            }
        },
        {
            "chat": {
                "id": 1
            },
            "message_id": 6,
            "sender": {
                "id": 746,
                "name": "Felicita O'Connell"
            },
            "message": "Recusandae aliquid dolores distinctio reiciendis quidem.",
            "attachments": null,
            "created_at": "2025-12-13T06:31:23.000000Z",
            "status": 1,
            "type": 1,
            "offer": {
                "id": 3,
                "status": 3
            },
            "order": {
                "id": 8,
                "status": 3
            }
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/user/chats/offer/{offer_id}/messages

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 1

Send Message

requires authentication

This endpoint lets user send message

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/user/chats/offer/1/messages" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"message\": \"sunt\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/user/chats/offer/1/messages"
);

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

let body = {
    "message": "sunt"
};

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

Example response (200):


{
    "data": {
        "chat": {
            "id": 1
        },
        "message_id": 1,
        "sender": {
            "id": 764,
            "name": "Noble Schiller"
        },
        "message": "Hello, this is a test!",
        "attachments": null,
        "created_at": "2025-12-13T06:26:26.000000Z",
        "status": 2,
        "type": 1,
        "offer": null,
        "order": null
    },
    "message": "The message was sent successfully",
    "status_code": 200
}
 

Request      

POST api/v1/user/chats/offer/{offer_id}/messages

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 1

Body Parameters

message   string  optional  

This field is required when none of attachments are present. Example: sunt

attachments   string[]  optional  

Configuration

APIs for global settings

get configuration

This endpoint lets you get current configuration

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/configurations" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/configurations"
);

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

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

Example response (200):


{
    "data": {
        "chat": {
            "key": "",
            "cluster": "mt1",
            "auth_endpoint": "http://localhost/api/broadcasting/auth",
            "channel_prefix": "chat.",
            "event": "new-message"
        },
        "payment": {
            "base_url": null,
            "api_key": null,
            "currency": "SAR",
            "country": null,
            "test_mode": null,
            "webhook_url": "http://localhost/api/myfatoorah-webhook"
        },
        "terms": "<p><strong>TEST AL TEST</strong></p>",
        "about": "<p><strong>TEST AL TEST</strong></p>",
        "how_to_use": [
            {
                "section_name": "شرح ألية العمل بالنسبة للطالبين الخدمات ",
                "section_content": "<p><strong>TEST AL TEST</strong></p>"
            },
            {
                "section_name": "شرح ألية العمل بالنسبة للطالبين للمختصين ",
                "section_content": "<p><strong>TEST AL TEST</strong></p>"
            }
        ],
        "contact_us": [
            {
                "section_name": "الدعم الفني",
                "contacts": [
                    {
                        "type": "phone",
                        "value": "0345675543"
                    },
                    {
                        "type": "mail",
                        "value": "[email protected]"
                    }
                ]
            },
            {
                "section_name": "قسم التسويق",
                "contacts": [
                    {
                        "type": "phone",
                        "value": "0345675543"
                    },
                    {
                        "type": "mail",
                        "value": "[email protected]"
                    }
                ]
            },
            {
                "section_name": "الشكاوي و الاقتراحات",
                "contacts": [
                    {
                        "type": "phone",
                        "value": "0345675543"
                    },
                    {
                        "type": "mail",
                        "value": "[email protected]"
                    }
                ]
            },
            {
                "section_name": "دعم المختصين",
                "contacts": [
                    {
                        "type": "phone",
                        "value": "0345675543"
                    },
                    {
                        "type": "mail",
                        "value": "[email protected]"
                    }
                ]
            }
        ],
        "app_labels": {
            "JOIN_EXPERTS_TEAM": "HOW_TO_JOIN_EXPERT_TEAM",
            "JOIN_MARKETERS_TEAM": "HOW_TO_JOIN_MARKETER_TEAM"
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/configurations

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Course

APIs for course settings

Show all courses

requires authentication

This endpoint lets you show all courses

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/courses?page=4&per_page=14&filter%5Bid%5D=optio&filter%5Bteacher_id%5D=sunt&filter%5Bcategory_id%5D=laboriosam&filter%5Bname%5D=cupiditate&filter%5Bdescription%5D=laudantium&filter%5Bprice%5D=10.65&filter%5Bhours%5D=19&filter%5Bdates%5D=assumenda&sort=quis" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/courses"
);

const params = {
    "page": "4",
    "per_page": "14",
    "filter[id]": "optio",
    "filter[teacher_id]": "sunt",
    "filter[category_id]": "laboriosam",
    "filter[name]": "cupiditate",
    "filter[description]": "laudantium",
    "filter[price]": "10.65",
    "filter[hours]": "19",
    "filter[dates]": "assumenda",
    "sort": "quis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 8,
            "name": "Amani Auer Sr.",
            "name_ar": "Chris Gerlach",
            "description": "Voluptatum velit mollitia consequuntur natus aut. Veritatis non nostrum aut quod dolor harum. Sit laudantium voluptatibus saepe mollitia eum nobis. Veniam cupiditate eum ab omnis sed. Suscipit non eaque quibusdam tempora laborum.",
            "description_ar": "Dolores tempore assumenda quo est. Itaque aut fuga quas eveniet explicabo officiis. Minus voluptas pariatur est fuga corrupti vitae. Alias doloribus qui consectetur qui.",
            "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/002200?text=corrupti",
            "price": 2811.12,
            "hours": 8006,
            "dates": null,
            "teachers": null,
            "category_id": 16,
            "teacher_id": 204,
            "category_name": "Prof. Faustino Torphy Sr.",
            "teacher_name": "Rossie Langworth"
        },
        {
            "id": 9,
            "name": "Marcel VonRueden I",
            "name_ar": "Flavio Roob",
            "description": "Nihil cumque repellendus ipsum facilis sed quaerat. Sint reprehenderit officiis autem aliquid aliquam animi laborum. Odio voluptas possimus excepturi ab dicta repudiandae dolor. Occaecati quae expedita placeat non et ipsum placeat distinctio.",
            "description_ar": "Blanditiis est repellat aut. Et sed beatae odio tenetur voluptas blanditiis. Delectus aspernatur rerum aspernatur quisquam maiores vitae blanditiis. Incidunt aut id voluptate sit quos eos.",
            "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/00dd99?text=cupiditate",
            "price": 6447.44,
            "hours": 1539,
            "dates": null,
            "teachers": null,
            "category_id": 17,
            "teacher_id": 206,
            "category_name": "Prof. Maverick Weissnat Sr.",
            "teacher_name": "Caterina Rau V"
        },
        {
            "id": 10,
            "name": "Abbey Bauch",
            "name_ar": "Miss Rosalinda Okuneva IV",
            "description": "Aspernatur alias eos consectetur soluta placeat eveniet. Et nam dolore quidem vel. Nostrum quo ut vel ipsam rerum nisi. Dolorum provident numquam aut distinctio temporibus.",
            "description_ar": "Voluptatem autem ut nobis nemo molestiae illum blanditiis voluptatum. Quam eos aut voluptas hic. Autem aperiam eligendi quidem sit qui voluptatem odit sunt.",
            "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/000033?text=deserunt",
            "price": 4954.85,
            "hours": 16312,
            "dates": null,
            "teachers": null,
            "category_id": 18,
            "teacher_id": 208,
            "category_name": "Hunter Rempel II",
            "teacher_name": "Alisa Dare"
        },
        {
            "id": 11,
            "name": "Prof. Dahlia Wisozk",
            "name_ar": "Miss Elinor Botsford",
            "description": "Vero nihil vitae similique debitis. Modi et qui non maxime. Qui dolore repellendus explicabo quia placeat unde. Officiis nobis animi eos consectetur ullam numquam.",
            "description_ar": "Temporibus voluptatem velit vitae est asperiores odit consequatur. Accusamus aut sed odit blanditiis et iste quis. Deleniti asperiores unde at eos rerum quae. Officiis ut quod ut.",
            "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/00cc55?text=ad",
            "price": 7205.83,
            "hours": 18719,
            "dates": null,
            "teachers": null,
            "category_id": 19,
            "teacher_id": 210,
            "category_name": "Marques Crona",
            "teacher_name": "Mr. Jean Bergnaum Jr."
        },
        {
            "id": 12,
            "name": "Ms. Kylie Grady MD",
            "name_ar": "Alexandria Hilpert",
            "description": "Ab praesentium nihil alias vero iste aliquid nostrum. Nisi saepe iusto voluptas iusto aut nam quia iure. Ipsa voluptate ut beatae sint totam ipsum. Dolorem aliquid repellendus similique et a aut.",
            "description_ar": "Dicta placeat illo facere nemo quaerat. Iure enim molestias hic accusantium aut voluptas et. Quia doloribus occaecati sed. Natus tempora nihil sed est consequatur laudantium. Rerum perferendis sunt qui optio quibusdam ex consequatur eum.",
            "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/00ff33?text=voluptatibus",
            "price": 186.98,
            "hours": 18618,
            "dates": null,
            "teachers": null,
            "category_id": 20,
            "teacher_id": 212,
            "category_name": "Miss Mabel Corwin PhD",
            "teacher_name": "Mr. Tomas Satterfield Sr."
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/courses

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 4

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 14

filter[id]   string  optional  

Field to filter items by id. Example: optio

filter[teacher_id]   string  optional  

Field to filter items by teacher_id. Example: sunt

filter[category_id]   string  optional  

Field to filter items by category_id. Example: laboriosam

filter[name]   string  optional  

Field to filter items by name. Example: cupiditate

filter[description]   string  optional  

sting Field to filter items by description. Example: laudantium

filter[price]   number  optional  

Field to filter items by price. Example: 10.65

filter[hours]   integer  optional  

Field to filter items by hours. Example: 19

filter[dates]   string  optional  

Field to filter items by dates. Example: assumenda

sort   string  optional  

Field to sort items by id,description,name,price,hours,dates,teacher_id,category_id. Example: quis

Add course to course

requires authentication

This endpoint lets you add course to course

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/courses" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "description=Doloribus voluptate laboriosam nisi suscipit qui quo."\
    --form "description_ar=iiejbhbsuecxlwro"\
    --form "name=uwd"\
    --form "name_ar=kf"\
    --form "price=278.5948795"\
    --form "dates=repellendus"\
    --form "hours=doloremque"\
    --form "category_id=cjgivhpe"\
    --form "teachers=ksqufyeidkfrkpew"\
    --form "teacher_id=maxime"\
    --form "image=@/tmp/phpHDGHki" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/courses"
);

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

const body = new FormData();
body.append('description', 'Doloribus voluptate laboriosam nisi suscipit qui quo.');
body.append('description_ar', 'iiejbhbsuecxlwro');
body.append('name', 'uwd');
body.append('name_ar', 'kf');
body.append('price', '278.5948795');
body.append('dates', 'repellendus');
body.append('hours', 'doloremque');
body.append('category_id', 'cjgivhpe');
body.append('teachers', 'ksqufyeidkfrkpew');
body.append('teacher_id', 'maxime');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 1,
        "name": "course1",
        "name_ar": "course1",
        "description": "this is my course",
        "description_ar": "this is my course",
        "image": "https://api.dev.menassahur.com/storage/courses/test_20251213062632000.jpg",
        "price": 58.22,
        "hours": 8,
        "dates": "22/8/2021",
        "teachers": "my name is teacher",
        "category_id": 11111135,
        "teacher_id": 792,
        "category_name": "sport",
        "teacher_name": "Alverta Schimmel"
    },
    "message": "The course added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/courses

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

description   string   

Must not be greater than 255 characters. Example: Doloribus voluptate laboriosam nisi suscipit qui quo.

description_ar   string   

Must not be greater than 255 characters. Example: iiejbhbsuecxlwro

name   string   

Must not be greater than 255 characters. Example: uwd

name_ar   string   

Must not be greater than 255 characters. Example: kf

price   number   

Example: 278.5948795

dates   string   

Example: repellendus

hours   string   

Example: doloremque

category_id   string   

The id of an existing record in the categories table. Must not be greater than 255 characters. Example: cjgivhpe

image   file   

Must be an image. Example: /tmp/phpHDGHki

teachers   string  optional  

Must not be greater than 255 characters. Example: ksqufyeidkfrkpew

teacher_id   string   

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

Show specific course

requires authentication

This endpoint lets you show specific course

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/courses/18" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/courses/18"
);

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

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

Example response (200):


{
    "data": {
        "id": 6,
        "name": "Edward Crist",
        "name_ar": "Elian Romaguera",
        "description": "Et dolor odit nisi sed placeat a. Ipsam doloribus qui aut eveniet modi aspernatur eius. Ullam vero et ratione. Sit explicabo facilis sed velit esse eos consequatur. Dolorem sint optio est atque rerum. Doloremque quo corporis nisi ut ab sed atque.",
        "description_ar": "Quo quas odio iusto ex. Minima id est odit ad. Nemo non tenetur quaerat aliquid architecto dolorem. Ducimus ad a sapiente cumque nostrum. Optio officiis tempora id nihil dignissimos. Culpa laudantium sit et totam.",
        "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/00ffcc?text=dicta",
        "price": 1146.6,
        "hours": 214,
        "dates": null,
        "teachers": null,
        "category_id": 8,
        "teacher_id": 787,
        "category_name": "Jordy Vandervort",
        "teacher_name": "Jamir Robel"
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/courses/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the course. Example: 18

Update specific course

requires authentication

This endpoint lets you update specific course.

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/courses/6" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "description=Nobis cumque officiis eligendi maiores."\
    --form "description_ar=srzuwfyzsquwm"\
    --form "name=nziijddz"\
    --form "name_ar=cvyqmonziakersghto"\
    --form "price=g"\
    --form "dates=gjxfhcewey"\
    --form "hours=ooxifajyrjbr"\
    --form "category_id=hnbmtkbvzvpnychvzrxqle"\
    --form "teachers=oibsnltfdplllonqfoas"\
    --form "image=@/tmp/phpBcKfff" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/courses/6"
);

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

const body = new FormData();
body.append('description', 'Nobis cumque officiis eligendi maiores.');
body.append('description_ar', 'srzuwfyzsquwm');
body.append('name', 'nziijddz');
body.append('name_ar', 'cvyqmonziakersghto');
body.append('price', 'g');
body.append('dates', 'gjxfhcewey');
body.append('hours', 'ooxifajyrjbr');
body.append('category_id', 'hnbmtkbvzvpnychvzrxqle');
body.append('teachers', 'oibsnltfdplllonqfoas');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 8,
        "name": "course1",
        "name_ar": "Dereck Aufderhar Sr.",
        "description": "this is my course",
        "description_ar": "this is my course",
        "image": "https://api.dev.menassahur.com/storage/courses/tmp/phplMkODE",
        "price": 2980.27,
        "hours": 19144,
        "dates": null,
        "teachers": null,
        "category_id": 10,
        "teacher_id": 793,
        "category_name": "Miss Summer Ritchie",
        "teacher_name": "Jabari Tillman"
    },
    "message": "course's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/courses/{id}

PATCH api/v1/courses/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the course. Example: 6

Body Parameters

description   string  optional  

Must not be greater than 255 characters. Example: Nobis cumque officiis eligendi maiores.

description_ar   string  optional  

Must not be greater than 255 characters. Example: srzuwfyzsquwm

name   string  optional  

Must not be greater than 255 characters. Example: nziijddz

name_ar   string  optional  

Must not be greater than 255 characters. Example: cvyqmonziakersghto

price   string  optional  

Must not be greater than 255 characters. Example: g

dates   string  optional  

Must not be greater than 255 characters. Example: gjxfhcewey

hours   string  optional  

Must not be greater than 255 characters. Example: ooxifajyrjbr

category_id   string  optional  

The id of an existing record in the App\Models\CourseCategory table. Must not be greater than 255 characters. Example: hnbmtkbvzvpnychvzrxqle

image   file  optional  

Must be an image. Example: /tmp/phpBcKfff

teachers   string  optional  

Must not be greater than 255 characters. Example: oibsnltfdplllonqfoas

teacher_id   string  optional  

The id of an existing record in the App\Models\User table.

Delete specific course

requires authentication

This endpoint lets you delete specific course

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/courses/17" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/courses/17"
);

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

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

Example response (200):


{
    "message": "The course deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/courses/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the course. Example: 17

Course Order

APIs for course order settings

Show all course order

requires authentication

This endpoint lets you show all course order

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/course-orders?page=10&per_page=5&filter%5Bid%5D=sed&filter%5Buser_id%5D=et&filter%5Bcourse_id%5D=ea&filter%5Bname%5D=corrupti&filter%5Bphone%5D=labore&filter%5Bstatus%5D=aliquid&filter%5Bpreferred_times%5D=debitis&sort=saepe" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/course-orders"
);

const params = {
    "page": "10",
    "per_page": "5",
    "filter[id]": "sed",
    "filter[user_id]": "et",
    "filter[course_id]": "ea",
    "filter[name]": "corrupti",
    "filter[phone]": "labore",
    "filter[status]": "aliquid",
    "filter[preferred_times]": "debitis",
    "sort": "saepe",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 8,
            "name": "Sherman Walker",
            "phone": "+1-323-954-2726",
            "preferred_times": "Odit placeat consequatur nulla iste est. Est mollitia qui eos mollitia eveniet itaque. Hic itaque laboriosam eligendi perferendis.",
            "user_id": 818,
            "course_id": 16,
            "status": 3,
            "chat_group_id": null
        },
        {
            "id": 9,
            "name": "Hayden Gleichner I",
            "phone": "(607) 978-0588",
            "preferred_times": "Labore quasi molestias inventore in. Commodi aut vero est cum. Inventore qui nemo mollitia explicabo cumque. Magnam doloribus fuga beatae architecto illo. Eveniet maiores nihil libero odio.",
            "user_id": 821,
            "course_id": 17,
            "status": 2,
            "chat_group_id": null
        },
        {
            "id": 10,
            "name": "Prof. Diego Schowalter",
            "phone": "763.662.8276",
            "preferred_times": "Expedita in cupiditate aut voluptas ab ut iusto. Omnis dolorem repellendus consequatur pariatur. Consequatur sint suscipit delectus odit illo eius.",
            "user_id": 824,
            "course_id": 18,
            "status": 2,
            "chat_group_id": null
        },
        {
            "id": 11,
            "name": "Macy Daniel",
            "phone": "1-949-345-2024",
            "preferred_times": "Accusantium ut occaecati saepe quis. Tempora similique qui et laboriosam et rerum quibusdam. Quis incidunt animi consequuntur saepe commodi et sint laborum.",
            "user_id": 827,
            "course_id": 19,
            "status": 1,
            "chat_group_id": null
        },
        {
            "id": 12,
            "name": "Mrs. Dejah Davis",
            "phone": "+1.252.624.8089",
            "preferred_times": "Inventore soluta ut eum aut maiores culpa. Sapiente neque voluptas sed ab a laboriosam. Dolorem est aut et corrupti minus qui nihil. Eveniet ipsam aut nemo voluptatibus.",
            "user_id": 830,
            "course_id": 20,
            "status": 1,
            "chat_group_id": null
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/course-orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 10

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 5

filter[id]   string  optional  

Field to filter items by id. Example: sed

filter[user_id]   string  optional  

Field to filter items by user id. Example: et

filter[course_id]   string  optional  

sting Field to filter items by course id. Example: ea

filter[name]   string  optional  

sting Field to filter items by name. Example: corrupti

filter[phone]   string  optional  

sting Field to filter items by phone. Example: labore

filter[status]   string  optional  

sting Field to filter items by status. Example: aliquid

filter[preferred_times]   string  optional  

sting Field to filter items by preferred times. Example: debitis

sort   string  optional  

Field to sort items by id,name,preferred_times,phone,status,user_id,course_id. Example: saepe

Add course order

requires authentication

This endpoint lets you add course order to course order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/course-orders" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"twvkombbnnvmtpec\",
    \"phone\": \"atque\",
    \"preferred_times\": \"rerum\",
    \"course_id\": \"voluptate\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/course-orders"
);

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

let body = {
    "name": "twvkombbnnvmtpec",
    "phone": "atque",
    "preferred_times": "rerum",
    "course_id": "voluptate"
};

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

Example response (200):


{
    "data": {
        "id": 1,
        "name": "course1",
        "phone": "+971585422373",
        "preferred_times": "22/8/2021",
        "user_id": 807,
        "course_id": 3,
        "status": 1,
        "chat_group_id": null
    },
    "message": "The course order added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/course-orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Must not be greater than 255 characters. Example: twvkombbnnvmtpec

phone   string   

Example: atque

preferred_times   string   

Example: rerum

course_id   string   

The id of an existing record in the courses table. Example: voluptate

Show specific course order

requires authentication

This endpoint lets you show specific course order

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/course-orders/18" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/course-orders/18"
);

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

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

Example response (200):


{
    "data": {
        "id": 3,
        "name": "Prof. Kennith Ziemann",
        "phone": "720.345.1563",
        "preferred_times": "Sit assumenda autem sit vel rerum non maxime. Doloremque dolorum laudantium reiciendis culpa. Atque velit magni ullam.",
        "user_id": 196,
        "course_id": 11111160,
        "status": 2,
        "chat_group_id": null
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/course-orders/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the course order. Example: 18

Make Course Order accepted

requires authentication

This endpoint lets you accept course order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/course-orders/17/status/accept" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/course-orders/17/status/accept"
);

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

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

Example response (200):


{
    "data": {
        "id": 7,
        "name": "Novella Ferry",
        "phone": "+1-432-695-7892",
        "preferred_times": "Enim nesciunt quia est ab est molestias ut sed. Vel saepe quam et quo. Non minus suscipit ut aliquid eum cupiditate quisquam in.",
        "user_id": 211,
        "course_id": 11111164,
        "status": 2,
        "chat_group_id": null
    },
    "message": "The course order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/course-orders/{course_order_id}/status/accept

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_order_id   integer   

The ID of the course order. Example: 17

Reject Course Order

requires authentication

This endpoint lets you reject course order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/course-orders/19/status/reject" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/course-orders/19/status/reject"
);

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

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

Example response (200):


{
    "data": {
        "id": 11,
        "name": "Tad Welch DDS",
        "phone": "+1-682-548-1549",
        "preferred_times": "Natus consequatur qui cumque necessitatibus. Dolorem qui quaerat suscipit sed repudiandae aut culpa quae. Sit eos possimus perspiciatis eum.",
        "user_id": 228,
        "course_id": 11111168,
        "status": 3,
        "chat_group_id": null
    },
    "message": "The course order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/course-orders/{course_order_id}/status/reject

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

course_order_id   integer   

The ID of the course order. Example: 19

Endpoints

POST api/broadcasting/auth

requires authentication

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/broadcasting/auth" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/broadcasting/auth"
);

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

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

Request      

POST api/broadcasting/auth

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/broadcasting/auth-debug

requires authentication

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/broadcasting/auth-debug" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/broadcasting/auth-debug"
);

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

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

Request      

POST api/broadcasting/auth-debug

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/app-version/check

requires authentication

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/app-version/check" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"osType\": \"IOS\",
    \"release\": \"laboriosam\",
    \"buildNumber\": \"quia\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/app-version/check"
);

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

let body = {
    "osType": "IOS",
    "release": "laboriosam",
    "buildNumber": "quia"
};

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

Request      

POST api/app-version/check

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

osType   string   

Example: IOS

Must be one of:
  • IOS
  • ANDROID
release   string   

Example: laboriosam

buildNumber   string   

Example: quia

GET api/v1/app-versions

requires authentication

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/app-versions" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/app-versions"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "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
vary: Origin
 

{
    "message": "Unauthorized",
    "status_code": 401
}
 

Request      

GET api/v1/app-versions

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

POST api/v1/app-versions

requires authentication

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/app-versions" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"os_type\": \"ANDROID\",
    \"release\": \"possimus\",
    \"build_number\": \"provident\",
    \"action\": \"NORMAL\",
    \"message\": \"mollitia\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/app-versions"
);

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

let body = {
    "os_type": "ANDROID",
    "release": "possimus",
    "build_number": "provident",
    "action": "NORMAL",
    "message": "mollitia"
};

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

Request      

POST api/v1/app-versions

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

os_type   string   

Example: ANDROID

Must be one of:
  • IOS
  • ANDROID
release   string   

Example: possimus

build_number   string   

Example: provident

action   string   

Example: NORMAL

Must be one of:
  • NORMAL
  • OPTIONAL
  • FORCE
message   string  optional  

Example: mollitia

GET api/v1/app-versions/{id}

requires authentication

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/app-versions/8" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/app-versions/8"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "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
vary: Origin
 

{
    "message": "Unauthorized",
    "status_code": 401
}
 

Request      

GET api/v1/app-versions/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the app version. Example: 8

PUT api/v1/app-versions/{id}

requires authentication

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/app-versions/20" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"os_type\": \"IOS\",
    \"release\": \"consequatur\",
    \"build_number\": \"eveniet\",
    \"action\": \"OPTIONAL\",
    \"message\": \"consequatur\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/app-versions/20"
);

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

let body = {
    "os_type": "IOS",
    "release": "consequatur",
    "build_number": "eveniet",
    "action": "OPTIONAL",
    "message": "consequatur"
};

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

Request      

PUT api/v1/app-versions/{id}

PATCH api/v1/app-versions/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the app version. Example: 20

Body Parameters

os_type   string  optional  

Example: IOS

Must be one of:
  • IOS
  • ANDROID
release   string  optional  

Example: consequatur

build_number   string  optional  

Example: eveniet

action   string  optional  

Example: OPTIONAL

Must be one of:
  • NORMAL
  • OPTIONAL
  • FORCE
message   string  optional  

Example: consequatur

DELETE api/v1/app-versions/{id}

requires authentication

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/app-versions/13" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/app-versions/13"
);

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

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

Request      

DELETE api/v1/app-versions/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the app version. Example: 13

Feedbacks

APIs for managing feedbacks

Show all feedbacks

requires authentication

This endpoint lets you show all feedbacks

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/feedbacks?page=17&per_page=8&filter%5Bidentifier%5D=nihil&filter%5Bmessage%5D=velit&filter%5Btype%5D=16&filter%5Bstatus%5D=3&filter%5Brating%5D=5&sort=natus" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/feedbacks"
);

const params = {
    "page": "17",
    "per_page": "8",
    "filter[identifier]": "nihil",
    "filter[message]": "velit",
    "filter[type]": "16",
    "filter[status]": "3",
    "filter[rating]": "5",
    "sort": "natus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 8,
            "message": "Repellendus sed facere non vel laboriosam corporis laudantium. Laborum voluptatum laudantium consequatur officia quia. Enim non harum dolorum est. In rerum veritatis quia magni.",
            "status": 2,
            "user_id": 831,
            "type": 7,
            "rating": 4,
            "chat_group_id": "95110"
        },
        {
            "id": 9,
            "message": "Saepe sunt consectetur qui ea incidunt. Tempore et quas cum velit a adipisci a velit. Quia non qui dolore aut rerum. Pariatur qui nobis consequatur porro.",
            "status": 1,
            "user_id": 832,
            "type": 5,
            "rating": 2,
            "chat_group_id": "10716-4927"
        },
        {
            "id": 10,
            "message": "Exercitationem aperiam aperiam provident error mollitia. Aut natus ex officia tempore ut. Nemo vitae neque atque repudiandae.",
            "status": 1,
            "user_id": 833,
            "type": 1,
            "rating": 5,
            "chat_group_id": "29640"
        },
        {
            "id": 11,
            "message": "Ut voluptatibus aut repellendus impedit esse assumenda consequuntur. Molestiae possimus numquam et vero consequatur ad. Sit quo rerum et placeat occaecati sed. Eos exercitationem consectetur id.",
            "status": 2,
            "user_id": 834,
            "type": 6,
            "rating": 4,
            "chat_group_id": "06222"
        },
        {
            "id": 12,
            "message": "Assumenda alias enim ea laborum cumque. Sed iure vel eos magnam quia eos rerum eos.",
            "status": 2,
            "user_id": 835,
            "type": 4,
            "rating": 3,
            "chat_group_id": "26214"
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/feedbacks

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 17

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 8

filter[identifier]   string  optional  

Field to filter items by identifier. Example: nihil

filter[message]   string  optional  

Field to filter items by message. Example: velit

filter[type]   integer  optional  

Field to filter items by type. Example: 16

filter[status]   integer  optional  

Field to filter items by status. Example: 3

filter[rating]   integer  optional  

Field to filter items by rating. Example: 5

sort   string  optional  

Field to sort items by identifier,name,description,type, deadline, payment_type, status, proposed_price,expert_rating,user_rating. Example: natus

Add feedback

requires authentication

This endpoint lets you add feedback

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/feedbacks" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"message\": \"asperiores\",
    \"type\": \"6\",
    \"rating\": \"5\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/feedbacks"
);

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

let body = {
    "message": "asperiores",
    "type": "6",
    "rating": "5"
};

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

Example response (200):


{
    "data": {
        "id": 7,
        "message": "des",
        "status": 1,
        "user_id": 243,
        "type": 2,
        "rating": 1,
        "chat_group_id": "GROUP FEEDBACK(7)_TESTING_DIAL"
    },
    "message": "The feedback added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/feedbacks

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

message   string   

Example: asperiores

type   string   

Example: 6

Must be one of:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
rating   string  optional  

Example: 5

Must be one of:
  • 1
  • 2
  • 3
  • 4
  • 5
meta   string  optional  

Show specific feedback

requires authentication

This endpoint lets you show specific feedback

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/feedbacks/13" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/feedbacks/13"
);

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

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

Example response (200):


{
    "data": {
        "id": 6,
        "message": "Et est accusantium minima amet eaque ex voluptatibus. Voluptates molestias eligendi dolor qui eum. Ratione saepe velit culpa quos similique consectetur et fugit.",
        "status": 1,
        "user_id": 241,
        "type": 4,
        "rating": 2,
        "chat_group_id": "47616"
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/feedbacks/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the feedback. Example: 13

Update specific feedback

requires authentication

This endpoint lets you update specific feedback

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/feedbacks/20" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/feedbacks/20"
);

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

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

Example response (200):


{
    "data": {
        "id": 10,
        "message": "des",
        "status": 2,
        "user_id": 250,
        "type": 3,
        "rating": 2,
        "chat_group_id": "80205-2147"
    },
    "message": "Feedback's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/feedbacks/{id}

PATCH api/v1/feedbacks/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the feedback. Example: 20

Body Parameters

message   string  optional  
meta   string  optional  

Delete specific feedback

requires authentication

This endpoint lets you delete specific feedback

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/feedbacks/12" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/feedbacks/12"
);

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

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

Example response (200):


{
    "message": "The feedback deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/feedbacks/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the feedback. Example: 12

Field

APIs for field settings

Show all fields

requires authentication

This endpoint lets you show all fields

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/fields?page=17&per_page=18&filter%5Bid%5D=consequatur&filter%5Btype%5D=quae&filter%5Btitle%5D=optio&filter%5Bvalidation%5D=laboriosam&filter%5Bmeta%5D=repudiandae&sort=alias" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/fields"
);

const params = {
    "page": "17",
    "per_page": "18",
    "filter[id]": "consequatur",
    "filter[type]": "quae",
    "filter[title]": "optio",
    "filter[validation]": "laboriosam",
    "filter[meta]": "repudiandae",
    "sort": "alias",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 11,
            "type": 3,
            "title": "In in qui soluta. Sed eos iste ducimus eligendi numquam. Quia quidem inventore labore officiis. Beatae voluptatibus eum ipsam velit.",
            "title_ar": "Doloremque cumque quidem est similique molestias. Autem vero eum autem molestias sint. Dolorum unde nulla nihil voluptate itaque eos voluptatum.",
            "title_en": "In in qui soluta. Sed eos iste ducimus eligendi numquam. Quia quidem inventore labore officiis. Beatae voluptatibus eum ipsam velit.",
            "meta": "",
            "validation": ""
        },
        {
            "id": 12,
            "type": 2,
            "title": "Non cupiditate porro autem ut enim laudantium consequatur tempora. Odit quo ullam commodi fuga. Est aperiam quo eum vel modi expedita et.",
            "title_ar": "Id odio tempora quaerat in in. Est voluptates fuga velit reiciendis. Voluptas laboriosam fugiat tempora. Et qui perferendis ab laboriosam pariatur amet.",
            "title_en": "Non cupiditate porro autem ut enim laudantium consequatur tempora. Odit quo ullam commodi fuga. Est aperiam quo eum vel modi expedita et.",
            "meta": "",
            "validation": ""
        },
        {
            "id": 13,
            "type": 4,
            "title": "Vel similique quia est quae aut consequatur. Enim ullam ut illum assumenda ducimus a. Labore qui cum quis qui. Rerum explicabo sed doloribus sint.",
            "title_ar": "Architecto laborum nihil consequatur perspiciatis quasi. Voluptatem eos quia aperiam sed voluptates odio. Consequatur rerum doloremque neque in debitis sint. Aut perspiciatis temporibus aliquam.",
            "title_en": "Vel similique quia est quae aut consequatur. Enim ullam ut illum assumenda ducimus a. Labore qui cum quis qui. Rerum explicabo sed doloribus sint.",
            "meta": "",
            "validation": ""
        },
        {
            "id": 14,
            "type": 1,
            "title": "Rem in exercitationem unde vitae. Rerum neque consectetur molestias molestiae id ipsam. Et est ipsam animi illum.",
            "title_ar": "Porro id esse voluptatum qui sapiente cumque officia. Harum vel assumenda ducimus amet cum magni. Sed labore harum amet asperiores. Officiis amet dignissimos ad libero occaecati.",
            "title_en": "Rem in exercitationem unde vitae. Rerum neque consectetur molestias molestiae id ipsam. Et est ipsam animi illum.",
            "meta": "",
            "validation": ""
        },
        {
            "id": 15,
            "type": 4,
            "title": "Aut illo placeat distinctio. Rerum tempora qui velit quam nisi minus. Id iure aut nemo repellendus. Eum aut sed a expedita dolor quasi id quod. Vel deserunt illum quos rem aut incidunt.",
            "title_ar": "Velit velit nihil qui est. Nihil consequatur eos ea sit et. Aliquid recusandae odit optio quaerat iste laborum fuga. Nesciunt natus aut dolorem eum ut.",
            "title_en": "Aut illo placeat distinctio. Rerum tempora qui velit quam nisi minus. Id iure aut nemo repellendus. Eum aut sed a expedita dolor quasi id quod. Vel deserunt illum quos rem aut incidunt.",
            "meta": "",
            "validation": ""
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/fields

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 17

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 18

filter[id]   string  optional  

Field to filter items by id. Example: consequatur

filter[type]   string  optional  

Field to filter items by type. Example: quae

filter[title]   string  optional  

Field to filter items by title. Example: optio

filter[validation]   string  optional  

Field to filter items by validation. Example: laboriosam

filter[meta]   string  optional  

sting Field to filter items by meta. Example: repudiandae

sort   string  optional  

Field to sort items by id,type,title,validation,meta,. Example: alias

Add field to field

requires authentication

This endpoint lets you add field to field

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/fields" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": \"vchcdtuyedprpopdlvpjjfzlq\",
    \"title\": \"ctvwcfhmmmllnqkoudtlukvn\",
    \"title_ar\": \"izbzcrgqni\",
    \"validation\": \"maiores\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/fields"
);

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

let body = {
    "type": "vchcdtuyedprpopdlvpjjfzlq",
    "title": "ctvwcfhmmmllnqkoudtlukvn",
    "title_ar": "izbzcrgqni",
    "validation": "maiores"
};

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

Example response (200):


{
    "data": {
        "id": 4,
        "type": 2,
        "title": "field1",
        "title_ar": "field1",
        "title_en": "field1",
        "meta": "true,",
        "validation": "requierd"
    },
    "message": "The field added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/fields

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

type   string   

Must not be greater than 255 characters. Example: vchcdtuyedprpopdlvpjjfzlq

title   string   

Must not be greater than 255 characters. Example: ctvwcfhmmmllnqkoudtlukvn

title_ar   string   

Must not be greater than 255 characters. Example: izbzcrgqni

validation   string   

Example: maiores

meta   string  optional  

Show specific field

requires authentication

This endpoint lets you show specific field

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/fields/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/fields/1"
);

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

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

Example response (200):


{
    "data": {
        "id": 3,
        "type": 3,
        "title": "Facere quidem et ea laudantium voluptate sed quos ex. Omnis velit quod beatae qui doloribus alias.",
        "title_ar": "Fugiat similique ad mollitia libero ex laboriosam. Voluptatem praesentium laudantium doloremque qui. Repellendus non architecto est molestiae neque consectetur.",
        "title_en": "Facere quidem et ea laudantium voluptate sed quos ex. Omnis velit quod beatae qui doloribus alias.",
        "meta": "",
        "validation": ""
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/fields/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the field. Example: 1

Update specific field

requires authentication

This endpoint lets you update specific field.

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/fields/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"type\": \"tdxmuugyxnrkqalnafcubxfhe\",
    \"title\": \"fiymzkfyqlxzkubzyhv\",
    \"title_ar\": \"mzyfnbrieadknxwhhhdfuesp\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/fields/1"
);

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

let body = {
    "type": "tdxmuugyxnrkqalnafcubxfhe",
    "title": "fiymzkfyqlxzkubzyhv",
    "title_ar": "mzyfnbrieadknxwhhhdfuesp"
};

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

Example response (200):


{
    "data": {
        "id": 2,
        "type": 2,
        "title": "field1",
        "title_ar": "Doloremque ut enim amet velit veniam asperiores et. Consectetur quod consequatur et laborum ratione est ex facere. Assumenda eligendi qui et ad est. Doloribus et quaerat sed beatae.",
        "title_en": "field1",
        "meta": "true,",
        "validation": "required"
    },
    "message": "field's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/fields/{id}

PATCH api/v1/fields/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the field. Example: 1

Body Parameters

type   string  optional  

Must not be greater than 255 characters. Example: tdxmuugyxnrkqalnafcubxfhe

title   string  optional  

Must not be greater than 255 characters. Example: fiymzkfyqlxzkubzyhv

title_ar   string  optional  

Must not be greater than 255 characters. Example: mzyfnbrieadknxwhhhdfuesp

validation   string  optional  
meta   string  optional  

Delete specific field

requires authentication

This endpoint lets you delete specific field

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/fields/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/fields/1"
);

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

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

Example response (200):


{
    "message": "The field deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/fields/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the field. Example: 1

Home

APIs for home

Home

requires authentication

This endpoint lets you show home

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/home" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/home"
);

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

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

Example response (200):


{
    "data": {
        "services": [
            {
                "id": 34,
                "name": "Translation",
                "name_ar": "الترجمة",
                "name_en": "Translation",
                "order": 0,
                "icon": "https://api.dev.menassahur.com/storage/services/translation.svg",
                "description": "Professional translation services for various languages",
                "description_ar": "خدمات ترجمة احترافية لمختلف اللغات",
                "description_en": "Professional translation services for various languages",
                "orderable": true,
                "auto_accept_attachments": true,
                "recurrent": false,
                "section": 2,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            },
            {
                "id": 42,
                "name": "Content Writing",
                "name_ar": "كتابة المحتوى",
                "name_en": "Content Writing",
                "order": 0,
                "icon": "https://api.dev.menassahur.com/storage/services/content-writing.svg",
                "description": "Professional content writing services for various platforms.",
                "description_ar": "خدمات كتابة محتوى احترافية لمختلف المنصات.",
                "description_en": "Professional content writing services for various platforms.",
                "orderable": true,
                "auto_accept_attachments": true,
                "recurrent": false,
                "section": 2,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            },
            {
                "id": 48,
                "name": "Engineering Projects",
                "name_ar": "المشاريع الهندسية",
                "name_en": "Engineering Projects",
                "order": 0,
                "icon": "https://api.dev.menassahur.com/storage/services/engineering-projects.svg",
                "description": "Comprehensive services for various engineering projects.",
                "description_ar": "خدمات شاملة لمختلف المشاريع الهندسية.",
                "description_en": "Comprehensive services for various engineering projects.",
                "orderable": true,
                "auto_accept_attachments": true,
                "recurrent": false,
                "section": 2,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            },
            {
                "id": 52,
                "name": "Programming and Websites",
                "name_ar": "البرمجة والمواقع",
                "name_en": "Programming and Websites",
                "order": 0,
                "icon": "https://api.dev.menassahur.com/storage/services/programming.svg",
                "description": "Comprehensive programming services and website development.",
                "description_ar": "خدمات برمجة شاملة وتطوير مواقع.",
                "description_en": "Comprehensive programming services and website development.",
                "orderable": true,
                "auto_accept_attachments": true,
                "recurrent": false,
                "section": 2,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            },
            {
                "id": 1,
                "name": "Students Services",
                "name_ar": "خدمات الطلاب",
                "name_en": "Students Services",
                "order": 1,
                "icon": "https://api.dev.menassahur.com/storage/services/students-services.svg",
                "description": "for all student",
                "description_ar": "لجميع الطلاب",
                "description_en": "for all student",
                "orderable": false,
                "auto_accept_attachments": false,
                "recurrent": false,
                "section": 1,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            },
            {
                "id": 26,
                "name": "Graphic Design",
                "name_ar": "التصميم",
                "name_en": "Graphic Design",
                "order": 2,
                "icon": "https://api.dev.menassahur.com/storage/services/design.svg",
                "description": "Graphic design and editing services",
                "description_ar": "التصميم الغرافيكي والمونتاج",
                "description_en": "Graphic design and editing services",
                "orderable": false,
                "auto_accept_attachments": false,
                "recurrent": false,
                "section": 2,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            },
            {
                "id": 15,
                "name": "Curriculum Vitae",
                "name_ar": "السيرة الذاتية",
                "name_en": "Curriculum Vitae",
                "order": 3,
                "icon": "https://api.dev.menassahur.com/storage/services/cv.svg",
                "description": "curriculum vitae",
                "description_ar": "السيرة الذاتية",
                "description_en": "curriculum vitae",
                "orderable": false,
                "auto_accept_attachments": false,
                "recurrent": false,
                "section": 1,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            },
            {
                "id": 18,
                "name": "General Services",
                "name_ar": "خدمات عامّة",
                "name_en": "General Services",
                "order": 6,
                "icon": "https://api.dev.menassahur.com/storage/services/general-services.svg",
                "description": "General Services",
                "description_ar": "خدمات عامة",
                "description_en": "General Services",
                "orderable": false,
                "auto_accept_attachments": false,
                "recurrent": false,
                "section": 2,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            }
        ],
        "ads": [
            {
                "id": 6,
                "title": "Mrs.",
                "title_ar": "Miss",
                "description_ar": "Enim et modi facere rerum. Eum fugit qui optio et quasi et. Veniam culpa cumque consequatur eaque omnis et.",
                "description": "Natus nulla deleniti explicabo velit ut. Consequatur dolor minima illum esse. Nihil labore in nisi cupiditate mollitia.",
                "link": "http://ryan.com/ut-quae-nisi-autem-et-reprehenderit-et",
                "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/000055?text=expedita"
            },
            {
                "id": 7,
                "title": "Prof.",
                "title_ar": "Prof.",
                "description_ar": "Occaecati aspernatur qui quae odio architecto modi sunt. Placeat ea qui ut sed. Autem id non et exercitationem quam debitis ut id. Quia dolorem illum at voluptatem dolore voluptas incidunt dolorem.",
                "description": "Debitis omnis similique officia voluptatem maiores odio. Aut nemo consequuntur excepturi ex reiciendis voluptatem. Omnis deleniti perferendis deserunt dolores. Nesciunt non id unde autem placeat.",
                "link": "http://powlowski.com/beatae-maiores-officiis-dignissimos-aut-illum-similique",
                "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/00dd33?text=id"
            },
            {
                "id": 8,
                "title": "Prof.",
                "title_ar": "Mr.",
                "description_ar": "Reprehenderit expedita ex sint rerum enim soluta exercitationem. Aut sit enim provident est ut facilis. Est illum unde et dignissimos. Quia id ullam itaque et.",
                "description": "Quo commodi in occaecati temporibus nulla ut. Assumenda unde praesentium recusandae veniam nemo. Et quia exercitationem maxime consectetur quod. Qui eius dignissimos commodi excepturi. Quidem et dolorem repudiandae nisi illum.",
                "link": "http://www.corwin.com/sequi-ut-quia-in-distinctio-ipsum-at-et-numquam.html",
                "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/00ddcc?text=id"
            },
            {
                "id": 9,
                "title": "Miss",
                "title_ar": "Dr.",
                "description_ar": "Ut officia at odit non doloribus cum omnis. Aliquam et quas ea sit fuga quisquam id autem. Quaerat cupiditate sit vel ipsa ratione repellendus fuga.",
                "description": "Et omnis debitis ipsum rem laboriosam. Sunt modi officiis sit sint ab. Consequatur laudantium deserunt ex et ut.",
                "link": "https://koss.com/ipsa-eum-nam-voluptatibus-quas-repudiandae-et.html",
                "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/004422?text=ea"
            },
            {
                "id": 10,
                "title": "Prof.",
                "title_ar": "Prof.",
                "description_ar": "Doloribus blanditiis facilis quasi ipsum. Numquam qui quibusdam dolore aut neque et. Ex et sit est nobis.",
                "description": "Rerum incidunt explicabo et totam officia rerum. Eos mollitia voluptatem laboriosam quia. Labore provident architecto et quasi perferendis dolor maiores. Tempora veniam excepturi est ducimus eum nihil.",
                "link": "http://www.jenkins.net/beatae-tempore-delectus-molestiae-maxime-sunt-adipisci-nemo.html",
                "image": "https://api.dev.menassahur.com/storage/ads/https://via.placeholder.com/640x480.png/00bb00?text=consequatur"
            }
        ],
        "course_categories": [
            {
                "id": 87,
                "name": "English series courses for children Let's go.",
                "name_ar": "دورات سلاسل انجليزي للأطفال Let's go.",
                "description": "English series courses for children Let's go.",
                "description_ar": "دورات سلاسل انجليزي للأطفال Let's go."
            },
            {
                "id": 88,
                "name": "English series courses for young and old Interchange",
                "name_ar": "دورات سلاسل انجليزي لليافعين والكبار Interchange",
                "description": "English series courses for young and old Interchange",
                "description_ar": "دورات سلاسل انجليزي لليافعين والكبار Interchange"
            },
            {
                "id": 89,
                "name": "Scratch programming courses",
                "name_ar": "دورات برمجة سكراتش",
                "description": "Scratch programming courses",
                "description_ar": "دورات برمجة سكراتش"
            },
            {
                "id": 90,
                "name": "Arabic language proofreading courses",
                "name_ar": "دورات تدقيق لغوي لغة عربية",
                "description": "Arabic language proofreading courses",
                "description_ar": "دورات تدقيق لغوي لغة عربية"
            },
            {
                "id": 91,
                "name": "Remote physiotherapy sessions.",
                "name_ar": "جلسات معالجة فيزيائية عن بعد.",
                "description": "Remote physiotherapy sessions.",
                "description_ar": "جلسات معالجة فيزيائية عن بعد."
            },
            {
                "id": 92,
                "name": "Excel courses from beginner to professional",
                "name_ar": "دورات إكسل من المبتدئ حتى الاحتراف",
                "description": "Excel courses from beginner to professional",
                "description_ar": "دورات إكسل من المبتدئ حتى الاحتراف"
            },
            {
                "id": 93,
                "name": "Photoshop and Illustrator courses from beginner to professional",
                "name_ar": "دورات فوتوشوب والستريتر من المبتدئ حتى الاحتراف",
                "description": "Photoshop and Illustrator courses from beginner to professional",
                "description_ar": "دورات فوتوشوب والستريتر من المبتدئ حتى الاحتراف"
            },
            {
                "id": 94,
                "name": "Follow-up of students in their studies according to their school curricula for all subjects and ages",
                "name_ar": "متابعة الطلاب  في دراستهم وفق مناهجهم المدرسية لكافة المواد والأعمار",
                "description": "Follow-up of students in their studies according to their school curricula for all subjects and ages",
                "description_ar": "متابعة الطلاب  في دراستهم وفق مناهجهم المدرسية لكافة المواد والأعمار"
            },
            {
                "id": 95,
                "name": "Computer courses for children and young people starting from scratch and ending with an introduction to programming languages and their mechanisms",
                "name_ar": "دورات حاســب للأطفال واليافعين تبـدأ مـن الصـفر وتنتهي بالتعرف على لغات البرمجة و آلياتها",
                "description": "Computer courses for children and young people starting from scratch and ending with an introduction to programming languages and their mechanisms",
                "description_ar": "دورات حاســب للأطفال واليافعين تبـدأ مـن الصـفر وتنتهي بالتعرف على لغات البرمجة و آلياتها"
            },
            {
                "id": 96,
                "name": "Giving courses",
                "name_ar": "إعطاء الدورات",
                "description": "Giving courses",
                "description_ar": "إعطاء الدورات"
            },
            {
                "id": 97,
                "name": "Other courses",
                "name_ar": "دورات أخرى",
                "description": "Other courses",
                "description_ar": "دورات أخرى"
            },
            {
                "id": 98,
                "name": "Mrs. Marisol Bashirian MD",
                "name_ar": "Jaydon Sipes Sr.",
                "description": "Labore delectus rerum nesciunt accusantium occaecati ut. Nesciunt nihil qui ducimus modi. Voluptatem voluptatem et aspernatur.",
                "description_ar": "Voluptas fuga ipsum quis. Rerum qui est ex libero saepe. Dolorem ex accusamus aliquid modi omnis a explicabo."
            },
            {
                "id": 99,
                "name": "Rudolph Legros",
                "name_ar": "Luther Sawayn",
                "description": "Eos totam laudantium odit quaerat. Id nulla ipsum quisquam similique. Iusto officiis et aliquam et libero voluptas.",
                "description_ar": "Ducimus delectus voluptates cum dicta consequatur tempora delectus voluptatem. Illo consectetur ducimus voluptas quo voluptatem aut. Possimus ut excepturi itaque. Et aut sint deserunt."
            },
            {
                "id": 100,
                "name": "Donna Pagac",
                "name_ar": "Lucinda Kemmer Jr.",
                "description": "Reiciendis eius est explicabo vitae. Facilis sit rerum amet ad. Sed perspiciatis rerum iusto sit doloremque sint. Cupiditate accusamus eligendi quasi quam. Commodi omnis aliquam totam repellat.",
                "description_ar": "Vel aut itaque hic ea. Iusto sunt eligendi aut qui. Quas officiis ut quas consequuntur. Corporis quibusdam quae at quis voluptates. Consequuntur dolor quod modi soluta omnis enim. Qui repellendus incidunt in consectetur qui."
            },
            {
                "id": 101,
                "name": "Savannah Barton",
                "name_ar": "Dillon Hammes",
                "description": "Ut deleniti omnis quia. Voluptatum aspernatur sequi in ipsam quam molestiae. Vero amet ducimus repellendus est numquam nihil consequatur.",
                "description_ar": "Dicta ea non ut vero et. Sint culpa tempora architecto quia labore libero quia consequatur. Ducimus quisquam quis aperiam sint."
            },
            {
                "id": 102,
                "name": "Vallie Schneider",
                "name_ar": "Mr. Cloyd Rutherford",
                "description": "Id debitis accusamus ut quis minima consequatur praesentium. Qui quisquam at rerum exercitationem vitae est optio. Aliquid dicta asperiores est ut.",
                "description_ar": "Laboriosam ex nam laudantium optio. Dolor est earum veniam. Ut dolor et labore earum amet odit."
            }
        ],
        "unread_notifications_count": 10
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/home

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

requires authentication

This endpoint lets you search for orders, courses, categories, products, services, offers, feedbacks, join_us_orders

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/home/search" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"q\": \"magnam\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/home/search"
);

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

let body = {
    "q": "magnam"
};

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

Example response (200):


{
    "data": {
        "orders": [
            {
                "id": 10,
                "subject": "Nostrum in ut tenetur voluptatem. Ut quia dicta officia dolor temporibus deleniti. Excepturi odio assumenda est modi. Rem dicta ut et.",
                "status": 6,
                "description": "lorem test",
                "deadline": "1976-09-20T09:59:41.000000Z",
                "expert_rating": 1,
                "user_rating": 3,
                "payment_type": 1,
                "user": {
                    "id": 969,
                    "name": "Xzavier Grant",
                    "phone": "+15866561123",
                    "image": null
                },
                "service_id": 10,
                "service_name": "Jalen Effertz",
                "service_name_ar": "Stacey Wisozk",
                "proposed_price": 89432,
                "type": 1,
                "fields": null,
                "accepted_offer": null,
                "expert_offer": null,
                "actual_deadline": null,
                "expert_id": 971
            }
        ],
        "courses": [
            {
                "id": 60,
                "name": "lorem test",
                "name_ar": "Dr. Eldridge Morar DVM",
                "description": "Sint voluptatem vel blanditiis ut eius et assumenda qui. Non qui quod eligendi. Id voluptate laboriosam et aut nesciunt natus dolore.",
                "description_ar": "Ratione eos sit ad. Minus ut impedit rerum nesciunt dolore. Iusto qui ea quo tenetur sed. Dolorum consectetur tempora rerum commodi. Minus hic quia provident sapiente qui. Accusantium voluptatibus commodi laboriosam explicabo harum veritatis ab.",
                "image": "https://api.dev.menassahur.com/storage/courses/https://via.placeholder.com/640x480.png/00dd77?text=qui",
                "price": 636.05,
                "hours": 10593,
                "dates": null,
                "teachers": null,
                "category_id": 62,
                "teacher_id": 972,
                "category_name": "Karine Johnson II",
                "teacher_name": "Dr. Reyes Gusikowski Sr."
            }
        ],
        "categories": [
            {
                "id": 63,
                "name": "lorem test",
                "name_ar": "Mr. Milton Wuckert",
                "description": "Voluptatem voluptatem sapiente tempore est voluptatem animi vel. Amet aut impedit vitae facilis ut facilis. Illum dolor ducimus enim sed ducimus excepturi minima. Maxime qui quibusdam reiciendis vel.",
                "description_ar": "Quia ea hic nobis in et eos accusantium sunt. Maiores et aut et dignissimos quisquam est sint. Quis doloribus quia non tenetur nemo laborum et. Blanditiis iure possimus labore eum id."
            }
        ],
        "products": [
            {
                "id": 1,
                "title": "lorem test",
                "title_ar": "Mr.",
                "user_id": 974,
                "type": 1,
                "rating": 2,
                "price": 10994,
                "meta": null,
                "city": "Paucekhaven",
                "description": "Debitis dolorem tempore voluptatem. Illo iste ut inventore eos similique. Assumenda aliquam vitae quam dicta est quis et. Praesentium debitis molestiae optio quod repellendus.",
                "description_ar": "Modi repudiandae et occaecati ducimus. Quos quia tenetur tempore sed tempore. Enim deleniti quo atque quibusdam consectetur qui.",
                "image": null
            }
        ],
        "services": [
            {
                "id": 11,
                "name": "lorem test",
                "name_ar": "Mrs. Vida Nolan",
                "name_en": "lorem test",
                "order": 64,
                "icon": "https://via.placeholder.com/640x480.png/00ff77?text=qui",
                "description": "Quas quas nihil ut soluta dolore ullam. Ut ex illo vel sed. Aut aut odit eum sint adipisci aut architecto impedit. Est et explicabo ipsum.",
                "description_ar": "Omnis eos et dicta porro. Voluptas ut ut asperiores dolor. Ullam voluptatum voluptas et praesentium nam. Dolor enim consequuntur consequatur atque.",
                "description_en": "Quas quas nihil ut soluta dolore ullam. Ut ex illo vel sed. Aut aut odit eum sint adipisci aut architecto impedit. Est et explicabo ipsum.",
                "orderable": true,
                "auto_accept_attachments": false,
                "recurrent": false,
                "section": 2,
                "parent_id": null,
                "parent_name": null,
                "parent_name_ar": null,
                "fields": []
            }
        ]
    },
    "message": "success",
    "status_code": 200
}
 

Join us order

APIs for join us order settings

Show all join us orders

requires authentication

This endpoint lets you show all join us orders

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/join-us-orders?page=2&per_page=14&filter%5Bid%5D=corporis&filter%5Bdescription%5D=qui&filter%5Buser_id%5D=eos&filter%5Bstatus%5D=3&filter%5Btype%5D=11&sort=fuga" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/join-us-orders"
);

const params = {
    "page": "2",
    "per_page": "14",
    "filter[id]": "corporis",
    "filter[description]": "qui",
    "filter[user_id]": "eos",
    "filter[status]": "3",
    "filter[type]": "11",
    "sort": "fuga",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 6,
            "description": "Distinctio laudantium id ut vel error molestiae. Exercitationem animi est id fugiat qui.",
            "status": 3,
            "type": 2,
            "user_id": 902,
            "user": {
                "id": 902,
                "name": "Prof. Blanche Hayes Sr.",
                "phone": "+13259239999",
                "image": null
            },
            "services": null,
            "certificates": [
                {
                    "id": 11111136,
                    "name": "cert1.pdf",
                    "url": "https://api.dev.menassahur.com/storage/attachments/cert1.pdf"
                },
                {
                    "id": 11111137,
                    "name": "cert2.pdf",
                    "url": "https://api.dev.menassahur.com/storage/attachments/cert2.pdf"
                }
            ]
        },
        {
            "id": 7,
            "description": "Mollitia est natus possimus ut. Nesciunt eum nihil ut distinctio ea aperiam temporibus.",
            "status": 3,
            "type": 3,
            "user_id": 909,
            "user": {
                "id": 909,
                "name": "Savion Romaguera",
                "phone": "+16076678817",
                "image": null
            },
            "services": null,
            "certificates": []
        },
        {
            "id": 8,
            "description": "Impedit ut in fugiat sunt alias consectetur ullam. Quae omnis fuga id numquam itaque aut minima aliquam. Dicta aliquid accusamus architecto ullam.",
            "status": 3,
            "type": 1,
            "user_id": 910,
            "user": {
                "id": 910,
                "name": "Jazlyn Corkery III",
                "phone": "+14633993591",
                "image": null
            },
            "services": null,
            "certificates": []
        },
        {
            "id": 9,
            "description": "Vel quia sed sed qui qui architecto vel. Mollitia esse similique ea. Qui ut magni in iste possimus. Provident incidunt et doloremque ex iusto earum. Ex voluptatem nihil impedit at placeat non.",
            "status": 1,
            "type": 2,
            "user_id": 911,
            "user": {
                "id": 911,
                "name": "Mr. Maynard Rolfson Sr.",
                "phone": "+17572192126",
                "image": null
            },
            "services": null,
            "certificates": []
        },
        {
            "id": 10,
            "description": "Et cupiditate aut ut dolores eum. Et modi voluptas reiciendis ut nam facere. Adipisci qui consequatur aut quam earum. Velit voluptatem deleniti esse ea ratione.",
            "status": 2,
            "type": 2,
            "user_id": 912,
            "user": {
                "id": 912,
                "name": "Annalise Spinka",
                "phone": "+15033901637",
                "image": null
            },
            "services": null,
            "certificates": []
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/join-us-orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 2

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 14

filter[id]   string  optional  

Field to filter items by id. Example: corporis

filter[description]   string  optional  

Field to filter items by description. Example: qui

filter[user_id]   string  optional  

Field to filter items by user id. Example: eos

filter[status]   integer  optional  

Field to filter items by status. Example: 3

filter[type]   integer  optional  

Field to filter items by type. Example: 11

sort   string  optional  

Field to sort items by id,description,user_id,status,type. Example: fuga

Add join us order to join us order

requires authentication

This endpoint lets you add join us order to join us order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/join-us-orders" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "description=Accusamus rerum dolorem modi eveniet."\
    --form "type=1"\
    --form "certificates[]=@/tmp/phpGCmhnh" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/join-us-orders"
);

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

const body = new FormData();
body.append('description', 'Accusamus rerum dolorem modi eveniet.');
body.append('type', '1');
body.append('certificates[]', document.querySelector('input[name="certificates[]"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 5,
        "description": "des",
        "status": 1,
        "type": 2,
        "user_id": 686,
        "user": {
            "id": 686,
            "name": "Dr. Floy Mayer PhD",
            "phone": "+15086277099",
            "image": null
        },
        "services": [
            {
                "id": 1,
                "name": "Hiram Leannon",
                "name_ar": "Melyssa Ankunding",
                "name_en": "Hiram Leannon",
                "order": 6,
                "icon": "https://via.placeholder.com/640x480.png/006677?text=molestiae"
            },
            {
                "id": 2,
                "name": "Ashleigh McCullough",
                "name_ar": "Miss Stephany Buckridge Sr.",
                "name_en": "Ashleigh McCullough",
                "order": 33,
                "icon": "https://via.placeholder.com/640x480.png/00dd11?text=accusantium"
            }
        ],
        "certificates": [
            {
                "id": 9,
                "name": "cert1.pdf",
                "url": "/storage/nLsobnKWJtZqpyBjSQoYBr0gw3b12SREhRMxvuLa.pdf"
            },
            {
                "id": 10,
                "name": "cert2.pdf",
                "url": "/storage/TvdYhJf6vqMfBwsp5SpefIagtOMMDnnw6YML7vHf.pdf"
            }
        ]
    },
    "message": "The join-us order added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/join-us-orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

description   string  optional  

Must not be greater than 255 characters. Example: Accusamus rerum dolorem modi eveniet.

type   string   

Example: 1

Must be one of:
  • 1
  • 2
  • 3
services   string[]  optional  

The id of an existing record in the services table.

certificates   file[]  optional  

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

Show specific join us order

requires authentication

This endpoint lets you show specific join us order

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/join-us-orders/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/join-us-orders/1"
);

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

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

Example response (200):


{
    "data": {
        "id": 3,
        "description": "Deleniti harum inventore est incidunt. Placeat eos placeat consequuntur minus quis dolorem. Rerum laborum eveniet est aut vitae. Maxime velit ipsum quia. Vero earum laborum vel quidem nostrum.",
        "status": 1,
        "type": 1,
        "user_id": 983,
        "user": {
            "id": 983,
            "name": "Brad Becker",
            "phone": "+15153884783",
            "image": null
        },
        "services": null,
        "certificates": [
            {
                "id": 4,
                "name": "cert1.pdf",
                "url": "https://api.dev.menassahur.com/storage/attachments/cert1.pdf"
            },
            {
                "id": 5,
                "name": "cert2.pdf",
                "url": "https://api.dev.menassahur.com/storage/attachments/cert2.pdf"
            }
        ]
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/join-us-orders/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the join us order. Example: 1

Delete specific join us order

requires authentication

This endpoint lets you delete specific join us order

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/join-us-orders/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/join-us-orders/1"
);

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

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

Example response (200):


{
    "message": "The join-us order deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/join-us-orders/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the join us order. Example: 1

Make join-us Order accept

requires authentication

This endpoint lets you make join-us order accept

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/join-us-order/1/status/accept" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/join-us-order/1/status/accept"
);

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

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

Example response (200):


{
    "data": {
        "id": 8,
        "description": "Fuga eveniet fugiat qui. Ea omnis quos fugit expedita. Aut ut error minima laborum provident nesciunt.",
        "status": 2,
        "type": 1,
        "user_id": 1000,
        "user": {
            "id": 1000,
            "name": "Kathleen Stokes",
            "phone": "+13479515510",
            "image": null
        },
        "services": [
            {
                "id": 18,
                "name": "Nayeli Okuneva",
                "name_ar": "Marietta Kessler",
                "name_en": "Nayeli Okuneva",
                "order": 50,
                "icon": "https://via.placeholder.com/640x480.png/003311?text=dolor"
            },
            {
                "id": 19,
                "name": "Prof. Lucas Stiedemann",
                "name_ar": "Karolann Predovic DDS",
                "name_en": "Prof. Lucas Stiedemann",
                "order": 11,
                "icon": "https://via.placeholder.com/640x480.png/0044cc?text=unde"
            }
        ],
        "certificates": []
    },
    "message": "The join-us order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/join-us-order/{join_us_order_id}/status/accept

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

join_us_order_id   integer   

The ID of the join us order. Example: 1

Make join-us Order reject

requires authentication

This endpoint lets you make join-us order reject

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/join-us-order/1/status/reject" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/join-us-order/1/status/reject"
);

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

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

Example response (200):


{
    "data": {
        "id": 9,
        "description": "Cupiditate qui fugiat ipsam totam. Error facere et autem non. In numquam fugiat dolores qui. Qui sit quia minima at odio expedita quisquam libero.",
        "status": 3,
        "type": 1,
        "user_id": 693,
        "user": {
            "id": 693,
            "name": "Mireya Gottlieb",
            "phone": "+16819405513",
            "image": null
        },
        "services": null,
        "certificates": []
    },
    "message": "The join-us order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/join-us-order/{join_us_order_id}/status/reject

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

join_us_order_id   integer   

The ID of the join us order. Example: 1

Marketer

APIs for marketer data

Show all marketer users

requires authentication

This endpoint lets you show all marketer users

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/marketer/users?page=5&per_page=7" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/marketer/users"
);

const params = {
    "page": "5",
    "per_page": "7",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [],
    "meta": {
        "pagination": {
            "total": 0,
            "per_page": 1,
            "count": 0,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/marketer/users

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 5

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 7

Me

APIs for user data

Me

requires authentication

This endpoint lets you show current user details

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/me" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me"
);

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

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

Example response (200):


{
    "data": {
        "id": 977,
        "name": "Kathlyn Bailey",
        "phone": "+14637913568",
        "image": null,
        "email": "[email protected]",
        "chat_id": "bc1c48c3-1528-32b4-911a-98993cbb2379",
        "has_verified_email": true,
        "has_verified_phone": false,
        "age": 60,
        "profession": "Hearts, who only.",
        "specialty": "Dodo, a Lory and.",
        "brief": "Queen to-day?' 'I.",
        "expert_rating_avg": 0.3,
        "marketing_link": null,
        "permissions": null,
        "type": 1,
        "section": 1,
        "language": 1,
        "expert_services": [
            {
                "id": 58,
                "name": "Unique Kassulke",
                "name_ar": "Dr. Leon Dicki Jr.",
                "name_en": "Unique Kassulke",
                "order": 3,
                "icon": "https://via.placeholder.com/640x480.png/00eeaa?text=necessitatibus"
            },
            {
                "id": 59,
                "name": "Katelyn Kirlin I",
                "name_ar": "Muhammad Rau Sr.",
                "name_en": "Katelyn Kirlin I",
                "order": 17,
                "icon": "https://via.placeholder.com/640x480.png/0088ee?text=earum"
            },
            {
                "id": 60,
                "name": "Easter Breitenberg PhD",
                "name_ar": "Jody Conroy PhD",
                "name_en": "Easter Breitenberg PhD",
                "order": 88,
                "icon": "https://via.placeholder.com/640x480.png/0022aa?text=ipsam"
            },
            {
                "id": 61,
                "name": "Malvina Turcotte",
                "name_ar": "Ms. Jolie Ortiz",
                "name_en": "Malvina Turcotte",
                "order": 60,
                "icon": "https://via.placeholder.com/640x480.png/0022dd?text=dolores"
            },
            {
                "id": 62,
                "name": "Al Walter",
                "name_ar": "Prof. Katrina Strosin",
                "name_en": "Al Walter",
                "order": 32,
                "icon": "https://via.placeholder.com/640x480.png/00ffcc?text=aut"
            },
            {
                "id": 63,
                "name": "Mr. Tremaine Metz",
                "name_ar": "Mr. Mark Welch",
                "name_en": "Mr. Tremaine Metz",
                "order": 50,
                "icon": "https://via.placeholder.com/640x480.png/00aa11?text=veniam"
            },
            {
                "id": 64,
                "name": "Claudia Kris",
                "name_ar": "Kariane Kerluke",
                "name_en": "Claudia Kris",
                "order": 39,
                "icon": "https://via.placeholder.com/640x480.png/0099ee?text=aut"
            },
            {
                "id": 65,
                "name": "Jillian King",
                "name_ar": "Emiliano Heller",
                "name_en": "Jillian King",
                "order": 66,
                "icon": "https://via.placeholder.com/640x480.png/001166?text=dolore"
            },
            {
                "id": 66,
                "name": "Dr. Noah Wolf",
                "name_ar": "Prof. Greta Sporer",
                "name_en": "Dr. Noah Wolf",
                "order": 90,
                "icon": "https://via.placeholder.com/640x480.png/00ee99?text=et"
            },
            {
                "id": 67,
                "name": "Heber Goodwin",
                "name_ar": "Mr. Charley Moore Jr.",
                "name_en": "Heber Goodwin",
                "order": 82,
                "icon": "https://via.placeholder.com/640x480.png/0077cc?text=iure"
            }
        ],
        "has_password": true,
        "roles": null
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/me

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Show me orders

requires authentication

This endpoint lets you show me orders

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/me/orders?page=7&per_page=18&filter%5Bidentifier%5D=neque&filter%5Bname%5D=iure&filter%5Bdescription%5D=eos&filter%5Bsubject%5D=natus&filter%5Bpayment_type%5D=5&filter%5Btype%5D=5&filter%5Bstatus%5D=6&filter%5Bproposed_price%5D=distinctio&filter%5Bexpert_rating%5D=10&filter%5Buser_rating%5D=11&filter%5Baccepted_offer%5D=&sort=accusantium" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/orders"
);

const params = {
    "page": "7",
    "per_page": "18",
    "filter[identifier]": "neque",
    "filter[name]": "iure",
    "filter[description]": "eos",
    "filter[subject]": "natus",
    "filter[payment_type]": "5",
    "filter[type]": "5",
    "filter[status]": "6",
    "filter[proposed_price]": "distinctio",
    "filter[expert_rating]": "10",
    "filter[user_rating]": "11",
    "filter[accepted_offer]": "0",
    "sort": "accusantium",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 62,
            "subject": "Culpa harum dolor veniam. Ducimus laudantium voluptatem consequatur mollitia maiores modi alias ut. Esse vitae ut accusantium.",
            "status": 7,
            "description": "Provident et corporis aut officia. Voluptatem ipsa adipisci nemo possimus aut et voluptatum molestiae. Labore omnis et est et.",
            "deadline": "1993-03-06 09:09:35",
            "expert_rating": 1,
            "user_rating": 1,
            "payment_type": 1,
            "expert_id": 1009,
            "user_id": 997,
            "proposed_price": 2689,
            "type": 1,
            "fields": [],
            "offers_count": 0,
            "created_at": "2025-12-13T06:27:29.000000Z",
            "service": {
                "id": 73,
                "name": "Dr. Solon Schamberger",
                "name_ar": "Dr. Lina Swaniawski DVM",
                "name_en": "Dr. Solon Schamberger",
                "order": 15,
                "icon": "https://via.placeholder.com/640x480.png/008822?text=ipsa"
            },
            "accepted_offer": null
        },
        {
            "id": 63,
            "subject": "Ea esse delectus officiis corporis sequi. Quia nulla voluptatem aut sequi voluptate. Autem fugiat asperiores fuga. Tempora veniam sequi enim modi. Quaerat rerum quod alias aut.",
            "status": 7,
            "description": "Itaque non molestias sint provident. Sed ut ut nulla totam. Est et dolore et commodi suscipit. Ut est beatae tenetur enim atque omnis autem accusantium. Ea et consequuntur quas possimus odio maiores.",
            "deadline": "1990-02-11 18:13:44",
            "expert_rating": 3,
            "user_rating": 1,
            "payment_type": 2,
            "expert_id": 1011,
            "user_id": 997,
            "proposed_price": 94832,
            "type": 1,
            "fields": [],
            "offers_count": 0,
            "created_at": "2025-12-13T06:27:29.000000Z",
            "service": {
                "id": 74,
                "name": "Darion Schaefer MD",
                "name_ar": "Earnest Hirthe",
                "name_en": "Darion Schaefer MD",
                "order": 6,
                "icon": "https://via.placeholder.com/640x480.png/00cc00?text=est"
            },
            "accepted_offer": null
        },
        {
            "id": 64,
            "subject": "Doloribus dolorum et neque vero non. Autem ut sint consequatur in illo quo. Et et nostrum qui ut iste.",
            "status": 7,
            "description": "Explicabo earum suscipit suscipit omnis vero. Consequatur consectetur qui quibusdam. Commodi beatae aspernatur blanditiis occaecati. Rerum non aut explicabo et.",
            "deadline": "1997-06-14 14:28:59",
            "expert_rating": 1,
            "user_rating": 2,
            "payment_type": 1,
            "expert_id": 1013,
            "user_id": 997,
            "proposed_price": 89147,
            "type": 2,
            "fields": [],
            "offers_count": 0,
            "created_at": "2025-12-13T06:27:29.000000Z",
            "service": {
                "id": 75,
                "name": "Dr. Danyka Cormier IV",
                "name_ar": "Osbaldo Stoltenberg",
                "name_en": "Dr. Danyka Cormier IV",
                "order": 13,
                "icon": "https://via.placeholder.com/640x480.png/00bbcc?text=fugit"
            },
            "accepted_offer": null
        },
        {
            "id": 65,
            "subject": "Molestiae mollitia reprehenderit et repudiandae. Et velit ratione optio sed. Tempora et fugiat illo qui. Quia vitae architecto nemo.",
            "status": 7,
            "description": "Doloribus aspernatur accusamus sapiente sint voluptates quasi voluptatem. Temporibus fugiat voluptatem quis voluptatum sunt est animi. Eum rem atque illo et. Ipsa et ducimus totam incidunt.",
            "deadline": "1981-03-09 09:51:49",
            "expert_rating": 3,
            "user_rating": 5,
            "payment_type": 1,
            "expert_id": 1015,
            "user_id": 997,
            "proposed_price": 16702,
            "type": 1,
            "fields": [],
            "offers_count": 0,
            "created_at": "2025-12-13T06:27:29.000000Z",
            "service": {
                "id": 76,
                "name": "Kenya Kris",
                "name_ar": "Keaton Hauck",
                "name_en": "Kenya Kris",
                "order": 55,
                "icon": "https://via.placeholder.com/640x480.png/00dd88?text=aut"
            },
            "accepted_offer": null
        },
        {
            "id": 66,
            "subject": "Et quia ad consectetur. Illum blanditiis perspiciatis excepturi ullam corporis atque sunt cupiditate. Architecto fugit doloremque unde dolor. Corporis sed deleniti voluptatibus quidem.",
            "status": 7,
            "description": "Et fuga consequatur molestias praesentium aut. Aut qui qui ipsa tenetur harum voluptas. Aut illo consequatur quo ea. Velit nihil vel aliquid labore. Voluptas odit ut sit maiores est ratione sit eum.",
            "deadline": "1975-02-17 05:06:41",
            "expert_rating": 1,
            "user_rating": 2,
            "payment_type": 1,
            "expert_id": 1017,
            "user_id": 997,
            "proposed_price": 33731,
            "type": 1,
            "fields": [],
            "offers_count": 0,
            "created_at": "2025-12-13T06:27:29.000000Z",
            "service": {
                "id": 77,
                "name": "Junior Watsica",
                "name_ar": "Miss Andreane Casper",
                "name_en": "Junior Watsica",
                "order": 62,
                "icon": "https://via.placeholder.com/640x480.png/003311?text=inventore"
            },
            "accepted_offer": null
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/me/orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 7

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 18

filter[identifier]   string  optional  

Field to filter items by identifier. Example: neque

filter[name]   string  optional  

Field to filter items by name. Example: iure

filter[description]   string  optional  

Field to filter items by description . Example: eos

filter[subject]   string  optional  

Field to filter items by subject . Example: natus

filter[payment_type]   integer  optional  

Field to filter items by payment_type. Example: 5

filter[type]   integer  optional  

Field to filter items by type. Example: 5

filter[status]   integer  optional  

Field to filter items by status. Example: 6

filter[proposed_price]   string  optional  

Field to filter items by proposed_price. Example: distinctio

filter[expert_rating]   integer  optional  

Field to filter items by expert_rating. Example: 10

filter[user_rating]   integer  optional  

Field to filter items by user_rating. Example: 11

filter[accepted_offer]   boolean  optional  

Field to filter items that have an accepted offer. Example: false

sort   string  optional  

Field to sort items by identifier,name,description,subject, type, deadline, payment_type, status, proposed_price,expert_rating,user_rating. Example: accusantium

Show my feedbacks

requires authentication

This endpoint lets you show my feedbacks

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/me/feedbacks?page=1&per_page=1&filter%5Bidentifier%5D=libero&filter%5Bmessage%5D=sint&filter%5Btype%5D=9&filter%5Bstatus%5D=17&filter%5Brating%5D=15&sort=unde" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/feedbacks"
);

const params = {
    "page": "1",
    "per_page": "1",
    "filter[identifier]": "libero",
    "filter[message]": "sint",
    "filter[type]": "9",
    "filter[status]": "17",
    "filter[rating]": "15",
    "sort": "unde",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 6,
            "message": "Dolores architecto consectetur voluptatem suscipit accusamus voluptas harum. Consectetur possimus perspiciatis qui rerum possimus at pariatur.",
            "status": 2,
            "user_id": 1020,
            "type": 2,
            "rating": 5,
            "chat_group_id": "16921-3185"
        },
        {
            "id": 7,
            "message": "Suscipit adipisci exercitationem reprehenderit quod est nemo. Suscipit et voluptatum voluptatibus natus adipisci.",
            "status": 1,
            "user_id": 1020,
            "type": 8,
            "rating": 2,
            "chat_group_id": "37091"
        },
        {
            "id": 8,
            "message": "Ad sint officia quod voluptate est. Voluptatem soluta culpa voluptatem totam. Doloribus dolorum excepturi itaque aspernatur ut inventore et. Architecto voluptatem a qui nesciunt sequi.",
            "status": 1,
            "user_id": 1020,
            "type": 7,
            "rating": 2,
            "chat_group_id": "94993"
        },
        {
            "id": 9,
            "message": "Quod quo iusto exercitationem enim nam omnis veniam. Et eum doloremque et error accusantium. Facilis perspiciatis dolores aut enim consequuntur. Voluptate rerum et rerum est commodi.",
            "status": 2,
            "user_id": 1020,
            "type": 8,
            "rating": 1,
            "chat_group_id": "78387-0194"
        },
        {
            "id": 10,
            "message": "Saepe magni et pariatur et atque qui. Eum dolores quia ut qui et. Velit assumenda quis voluptatem sed tempora. Est iusto qui aut nobis voluptatibus libero.",
            "status": 2,
            "user_id": 1020,
            "type": 5,
            "rating": 1,
            "chat_group_id": "73280"
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/me/feedbacks

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 1

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 1

filter[identifier]   string  optional  

Field to filter items by identifier. Example: libero

filter[message]   string  optional  

Field to filter items by message. Example: sint

filter[type]   integer  optional  

Field to filter items by type. Example: 9

filter[status]   integer  optional  

Field to filter items by status. Example: 17

filter[rating]   integer  optional  

Field to filter items by rating. Example: 15

sort   string  optional  

Field to sort items by identifier,name,description,type, deadline, payment_type, status, proposed_price,expert_rating,user_rating. Example: unde

Show my offers

requires authentication

This endpoint lets you show my offers

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/me/offers?page=7&per_page=13&filter%5Bid%5D=quo&filter%5Bprice%5D=error&filter%5Bstatus%5D=10&sort=sequi" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/offers"
);

const params = {
    "page": "7",
    "per_page": "13",
    "filter[id]": "quo",
    "filter[price]": "error",
    "filter[status]": "10",
    "sort": "sequi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 10,
            "price": 1,
            "deadline": "2025-01-23 02:18:57",
            "status": 4,
            "chat_group_id": "Aliquid saepe ea odio nobis. A",
            "user": {
                "id": 758,
                "name": "Davonte Schaefer",
                "phone": "+17736992722",
                "image": null,
                "expert_rating_avg": 0.3,
                "age": "4",
                "profession": "Alice did not at.",
                "specialty": "I should like it.",
                "brief": "I do so like that.",
                "type": 4,
                "section": 1,
                "consultation_price": 61
            },
            "order": {
                "id": 37,
                "subject": "Ut et ipsa exercitationem in facere et. Dolorum fuga facilis ut. Tenetur error ad esse recusandae aut. Saepe quis qui velit omnis corrupti.",
                "status": 5
            }
        },
        {
            "id": 11,
            "price": 99,
            "deadline": "2025-01-23 02:18:57",
            "status": 4,
            "chat_group_id": "Nostrum aut qui et et maiores ",
            "user": {
                "id": 758,
                "name": "Davonte Schaefer",
                "phone": "+17736992722",
                "image": null,
                "expert_rating_avg": 0.3,
                "age": "4",
                "profession": "Alice did not at.",
                "specialty": "I should like it.",
                "brief": "I do so like that.",
                "type": 4,
                "section": 1,
                "consultation_price": 61
            },
            "order": {
                "id": 38,
                "subject": "Sed eos voluptas vel aspernatur eum ea in. Aliquid reiciendis sit et incidunt impedit rerum aliquam. Quia voluptas facere dolores non fugiat omnis quam. Et optio dolor dolor fugiat est.",
                "status": 2
            }
        },
        {
            "id": 12,
            "price": 196,
            "deadline": "2025-01-23 02:18:57",
            "status": 2,
            "chat_group_id": "Numquam dolores aut similique ",
            "user": {
                "id": 758,
                "name": "Davonte Schaefer",
                "phone": "+17736992722",
                "image": null,
                "expert_rating_avg": 0.3,
                "age": "4",
                "profession": "Alice did not at.",
                "specialty": "I should like it.",
                "brief": "I do so like that.",
                "type": 4,
                "section": 1,
                "consultation_price": 61
            },
            "order": {
                "id": 39,
                "subject": "Dolorum numquam quae fugit quia laborum saepe. Rem delectus magnam et quaerat.",
                "status": 9
            }
        },
        {
            "id": 13,
            "price": 15,
            "deadline": "2025-01-23 02:18:57",
            "status": 1,
            "chat_group_id": "Odit ullam et est. Officiis ex",
            "user": {
                "id": 758,
                "name": "Davonte Schaefer",
                "phone": "+17736992722",
                "image": null,
                "expert_rating_avg": 0.3,
                "age": "4",
                "profession": "Alice did not at.",
                "specialty": "I should like it.",
                "brief": "I do so like that.",
                "type": 4,
                "section": 1,
                "consultation_price": 61
            },
            "order": {
                "id": 40,
                "subject": "Voluptas et suscipit ducimus distinctio sint sit qui. Vel magni accusantium accusantium nesciunt. Beatae qui voluptas quae tempore.",
                "status": 1
            }
        },
        {
            "id": 14,
            "price": 145,
            "deadline": "2025-01-23 02:18:57",
            "status": 3,
            "chat_group_id": "Odio aut laboriosam sit doloru",
            "user": {
                "id": 758,
                "name": "Davonte Schaefer",
                "phone": "+17736992722",
                "image": null,
                "expert_rating_avg": 0.3,
                "age": "4",
                "profession": "Alice did not at.",
                "specialty": "I should like it.",
                "brief": "I do so like that.",
                "type": 4,
                "section": 1,
                "consultation_price": 61
            },
            "order": {
                "id": 41,
                "subject": "Minima quas repellendus similique vitae fugit voluptatum. Asperiores hic totam eos quia. Quis modi quos quaerat quasi repellendus dolor. Omnis unde accusantium aut accusamus pariatur.",
                "status": 4
            }
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/me/offers

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 7

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 13

filter[id]   string  optional  

Field to filter items by id. Example: quo

filter[price]   string  optional  

Field to filter items by price. Example: error

filter[status]   integer  optional  

Field to filter items by status. Example: 10

sort   string  optional  

Field to sort items by id,price,status,offerable_type,offerable_id. Example: sequi

Show me join us orders

requires authentication

This endpoint lets you show me join us orders

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/me/join-us-orders?page=3&per_page=16&filter%5Bid%5D=velit&filter%5Bdescription%5D=adipisci&filter%5Buser_id%5D=possimus&filter%5Bstatus%5D=10&filter%5Btype%5D=3&sort=natus" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/join-us-orders"
);

const params = {
    "page": "3",
    "per_page": "16",
    "filter[id]": "velit",
    "filter[description]": "adipisci",
    "filter[user_id]": "possimus",
    "filter[status]": "10",
    "filter[type]": "3",
    "sort": "natus",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 11111152,
            "description": "Non ipsa sint numquam consequatur quidem consequatur. Aspernatur nostrum enim dolores veniam ad. Aspernatur omnis sint ipsa quod reprehenderit. Modi et officiis rerum perferendis est tempore.",
            "status": 1,
            "type": 3,
            "user_id": 978,
            "user": {
                "id": 978,
                "name": "Prof. Hershel Boehm",
                "phone": "+14014624366",
                "image": null
            },
            "services": null,
            "certificates": []
        },
        {
            "id": 11111153,
            "description": "Facilis odit voluptatem ab voluptate molestias quis. Aliquid sed eum voluptates est. Laboriosam aliquam dicta est necessitatibus non libero. Maiores aut commodi quis id facilis.",
            "status": 2,
            "type": 2,
            "user_id": 978,
            "user": {
                "id": 978,
                "name": "Prof. Hershel Boehm",
                "phone": "+14014624366",
                "image": null
            },
            "services": null,
            "certificates": []
        },
        {
            "id": 11111154,
            "description": "Neque ea cumque ab maiores saepe expedita. Non harum temporibus et pariatur ut. Eaque necessitatibus veniam aut omnis non. Ducimus consequuntur dolorem repellat qui dolor.",
            "status": 2,
            "type": 1,
            "user_id": 978,
            "user": {
                "id": 978,
                "name": "Prof. Hershel Boehm",
                "phone": "+14014624366",
                "image": null
            },
            "services": null,
            "certificates": []
        },
        {
            "id": 11111155,
            "description": "Rerum occaecati nostrum asperiores dolor soluta iusto excepturi. In officiis architecto earum beatae.",
            "status": 1,
            "type": 3,
            "user_id": 978,
            "user": {
                "id": 978,
                "name": "Prof. Hershel Boehm",
                "phone": "+14014624366",
                "image": null
            },
            "services": null,
            "certificates": []
        },
        {
            "id": 11111156,
            "description": "Quo quam impedit cum sed neque in. Est ea soluta enim sit temporibus sed. Vitae officiis in eum voluptate et qui dolorem. Odit nostrum non aut ut sed.",
            "status": 2,
            "type": 2,
            "user_id": 978,
            "user": {
                "id": 978,
                "name": "Prof. Hershel Boehm",
                "phone": "+14014624366",
                "image": null
            },
            "services": null,
            "certificates": []
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/me/join-us-orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 3

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 16

filter[id]   string  optional  

Field to filter items by id. Example: velit

filter[description]   string  optional  

Field to filter items by description. Example: adipisci

filter[user_id]   string  optional  

Field to filter items by user id. Example: possimus

filter[status]   integer  optional  

Field to filter items by status. Example: 10

filter[type]   integer  optional  

Field to filter items by type. Example: 3

sort   string  optional  

Field to sort items by id,description,user_id,status,type. Example: natus

requires authentication

This endpoint lets you link with marketer

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/me/link-with-marketer" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"code\": \"et\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/link-with-marketer"
);

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

let body = {
    "code": "et"
};

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

Example response (200):


{
    "message": "success",
    "status_code": 200
}
 

mark all user's notifications as read

requires authentication

This endpoint lets you mark all user's notification as read

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/me/mark-all-notifications-as-read" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/mark-all-notifications-as-read"
);

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

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

Example response (200):


{
    "message": "Notifications updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/me/mark-all-notifications-as-read

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Show my notifications

requires authentication

This endpoint lets you show user's notifications

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/me/notifications?page=4&per_page=20" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/notifications"
);

const params = {
    "page": "4",
    "per_page": "20",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": "9526edc3-d808-3add-9f1a-e2400c737a52",
            "data": {
                "title": "Order Rejected",
                "body": "Your order has been rejected.",
                "image": "https://via.placeholder.com/200x200.png/008844?text=accusantium",
                "type": 13
            },
            "read": false,
            "created_at": "2001-03-07T18:25:47.000000Z",
            "updated_at": "1988-07-09T00:42:10.000000Z"
        },
        {
            "id": "5c049f47-b67f-3f6b-8ba2-9762bf0eda94",
            "data": {
                "title": "Order Approved",
                "body": "Your order has been approved.",
                "image": "https://via.placeholder.com/200x200.png/000066?text=ut",
                "type": 14
            },
            "read": false,
            "created_at": "1995-07-26T12:11:01.000000Z",
            "updated_at": "1980-12-27T21:07:44.000000Z"
        },
        {
            "id": "82b19460-f804-3497-8a35-1e19f09951a2",
            "data": {
                "title": "Offer Updated",
                "body": "An offer on your order has been updated.",
                "image": "https://via.placeholder.com/200x200.png/0088bb?text=magni",
                "type": 7
            },
            "read": false,
            "created_at": "1989-06-26T11:53:37.000000Z",
            "updated_at": "2017-04-19T11:43:02.000000Z"
        },
        {
            "id": "a3136850-337d-3cbf-9f3c-ba384cbe2039",
            "data": {
                "title": "General Notification",
                "body": "You have a new notification.",
                "image": "https://via.placeholder.com/200x200.png/002255?text=sed",
                "type": 2
            },
            "read": false,
            "created_at": "1988-11-19T08:23:44.000000Z",
            "updated_at": "2012-06-01T08:52:26.000000Z"
        },
        {
            "id": "623b29e0-9e20-3392-bee0-4ee290b7d78a",
            "data": {
                "title": "New Order in Your Specialty",
                "body": "A new order has been added in your specialty.",
                "image": "https://via.placeholder.com/200x200.png/002222?text=deleniti",
                "type": 17
            },
            "read": false,
            "created_at": "1987-06-28T16:44:03.000000Z",
            "updated_at": "2009-08-22T08:47:50.000000Z"
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/me/notifications

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 4

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 20

Show my payments

requires authentication

This endpoint lets you show user's payments

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/me/payments?page=13&per_page=10" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/payments"
);

const params = {
    "page": "13",
    "per_page": "10",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 1,
            "status": 3,
            "amount": 66,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 12,
                "subject": "Veniam sit sed omnis labore. Qui maiores pariatur repellendus dolorum blanditiis sed in voluptates. Ut expedita et vel. Exercitationem consequatur soluta non sunt quisquam suscipit.",
                "status": 9
            },
            "type": 4,
            "meta": null,
            "notes": null
        },
        {
            "id": 2,
            "status": 4,
            "amount": 62,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 13,
                "subject": "Sit voluptatem non assumenda sunt molestiae quas. Est aut nemo ea perferendis quasi sit. Aliquid totam quisquam nesciunt fugiat nam. Eum eos voluptatem ad temporibus officiis voluptas.",
                "status": 9
            },
            "type": 5,
            "meta": null,
            "notes": null
        },
        {
            "id": 3,
            "status": 1,
            "amount": 155,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 14,
                "subject": "Et dolores aut ab aspernatur. Impedit fugiat asperiores magnam voluptates. Ex iste ullam delectus vel beatae a quis.",
                "status": 6
            },
            "type": 2,
            "meta": null,
            "notes": null
        },
        {
            "id": 4,
            "status": 3,
            "amount": 82,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 15,
                "subject": "Dolorem in similique repudiandae corrupti aut maxime. Aut repellendus quos eum et similique a magnam. Eaque saepe eaque eos illo. Ut rerum quam aliquam.",
                "status": 6
            },
            "type": 4,
            "meta": null,
            "notes": null
        },
        {
            "id": 5,
            "status": 3,
            "amount": 17,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 16,
                "subject": "Quia porro veritatis doloribus facilis neque quod. Non cum eveniet excepturi commodi ea mollitia ut. Ut qui quia qui est officia nostrum.",
                "status": 5
            },
            "type": 1,
            "meta": null,
            "notes": null
        },
        {
            "id": 6,
            "status": 3,
            "amount": 12,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 17,
                "subject": "Qui id debitis sapiente distinctio dolor laudantium non. Sint dolores assumenda officiis architecto ut.",
                "status": 6
            },
            "type": 2,
            "meta": null,
            "notes": null
        },
        {
            "id": 7,
            "status": 4,
            "amount": 69,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 18,
                "subject": "Omnis ut aut dolorum molestiae quos veniam. Explicabo maxime omnis ut. Quod id consequatur enim non.",
                "status": 6
            },
            "type": 1,
            "meta": null,
            "notes": null
        },
        {
            "id": 8,
            "status": 1,
            "amount": 129,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 19,
                "subject": "Reprehenderit qui atque blanditiis quisquam et accusamus. Recusandae unde labore voluptatem saepe omnis. Ipsum alias nesciunt voluptatem molestias aut possimus.",
                "status": 7
            },
            "type": 2,
            "meta": null,
            "notes": null
        },
        {
            "id": 9,
            "status": 4,
            "amount": 191,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 20,
                "subject": "Eius perspiciatis voluptatem consequatur eaque beatae. Dolorum sint est eos aliquam nisi vel rerum. Maxime id et sit quo quibusdam est.",
                "status": 4
            },
            "type": 4,
            "meta": null,
            "notes": null
        },
        {
            "id": 10,
            "status": 4,
            "amount": 58,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 21,
                "subject": "Sed nulla delectus quia recusandae voluptate sit. Rem numquam dolor unde. Debitis accusantium saepe dolores sed atque modi.",
                "status": 3
            },
            "type": 4,
            "meta": null,
            "notes": null
        },
        {
            "id": 11,
            "status": 1,
            "amount": 36,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 22,
                "subject": "Cum quae corrupti commodi dicta qui. Distinctio commodi quas temporibus. Aperiam facilis soluta quisquam ratione. Consequatur quis cum nesciunt vero.",
                "status": 1
            },
            "type": 2,
            "meta": null,
            "notes": null
        },
        {
            "id": 12,
            "status": 2,
            "amount": 151,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 23,
                "subject": "Doloremque similique occaecati aperiam ut. Facilis sapiente qui consequatur optio quidem possimus. Quibusdam aut sequi sed et.",
                "status": 7
            },
            "type": 3,
            "meta": null,
            "notes": null
        },
        {
            "id": 13,
            "status": 1,
            "amount": 82,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 24,
                "subject": "Doloribus quas voluptas quidem eveniet magni fuga. Dolor velit ea animi nobis. Consequuntur quisquam molestiae alias tempore.",
                "status": 7
            },
            "type": 1,
            "meta": null,
            "notes": null
        },
        {
            "id": 14,
            "status": 1,
            "amount": 59,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 25,
                "subject": "Excepturi modi natus ratione doloremque inventore cumque iure. In eligendi eveniet voluptatem sint.",
                "status": 2
            },
            "type": 1,
            "meta": null,
            "notes": null
        },
        {
            "id": 15,
            "status": 2,
            "amount": 63,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 26,
                "subject": "In sunt autem ad quaerat quae ut. Rerum quia quis non sed. Minus quia qui explicabo dolor quo ratione quo ullam.",
                "status": 7
            },
            "type": 1,
            "meta": null,
            "notes": null
        },
        {
            "id": 16,
            "status": 3,
            "amount": 195,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 27,
                "subject": "Dicta quia vitae et est. Consequatur non sunt velit officia. Voluptatem ab voluptas commodi voluptatum excepturi in enim.",
                "status": 8
            },
            "type": 3,
            "meta": null,
            "notes": null
        },
        {
            "id": 17,
            "status": 3,
            "amount": 84,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 28,
                "subject": "Voluptatem temporibus in velit provident quis magnam reprehenderit. Esse voluptatum voluptates magnam ut quos qui qui quos. Assumenda nemo modi eum qui quia.",
                "status": 5
            },
            "type": 4,
            "meta": null,
            "notes": null
        },
        {
            "id": 18,
            "status": 1,
            "amount": 29,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 29,
                "subject": "Consequatur eum ducimus eveniet. Ut facilis dolorem at suscipit. Dignissimos explicabo quas consequatur consequatur quo.",
                "status": 3
            },
            "type": 2,
            "meta": null,
            "notes": null
        },
        {
            "id": 19,
            "status": 3,
            "amount": 105,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 30,
                "subject": "Culpa dolorem dolores autem omnis reprehenderit. Et placeat voluptatibus vel magni voluptatem et. Quo harum non aut facilis provident similique officiis repellendus.",
                "status": 2
            },
            "type": 5,
            "meta": null,
            "notes": null
        },
        {
            "id": 20,
            "status": 3,
            "amount": 17,
            "user_id": 697,
            "balance": 0,
            "order": {
                "id": 31,
                "subject": "Commodi tempora doloribus assumenda voluptates ipsa. Ut enim autem harum id magni. Neque beatae quis aut qui expedita reiciendis dignissimos. Rerum dolores qui eum voluptates voluptas quod.",
                "status": 1
            },
            "type": 3,
            "meta": null,
            "notes": null
        }
    ],
    "meta": {
        "pagination": {
            "total": 20,
            "per_page": 50,
            "count": 20,
            "current_page": 1
        },
        "balance": null
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/me/payments

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 13

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 10

Payment withdrawal request

requires authentication

This endpoint lets you link with marketer

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/me/payment-withdrawal" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"amount\": 5969707.932739666,
    \"type\": \"2\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/payment-withdrawal"
);

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

let body = {
    "amount": 5969707.932739666,
    "type": "2"
};

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

Example response (200):


{
    "data": {
        "id": 1,
        "status": 1,
        "amount": -10000,
        "user_id": 1043,
        "balance": -9800,
        "type": 4,
        "meta": {
            "withdrawal_type": 1,
            "iban": "TEST"
        },
        "notes": "122"
    },
    "message": "success",
    "status_code": 200
}
 

Request      

POST api/v1/me/payment-withdrawal

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

amount   number   

Must be at least 0. Must not be greater than 0. Example: 5969707.9327397

type   string  optional  

Example: 2

Must be one of:
  • 1
  • 2
  • 3
iban   string  optional  
notes   string  optional  

User can delete his account

requires authentication

This endpoint lets you delete your account

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/me/delete-account" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/me/delete-account"
);

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

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

Example response (200):


{
    "message": "Account deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/me/delete-account

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Notifications

APIs for managing notifications

mark a notification as read

requires authentication

This endpoint lets you mark a notification as read

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/notifications/totam/mark-as-read" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/notifications/totam/mark-as-read"
);

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

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

Example response (200):


{
    "message": "Notification updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/notifications/{notification_id}/mark-as-read

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

notification_id   string   

The ID of the notification. Example: totam

Offers

APIs for managing offers

Show all offers

requires authentication

This endpoint lets you show all offers

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/offers?page=13&per_page=17&filter%5Bid%5D=et&filter%5Bprice%5D=nisi&filter%5Bdeadline%5D=12&filter%5Bstatus%5D=3&sort=assumenda" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/offers"
);

const params = {
    "page": "13",
    "per_page": "17",
    "filter[id]": "et",
    "filter[price]": "nisi",
    "filter[deadline]": "12",
    "filter[status]": "3",
    "sort": "assumenda",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 9,
            "price": 14,
            "deadline": "2025-01-23 02:18:57",
            "status": 1,
            "chat_group_id": "Autem nesciunt placeat fugiat ",
            "user": {
                "id": 840,
                "name": "Blake Becker",
                "phone": "+17323548106",
                "image": null,
                "expert_rating_avg": 0.5,
                "age": "77",
                "profession": "There was nothing.",
                "specialty": "IS that to be told.",
                "brief": "Dormouse,' thought.",
                "type": 0,
                "section": 1,
                "consultation_price": 36
            },
            "order": {
                "id": 28,
                "subject": "Necessitatibus ratione quidem voluptatem et et nisi. Et dicta dignissimos voluptates quibusdam numquam ipsa doloremque. Eaque sunt autem qui modi enim. Quis consectetur et molestiae tenetur.",
                "status": 1
            }
        },
        {
            "id": 10,
            "price": 8,
            "deadline": "2025-01-23 02:18:57",
            "status": 2,
            "chat_group_id": "Ea exercitationem quo voluptat",
            "user": {
                "id": 843,
                "name": "Cassandre Adams",
                "phone": "+19403561688",
                "image": null,
                "expert_rating_avg": 0.3,
                "age": "67",
                "profession": "And oh, I wish I.",
                "specialty": "Alice to herself.",
                "brief": "Dormouse began in.",
                "type": 1,
                "section": 1,
                "consultation_price": 24
            },
            "order": {
                "id": 29,
                "subject": "Iure eius facere voluptatem fuga est nam. Consequatur qui odio laudantium rem commodi commodi qui eligendi. Voluptatibus vero vel quas modi.",
                "status": 9
            }
        },
        {
            "id": 11,
            "price": 87,
            "deadline": "2025-01-23 02:18:57",
            "status": 2,
            "chat_group_id": "Et quia totam error et sed sed",
            "user": {
                "id": 846,
                "name": "Prof. Warren Keeling",
                "phone": "+14253920082",
                "image": null,
                "expert_rating_avg": 0.2,
                "age": "48",
                "profession": "ARE a simpleton.'.",
                "specialty": "Pigeon in a more.",
                "brief": "White Rabbit, 'but.",
                "type": 2,
                "section": 1,
                "consultation_price": 68
            },
            "order": {
                "id": 30,
                "subject": "A est tenetur asperiores impedit quis. Hic totam explicabo magnam. Corrupti aut praesentium pariatur et.",
                "status": 5
            }
        },
        {
            "id": 12,
            "price": 170,
            "deadline": "2025-01-23 02:18:57",
            "status": 2,
            "chat_group_id": "Ad alias illo est quidem volup",
            "user": {
                "id": 849,
                "name": "Ocie Skiles DDS",
                "phone": "+12056776339",
                "image": null,
                "expert_rating_avg": 0.3,
                "age": "57",
                "profession": "Heads below!' (a.",
                "specialty": "King. On this the.",
                "brief": "Alice laughed so.",
                "type": 0,
                "section": 1,
                "consultation_price": 60
            },
            "order": {
                "id": 31,
                "subject": "Consequatur quae nesciunt quia molestiae. Doloremque voluptatibus aut incidunt quia non ut voluptate. Non quis fuga ut quia nulla impedit.",
                "status": 2
            }
        },
        {
            "id": 13,
            "price": 35,
            "deadline": "2025-01-23 02:18:57",
            "status": 2,
            "chat_group_id": "Occaecati nisi aut aut numquam",
            "user": {
                "id": 852,
                "name": "Dr. Bernard Abernathy MD",
                "phone": "+12839188131",
                "image": null,
                "expert_rating_avg": 0.2,
                "age": "58",
                "profession": "Lobster Quadrille.",
                "specialty": "The Fish-Footman.",
                "brief": "I suppose Dinah'll.",
                "type": 8,
                "section": 1,
                "consultation_price": 34
            },
            "order": {
                "id": 32,
                "subject": "Laboriosam qui pariatur est iusto veritatis corrupti. Ut cupiditate inventore est modi aut. Fuga et at non recusandae quasi tempore ipsam explicabo.",
                "status": 6
            }
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/offers

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 13

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 17

filter[id]   string  optional  

Field to filter items by id. Example: et

filter[price]   string  optional  

Field to filter items by price. Example: nisi

filter[deadline]   integer  optional  

Field to filter items by deadline. Example: 12

filter[status]   integer  optional  

Field to filter items by status. Example: 3

sort   string  optional  

Field to sort items by id,price,status,offerable_type,offerable_id. Example: assumenda

Show specific offer

requires authentication

This endpoint lets you show specific offer

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/offers/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/offers/1"
);

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

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

Example response (200):


{
    "data": {
        "id": 6,
        "price": 140,
        "deadline": "2025-01-23 02:18:57",
        "status": 4,
        "chat_group_id": "6226db0abfd2930018b6922b",
        "user": {
            "id": 1055,
            "name": "Humberto Schmitt",
            "phone": "+15594189429",
            "image": null,
            "expert_rating_avg": 0.2,
            "age": "2",
            "profession": "Mouse, turning to.",
            "specialty": "HERE.' 'But then,'.",
            "brief": "Gryphon went on so.",
            "type": 16,
            "section": 1,
            "consultation_price": 64
        },
        "order": {
            "id": 16,
            "subject": "Perspiciatis voluptatem aut aliquid consequatur. Sit quas et dolores vitae officiis. Vitae exercitationem odit blanditiis.",
            "status": 4
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/offers/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the offer. Example: 1

update offer

requires authentication

This endpoint lets you update offer

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/offers/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"price\": 1888.650237,
    \"deadline\": \"2025-12-13T06:31:14\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/offers/1"
);

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

let body = {
    "price": 1888.650237,
    "deadline": "2025-12-13T06:31:14"
};

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

Example response (200):


{
    "data": {
        "id": 53,
        "price": 5000,
        "deadline": "2025-12-13 06:27:56",
        "status": 1,
        "chat_group_id": null,
        "user": {
            "id": 1229,
            "name": "Clementina D'Amore DVM",
            "phone": "+18135008071",
            "image": null,
            "expert_rating_avg": 0.5,
            "age": "61",
            "profession": "I could say if I.",
            "specialty": "Pigeon. 'I'm NOT a.",
            "brief": "She generally gave.",
            "type": 8,
            "section": 1,
            "consultation_price": 83
        },
        "order": {
            "id": 1111182,
            "subject": "Consequatur recusandae provident dolorem quis. Laboriosam laborum earum quidem omnis repellendus earum adipisci. Alias quia facere vel asperiores et. Sint quod aspernatur ex dolor optio neque sint.",
            "status": 1
        }
    },
    "message": "Offer's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/offers/{id}

PATCH api/v1/offers/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the offer. Example: 1

Body Parameters

price   number  optional  

Example: 1888.650237

deadline   string  optional  

Must be a valid date. Example: 2025-12-13T06:31:14

Make offer accept This endpoint lets you make offer accept

requires authentication

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/offer/1/status/accept" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/offer/1/status/accept"
);

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

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

Example response (200):


{
    "data": {
        "id": 17,
        "price": null,
        "deadline": null,
        "status": 2,
        "chat_group_id": null,
        "user": {
            "id": 1086,
            "name": "Rhiannon Wisozk",
            "phone": "+13122030647",
            "image": null,
            "expert_rating_avg": 0.1,
            "age": "28",
            "profession": "Queen. 'I haven't.",
            "specialty": "The Antipathies, I.",
            "brief": "Caterpillar; and.",
            "type": 1,
            "section": 1,
            "consultation_price": 47
        },
        "order": {
            "id": 1111129,
            "subject": "Ea in neque cupiditate nostrum qui. Mollitia nostrum porro sint officia enim ut maxime. Dolores iste reiciendis saepe consequatur.",
            "status": 7
        }
    },
    "message": "The offer status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/offer/{offer_id}/status/accept

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 1

Make offer reject This endpoint lets you make offer reject

requires authentication

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/offer/1/status/reject" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/offer/1/status/reject"
);

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

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

Example response (200):


{
    "data": {
        "id": 17,
        "price": null,
        "deadline": null,
        "status": 3,
        "chat_group_id": null,
        "user": {
            "id": 1101,
            "name": "Elouise Von II",
            "phone": "+17405897476",
            "image": null,
            "expert_rating_avg": 0.5,
            "age": "86",
            "profession": "How neatly spread.",
            "specialty": "CHAPTER V. Advice.",
            "brief": "However, she soon.",
            "type": 1,
            "section": 1,
            "consultation_price": 98
        },
        "order": {
            "id": 28,
            "subject": "Possimus rerum est perspiciatis eum. Eum consequatur voluptas omnis mollitia.",
            "status": 5
        }
    },
    "message": "The offer status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/offer/{offer_id}/status/reject

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 1

index offer's attachments

requires authentication

This endpoint lets you show order's attachments

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/offers/1/attachments" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/offers/1/attachments"
);

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

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

Example response (200):


{
    "data": [
        {
            "id": 11,
            "user_id": 821,
            "status": 1,
            "sort": 3,
            "type": 3,
            "name": "myFile",
            "link": null,
            "order": {
                "id": 23,
                "price": 122,
                "deadline": "2025-01-23 02:18:57",
                "status": 4,
                "user_id": 816,
                "chat_group_id": "Quasi sit molestiae rerum esse"
            }
        },
        {
            "id": 12,
            "user_id": 824,
            "status": 2,
            "sort": 5,
            "type": 3,
            "name": "myFile",
            "link": "http://mcdermott.net/quasi-quam-dolores-in-cupiditate-aut-consequuntur.html",
            "order": {
                "id": 23,
                "price": 122,
                "deadline": "2025-01-23 02:18:57",
                "status": 4,
                "user_id": 816,
                "chat_group_id": "Quasi sit molestiae rerum esse"
            }
        }
    ],
    "meta": {
        "pagination": {
            "total": 2,
            "per_page": 5,
            "count": 2,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/offers/{offer_id}/attachments

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 1

Make offer cancelled by expert This endpoint lets you make cancelled by expert

requires authentication

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/expert/offers/1/status/cancel" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/expert/offers/1/status/cancel"
);

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

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

Example response (200):


{
    "data": {
        "id": 11,
        "price": null,
        "deadline": null,
        "status": 4,
        "chat_group_id": null,
        "user": {
            "id": 1071,
            "name": "Jamar Walsh",
            "phone": "+16627459542",
            "image": null,
            "expert_rating_avg": 0.3,
            "age": "99",
            "profession": "IS the same thing.",
            "specialty": "As they walked off.",
            "brief": "YOU.--Come, I'll.",
            "type": 1,
            "section": 1,
            "consultation_price": 67
        },
        "order": {
            "id": 21,
            "subject": "Consequatur labore quia iste deleniti voluptas quis. Quia atque nesciunt quasi vel autem iusto. Corrupti eius corrupti nisi quas saepe tempore voluptatibus.",
            "status": 6
        }
    },
    "message": "The offer status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/expert/offers/{offer_id}/status/cancel

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

offer_id   integer   

The ID of the offer. Example: 1

Orders

APIs for managing orders

Show all order's offers

requires authentication

This endpoint lets you show all order's offers

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/orders/1/offers?page=7&per_page=17&filter%5Bid%5D=ea&filter%5Bprice%5D=voluptatem&filter%5Bdeadline%5D=13&filter%5Bstatus%5D=8&sort=quam" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/offers"
);

const params = {
    "page": "7",
    "per_page": "17",
    "filter[id]": "ea",
    "filter[price]": "voluptatem",
    "filter[deadline]": "13",
    "filter[status]": "8",
    "sort": "quam",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 11111139,
            "price": null,
            "deadline": null,
            "status": 1,
            "chat_group_id": null,
            "user": {
                "id": 978,
                "name": "Mary Blick",
                "phone": "+17378685937",
                "image": null,
                "expert_rating_avg": 0.1,
                "age": "63",
                "profession": "Alice, seriously.",
                "specialty": "I am, sir,' said.",
                "brief": "Mock Turtle. Alice.",
                "type": 8,
                "section": 1,
                "consultation_price": 77
            },
            "order": {
                "id": 71,
                "subject": "Tempore earum adipisci mollitia eveniet laboriosam aut in. Iusto quisquam sapiente aut sed repellat. Rerum omnis odit eum labore quaerat.",
                "status": 3
            }
        },
        {
            "id": 11111140,
            "price": null,
            "deadline": null,
            "status": 1,
            "chat_group_id": null,
            "user": {
                "id": 978,
                "name": "Mary Blick",
                "phone": "+17378685937",
                "image": null,
                "expert_rating_avg": 0.1,
                "age": "63",
                "profession": "Alice, seriously.",
                "specialty": "I am, sir,' said.",
                "brief": "Mock Turtle. Alice.",
                "type": 8,
                "section": 1,
                "consultation_price": 77
            },
            "order": {
                "id": 71,
                "subject": "Tempore earum adipisci mollitia eveniet laboriosam aut in. Iusto quisquam sapiente aut sed repellat. Rerum omnis odit eum labore quaerat.",
                "status": 3
            }
        }
    ],
    "meta": {
        "pagination": {
            "total": 2,
            "per_page": 5,
            "count": 2,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/orders/{order_id}/offers

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 7

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 17

filter[id]   string  optional  

Field to filter items by id. Example: ea

filter[price]   string  optional  

Field to filter items by price. Example: voluptatem

filter[deadline]   integer  optional  

Field to filter items by deadline. Example: 13

filter[status]   integer  optional  

Field to filter items by status. Example: 8

sort   string  optional  

Field to sort items by id,price,status. Example: quam

store order's offers

requires authentication

This endpoint lets you store order's offers

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/orders/1/offers" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"price\": 341258719.843777,
    \"deadline\": \"2025-12-13T06:31:14\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/offers"
);

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

let body = {
    "price": 341258719.843777,
    "deadline": "2025-12-13T06:31:14"
};

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

Example response (200):


{
    "data": {
        "id": 29,
        "price": 5800,
        "deadline": "2025-12-13 06:27:52",
        "status": 1,
        "chat_group_id": 1,
        "user": {
            "id": 958,
            "name": "Mr. Joseph Rosenbaum",
            "phone": "+19853000570",
            "image": null,
            "expert_rating_avg": 0.2,
            "age": "19",
            "profession": "Take your choice!'.",
            "specialty": "I can't understand.",
            "brief": "After these came.",
            "type": 2,
            "section": 1,
            "consultation_price": 40
        },
        "order": {
            "id": 96,
            "subject": "Quis sapiente modi ut quae pariatur doloribus odit. Ipsum et minus qui. Ducimus corrupti sint architecto. Quas facilis aut quod maiores.",
            "status": 4
        }
    },
    "message": "The offer added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/orders/{order_id}/offers

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

Body Parameters

price   number   

Example: 341258719.84378

deadline   string   

Must be a valid date. Example: 2025-12-13T06:31:14

index order's attachments

requires authentication

This endpoint lets you index order's attachments

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/orders/1/attachments?page=2&per_page=9&filter%5Bid%5D=at&filter%5Buser_id%5D=4&filter%5Bstatus%5D=7&filter%5Btype%5D=17&sort=rerum" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/attachments"
);

const params = {
    "page": "2",
    "per_page": "9",
    "filter[id]": "at",
    "filter[user_id]": "4",
    "filter[status]": "7",
    "filter[type]": "17",
    "sort": "rerum",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 11111122,
            "user_id": 893,
            "status": 2,
            "sort": 6,
            "type": 1,
            "name": "myFile",
            "link": "http://mueller.com/consequatur-quidem-voluptatem-consequatur-dolore-est-cumque-consequatur",
            "order": {
                "id": 73,
                "subject": "Iure est sed aut nisi quisquam non. Enim sed quis repellat modi quos omnis et ut. Ipsam et omnis natus ut. Ut ipsum nemo et et.",
                "status": 1
            }
        },
        {
            "id": 11111123,
            "user_id": 896,
            "status": 3,
            "sort": 12,
            "type": 3,
            "name": "myFile",
            "link": null,
            "order": {
                "id": 73,
                "subject": "Iure est sed aut nisi quisquam non. Enim sed quis repellat modi quos omnis et ut. Ipsam et omnis natus ut. Ut ipsum nemo et et.",
                "status": 1
            }
        }
    ],
    "meta": {
        "pagination": {
            "total": 2,
            "per_page": 5,
            "count": 2,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/orders/{order_id}/attachments

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 2

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 9

filter[id]   string  optional  

Field to filter items by id. Example: at

filter[user_id]   integer  optional  

Field to filter items by user_id. Example: 4

filter[status]   integer  optional  

Field to filter items by status. Example: 7

filter[type]   integer  optional  

Field to filter items by type. Example: 17

sort   string  optional  

Field to sort items by id, status, sort. Example: rerum

expert orders

requires authentication

This endpoint lets you show all expert orders

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/expert/orders" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/expert/orders"
);

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

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

Example response (200):


{
    "data": [
        {
            "id": 1111137,
            "subject": "Ratione accusamus qui molestiae sunt cumque totam in nulla. Saepe magnam doloribus recusandae aut. Sit cupiditate libero sed reprehenderit.",
            "status": 7,
            "description": "Alias possimus eum quam a necessitatibus quas. Doloribus cupiditate facere in debitis. Veritatis quisquam aspernatur sit cum. Ab quod est et sit qui repudiandae labore.",
            "deadline": "1974-12-24T09:54:48.000000Z",
            "expert_rating": 4,
            "user_rating": 4,
            "payment_type": 1,
            "user": {
                "id": 1115,
                "name": "Miss Bernita Medhurst IV",
                "phone": "+13348258290",
                "image": null
            },
            "service_id": 110,
            "service_name": "Arnold Shields",
            "service_name_ar": "Dee Blanda",
            "proposed_price": 94264,
            "type": 3,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": {
                "id": 25,
                "price": 100,
                "deadline": "2025-12-18 06:27:45",
                "status": 1,
                "user_id": 1104,
                "chat_group_id": null
            },
            "actual_deadline": "2025-12-23T06:27:43.000000Z",
            "expert_id": 1116
        },
        {
            "id": 1111138,
            "subject": "Enim non quis quis sed libero laboriosam sed possimus. Et voluptas omnis et assumenda non. Accusantium inventore tempore molestiae. Qui ullam totam sunt quo quisquam.",
            "status": 7,
            "description": "Magnam quod consequatur illum ut aut. Nesciunt quo et deleniti quidem. Dolorum a architecto voluptatem exercitationem. Similique sit enim enim laboriosam odio veritatis.",
            "deadline": "2003-09-21T07:19:54.000000Z",
            "expert_rating": 1,
            "user_rating": 4,
            "payment_type": 2,
            "user": {
                "id": 1117,
                "name": "Dr. Brooks Shanahan DDS",
                "phone": "+13522108010",
                "image": null
            },
            "service_id": 111,
            "service_name": "Mrs. Rosanna Shields",
            "service_name_ar": "Hugh Tromp",
            "proposed_price": 84043,
            "type": 2,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": {
                "id": 26,
                "price": 100,
                "deadline": "2025-12-18 06:27:45",
                "status": 1,
                "user_id": 1104,
                "chat_group_id": null
            },
            "actual_deadline": "2025-12-23T06:27:43.000000Z",
            "expert_id": 1118
        },
        {
            "id": 1111139,
            "subject": "Impedit consequatur hic voluptas corrupti eos aspernatur rem. Magnam maxime nisi aliquid reiciendis et itaque veritatis.",
            "status": 7,
            "description": "Aspernatur esse atque qui sed illo eos. Debitis aut delectus tenetur. Quia id impedit voluptatum et velit rerum iure. Itaque et sunt nostrum.",
            "deadline": "2015-12-24T22:39:01.000000Z",
            "expert_rating": 1,
            "user_rating": 2,
            "payment_type": 2,
            "user": {
                "id": 1119,
                "name": "Bryon O'Conner IV",
                "phone": "+13216800250",
                "image": null
            },
            "service_id": 112,
            "service_name": "Willard Reynolds",
            "service_name_ar": "Dr. Vinnie Kunze",
            "proposed_price": 81887,
            "type": 3,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": {
                "id": 27,
                "price": 100,
                "deadline": "2025-12-18 06:27:45",
                "status": 1,
                "user_id": 1104,
                "chat_group_id": null
            },
            "actual_deadline": "2025-12-23T06:27:43.000000Z",
            "expert_id": 1120
        },
        {
            "id": 1111140,
            "subject": "Et et eius illum deleniti occaecati. At sed fugit consequuntur consequatur nihil maxime rerum. Porro voluptas voluptatem molestias consequatur. Quo est odio sit voluptas aperiam architecto.",
            "status": 7,
            "description": "Ea quam excepturi tempora qui voluptatibus. Sed dolores eum fugiat quo perferendis. Voluptatem modi maxime praesentium.",
            "deadline": "1993-02-13T11:47:53.000000Z",
            "expert_rating": 2,
            "user_rating": 5,
            "payment_type": 1,
            "user": {
                "id": 1121,
                "name": "Mr. Buford Connelly Sr.",
                "phone": "+19077736171",
                "image": null
            },
            "service_id": 113,
            "service_name": "Sage Eichmann",
            "service_name_ar": "Dr. Leila Wyman I",
            "proposed_price": 34964,
            "type": 2,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": {
                "id": 28,
                "price": 100,
                "deadline": "2025-12-18 06:27:45",
                "status": 1,
                "user_id": 1104,
                "chat_group_id": null
            },
            "actual_deadline": "2025-12-23T06:27:43.000000Z",
            "expert_id": 1122
        },
        {
            "id": 1111141,
            "subject": "Eum itaque sed illum. Repellendus et quaerat velit dolor. Aspernatur nobis et ab quia nihil fugiat mollitia.",
            "status": 7,
            "description": "Soluta quisquam asperiores et. Illum voluptate optio quia. Inventore voluptatem velit autem facere vitae dolorem.",
            "deadline": "1989-03-16T01:14:49.000000Z",
            "expert_rating": 5,
            "user_rating": 1,
            "payment_type": 1,
            "user": {
                "id": 1123,
                "name": "Ms. Marcelina Swaniawski",
                "phone": "+12695648622",
                "image": null
            },
            "service_id": 114,
            "service_name": "Kameron Bechtelar",
            "service_name_ar": "Efren Mueller DVM",
            "proposed_price": 97627,
            "type": 3,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": {
                "id": 29,
                "price": 100,
                "deadline": "2025-12-18 06:27:45",
                "status": 1,
                "user_id": 1104,
                "chat_group_id": null
            },
            "actual_deadline": "2025-12-23T06:27:43.000000Z",
            "expert_id": 1124
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/expert/orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

pending expert orders

requires authentication

This endpoint lets you show all pending orders

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/expert/pending" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/expert/pending"
);

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

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

Example response (200):


{
    "data": [
        {
            "id": 1111231,
            "subject": "At est sit dolores libero officia debitis. Reprehenderit placeat tempora iste illo similique ut consequuntur. Et aut perferendis vel eos odit. Explicabo adipisci asperiores quisquam accusantium et.",
            "status": 2,
            "description": "Distinctio qui blanditiis totam esse. Occaecati laudantium ut et nulla aperiam hic. Rerum saepe maxime est molestias praesentium distinctio.",
            "deadline": "1978-05-06T19:38:26.000000Z",
            "expert_rating": 5,
            "user_rating": 1,
            "payment_type": 2,
            "user": {
                "id": 1338,
                "name": "Mr. Mikel Pfeffer IV",
                "phone": "+16575993994",
                "image": null
            },
            "service_id": 207,
            "service_name": "Darian Murphy",
            "service_name_ar": "Mark Bode",
            "proposed_price": 49952,
            "type": 3,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": null,
            "actual_deadline": null,
            "expert_id": null
        },
        {
            "id": 1111232,
            "subject": "Quis provident rerum quo sint illum autem laborum. Et quisquam est occaecati et aut eaque aliquid. Officia voluptas laborum omnis quas voluptatem est et.",
            "status": 2,
            "description": "Nobis architecto neque esse fugit perspiciatis. Qui ut est dicta dolor consectetur. Aperiam quas velit velit sed.",
            "deadline": "1991-02-17T11:24:40.000000Z",
            "expert_rating": 1,
            "user_rating": 2,
            "payment_type": 1,
            "user": {
                "id": 1340,
                "name": "Angelo Mosciski III",
                "phone": "+12628909402",
                "image": null
            },
            "service_id": 207,
            "service_name": "Darian Murphy",
            "service_name_ar": "Mark Bode",
            "proposed_price": 41736,
            "type": 2,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": null,
            "actual_deadline": null,
            "expert_id": null
        }
    ],
    "meta": {
        "pagination": {
            "total": 2,
            "per_page": 15,
            "count": 2,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/expert/pending

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Expert rating order on specific order

requires authentication

This endpoint lets you rating an order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/expert/orders/1/rating" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"user_rating\": 0,
    \"description\": \"A quia alias rerum.\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/expert/orders/1/rating"
);

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

let body = {
    "user_rating": 0,
    "description": "A quia alias rerum."
};

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

Example response (200):


{
    "data": {
        "id": 31,
        "subject": "Pariatur quidem dolorem ad et. Dolores et commodi asperiores labore sunt. Ipsam repudiandae dignissimos et ut. Sint consectetur eveniet ut dignissimos eius recusandae dolore.",
        "status": 3,
        "description": "Suscipit nihil quia recusandae odio. Quia beatae eum laborum qui cupiditate tenetur consequuntur. Quia aliquid quaerat autem minus hic.",
        "deadline": "2016-12-08T01:00:06.000000Z",
        "expert_rating": 5,
        "user_rating": 5,
        "payment_type": 2,
        "user": {
            "id": 1120,
            "name": "Prof. Armando Gulgowski",
            "phone": "+12349562498",
            "image": null
        },
        "service_id": 39,
        "service_name": "Eudora Carter",
        "service_name_ar": "Prof. Margarett Auer V",
        "proposed_price": 88377,
        "type": 1,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 1119
    },
    "message": "The expert rating saved successfully",
    "status_code": 200
}
 

Request      

POST api/v1/expert/orders/{order_id}/rating

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

Body Parameters

user_rating   integer   

Must be between 0 and 5. Example: 0

description   string  optional  

Must not be greater than 255 characters. Example: A quia alias rerum.

Show all orders

requires authentication

This endpoint lets you show all orders

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/orders?page=8&per_page=18&filter%5Bidentifier%5D=in&filter%5Bname%5D=sunt&filter%5Bdescription%5D=blanditiis&filter%5Bsubject%5D=quo&filter%5Bpayment_type%5D=13&filter%5Btype%5D=5&filter%5Bstatus%5D=11&filter%5Bproposed_price%5D=velit&filter%5Bexpert_rating%5D=9&filter%5Buser_rating%5D=3&sort=qui" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders"
);

const params = {
    "page": "8",
    "per_page": "18",
    "filter[identifier]": "in",
    "filter[name]": "sunt",
    "filter[description]": "blanditiis",
    "filter[subject]": "quo",
    "filter[payment_type]": "13",
    "filter[type]": "5",
    "filter[status]": "11",
    "filter[proposed_price]": "velit",
    "filter[expert_rating]": "9",
    "filter[user_rating]": "3",
    "sort": "qui",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 46,
            "subject": "Eum dolores pariatur dolores occaecati similique. Voluptas blanditiis natus omnis cupiditate esse omnis ipsam. Aut assumenda labore eos ex autem inventore. Amet dolorem id sit ut.",
            "status": 4,
            "description": "Sapiente soluta velit et quaerat nulla. Dignissimos itaque architecto modi a. Iusto quis ducimus iusto molestiae ex dicta.",
            "deadline": "2003-07-02T01:58:06.000000Z",
            "expert_rating": 2,
            "user_rating": 3,
            "payment_type": 2,
            "user": {
                "id": 1156,
                "name": "Sincere Halvorson",
                "phone": "+16804530847",
                "image": null
            },
            "service_id": 54,
            "service_name": "Mrs. Eve Nicolas",
            "service_name_ar": "Ceasar Goyette IV",
            "proposed_price": 98723,
            "type": 2,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": null,
            "actual_deadline": null,
            "expert_id": 1157
        },
        {
            "id": 45,
            "subject": "Minus ut reiciendis neque nostrum. Quod quaerat accusamus qui excepturi. Delectus dolores earum hic. Rem quibusdam reiciendis rerum inventore molestiae.",
            "status": 9,
            "description": "Est voluptatem id nemo est a commodi. Placeat ratione sunt nemo magni. Sunt itaque in blanditiis.",
            "deadline": "1991-07-09T07:25:39.000000Z",
            "expert_rating": 5,
            "user_rating": 4,
            "payment_type": 2,
            "user": {
                "id": 1154,
                "name": "Drew Hand",
                "phone": "+16782005063",
                "image": null
            },
            "service_id": 53,
            "service_name": "Jeanette Heller",
            "service_name_ar": "Hermina Dach",
            "proposed_price": 68382,
            "type": 1,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": null,
            "actual_deadline": null,
            "expert_id": 1155
        },
        {
            "id": 44,
            "subject": "Voluptatem alias voluptatem vitae earum in. Tempore officia illo repellendus non praesentium a. Consequatur ea officia et pariatur.",
            "status": 3,
            "description": "Ullam fugit quidem accusantium accusamus suscipit. Quasi voluptatem minus sit incidunt quas facere neque. Omnis quae qui deleniti quidem tenetur quas et totam.",
            "deadline": "2007-12-19T15:54:09.000000Z",
            "expert_rating": 5,
            "user_rating": 4,
            "payment_type": 2,
            "user": {
                "id": 1152,
                "name": "Stefanie McLaughlin",
                "phone": "+17479553788",
                "image": null
            },
            "service_id": 52,
            "service_name": "Desmond Prosacco",
            "service_name_ar": "Nicholas Armstrong",
            "proposed_price": 36752,
            "type": 2,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": null,
            "actual_deadline": null,
            "expert_id": 1153
        },
        {
            "id": 43,
            "subject": "Cumque asperiores velit voluptas aut et. Ipsa consectetur quaerat perspiciatis culpa quo rerum. Rerum non aspernatur quidem minus dolores veritatis voluptate minima.",
            "status": 2,
            "description": "Odit dolore mollitia aut dolor aut non qui et. Beatae officia et ratione eveniet porro. Aperiam ut ipsam voluptatem excepturi animi ullam.",
            "deadline": "2025-06-08T21:35:06.000000Z",
            "expert_rating": 5,
            "user_rating": 1,
            "payment_type": 1,
            "user": {
                "id": 1150,
                "name": "Leif Hoeger DVM",
                "phone": "+19015749737",
                "image": null
            },
            "service_id": 51,
            "service_name": "Verner Kunde",
            "service_name_ar": "Mireya Reichert DDS",
            "proposed_price": 65998,
            "type": 3,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": null,
            "actual_deadline": null,
            "expert_id": 1151
        },
        {
            "id": 42,
            "subject": "Minus consequatur mollitia id fugiat. Ut in reprehenderit possimus facere. Adipisci porro repellendus dolorem delectus recusandae. Molestias laboriosam quis molestiae.",
            "status": 9,
            "description": "Est voluptas reprehenderit non vitae vero expedita id. Aperiam autem nisi ipsum qui illum voluptatem ducimus. Iste iste quod ducimus praesentium.",
            "deadline": "1977-11-09T15:20:30.000000Z",
            "expert_rating": 2,
            "user_rating": 1,
            "payment_type": 1,
            "user": {
                "id": 1148,
                "name": "Miss Lizeth Schiller",
                "phone": "+14637276914",
                "image": null
            },
            "service_id": 50,
            "service_name": "Lucienne Ryan I",
            "service_name_ar": "Nasir Leannon DDS",
            "proposed_price": 94643,
            "type": 1,
            "fields": null,
            "accepted_offer": null,
            "expert_offer": null,
            "actual_deadline": null,
            "expert_id": 1149
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 8

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 18

filter[identifier]   string  optional  

Field to filter items by identifier. Example: in

filter[name]   string  optional  

Field to filter items by name. Example: sunt

filter[description]   string  optional  

Field to filter items by description . Example: blanditiis

filter[subject]   string  optional  

Field to filter items by subject . Example: quo

filter[payment_type]   integer  optional  

Field to filter items by payment_type. Example: 13

filter[type]   integer  optional  

Field to filter items by type. Example: 5

filter[status]   integer  optional  

Field to filter items by status. Example: 11

filter[proposed_price]   string  optional  

Field to filter items by proposed_price. Example: velit

filter[expert_rating]   integer  optional  

Field to filter items by expert_rating. Example: 9

filter[user_rating]   integer  optional  

Field to filter items by user_rating. Example: 3

sort   string  optional  

Field to sort items by identifier,name,description,subject,type, deadline, payment_type, status, proposed_price,expert_rating,user_rating. Example: qui

Add order

requires authentication

This endpoint lets you add order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/orders" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"description\": \"non\",
    \"proposed_price\": 611.7568561,
    \"subject\": \"facilis\",
    \"deadline\": \"2025-12-13T06:31:15\",
    \"payment_type\": \"1\",
    \"service_id\": \"sint\",
    \"type\": \"1\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders"
);

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

let body = {
    "description": "non",
    "proposed_price": 611.7568561,
    "subject": "facilis",
    "deadline": "2025-12-13T06:31:15",
    "payment_type": "1",
    "service_id": "sint",
    "type": "1"
};

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

Example response (200):


{
    "data": {
        "id": 108,
        "subject": "des",
        "status": 2,
        "description": "des",
        "deadline": "2025-12-13T06:28:08.000000Z",
        "expert_rating": null,
        "user_rating": null,
        "payment_type": 1,
        "user": {
            "id": 997,
            "name": "Augustine Kohler",
            "phone": "+16609867244",
            "image": null
        },
        "service_id": 109,
        "service_name": "Marlen Johns",
        "service_name_ar": "Gussie Rempel",
        "proposed_price": 5000,
        "type": 1,
        "fields": [
            {
                "id": 11111137,
                "title": "Driving Licence Issuer",
                "title_ar": "Quibusdam qui praesentium in ut. Eligendi ex autem corporis quia quasi eos tenetur. Aut earum et tempore consequatur fuga.",
                "type": 1,
                "value": "TEST"
            },
            {
                "id": 11111138,
                "title": "Driving Licence File",
                "title_ar": "Doloribus debitis amet atque vel. Et sit ullam quam quia ut aliquam. Assumenda ipsum ullam laboriosam ut consequatur cum. Nostrum iste eum temporibus. Exercitationem doloremque qui magnam excepturi.",
                "type": 2,
                "value": "https://api.dev.menassahur.com/storage/orderFields/test_20251213062808000.pdf"
            }
        ],
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": null
    },
    "message": "The order added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/orders

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

description   string   

Example: non

proposed_price   number   

Example: 611.7568561

subject   string   

Example: facilis

expert_id   string  optional  

The id of an existing record in the users table.

deadline   string   

Must be a valid date. Example: 2025-12-13T06:31:15

payment_type   string  optional  

Example: 1

Must be one of:
  • 1
  • 2
service_id   string   

The id of an existing record in the services table. Example: sint

type   string   

Example: 1

Must be one of:
  • 1
  • 2
  • 3
fields   string[]  optional  
field_id   string  optional  

The id of an existing record in the fields table.

Show specific order

requires authentication

This endpoint lets you show specific order

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/orders/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1"
);

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

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

Example response (200):


{
    "data": {
        "id": 105,
        "subject": "Rerum voluptatem iste sapiente at illo ut molestiae ab. Optio expedita ut ducimus commodi accusantium ullam libero. Ea architecto aut est quia quod aut optio. Et laboriosam repudiandae et sed ab.",
        "status": 4,
        "description": "Laboriosam tempore ipsa ea ipsa voluptatem. Quia in est libero ex maiores. Sit at aliquam quibusdam doloribus perspiciatis enim. Totam eveniet eum id debitis nisi.",
        "deadline": "2002-05-11T12:37:00.000000Z",
        "expert_rating": 5,
        "user_rating": 3,
        "payment_type": 1,
        "user": {
            "id": 983,
            "name": "Gordon Paucek II",
            "phone": "+12232801869",
            "image": null
        },
        "service_id": 106,
        "service_name": "Marjory Schumm",
        "service_name_ar": "Faustino Jaskolski",
        "proposed_price": 10155,
        "type": 3,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 984
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/orders/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the order. Example: 1

Update specific order

requires authentication

This endpoint lets you update specific order

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/orders/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"proposed_price\": 7.758271,
    \"deadline\": \"2025-12-13T06:31:15\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1"
);

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

let body = {
    "proposed_price": 7.758271,
    "deadline": "2025-12-13T06:31:15"
};

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

Example response (200):


{
    "data": {
        "id": 106,
        "subject": "Veritatis repellendus tempora sed ratione sed doloremque. Cum quia ratione sed. Nisi ut minus voluptas dignissimos dolorem sit cumque voluptatibus.",
        "status": 9,
        "description": "des",
        "deadline": "2025-12-13T06:28:10.000000Z",
        "expert_rating": 1,
        "user_rating": 4,
        "payment_type": 1,
        "user": {
            "id": 1080,
            "name": "Darius Halvorson",
            "phone": "+17812627153",
            "image": null
        },
        "service_id": 168,
        "service_name": "Mr. Jedediah Lang",
        "service_name_ar": "Josue Sawayn",
        "proposed_price": 5000,
        "type": 1,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 1081
    },
    "message": "Order's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/orders/{id}

PATCH api/v1/orders/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the order. Example: 1

Body Parameters

description   string  optional  
proposed_price   number  optional  

Example: 7.758271

subject   string  optional  
deadline   string  optional  

Must be a valid date. Example: 2025-12-13T06:31:15

type   string  optional  

make order status waiting admin approval

requires authentication

This endpoint lets make order status waiting admin approval on specific order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/orders/1/status/waiting-admin-approval" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/status/waiting-admin-approval"
);

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

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

Example response (200):


{
    "data": {
        "id": 117,
        "subject": "Et sint laborum impedit quibusdam ullam animi in. Velit cupiditate perferendis quos quia quia. Ad voluptas consectetur vel sed.",
        "status": 1,
        "description": "Ad modi deleniti cumque numquam laboriosam velit voluptas. Animi autem dolore dignissimos corporis. Vel dolor rerum repellendus voluptas. Libero corporis repudiandae velit eos in id eveniet.",
        "deadline": "1973-09-05T09:57:48.000000Z",
        "expert_rating": 5,
        "user_rating": 5,
        "payment_type": 1,
        "user": {
            "id": 1031,
            "name": "Megane Gerhold Sr.",
            "phone": "+12549924910",
            "image": null
        },
        "service_id": 121,
        "service_name": "Ismael Green",
        "service_name_ar": "Emilie Aufderhar",
        "proposed_price": 77366,
        "type": 1,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 1032
    },
    "message": "The order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/orders/{order_id}/status/waiting-admin-approval

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

make order status approved by admin

requires authentication

This endpoint lets make order status approved by admin on specific order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/orders/1/status/approved" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/status/approved"
);

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

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

Example response (200):


{
    "data": {
        "id": 112,
        "subject": "Quo sed vel accusantium alias. Optio rerum excepturi nostrum est amet inventore eos. Aut nam et esse.",
        "status": 2,
        "description": "Laborum optio nostrum ea. Magni eveniet rerum iusto iste aperiam et amet.",
        "deadline": "1988-07-03T13:44:22.000000Z",
        "expert_rating": 1,
        "user_rating": 5,
        "payment_type": 1,
        "user": {
            "id": 1014,
            "name": "Milford Muller Jr.",
            "phone": "+15519089142",
            "image": null
        },
        "service_id": 116,
        "service_name": "Fae Bins",
        "service_name_ar": "Yazmin Ondricka I",
        "proposed_price": 15240,
        "type": 3,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 1013
    },
    "message": "The order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/orders/{order_id}/status/approved

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

make order status rejected by admin

requires authentication

This endpoint lets make order status rejected by admin on specific order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/orders/1/status/rejected" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/status/rejected"
);

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

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

Example response (200):


{
    "data": {
        "id": 114,
        "subject": "Et eum enim expedita maxime quia quia saepe. Delectus sed vel non nihil aut. Vel ea consectetur deserunt velit.",
        "status": 8,
        "description": "Omnis perferendis nam sed quo aut at aperiam. Sit optio voluptate ut quisquam. Eos qui ducimus perspiciatis excepturi non id. Quis et recusandae porro culpa saepe.",
        "deadline": "2017-03-01T00:23:45.000000Z",
        "expert_rating": 3,
        "user_rating": 1,
        "payment_type": 2,
        "user": {
            "id": 1021,
            "name": "Jerod McDermott",
            "phone": "+18105557387",
            "image": null
        },
        "service_id": 118,
        "service_name": "Mrs. Charity Jacobi",
        "service_name_ar": "Hugh Klocko",
        "proposed_price": 71709,
        "type": 2,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 1020
    },
    "message": "The order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/orders/{order_id}/status/rejected

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

make order status delivered by Expert on specific order

requires authentication

This endpoint lets make order status delivered by Expert on specific order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/orders/1/status/expert/delivered" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/status/expert/delivered"
);

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

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

Example response (200):


{
    "data": {
        "id": 1111237,
        "subject": "Adipisci occaecati repellendus voluptas sit laudantium. Nam aliquid nisi deleniti voluptatem aliquam. Nostrum impedit accusantium rerum ut ullam velit optio.",
        "status": 3,
        "description": "Ut beatae aspernatur cum quidem dolor. Occaecati nam explicabo vel consequuntur voluptas quisquam voluptatum. Corrupti quibusdam qui odit qui et maxime. Debitis qui suscipit qui ad quos qui enim.",
        "deadline": "2014-10-13T18:24:40.000000Z",
        "expert_rating": 3,
        "user_rating": 3,
        "payment_type": 2,
        "user": {
            "id": 1353,
            "name": "Lauriane Wunsch",
            "phone": "+15512481461",
            "image": null
        },
        "service_id": 214,
        "service_name": "Anna Pollich",
        "service_name_ar": "Wilfredo McClure",
        "proposed_price": 5154,
        "type": 2,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 1354
    },
    "message": "The order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/orders/{order_id}/status/expert/delivered

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

make order status delivered to Expert on specific order

requires authentication

This endpoint lets make order status delivered to user on specific order

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/orders/1/status/user/confirm-delivery" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/status/user/confirm-delivery"
);

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

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

Example response (200):


{
    "data": {
        "id": 115,
        "subject": "Nesciunt totam quo sit porro. Nisi quod alias odio. Deleniti amet ullam velit quos harum voluptas perspiciatis excepturi. Officiis natus necessitatibus aperiam. Quasi maxime animi est saepe.",
        "status": 4,
        "description": "Eos quisquam incidunt quia totam perferendis eum qui. Aut amet dolorem aut fugiat aut perferendis expedita.",
        "deadline": "2016-01-03T16:19:00.000000Z",
        "expert_rating": 4,
        "user_rating": 5,
        "payment_type": 2,
        "user": {
            "id": 1108,
            "name": "Dr. Rogelio Murazik",
            "phone": "+19386913453",
            "image": null
        },
        "service_id": 177,
        "service_name": "Vickie Konopelski",
        "service_name_ar": "Carter Johnson",
        "proposed_price": 64690,
        "type": 1,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 1109
    },
    "message": "The order status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/orders/{order_id}/status/user/confirm-delivery

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

user rating order for expert on specific order

requires authentication

This endpoint lets you rating an order when status is delivered by expert

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/orders/1/user-rating" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"user_rating\": 1,
    \"description\": \"Minima sint ut porro et ad officia optio consequatur.\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/orders/1/user-rating"
);

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

let body = {
    "user_rating": 1,
    "description": "Minima sint ut porro et ad officia optio consequatur."
};

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

Example response (200):


{
    "data": {
        "id": 110,
        "subject": "Itaque voluptatem qui et facilis repellat cum dolorum. Consequuntur enim excepturi voluptas rerum voluptas id aut. Non ut placeat illum facere repellat ipsam omnis doloremque.",
        "status": 3,
        "description": "Ut dolore voluptate quam. Dicta qui est aliquam quos autem. Incidunt cupiditate animi ipsa dignissimos sed unde minima. Magni voluptatibus velit est ratione. Sed molestiae at aut voluptatum in sit.",
        "deadline": "1975-12-17T21:50:11.000000Z",
        "expert_rating": 3,
        "user_rating": 2,
        "payment_type": 1,
        "user": {
            "id": 1092,
            "name": "Walter Thiel",
            "phone": "+19862564201",
            "image": null
        },
        "service_id": 172,
        "service_name": "Adrien Dicki",
        "service_name_ar": "Trenton Hilpert",
        "proposed_price": 51711,
        "type": 2,
        "fields": null,
        "accepted_offer": null,
        "expert_offer": null,
        "actual_deadline": null,
        "expert_id": 1091
    },
    "message": "The user rating saved successfully",
    "status_code": 200
}
 

Request      

POST api/v1/orders/{order_id}/user-rating

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

order_id   integer   

The ID of the order. Example: 1

Body Parameters

user_rating   integer   

Must be between 0 and 5. Example: 1

description   string  optional  

Must not be greater than 255 characters. Example: Minima sint ut porro et ad officia optio consequatur.

Payments

APIs for field settings

Hyperpay Webhook

requires authentication

This endpoint is for interacting with hyperpay webhook

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/hyperpay/webhook" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/hyperpay/webhook"
);

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "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
vary: Origin
 

{
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/hyperpay/webhook

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Myfatoora Webhook

requires authentication

This endpoint is for interacting with Myfatoora webhook

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/myfatoorah-webhook" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/myfatoorah-webhook"
);

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

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

Example response (400):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Invalid webhook data: Missing CustomerReference.",
    "status_code": 400
}
 

Request      

GET api/myfatoorah-webhook

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

prepare orders for checkout

requires authentication

This endpoint lets you prepare orders for checkout

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/payments/prepare-checkout" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/payments/prepare-checkout"
);

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

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

Request      

POST api/v1/payments/prepare-checkout

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Get HyperPay Payment status

requires authentication

This endpoint lets you get payment status from HyperPay

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/payments/status" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/payments/status"
);

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

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

Request      

POST api/v1/payments/status

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Show all payments

requires authentication

This endpoint lets you show all payments

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/payments?page=4&per_page=17&filter%5Bid%5D=dolores&filter%5Bstatus%5D=laborum&filter%5Btotal%5D=71.652585&sort=ut" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/payments"
);

const params = {
    "page": "4",
    "per_page": "17",
    "filter[id]": "dolores",
    "filter[status]": "laborum",
    "filter[total]": "71.652585",
    "sort": "ut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 8,
            "status": 3,
            "amount": 181,
            "user_id": 1386,
            "balance": 0,
            "order": {
                "id": 1111247,
                "subject": "Quos iure ab magnam temporibus ratione enim. Aut sit dolores voluptas atque quia ipsa. Blanditiis sequi consequatur laborum cupiditate. Et impedit quo ducimus nobis.",
                "status": 8
            },
            "type": 1,
            "meta": null,
            "notes": null
        },
        {
            "id": 9,
            "status": 4,
            "amount": 164,
            "user_id": 1389,
            "balance": 0,
            "order": {
                "id": 1111248,
                "subject": "Commodi provident velit incidunt. Modi eos sint quo accusantium et nihil. Dolorum placeat veritatis expedita maiores est. Nesciunt id repudiandae vitae debitis est.",
                "status": 9
            },
            "type": 4,
            "meta": null,
            "notes": null
        },
        {
            "id": 10,
            "status": 4,
            "amount": 49,
            "user_id": 1392,
            "balance": 0,
            "order": {
                "id": 1111249,
                "subject": "Hic voluptate numquam fuga incidunt ipsum. Possimus unde porro commodi molestiae voluptas consectetur. Minus eum voluptatibus ut natus incidunt. Et eos vel fugit unde reiciendis.",
                "status": 6
            },
            "type": 5,
            "meta": null,
            "notes": null
        },
        {
            "id": 11,
            "status": 2,
            "amount": 90,
            "user_id": 1395,
            "balance": 0,
            "order": {
                "id": 1111250,
                "subject": "Iste temporibus et et dolorem magnam nemo. Dicta omnis veritatis autem blanditiis est qui. Facilis et odio et quod.",
                "status": 7
            },
            "type": 2,
            "meta": null,
            "notes": null
        },
        {
            "id": 12,
            "status": 2,
            "amount": 30,
            "user_id": 1398,
            "balance": 0,
            "order": {
                "id": 1111251,
                "subject": "Magni animi quia explicabo dolorem voluptatibus itaque. Necessitatibus qui totam possimus. Deleniti quos consequatur aut alias. Aliquam enim amet accusantium sed et.",
                "status": 8
            },
            "type": 4,
            "meta": null,
            "notes": null
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/payments

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 4

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 17

filter[id]   string  optional  

Field to filter items by id. Example: dolores

filter[status]   string  optional  

Field to filter items by status. Example: laborum

filter[total]   number  optional  

Field to filter items by total. Example: 71.652585

sort   string  optional  

Field to sort items by id,status,total. Example: ut

Show specific payment

requires authentication

This endpoint lets you show specific payment

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/payments/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/payments/1"
);

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

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

Example response (200):


{
    "data": {
        "id": 19,
        "status": 4,
        "amount": 176,
        "user_id": 1136,
        "balance": 0,
        "order": {
            "id": 122,
            "subject": "Tempore qui corrupti exercitationem. Assumenda consequatur provident illum vitae. Expedita voluptas est voluptas.",
            "status": 5
        },
        "type": 3,
        "meta": null,
        "notes": null
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/payments/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the payment. Example: 1

Make payment paid

requires authentication

This endpoint lets you make payment paid

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/payments/1/status/paid" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/payments/1/status/paid"
);

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

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

Example response (200):


{
    "data": {
        "id": 22,
        "status": 2,
        "amount": 113,
        "user_id": 1147,
        "balance": 113,
        "order": {
            "id": 125,
            "subject": "Dolorem enim odit reiciendis. Officia aliquam id neque temporibus fugit. Provident qui quas eum ea earum.",
            "status": 2
        },
        "type": 1,
        "meta": null,
        "notes": null
    },
    "message": "The payment status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/payments/{payment_id}/status/paid

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

payment_id   integer   

The ID of the payment. Example: 1

Make payment rejected

requires authentication

This endpoint lets you make payment rejected

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/payments/1/status/rejected" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/payments/1/status/rejected"
);

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

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

Example response (200):


{
    "data": {
        "id": 26,
        "status": 3,
        "amount": 84,
        "user_id": 1071,
        "balance": 0,
        "order": {
            "id": 128,
            "subject": "Iste asperiores minima reprehenderit quia quia. Vel explicabo vitae quaerat debitis. Ipsa ex hic accusamus assumenda qui quae.",
            "status": 8
        },
        "type": 1,
        "meta": null,
        "notes": null
    },
    "message": "The payment status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/payments/{payment_id}/status/rejected

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

payment_id   integer   

The ID of the payment. Example: 1

Make payment cancelled

requires authentication

This endpoint lets you make payment cancelled

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/payments/1/status/cancelled" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/payments/1/status/cancelled"
);

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

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

Example response (200):


{
    "data": {
        "id": 23,
        "status": 4,
        "amount": 131,
        "user_id": 1060,
        "balance": 0,
        "order": {
            "id": 125,
            "subject": "Et sed nam aspernatur molestiae suscipit. Eos saepe et rerum mollitia est non. Libero dolores aut laudantium velit cumque. Placeat modi maxime dicta quidem quo repellendus deleniti.",
            "status": 3
        },
        "type": 3,
        "meta": null,
        "notes": null
    },
    "message": "The payment status updated successfully",
    "status_code": 200
}
 

Request      

POST api/v1/payments/{payment_id}/status/cancelled

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

payment_id   integer   

The ID of the payment. Example: 1

Create a payment intent for a specific offer.

requires authentication

This endpoint allows the user to initiate a payment process for a specific offer

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/payments/myfatoorah/checkout" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/payments/myfatoorah/checkout"
);

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

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

Request      

POST api/v1/payments/myfatoorah/checkout

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Get MyFatoorah Payment Information Provide the callback method with the paymentId

requires authentication

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/payments/myfatoorah/checkout" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/payments/myfatoorah/checkout"
);

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

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

Example response (400):

Show headers
cache-control: no-cache, private
content-type: application/json
vary: Origin
 

{
    "message": "Invalid payment response."
}
 

Request      

GET api/v1/payments/myfatoorah/checkout

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Permissions

APIs for getting permissions

Show All

requires authentication

This endpoint lets you show all permissions

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/permissions" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/permissions"
);

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

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

Example response (200):


{
    "data": [
        {
            "id": 73,
            "name": "Dr. Dennis Kozey Sr.",
            "description": "Dicta aspernatur et odio quos suscipit sed et inventore. Et sunt minus quis dolor ab dolores. Ea quibusdam repellendus deleniti magnam doloribus est ut error."
        },
        {
            "id": 74,
            "name": "Josefa Mertz",
            "description": "Laudantium culpa molestiae sapiente labore nihil quis ab. Quisquam et similique sint voluptatem consequatur ab neque architecto."
        },
        {
            "id": 75,
            "name": "Mia Konopelski",
            "description": "Ut maxime consequatur eos similique quos dolor sequi. Illo ut occaecati dicta dolor dolor et."
        },
        {
            "id": 76,
            "name": "Gonzalo Nitzsche",
            "description": "Laboriosam dolore unde ipsam dolores aliquam. Ut dicta et voluptatibus aliquam id omnis."
        },
        {
            "id": 77,
            "name": "Prof. Emiliano Wisozk Sr.",
            "description": "Molestiae in alias autem porro voluptatibus temporibus. Officia ab esse et placeat suscipit."
        }
    ],
    "meta": {
        "pagination": {
            "total": 16,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/permissions

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Show specific permission

requires authentication

This endpoint lets you show specific permission

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/permissions/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/permissions/1"
);

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

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

Example response (200):


{
    "data": {
        "id": 75,
        "name": "Ms. Michele Skiles",
        "description": "Dolore sapiente veniam dolores fugiat. Sint nostrum tenetur a eum nihil aut deserunt. Natus et magni quo dolorem ab commodi omnis eos."
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/permissions/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the permission. Example: 1

Product

APIs for managing products

Show all products

requires authentication

This endpoint lets you show all products

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/products?page=10&per_page=2&filter%5Bid%5D=sint&filter%5Btitle%5D=a&filter%5Btitle_ar%5D=iste&filter%5Buser_id%5D=qui&filter%5Btype%5D=magnam&filter%5Brating%5D=excepturi&filter%5Bprice%5D=eum&filter%5Bmeta%5D=eligendi&filter%5Bcity%5D=inventore&filter%5Bdescription%5D=iure&filter%5Bdescription_ar%5D=sint&sort=fugiat" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/products"
);

const params = {
    "page": "10",
    "per_page": "2",
    "filter[id]": "sint",
    "filter[title]": "a",
    "filter[title_ar]": "iste",
    "filter[user_id]": "qui",
    "filter[type]": "magnam",
    "filter[rating]": "excepturi",
    "filter[price]": "eum",
    "filter[meta]": "eligendi",
    "filter[city]": "inventore",
    "filter[description]": "iure",
    "filter[description_ar]": "sint",
    "sort": "fugiat",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 10,
            "title": "Prof.",
            "title_ar": "Prof.",
            "user_id": 1455,
            "type": 2,
            "rating": 4,
            "price": 59418,
            "meta": null,
            "city": "Port Garettville",
            "description": "Vel culpa incidunt in. Eaque accusamus id cupiditate ut est. Expedita vel voluptatibus animi. Error similique perspiciatis corrupti harum impedit et.",
            "description_ar": "Aut a vitae rerum aut cum commodi. Quae quisquam repudiandae non sint quia ut. Hic soluta laboriosam esse ut at consequatur soluta. Et omnis quo harum voluptates.",
            "image": null
        },
        {
            "id": 11,
            "title": "Prof.",
            "title_ar": "Prof.",
            "user_id": 1456,
            "type": 1,
            "rating": 1,
            "price": 30889,
            "meta": null,
            "city": "Kentonfurt",
            "description": "Quia quibusdam aut cupiditate illo placeat voluptas. Error enim nostrum quas unde. Aut pariatur eum alias dolor. Architecto velit porro hic.",
            "description_ar": "Qui vel ea ipsam est. Libero commodi maiores mollitia accusantium voluptatem. Architecto recusandae eligendi aspernatur exercitationem ex et harum. Odit culpa voluptatem neque et voluptatem ea est.",
            "image": null
        },
        {
            "id": 12,
            "title": "Miss",
            "title_ar": "Miss",
            "user_id": 1457,
            "type": 2,
            "rating": 4,
            "price": 95572,
            "meta": null,
            "city": "Lake Ninahaven",
            "description": "Praesentium mollitia numquam a sit. Omnis sequi cum quisquam et molestias itaque. Consequatur iste reiciendis nobis error et iusto quo. Non qui harum suscipit aut nam magnam.",
            "description_ar": "Impedit reiciendis nesciunt inventore ab. Possimus aut ipsam porro aliquam molestias. Sint harum numquam eaque reprehenderit ut ullam. Eius aut alias deserunt maxime non.",
            "image": null
        },
        {
            "id": 13,
            "title": "Mr.",
            "title_ar": "Prof.",
            "user_id": 1458,
            "type": 1,
            "rating": 5,
            "price": 1166,
            "meta": null,
            "city": "Rosenbaummouth",
            "description": "Aspernatur explicabo incidunt et libero enim magnam voluptas. Voluptatibus aut ipsa ullam. Est dolorem est quidem aut sint at aut. Voluptatibus ipsam tempora similique consequatur cum.",
            "description_ar": "Totam et pariatur architecto id vel. Maiores sunt ut praesentium voluptatibus culpa asperiores beatae. Quaerat molestiae officia doloremque voluptatem.",
            "image": null
        },
        {
            "id": 14,
            "title": "Ms.",
            "title_ar": "Prof.",
            "user_id": 1459,
            "type": 2,
            "rating": 5,
            "price": 25474,
            "meta": null,
            "city": "Howellmouth",
            "description": "Possimus quaerat reiciendis illo inventore reiciendis sed. Autem nihil velit adipisci occaecati aut veritatis et. Quae voluptates omnis voluptas animi eaque. Unde minus sunt dolorum qui.",
            "description_ar": "Quia culpa sequi consequuntur commodi consequuntur. Quaerat porro ipsam molestias quos molestiae sit magni. Corrupti iste libero natus quia. Consequatur excepturi minima qui repellat quisquam qui.",
            "image": null
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/products

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 10

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 2

filter[id]   string  optional  

Field to filter items by id. Example: sint

filter[title]   string  optional  

Field to filter items by title. Example: a

filter[title_ar]   string  optional  

Field to filter items by title_ar. Example: iste

filter[user_id]   string  optional  

Field to filter items by user_id. Example: qui

filter[type]   string  optional  

Field to filter items by type. Example: magnam

filter[rating]   string  optional  

Field to filter items by rating. Example: excepturi

filter[price]   string  optional  

Field to filter items by price. Example: eum

filter[meta]   string  optional  

Field to filter items by meta. Example: eligendi

filter[city]   string  optional  

Field to filter items by city. Example: inventore

filter[description]   string  optional  

Field to filter items by description. Example: iure

filter[description_ar]   string  optional  

Field to filter items by description_ar. Example: sint

sort   string  optional  

Field to sort items by id,description_ar,title,title_ar,description,city,rating,type,price,user_id. Example: fugiat

Add product

requires authentication

This endpoint lets you add product.

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/products" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "title=repellendus"\
    --form "title_ar=voluptatum"\
    --form "type=2"\
    --form "rating=4"\
    --form "price=44624.25501"\
    --form "city=id"\
    --form "description=excepturi"\
    --form "description_ar=repudiandae"\
    --form "image=@/tmp/phpMJOmlJ" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/products"
);

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

const body = new FormData();
body.append('title', 'repellendus');
body.append('title_ar', 'voluptatum');
body.append('type', '2');
body.append('rating', '4');
body.append('price', '44624.25501');
body.append('city', 'id');
body.append('description', 'excepturi');
body.append('description_ar', 'repudiandae');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 1,
        "title": "fffff",
        "title_ar": "fffff",
        "user_id": 1600,
        "type": 1,
        "rating": 3,
        "price": 45,
        "meta": null,
        "city": "Syria",
        "description": "google.com",
        "description_ar": "google.com",
        "image": null
    },
    "message": "The product added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/products

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

title   string   

Example: repellendus

title_ar   string   

Example: voluptatum

type   string   

Example: 2

Must be one of:
  • 1
  • 2
rating   string   

Example: 4

Must be one of:
  • 1
  • 2
  • 3
  • 4
  • 5
price   number   

Example: 44624.25501

meta   string  optional  
city   string   

Example: id

description   string   

Example: excepturi

description_ar   string   

Example: repudiandae

image   file   

Must be an image. Example: /tmp/phpMJOmlJ

Show specific product

requires authentication

This endpoint lets you show specific product

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/products/7" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/products/7"
);

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

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

Example response (200):


{
    "data": {
        "id": 7,
        "title": "Dr.",
        "title_ar": "Mr.",
        "user_id": 1097,
        "type": 1,
        "rating": 3,
        "price": 50771,
        "meta": null,
        "city": "Keelingland",
        "description": "Eos commodi qui rerum voluptatem neque. Repellendus optio voluptate voluptatem sapiente aliquid eveniet. Delectus animi asperiores ea odio ex laboriosam. Rerum libero est voluptas voluptatem magnam.",
        "description_ar": "Omnis eveniet minus et dignissimos est. Perferendis maxime tempore sint perspiciatis eaque veniam omnis sed. Non vitae expedita optio reiciendis aspernatur.",
        "image": null
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/products/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the product. Example: 7

Update specific product

requires authentication

This endpoint lets you update specific product.

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/products/3" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "type=2"\
    --form "rating=4"\
    --form "price=430747.89"\
    --form "image=@/tmp/phpdEjLlj" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/products/3"
);

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

const body = new FormData();
body.append('type', '2');
body.append('rating', '4');
body.append('price', '430747.89');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 9,
        "title": "title",
        "title_ar": "Prof.",
        "user_id": 1101,
        "type": 1,
        "rating": 1,
        "price": 98126,
        "meta": null,
        "city": "Kerlukeberg",
        "description": "description",
        "description_ar": "Et tenetur voluptatibus qui dignissimos eaque in. Reprehenderit molestiae nihil architecto recusandae quaerat omnis illum temporibus.",
        "image": null
    },
    "message": "Product's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/products/{id}

PATCH api/v1/products/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the product. Example: 3

Body Parameters

title   string  optional  
title_ar   string  optional  
type   string  optional  

Example: 2

Must be one of:
  • 1
  • 2
rating   string  optional  

Example: 4

Must be one of:
  • 1
  • 2
  • 3
  • 4
  • 5
price   number  optional  

Example: 430747.89

meta   string  optional  
city   string  optional  
description   string  optional  
description_ar   string  optional  
image   file  optional  

Must be an image. Example: /tmp/phpdEjLlj

Delete specific product

requires authentication

This endpoint lets you delete specific product

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/products/13" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/products/13"
);

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

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

Example response (200):


{
    "message": "The Product deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/products/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the product. Example: 13

Show all product's offers

requires authentication

This endpoint lets you show all product's offers

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/products/19/offers?page=19&per_page=16&filter%5Bid%5D=facilis&filter%5Bprice%5D=odio&filter%5Bstatus%5D=9&sort=quas" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/products/19/offers"
);

const params = {
    "page": "19",
    "per_page": "16",
    "filter[id]": "facilis",
    "filter[price]": "odio",
    "filter[status]": "9",
    "sort": "quas",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 11111164,
            "price": null,
            "deadline": null,
            "status": 1,
            "chat_group_id": null,
            "user": {
                "id": 1174,
                "name": "Carleton Jones",
                "phone": "+13529522105",
                "image": null,
                "expert_rating_avg": 0.4,
                "age": "39",
                "profession": "Alice, 'when one.",
                "specialty": "And I declare it's.",
                "brief": "INSIDE, you might.",
                "type": 1,
                "section": 1,
                "consultation_price": 97
            },
            "order": null
        },
        {
            "id": 11111165,
            "price": null,
            "deadline": null,
            "status": 1,
            "chat_group_id": null,
            "user": {
                "id": 1174,
                "name": "Carleton Jones",
                "phone": "+13529522105",
                "image": null,
                "expert_rating_avg": 0.4,
                "age": "39",
                "profession": "Alice, 'when one.",
                "specialty": "And I declare it's.",
                "brief": "INSIDE, you might.",
                "type": 1,
                "section": 1,
                "consultation_price": 97
            },
            "order": null
        }
    ],
    "meta": {
        "pagination": {
            "total": 2,
            "per_page": 5,
            "count": 2,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/products/{product_id}/offers

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

product_id   integer   

The ID of the product. Example: 19

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 19

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 16

filter[id]   string  optional  

Field to filter items by id. Example: facilis

filter[price]   string  optional  

Field to filter items by price. Example: odio

filter[status]   integer  optional  

Field to filter items by status. Example: 9

sort   string  optional  

Field to sort items by id,price,status. Example: quas

store product's offers

requires authentication

This endpoint lets you store product's offers

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/products/18/offers" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"price\": 40504.537,
    \"deadline\": \"2025-12-13T06:31:16\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/products/18/offers"
);

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

let body = {
    "price": 40504.537,
    "deadline": "2025-12-13T06:31:16"
};

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

Example response (200):


{
    "data": {
        "id": 38,
        "price": 58,
        "deadline": "2025-12-13 06:28:39",
        "status": 1,
        "chat_group_id": null,
        "user": {
            "id": 1091,
            "name": "Miss Lucy Pollich II",
            "phone": "+18454746306",
            "image": null,
            "expert_rating_avg": 0.4,
            "age": "85",
            "profession": "The Panther took.",
            "specialty": "Alice. 'That's the.",
            "brief": "So she set off at.",
            "type": 16,
            "section": 1,
            "consultation_price": 80
        },
        "order": null
    },
    "message": "The offer added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/products/{product_id}/offers

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

product_id   integer   

The ID of the product. Example: 18

Body Parameters

price   number   

Example: 40504.537

deadline   string   

Must be a valid date. Example: 2025-12-13T06:31:16

Roles

APIs for interacting with roles

Show All

requires authentication

This endpoint lets you show all roles

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/roles" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/roles"
);

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

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

Example response (200):


{
    "data": [
        {
            "id": 14,
            "name": "Prof. Dallin Zulauf III",
            "description": "Dolore ex eligendi nam voluptatem."
        },
        {
            "id": 15,
            "name": "Mckenzie Keebler",
            "description": "Odit maiores eos omnis."
        },
        {
            "id": 16,
            "name": "Baron McGlynn",
            "description": "Quibusdam voluptas minima exercitationem esse."
        },
        {
            "id": 17,
            "name": "Celia Hahn III",
            "description": "Totam est non dolorum eius nulla nostrum quidem."
        },
        {
            "id": 18,
            "name": "Prof. Hal Carroll",
            "description": "Architecto voluptatem porro est."
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/roles

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Add role

requires authentication

This endpoint lets you add role

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/roles" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"glafeysgjohdtneagqt\",
    \"description\": \"Labore non dicta praesentium sed rerum.\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/roles"
);

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

let body = {
    "name": "glafeysgjohdtneagqt",
    "description": "Labore non dicta praesentium sed rerum."
};

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

Example response (200):


{
    "data": {
        "id": 8,
        "name": "Name role",
        "description": "Description role"
    },
    "message": "The role added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/roles

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

name   string   

Must not be greater than 255 characters. Example: glafeysgjohdtneagqt

description   string   

Must not be greater than 255 characters. Example: Labore non dicta praesentium sed rerum.

Show specific role

requires authentication

This endpoint lets you show specific role

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/roles/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/roles/1"
);

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

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

Example response (200):


{
    "data": {
        "id": 5,
        "name": "Anahi Schaefer",
        "description": "Et sed minima iusto corporis."
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/roles/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the role. Example: 1

Update specific role

requires authentication

This endpoint lets you update specific role

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/roles/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"name\": \"v\",
    \"description\": \"Id incidunt praesentium vel.\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/roles/1"
);

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

let body = {
    "name": "v",
    "description": "Id incidunt praesentium vel."
};

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

Example response (200):


{
    "message": "The role updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/roles/{id}

PATCH api/v1/roles/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the role. Example: 1

Body Parameters

name   string  optional  

Must not be greater than 255 characters. Example: v

description   string  optional  

Must not be greater than 255 characters. Example: Id incidunt praesentium vel.

Delete specific role

requires authentication

This endpoint lets you delete specific role

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/roles/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/roles/1"
);

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

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

Example response (200):


{
    "message": "The role deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/roles/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the role. Example: 1

Show all permissions to specific rule

requires authentication

This endpoint lets you show all permissions to specific rule

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/roles/1/permissions?page=11&per_page=10&filter=et&sort=aut" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/roles/1/permissions"
);

const params = {
    "page": "11",
    "per_page": "10",
    "filter": "et",
    "sort": "aut",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 182,
            "name": "Tito Bergstrom",
            "description": "Aut provident sint nulla expedita quia fugit sit. Totam et est porro voluptatem. Nihil voluptatem rerum accusamus officia ducimus libero."
        },
        {
            "id": 183,
            "name": "Prof. Isac Steuber IV",
            "description": "Adipisci ad tempora commodi fuga repellendus quasi eligendi. Doloribus voluptatem facilis voluptatum pariatur debitis eum."
        },
        {
            "id": 184,
            "name": "Dr. Cale Sanford",
            "description": "Sit sunt illum tempora tempore et voluptas. Voluptas praesentium molestias eaque cupiditate et odio."
        },
        {
            "id": 185,
            "name": "Dr. Gerry Medhurst DDS",
            "description": "Consequatur illum tempore sint rerum esse nulla dolor. Et nihil eligendi nisi maxime."
        },
        {
            "id": 186,
            "name": "Major Dare",
            "description": "Et distinctio velit culpa cumque. A consequatur sunt quidem dolores."
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/roles/{role_id}/permissions

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

role_id   integer   

The ID of the role. Example: 1

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 11

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 10

filter   string  optional  

Field to filter by identifier,name,description. Example: et

sort   string  optional  

Field to sort items by identifier,name,description. Example: aut

Edit rule's permissions

requires authentication

This endpoint lets you edit rule's permissions (add,update,delete)

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/roles/1/permissions" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"permissionIds\": [
        20
    ]
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/roles/1/permissions"
);

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

let body = {
    "permissionIds": [
        20
    ]
};

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

Example response (200):


{
    "message": "The role's permissions updated successfully.",
    "status_code": 200
}
 

Request      

POST api/v1/roles/{role_id}/permissions

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

role_id   integer   

The ID of the role. Example: 1

Body Parameters

permissionIds   integer[]  optional  

List of the permissions Ids.

Services

APIs for managing Services

Show services tree

requires authentication

This endpoint lets you show services tree

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/services/tree" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/services/tree"
);

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

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

Example response (200):


{
    "data": [
        {
            "id": 1,
            "label": "Students Services",
            "icon": "https://api.dev.menassahur.com/storage/services/students-services.svg",
            "children": [
                {
                    "id": 2,
                    "label": "Business Management",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/business.svg"
                },
                {
                    "id": 3,
                    "label": "Engineering",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/engineering.svg"
                },
                {
                    "id": 4,
                    "label": "Media",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/media.svg"
                },
                {
                    "id": 5,
                    "label": "Accounting",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/accounting.svg"
                },
                {
                    "id": 6,
                    "label": "Medicine",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/medicine.svg"
                },
                {
                    "id": 7,
                    "label": "Law",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/law.svg"
                },
                {
                    "id": 8,
                    "label": "English",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/english.svg"
                },
                {
                    "id": 9,
                    "label": "Arabic",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/arabic.svg"
                },
                {
                    "id": 10,
                    "label": " Chemistry",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/chemistry.svg"
                },
                {
                    "id": 11,
                    "label": " Physics",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/physics.svg"
                },
                {
                    "id": 12,
                    "label": "Programming",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/programming.svg"
                },
                {
                    "id": 13,
                    "label": "Computer",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/computer.svg"
                },
                {
                    "id": 14,
                    "label": "Other",
                    "icon": "https://api.dev.menassahur.com/storage/services/students-services/other.svg"
                }
            ]
        },
        {
            "id": 15,
            "label": "Curriculum Vitae",
            "icon": "https://api.dev.menassahur.com/storage/services/cv.svg",
            "children": [
                {
                    "id": 16,
                    "label": "Writing a CV in Arabic ",
                    "icon": "https://api.dev.menassahur.com/storage/services/curriculum-vitae/cv-arabic.svg"
                },
                {
                    "id": 17,
                    "label": "Writing a CV in Arabic",
                    "icon": "https://api.dev.menassahur.com/storage/services/curriculum-vitae/cv-english.svg"
                }
            ]
        },
        {
            "id": 18,
            "label": "General Services",
            "icon": "https://api.dev.menassahur.com/storage/services/general-services.svg",
            "children": [
                {
                    "id": 19,
                    "label": "Job Placement",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/job.svg"
                },
                {
                    "id": 20,
                    "label": "Hospital Appointment",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/hospital.svg"
                },
                {
                    "id": 21,
                    "label": "Civil Affairs Appointment",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/appointment.svg"
                },
                {
                    "id": 22,
                    "label": "Guarantee Application",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/guarantee.svg"
                },
                {
                    "id": 23,
                    "label": "Incentive Application",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/incentive.svg"
                },
                {
                    "id": 24,
                    "label": "Rural Development Application",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/countryside.svg"
                },
                {
                    "id": 25,
                    "label": "Other",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/other.svg"
                },
                {
                    "id": 61,
                    "label": "Freelancer Platform",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/freelancer.svg"
                },
                {
                    "id": 62,
                    "label": "Citizen Account",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/citizen-accounts.svg"
                },
                {
                    "id": 63,
                    "label": "Social Security Complaints",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/social-security.svg"
                },
                {
                    "id": 64,
                    "label": "Sakani",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/sakani.svg"
                },
                {
                    "id": 65,
                    "label": "Zakat & Income",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/zakat.svg"
                },
                {
                    "id": 66,
                    "label": "Saudi Business Center",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/business-center.svg"
                },
                {
                    "id": 67,
                    "label": "Social Insurance",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/social-insurance.svg"
                },
                {
                    "id": 68,
                    "label": "Jadarah",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/jadarah.svg"
                },
                {
                    "id": 69,
                    "label": "Chambers of Commerce",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/chambers.svg"
                },
                {
                    "id": 71,
                    "label": "Balady",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/balady.svg"
                },
                {
                    "id": 72,
                    "label": "Ministry of Labor",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/labor.svg"
                },
                {
                    "id": 73,
                    "label": "Social Development Bank",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/development-bank.svg"
                },
                {
                    "id": 74,
                    "label": "Najiz",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/najiz.svg"
                },
                {
                    "id": 75,
                    "label": "Nonprofit Organizations",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/organizations.svg"
                },
                {
                    "id": 76,
                    "label": "Housing",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/housing.svg"
                },
                {
                    "id": 77,
                    "label": "Absher",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/absher.svg"
                },
                {
                    "id": 78,
                    "label": "Open Bank Account",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/bank-account.svg"
                },
                {
                    "id": 79,
                    "label": "Rehabilitation Support",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/rehab.svg"
                },
                {
                    "id": 80,
                    "label": "Jobs",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/jobs.svg"
                },
                {
                    "id": 81,
                    "label": "Contracts",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/contracts.svg"
                },
                {
                    "id": 82,
                    "label": "Citizen Account",
                    "icon": "https://api.dev.menassahur.com/storage/services/general-services/citizen-account.svg"
                }
            ]
        },
        {
            "id": 26,
            "label": "Graphic Design",
            "icon": "https://api.dev.menassahur.com/storage/services/design.svg",
            "children": [
                {
                    "id": 27,
                    "label": "Motion Graphics",
                    "icon": "https://api.dev.menassahur.com/storage/services/design/moshin.svg"
                },
                {
                    "id": 28,
                    "label": "Posters",
                    "icon": "https://api.dev.menassahur.com/storage/services/design/posters.svg"
                },
                {
                    "id": 29,
                    "label": "Business Cards",
                    "icon": "https://api.dev.menassahur.com/storage/services/design/work-jobs.svg"
                },
                {
                    "id": 30,
                    "label": "Visual Identity",
                    "icon": "https://api.dev.menassahur.com/storage/services/design/vision.svg"
                },
                {
                    "id": 31,
                    "label": "Logo",
                    "icon": "https://api.dev.menassahur.com/storage/services/design/logo.svg"
                },
                {
                    "id": 32,
                    "label": "Event Invitation Cards",
                    "icon": "https://api.dev.menassahur.com/storage/services/design/invitation.svg"
                },
                {
                    "id": 33,
                    "label": "Other",
                    "icon": "https://api.dev.menassahur.com/storage/services/design/other.svg"
                }
            ]
        },
        {
            "id": 34,
            "label": "Translation",
            "icon": "https://api.dev.menassahur.com/storage/services/translation.svg",
            "children": [
                {
                    "id": 35,
                    "label": "Legal Translation",
                    "icon": "https://api.dev.menassahur.com/storage/services/translation/legal.svg"
                },
                {
                    "id": 36,
                    "label": "Medical Translation",
                    "icon": "https://api.dev.menassahur.com/storage/services/translation/medical.svg"
                },
                {
                    "id": 37,
                    "label": "Engineering Translation",
                    "icon": "https://api.dev.menassahur.com/storage/services/translation/geometric.svg"
                },
                {
                    "id": 38,
                    "label": "Literary Translation",
                    "icon": "https://api.dev.menassahur.com/storage/services/translation/literary.svg"
                },
                {
                    "id": 39,
                    "label": "Scientific Translation",
                    "icon": "https://api.dev.menassahur.com/storage/services/translation/scientific.svg"
                },
                {
                    "id": 40,
                    "label": "Audio Lecture Translation",
                    "icon": "https://api.dev.menassahur.com/storage/services/translation/lectures.svg"
                },
                {
                    "id": 41,
                    "label": "Other",
                    "icon": "https://api.dev.menassahur.com/storage/services/translation/other.svg"
                }
            ]
        },
        {
            "id": 42,
            "label": "Content Writing",
            "icon": "https://api.dev.menassahur.com/storage/services/content-writing.svg",
            "children": [
                {
                    "id": 43,
                    "label": "Feasibility Study",
                    "icon": "https://api.dev.menassahur.com/storage/services/content-writing/feasibility.svg"
                },
                {
                    "id": 44,
                    "label": "Investment Proposal Writing",
                    "icon": "https://api.dev.menassahur.com/storage/services/content-writing/show.svg"
                },
                {
                    "id": 45,
                    "label": "Motion Graphic Content Writing",
                    "icon": "https://api.dev.menassahur.com/storage/services/content-writing/moshin.svg"
                },
                {
                    "id": 46,
                    "label": "Website Content Writing",
                    "icon": "https://api.dev.menassahur.com/storage/services/content-writing/sites.svg"
                },
                {
                    "id": 47,
                    "label": "Other",
                    "icon": "https://api.dev.menassahur.com/storage/services/content-writing/other.svg"
                }
            ]
        },
        {
            "id": 48,
            "label": "Engineering Projects",
            "icon": "https://api.dev.menassahur.com/storage/services/engineering-projects.svg",
            "children": [
                {
                    "id": 49,
                    "label": "Revit Architectural Designs",
                    "icon": "https://api.dev.menassahur.com/storage/services/engineering-projects/revet.svg"
                },
                {
                    "id": 50,
                    "label": "3D Designs",
                    "icon": "https://api.dev.menassahur.com/storage/services/engineering-projects/3d.svg"
                },
                {
                    "id": 51,
                    "label": "Other",
                    "icon": "https://api.dev.menassahur.com/storage/services/engineering-projects/other.svg"
                }
            ]
        },
        {
            "id": 52,
            "label": "Programming and Websites",
            "icon": "https://api.dev.menassahur.com/storage/services/programming.svg",
            "children": [
                {
                    "id": 53,
                    "label": "iOS App Design",
                    "icon": "https://api.dev.menassahur.com/storage/services/programming/ios.svg"
                },
                {
                    "id": 54,
                    "label": "Android App Design",
                    "icon": "https://api.dev.menassahur.com/storage/services/programming/android.svg"
                },
                {
                    "id": 55,
                    "label": "Web and App Design",
                    "icon": "https://api.dev.menassahur.com/storage/services/programming/design.svg"
                },
                {
                    "id": 56,
                    "label": "UI Design for Websites and Apps",
                    "icon": "https://api.dev.menassahur.com/storage/services/programming/ui.svg"
                },
                {
                    "id": 57,
                    "label": "Code Modification for Websites and Apps",
                    "icon": "https://api.dev.menassahur.com/storage/services/programming/code.svg"
                },
                {
                    "id": 58,
                    "label": "Other",
                    "icon": "https://api.dev.menassahur.com/storage/services/programming/other.svg"
                },
                {
                    "id": 59,
                    "label": "Salla Store Setup",
                    "icon": "https://api.dev.menassahur.com/storage/services/programming/salla.svg"
                },
                {
                    "id": 60,
                    "label": "Zid Store Setup",
                    "icon": "https://api.dev.menassahur.com/storage/services/programming/zd.svg"
                }
            ]
        }
    ],
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/services/tree

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Show all services

requires authentication

This endpoint lets you show all services

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/services?page=11&per_page=11&filter%5Bname%5D=ut&filter%5Bdescription%5D=dolorem&filter%5Borderable%5D=14&filter%5Bauto_accept_attachments%5D=12&filter%5Bsection%5D=9&filter%5Brecurrent%5D=3&filter%5Bparent_id%5D=17&sort=consequatur" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/services"
);

const params = {
    "page": "11",
    "per_page": "11",
    "filter[name]": "ut",
    "filter[description]": "dolorem",
    "filter[orderable]": "14",
    "filter[auto_accept_attachments]": "12",
    "filter[section]": "9",
    "filter[recurrent]": "3",
    "filter[parent_id]": "17",
    "sort": "consequatur",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 306,
            "name": "Dr. Chadrick Kovacek",
            "name_ar": "Mrs. Rhea Hartmann",
            "name_en": "Dr. Chadrick Kovacek",
            "order": 0,
            "icon": "https://via.placeholder.com/640x480.png/008844?text=quod",
            "description": "Velit illum sunt saepe aperiam. Cum consectetur facilis beatae nam adipisci facilis. Ut placeat officia quod culpa quasi non ipsa.",
            "description_ar": "Praesentium cupiditate commodi qui praesentium reiciendis non nihil. Quis et deleniti natus distinctio soluta quasi aut saepe. Et hic et magni velit distinctio et.",
            "description_en": "Velit illum sunt saepe aperiam. Cum consectetur facilis beatae nam adipisci facilis. Ut placeat officia quod culpa quasi non ipsa.",
            "orderable": true,
            "auto_accept_attachments": false,
            "recurrent": false,
            "section": 0,
            "parent_id": null,
            "parent_name": null,
            "parent_name_ar": null,
            "fields": []
        },
        {
            "id": 303,
            "name": "Prof. Willie Ryan",
            "name_ar": "Jeramy Reinger",
            "name_en": "Prof. Willie Ryan",
            "order": 0,
            "icon": "https://via.placeholder.com/640x480.png/008822?text=voluptatem",
            "description": "Quisquam atque quidem ducimus dolores ipsam quis. Est hic et quibusdam repellat impedit aliquid fugiat. Sint veniam eos dolor.",
            "description_ar": "Quasi error nam in est corporis blanditiis. Quo atque aspernatur nesciunt est consequuntur et. Omnis eos est dolor officiis in sint ducimus voluptates. Est et molestiae voluptatem asperiores ut unde.",
            "description_en": "Quisquam atque quidem ducimus dolores ipsam quis. Est hic et quibusdam repellat impedit aliquid fugiat. Sint veniam eos dolor.",
            "orderable": true,
            "auto_accept_attachments": false,
            "recurrent": false,
            "section": 0,
            "parent_id": null,
            "parent_name": null,
            "parent_name_ar": null,
            "fields": []
        },
        {
            "id": 304,
            "name": "Leif Monahan",
            "name_ar": "Mrs. Dannie Crona",
            "name_en": "Leif Monahan",
            "order": 0,
            "icon": "https://via.placeholder.com/640x480.png/005522?text=voluptas",
            "description": "Voluptatem illum dolores esse cum consequatur. Illum neque enim quia exercitationem. Aliquam autem eos non corrupti. Consequatur quia soluta sed et laboriosam sint.",
            "description_ar": "Sed qui quia veniam reprehenderit facere laborum. Voluptatem ipsa ab consectetur omnis voluptatem consequatur quia.",
            "description_en": "Voluptatem illum dolores esse cum consequatur. Illum neque enim quia exercitationem. Aliquam autem eos non corrupti. Consequatur quia soluta sed et laboriosam sint.",
            "orderable": false,
            "auto_accept_attachments": true,
            "recurrent": false,
            "section": 2,
            "parent_id": null,
            "parent_name": null,
            "parent_name_ar": null,
            "fields": []
        },
        {
            "id": 305,
            "name": "Prof. Berry Lesch",
            "name_ar": "Kyle Beer",
            "name_en": "Prof. Berry Lesch",
            "order": 0,
            "icon": "https://via.placeholder.com/640x480.png/000066?text=omnis",
            "description": "Ea non consectetur adipisci alias optio. Praesentium quam temporibus et iusto voluptatem. Est delectus nam corrupti voluptas quae at.",
            "description_ar": "Distinctio nisi et quasi ipsam ex. Ea autem sit sunt enim omnis debitis excepturi. Iusto nostrum omnis qui quasi facilis amet maiores.",
            "description_en": "Ea non consectetur adipisci alias optio. Praesentium quam temporibus et iusto voluptatem. Est delectus nam corrupti voluptas quae at.",
            "orderable": true,
            "auto_accept_attachments": false,
            "recurrent": false,
            "section": 2,
            "parent_id": null,
            "parent_name": null,
            "parent_name_ar": null,
            "fields": []
        },
        {
            "id": 308,
            "name": "Maximilian Beer",
            "name_ar": "Calista Ledner I",
            "name_en": "Maximilian Beer",
            "order": 0,
            "icon": "https://via.placeholder.com/640x480.png/0044ff?text=molestias",
            "description": "Dolor atque architecto dolorem sed quo vel porro. Sunt aliquid autem fugit quisquam et nihil tempora. Enim sunt esse voluptas et. Pariatur adipisci rerum sed ut quidem voluptatibus.",
            "description_ar": "Velit earum eum aut. Delectus error adipisci aspernatur ut. Deleniti cum quisquam non ratione consequuntur necessitatibus facilis in. Est delectus id suscipit et distinctio consequatur pariatur.",
            "description_en": "Dolor atque architecto dolorem sed quo vel porro. Sunt aliquid autem fugit quisquam et nihil tempora. Enim sunt esse voluptas et. Pariatur adipisci rerum sed ut quidem voluptatibus.",
            "orderable": false,
            "auto_accept_attachments": true,
            "recurrent": true,
            "section": 0,
            "parent_id": null,
            "parent_name": null,
            "parent_name_ar": null,
            "fields": []
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/services

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 11

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 11

filter[name]   string  optional  

Field to filter items by id. Example: ut

filter[description]   string  optional  

Field to filter items by description. Example: dolorem

filter[orderable]   integer  optional  

Field to filter items by orderable. Example: 14

filter[auto_accept_attachments]   integer  optional  

Field to filter items by auto_accept_attachments. Example: 12

filter[section]   integer  optional  

Field to filter items by section. Example: 9

filter[recurrent]   integer  optional  

Field to filter items by recurrent. Example: 3

filter[parent_id]   integer  optional  

Field to filter items by parent_id. Example: 17

sort   string  optional  

Field to sort items by id,name,description,auto_accept_attachments, section, recurrent. Example: consequatur

Add service

requires authentication

This endpoint lets you add service

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/services" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=dolor"\
    --form "name_ar=voluptate"\
    --form "description=cupiditate"\
    --form "description_ar=tenetur"\
    --form "orderable="\
    --form "order=19"\
    --form "auto_accept_attachments=1"\
    --form "section=1"\
    --form "recurrent=1"\
    --form "icon=@/tmp/phpOeeIpD" \
    --form "icon_ar=@/tmp/phpdpnkKc" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/services"
);

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

const body = new FormData();
body.append('name', 'dolor');
body.append('name_ar', 'voluptate');
body.append('description', 'cupiditate');
body.append('description_ar', 'tenetur');
body.append('orderable', '');
body.append('order', '19');
body.append('auto_accept_attachments', '1');
body.append('section', '1');
body.append('recurrent', '1');
body.append('icon', document.querySelector('input[name="icon"]').files[0]);
body.append('icon_ar', document.querySelector('input[name="icon_ar"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 213,
        "name": "service1",
        "name_ar": "service1",
        "name_en": "service1",
        "order": 15,
        "icon": "https://api.dev.menassahur.com/storage/services/Rosalee_20251213062854000.png",
        "description": "this is my service",
        "description_ar": "this is my service",
        "description_en": "this is my service",
        "orderable": true,
        "auto_accept_attachments": false,
        "recurrent": true,
        "section": 2,
        "parent_id": null,
        "parent_name": null,
        "parent_name_ar": null,
        "fields": []
    },
    "message": "The service added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/services

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

name   string   

Example: dolor

name_ar   string   

Example: voluptate

description   string   

Example: cupiditate

description_ar   string   

Example: tenetur

orderable   boolean   

Example: false

order   integer   

Example: 19

auto_accept_attachments   boolean   

Example: true

section   string   

Example: 1

Must be one of:
  • 1
  • 2
  • 0
recurrent   boolean   

Example: true

parent_id   string  optional  

The id of an existing record in the services table.

icon   file   

Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpOeeIpD

icon_ar   file  optional  

Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpdpnkKc

Show specific service

requires authentication

This endpoint lets you show specific service

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/services/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/services/1"
);

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

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

Example response (200):


{
    "data": {
        "id": 135,
        "name": "Louie Paucek",
        "name_ar": "Mrs. Fanny Connelly",
        "name_en": "Louie Paucek",
        "order": 20,
        "icon": null,
        "description": "Voluptatibus excepturi mollitia voluptas quaerat. Velit veniam dolor quia minima eos impedit dignissimos mollitia. Sed voluptatum officia ratione quaerat.",
        "description_ar": "Aspernatur est voluptas laboriosam aut in. Et consequuntur ad cupiditate adipisci et quisquam. In autem est dicta sint quia voluptatem dolor.",
        "description_en": "Voluptatibus excepturi mollitia voluptas quaerat. Velit veniam dolor quia minima eos impedit dignissimos mollitia. Sed voluptatum officia ratione quaerat.",
        "orderable": false,
        "auto_accept_attachments": true,
        "recurrent": true,
        "section": 1,
        "parent_id": 134,
        "parent_name": "Marilie Dare",
        "parent_name_ar": "Prof. Terrence Paucek",
        "fields": [
            {
                "id": 11111139,
                "type": 1,
                "title": "Driving Licence Issuer",
                "title_ar": "Ipsum cum adipisci eos nihil alias quo ipsam. Eveniet impedit cumque rerum error. Non necessitatibus nihil laboriosam rerum.",
                "title_en": "Driving Licence Issuer",
                "meta": "",
                "validation": "required|max:255"
            },
            {
                "id": 11111140,
                "type": 2,
                "title": "Driving Licence File",
                "title_ar": "Modi nihil sequi id est. Aut suscipit assumenda delectus dolor sint possimus. Quia dolorum soluta mollitia cumque eum est.",
                "title_en": "Driving Licence File",
                "meta": "",
                "validation": "required|file|mimes:pdf"
            }
        ]
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/services/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the service. Example: 1

Update specific service

requires authentication

This endpoint lets you update specific service

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/services/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "orderable="\
    --form "auto_accept_attachments=1"\
    --form "section=1"\
    --form "order=15"\
    --form "recurrent=1"\
    --form "icon=@/tmp/phpJaNHOe" \
    --form "icon_ar=@/tmp/phpfOPFcd" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/services/1"
);

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

const body = new FormData();
body.append('orderable', '');
body.append('auto_accept_attachments', '1');
body.append('section', '1');
body.append('order', '15');
body.append('recurrent', '1');
body.append('icon', document.querySelector('input[name="icon"]').files[0]);
body.append('icon_ar', document.querySelector('input[name="icon_ar"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 137,
        "name": "service1",
        "name_ar": "الخدمة",
        "name_en": "service1",
        "order": 97,
        "icon": "https://via.placeholder.com/640x480.png/008822?text=nostrum",
        "description": "this is my service",
        "description_ar": "Nihil aut placeat aliquam accusamus ea voluptatem. At velit aut qui architecto ex. Quod quo qui possimus eius sed dolorem.",
        "description_en": "this is my service",
        "orderable": true,
        "auto_accept_attachments": false,
        "recurrent": true,
        "section": 2,
        "parent_id": null,
        "parent_name": null,
        "parent_name_ar": null,
        "fields": []
    },
    "message": "Service's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/services/{id}

PATCH api/v1/services/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the service. Example: 1

Body Parameters

name   string  optional  
name_ar   string  optional  
description   string  optional  
description_ar   string  optional  
orderable   boolean  optional  

Example: false

auto_accept_attachments   boolean  optional  

Example: true

section   string  optional  

Example: 1

Must be one of:
  • 1
  • 2
  • 0
order   integer  optional  

Example: 15

recurrent   boolean  optional  

Example: true

parent_id   string  optional  

The id of an existing record in the services table.

icon   file  optional  

Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpJaNHOe

icon_ar   file  optional  

Must be an image. Must not be greater than 2048 kilobytes. Example: /tmp/phpfOPFcd

Delete specific service

requires authentication

This endpoint lets you delete specific service

Example request:
curl --request DELETE \
    "https://dev-api.menassahur.com/api/v1/services/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/services/1"
);

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

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

Example response (200):


{
    "message": "The service deleted successfully",
    "status_code": 200
}
 

Request      

DELETE api/v1/services/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the service. Example: 1

Show all service's fields

requires authentication

This endpoint lets you show all service's fields

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/services/1/fields?page=15&per_page=16&filter%5Bid%5D=quis&filter%5Btype%5D=amet&filter%5Btitle%5D=omnis&filter%5Btitle_ar%5D=aliquid&filter%5Bmeta%5D=cum&filter%5Bvalidation%5D=9&sort=voluptates" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/services/1/fields"
);

const params = {
    "page": "15",
    "per_page": "16",
    "filter[id]": "quis",
    "filter[type]": "amet",
    "filter[title]": "omnis",
    "filter[title_ar]": "aliquid",
    "filter[meta]": "cum",
    "filter[validation]": "9",
    "sort": "voluptates",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

const headers = {
    "Authorization": "Bearer {YOUR_AUTH_KEY}",
    "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
vary: Origin
 

{
    "message": "Unauthorized",
    "status_code": 401
}
 

Request      

GET api/v1/services/{service_id}/fields

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

service_id   integer   

The ID of the service. Example: 1

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 15

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 16

filter[id]   string  optional  

Field to filter items by id. Example: quis

filter[type]   string  optional  

Field to filter items by type. Example: amet

filter[title]   string  optional  

Field to filter items by title. Example: omnis

filter[title_ar]   string  optional  

Field to filter items by title_ar. Example: aliquid

filter[meta]   string  optional  

Field to filter items by meta. Example: cum

filter[validation]   integer  optional  

Field to filter items by validation. Example: 9

sort   string  optional  

Field to sort items by id,type,title,title_ar,meta,validation. Example: voluptates

Show all service's experts

requires authentication

This endpoint lets you show all service's experts

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/services/1/experts?page=15&per_page=7" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/services/1/experts"
);

const params = {
    "page": "15",
    "per_page": "7",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 1527,
            "name": "Tyree O'Keefe",
            "phone": "+15208317265",
            "image": null,
            "expert_rating_avg": 0.1,
            "age": "91",
            "profession": "Alice replied in a.",
            "specialty": "Queen to-day?' 'I.",
            "brief": "Dormouse shall!'.",
            "type": 8,
            "section": 1,
            "consultation_price": 78
        },
        {
            "id": 1528,
            "name": "Dr. Bryce Daugherty DVM",
            "phone": "+14582697500",
            "image": null,
            "expert_rating_avg": 0.5,
            "age": "51",
            "profession": "Dormouse began in.",
            "specialty": "Mock Turtle to the.",
            "brief": "I wonder what CAN.",
            "type": 16,
            "section": 1,
            "consultation_price": 30
        }
    ],
    "meta": {
        "pagination": {
            "total": 2,
            "per_page": 5,
            "count": 2,
            "current_page": 1
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/services/{service_id}/experts

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

service_id   integer   

The ID of the service. Example: 1

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 15

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 7

Settings

APIs for managing Settings

Show all Settings

requires authentication

This endpoint lets you show all settings

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/settings?page=5&per_page=13&filter%5Bid%5D=sit&filter%5Bkey%5D=enim&filter%5Bvalue%5D=placeat&sort=perferendis" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/settings"
);

const params = {
    "page": "5",
    "per_page": "13",
    "filter[id]": "sit",
    "filter[key]": "enim",
    "filter[value]": "placeat",
    "sort": "perferendis",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 6,
            "key": "6d7f32e2-109d-3033-923b-efcff1cd8c74",
            "value": "2"
        },
        {
            "id": 7,
            "key": "c6e31a60-1b6a-3ce9-8bce-07e912fa7bde",
            "value": "14"
        },
        {
            "id": 8,
            "key": "33b0ed52-f242-3fdd-b7f6-b575d66ff4b0",
            "value": "28"
        },
        {
            "id": 9,
            "key": "a543e415-15df-3e68-a9a2-cb6d07f827eb",
            "value": "12"
        },
        {
            "id": 10,
            "key": "ee5004f9-1c50-3775-9d40-ee1655b280da",
            "value": "40"
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/settings

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 5

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 13

filter[id]   string  optional  

Field to filter items by id. Example: sit

filter[key]   string  optional  

Field to filter items by key. Example: enim

filter[value]   string  optional  

Field to filter items by value. Example: placeat

sort   string  optional  

Field to sort items by id,key,value. Example: perferendis

Show specific setting

requires authentication

This endpoint lets you show specific setting

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/settings/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/settings/1"
);

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

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

Example response (200):


{
    "data": {
        "id": 5,
        "key": "93e9a9dc-dff2-33f5-a874-a9ed30d42cdd",
        "value": "75"
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/settings/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the setting. Example: 1

Update specific setting

requires authentication

This endpoint lets you update specific setting

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/settings/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/settings/1"
);

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

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

Example response (200):


{
    "data": {
        "id": 11111124,
        "key": "setting1",
        "value": "55"
    },
    "message": "Setting's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/settings/{id}

PATCH api/v1/settings/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the setting. Example: 1

Body Parameters

key   string  optional  
value   string  optional  

Static Information

APIs for interacting with static information

Show Terms

This endpoint lets you to show Terms

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/static-info/terms" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/static-info/terms"
);

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
vary: Origin
 

{
    "message": "Unauthorized",
    "status_code": 401
}
 

Request      

GET api/v1/static-info/terms

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Store Terms

requires authentication

This endpoint lets you to add Terms

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/static-info/terms" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"content\": \"saepe\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/static-info/terms"
);

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

let body = {
    "content": "saepe"
};

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

Request      

POST api/v1/static-info/terms

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

content   text   

the terms content. Example: saepe

content_ar   string  optional  

Show About

This endpoint lets you to show About

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/static-info/about" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/static-info/about"
);

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
vary: Origin
 

{
    "message": "Unauthorized",
    "status_code": 401
}
 

Request      

GET api/v1/static-info/about

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Store About

requires authentication

This endpoint lets you to add About

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/static-info/about" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"content\": \"suscipit\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/static-info/about"
);

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

let body = {
    "content": "suscipit"
};

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

Request      

POST api/v1/static-info/about

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

content   string   

Example: suscipit

content_ar   string  optional  

Show Privacy

This endpoint lets you to show Privacy

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/static-info/privacy" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/static-info/privacy"
);

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
vary: Origin
 

{
    "message": "Unauthorized",
    "status_code": 401
}
 

Request      

GET api/v1/static-info/privacy

Headers

Content-Type      

Example: application/json

Accept      

Example: application/json

Store Terms

requires authentication

This endpoint lets you to add Privacy

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/static-info/privacy" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"content\": \"dolorem\"
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/static-info/privacy"
);

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

let body = {
    "content": "dolorem"
};

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

Request      

POST api/v1/static-info/privacy

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Body Parameters

content   text   

the terms content. Example: dolorem

content_ar   string  optional  

Users

APIs for user settings

Verify

requires authentication

This endpoint lets you verify user

It is mainly used for Remote Identity Provider

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/users/chat-verify" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/users/chat-verify"
);

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

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

Example response (200):


{
    "data": {
        "uid": 1640,
        "full_name": "June Kohler",
        "email": "[email protected]",
        "login": "user_1640",
        "external_user_id": 1640
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/users/chat-verify

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Show all users

requires authentication

This endpoint lets you show all users

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/users?page=3&per_page=18&filter%5Bidentifier%5D=perspiciatis&filter%5Bname%5D=totam&filter%5Bemail%5D=voluptatum&filter%5Btype%5D=sint&filter%5BcityName%5D=ea&filter%5BstreetName%5D=rerum&filter%5Bphone%5D=non&filter%5BpostalNumber%5D=sed&sort=nisi" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/users"
);

const params = {
    "page": "3",
    "per_page": "18",
    "filter[identifier]": "perspiciatis",
    "filter[name]": "totam",
    "filter[email]": "voluptatum",
    "filter[type]": "sint",
    "filter[cityName]": "ea",
    "filter[streetName]": "rerum",
    "filter[phone]": "non",
    "filter[postalNumber]": "sed",
    "sort": "nisi",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 1287,
            "name": "Bernard Keebler DVM",
            "phone": "+12814754705",
            "image": null,
            "email": "[email protected]",
            "chat_id": "36698b25-9e9b-3303-afa2-93cc05e1d106",
            "has_verified_email": true,
            "has_verified_phone": false,
            "age": "91",
            "profession": "She was a child,'.",
            "specialty": "Dinah, tell me who.",
            "brief": "She generally gave.",
            "expert_rating_avg": 0.2,
            "marketing_link": null,
            "permissions": null,
            "type": 4,
            "section": 1,
            "language": 1,
            "expert_services": null,
            "has_password": true,
            "roles": null
        },
        {
            "id": 1288,
            "name": "Blanca Hamill",
            "phone": "+16803210148",
            "image": null,
            "email": "[email protected]",
            "chat_id": "2ffd9eaf-23d3-3f51-a5cf-bcb4798235fa",
            "has_verified_email": true,
            "has_verified_phone": false,
            "age": "77",
            "profession": "English); 'now I'm.",
            "specialty": "Caterpillar; and.",
            "brief": "Dormouse sulkily.",
            "expert_rating_avg": 0.2,
            "marketing_link": null,
            "permissions": null,
            "type": 2,
            "section": 1,
            "language": 2,
            "expert_services": null,
            "has_password": true,
            "roles": null
        },
        {
            "id": 1289,
            "name": "Prof. Eula Stoltenberg PhD",
            "phone": "+18474177224",
            "image": null,
            "email": "[email protected]",
            "chat_id": "600c0865-29fa-37dd-ae8f-c0f58c1807f4",
            "has_verified_email": true,
            "has_verified_phone": false,
            "age": "54",
            "profession": "And beat him when.",
            "specialty": "I was sent for.'.",
            "brief": "I suppose it were.",
            "expert_rating_avg": 0.1,
            "marketing_link": null,
            "permissions": null,
            "type": 4,
            "section": 1,
            "language": 2,
            "expert_services": null,
            "has_password": true,
            "roles": null
        },
        {
            "id": 1290,
            "name": "Wilbert Beatty",
            "phone": "+19189202875",
            "image": null,
            "email": "[email protected]",
            "chat_id": "e2ef46f1-b762-3d88-895c-e425361c76da",
            "has_verified_email": true,
            "has_verified_phone": false,
            "age": "88",
            "profession": "White Rabbit cried.",
            "specialty": "RABBIT' engraved.",
            "brief": "Cheshire Cat, she.",
            "expert_rating_avg": 0.1,
            "marketing_link": null,
            "permissions": null,
            "type": 16,
            "section": 1,
            "language": 1,
            "expert_services": null,
            "has_password": true,
            "roles": null
        },
        {
            "id": 1291,
            "name": "Lurline Flatley DDS",
            "phone": "+17436787511",
            "image": null,
            "email": "[email protected]",
            "chat_id": "9b2acf10-4a93-31b3-ae7d-03b48a8f6797",
            "has_verified_email": true,
            "has_verified_phone": false,
            "age": "98",
            "profession": "You gave us three.",
            "specialty": "Nobody moved. 'Who.",
            "brief": "Alice began to cry.",
            "expert_rating_avg": 0.2,
            "marketing_link": null,
            "permissions": null,
            "type": 0,
            "section": 1,
            "language": 2,
            "expert_services": null,
            "has_password": true,
            "roles": null
        }
    ],
    "meta": {
        "pagination": {
            "total": 16,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/users

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 3

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 18

filter[identifier]   string  optional  

Field to filter items by identifier. Example: perspiciatis

filter[name]   string  optional  

Field to filter items by name. Example: totam

filter[email]   string  optional  

Field to filter items by email. Example: voluptatum

filter[type]   string  optional  

Field to filter items by type. Example: sint

filter[cityName]   string  optional  

Field to filter items by cityName. Example: ea

filter[streetName]   string  optional  

Field to filter items by streetName. Example: rerum

filter[phone]   string  optional  

Field to filter items by phone. Example: non

filter[postalNumber]   string  optional  

Field to filter items by postalNumber. Example: sed

sort   string  optional  

Field to sort items by identifier,name,email,type, cityName, streetName, phone, postalNumber. Example: nisi

Add user

requires authentication

This endpoint lets you add user

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/users" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=zwwfvzorhninysglzabqonzaw"\
    --form "age=qzxyynrxkabxfybppjcae"\
    --form "brief=sbbmxgubljm"\
    --form "specialty=ouedfirjwwpanuqfucstmr"\
    --form "profession=czwqim"\
    --form "[email protected]"\
    --form "phone=dolorem"\
    --form "password=%v"`S4#;yk8vX*"\
    --form "section=0"\
    --form "type=8"\
    --form "language=2"\
    --form "image=@/tmp/phpgfFeGp" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/users"
);

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

const body = new FormData();
body.append('name', 'zwwfvzorhninysglzabqonzaw');
body.append('age', 'qzxyynrxkabxfybppjcae');
body.append('brief', 'sbbmxgubljm');
body.append('specialty', 'ouedfirjwwpanuqfucstmr');
body.append('profession', 'czwqim');
body.append('email', '[email protected]');
body.append('phone', 'dolorem');
body.append('password', '%v"`S4#;yk8vX*');
body.append('section', '0');
body.append('type', '8');
body.append('language', '2');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 1639,
        "name": "Eman",
        "phone": "+963994622344",
        "image": "https://api.dev.menassahur.com/storage/users/Newavatar_image_20251213062913000.png",
        "email": "[email protected]",
        "chat_id": null,
        "has_verified_email": false,
        "has_verified_phone": false,
        "age": "25",
        "profession": "eng",
        "specialty": "eng",
        "brief": "I am wonderfull",
        "expert_rating_avg": null,
        "marketing_link": null,
        "permissions": null,
        "type": 8,
        "section": 2,
        "language": 1,
        "expert_services": null,
        "has_password": true,
        "roles": null
    },
    "message": "The user added successfully",
    "status_code": 200
}
 

Request      

POST api/v1/users

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

Body Parameters

name   string  optional  

Must not be greater than 255 characters. Example: zwwfvzorhninysglzabqonzaw

age   string  optional  

Must not be greater than 255 characters. Example: qzxyynrxkabxfybppjcae

brief   string  optional  

Must not be greater than 255 characters. Example: sbbmxgubljm

specialty   string  optional  

Must not be greater than 255 characters. Example: ouedfirjwwpanuqfucstmr

profession   string  optional  

Must not be greater than 255 characters. Example: czwqim

email   string  optional  

Must be a valid email address. Must not be greater than 255 characters. Example: [email protected]

phone   string   

Example: dolorem

password   string   

Must be at least 6 characters. Example: %v"S4#;yk8vX*`

section   string   

Example: 0

Must be one of:
  • 1
  • 2
  • 0
type   string   

Example: 8

Must be one of:
  • 0
  • 1
  • 2
  • 4
  • 8
  • 16
  • 0
  • 0
language   string  optional  

Example: 2

Must be one of:
  • 1
  • 2
image   file  optional  

Must be an image. Must not be greater than 10240 kilobytes. Example: /tmp/phpgfFeGp

Show specific user

requires authentication

This endpoint lets you show specific user

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/users/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/users/1"
);

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

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

Example response (200):


{
    "data": {
        "id": 1146,
        "name": "Larue Funk",
        "phone": "+18587532419",
        "image": null,
        "email": "[email protected]",
        "chat_id": "c1a08ad4-79b5-3386-a840-acd16a0e345b",
        "has_verified_email": true,
        "has_verified_phone": false,
        "age": "48",
        "profession": "King; 'and don't.",
        "specialty": "Alice thought to.",
        "brief": "King, with an air.",
        "expert_rating_avg": 0.3,
        "marketing_link": null,
        "permissions": null,
        "type": 0,
        "section": 1,
        "language": 2,
        "expert_services": null,
        "has_password": true,
        "roles": null
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/users/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the user. Example: 1

Update specific user

requires authentication

This endpoint lets you update specific user

Example request:
curl --request PUT \
    "https://dev-api.menassahur.com/api/v1/users/1" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: multipart/form-data" \
    --header "Accept: application/json" \
    --form "name=ksirq"\
    --form "age=kaoyuuwan"\
    --form "brief=tm"\
    --form "specialty=ngptxidossqikqnzqdupkvr"\
    --form "profession=bjyhfxffcbyxak"\
    --form "chat_id=gdja"\
    --form "[email protected]"\
    --form "password=y{ZQb2t;aCMd"\
    --form "language=1"\
    --form "image=@/tmp/phpdPFfiB" 
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/users/1"
);

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

const body = new FormData();
body.append('name', 'ksirq');
body.append('age', 'kaoyuuwan');
body.append('brief', 'tm');
body.append('specialty', 'ngptxidossqikqnzqdupkvr');
body.append('profession', 'bjyhfxffcbyxak');
body.append('chat_id', 'gdja');
body.append('email', '[email protected]');
body.append('password', 'y{ZQb2t;aCMd');
body.append('language', '1');
body.append('image', document.querySelector('input[name="image"]').files[0]);

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

Example response (200):


{
    "data": {
        "id": 1152,
        "name": "Eman",
        "phone": "+963994622344",
        "image": "https://api.dev.menassahur.com/storage/users/Joana_20251213062915000.png",
        "email": "[email protected]",
        "chat_id": "9537c429-737b-3b76-976e-6db10fa36842",
        "has_verified_email": true,
        "has_verified_phone": false,
        "age": "25",
        "profession": "eng",
        "specialty": "eng",
        "brief": "I am wonderfull",
        "expert_rating_avg": 0.1,
        "marketing_link": null,
        "permissions": null,
        "type": 1,
        "section": 1,
        "language": 1,
        "expert_services": [
            {
                "id": 138,
                "name": "Norris Dooley",
                "name_ar": "Prof. Brett Howe DDS",
                "name_en": "Norris Dooley",
                "order": 93,
                "icon": "https://via.placeholder.com/640x480.png/006655?text=ducimus"
            },
            {
                "id": 139,
                "name": "Judah Torphy I",
                "name_ar": "Mrs. Reanna Barrows",
                "name_en": "Judah Torphy I",
                "order": 26,
                "icon": "https://via.placeholder.com/640x480.png/002277?text=occaecati"
            }
        ],
        "has_password": true,
        "roles": null
    },
    "message": "User's information updated successfully",
    "status_code": 200
}
 

Request      

PUT api/v1/users/{id}

PATCH api/v1/users/{id}

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: multipart/form-data

Accept      

Example: application/json

URL Parameters

id   integer   

The ID of the user. Example: 1

Body Parameters

name   string  optional  

Must not be greater than 255 characters. Example: ksirq

age   string  optional  

Must not be greater than 255 characters. Example: kaoyuuwan

brief   string  optional  

Must not be greater than 255 characters. Example: tm

specialty   string  optional  

Must not be greater than 255 characters. Example: ngptxidossqikqnzqdupkvr

profession   string  optional  

Must not be greater than 255 characters. Example: bjyhfxffcbyxak

chat_id   string  optional  

Must not be greater than 255 characters. Example: gdja

email   string  optional  

Must be a valid email address. Must not be greater than 255 characters. Example: [email protected]

phone   string  optional  
password   string  optional  

Must be at least 6 characters. Example: y{ZQb2t;aCMd

language   string  optional  

Example: 1

Must be one of:
  • 1
  • 2
image   file  optional  

Must be an image. Must not be greater than 10240 kilobytes. Example: /tmp/phpdPFfiB

services   string[]  optional  

The id of an existing record in the services table.

Show all roles to specific user

requires authentication

This endpoint lets you show all roles to specific user

Example request:
curl --request GET \
    --get "https://dev-api.menassahur.com/api/v1/users/1/roles?page=5&per_page=10&filter=vel&sort=a" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/users/1/roles"
);

const params = {
    "page": "5",
    "per_page": "10",
    "filter": "vel",
    "sort": "a",
};
Object.keys(params)
    .forEach(key => url.searchParams.append(key, params[key]));

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

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

Example response (200):


{
    "data": [
        {
            "id": 789654411,
            "name": "Dr. Vinnie Satterfield",
            "description": "Odio repellat natus consequatur."
        },
        {
            "id": 789654412,
            "name": "Halle Dooley",
            "description": "Quo reprehenderit est qui inventore doloribus."
        },
        {
            "id": 789654413,
            "name": "Vladimir Koch IV",
            "description": "Inventore officiis et est quia."
        },
        {
            "id": 789654414,
            "name": "Cristina Waelchi",
            "description": "Dolores doloremque non ut dicta voluptas dolorem."
        },
        {
            "id": 789654415,
            "name": "Ashlynn Wilkinson",
            "description": "Esse dicta deserunt quisquam aut."
        }
    ],
    "meta": {
        "pagination": {
            "total": 15,
            "per_page": 5,
            "count": 5,
            "current_page": 2
        }
    },
    "message": "success",
    "status_code": 200
}
 

Request      

GET api/v1/users/{user_id}/roles

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   integer   

The ID of the user. Example: 1

Query Parameters

page   integer  optional  

Field to select page. Defaults to '1'. Example: 5

per_page   integer  optional  

Field to select items per page. Defaults to '15'. Example: 10

filter   string  optional  

Field to filter items by identifier,name,description. Example: vel

sort   string  optional  

Field to sort items by identifier,name,description. Example: a

Edit user's roles

requires authentication

This endpoint lets you edit user's roles (add,update,delete)

Example request:
curl --request POST \
    "https://dev-api.menassahur.com/api/v1/users/1/roles" \
    --header "Authorization: Bearer {YOUR_AUTH_KEY}" \
    --header "Content-Type: application/json" \
    --header "Accept: application/json" \
    --data "{
    \"roleIds\": [
        12
    ]
}"
const url = new URL(
    "https://dev-api.menassahur.com/api/v1/users/1/roles"
);

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

let body = {
    "roleIds": [
        12
    ]
};

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

Example response (200):


{
    "message": "The user's roles updated successfully.",
    "status_code": 200
}
 

Request      

POST api/v1/users/{user_id}/roles

Headers

Authorization      

Example: Bearer {YOUR_AUTH_KEY}

Content-Type      

Example: application/json

Accept      

Example: application/json

URL Parameters

user_id   integer   

The ID of the user. Example: 1

Body Parameters

roleIds   integer[]  optional  

List of the roles Ids.

Enums

App Labels

JOIN_EXPERTS_TEAM: JOIN_EXPERTS_TEAM

JOIN_MARKETERS_TEAM: JOIN_MARKETERS_TEAM

App Version Action

NORMAL: NORMAL

OPTIONAL: OPTIONAL

FORCE: FORCE

Attachment Status

OPEN: 1

ACCEPTED: 2

REJECTED: 3

Attachment Type

VOICE: 1

FILE: 2

LINK: 3

Cache Enum

CB_TOKEN: cb_token

IP: ip_

Message Status

READ: 1

UNREAD: 2

Message Type

TEXT: 1

FILE: 2

SYSTEM: 3

ACTION: 4

Course Order Status

OPEN: 1

ACCEPTED: 2

REJECTED: 3

Feedback Status

OPEN: 1

DONE: 2

Feedback Type

SUGGESTION: 1

ORDER_APPROVAL: 2

LINK_APPROVAL: 3

TECHNICAL_ISSUE: 4

PAYMENT_ISSUE: 5

ORDER_EDIT: 6

MISSING_COURSE: 7

OTHER: 8

Field Type

TEXT: 1

FILE: 2

NUMBER: 3

SELECT: 4

Join Us Order Status

OPEN: 1

ACCEPTED: 2

REJECTED: 3

Join Us Order Type

EXPERT_EARNEST: 1

EXPERT_HEPTA: 2

MARKETER: 3

Language

EN: 1

AR: 2

Local Translations Type

JOIN_EXPERTS_TEAM: JOIN_EXPERTS_TEAM

JOIN_MARKETERS_TEAM: JOIN_MARKETERS_TEAM

Notification Type

MESSAGE_FROM_ADMIN: 1

GENERAL: 2

ADD_JOIN_US_ORDER: 4

ACCEPT_JOIN_US_ORDER: 3

ADD_FEEDBACK: 5

ADD_ORDER_OFFER: 6

UPDATE_ORDER_OFFER: 7

ACCEPT_ORDER_OFFER: 8

ADD_ORDER: 9

REJECT_ORDER_OFFER: 10

CONFIRMED_ORDER_DELIVERY_BY_USER: 11

ORDER_DELIVERED_BY_EXPERT: 12

ORDER_REJECTED_BY_ADMIN: 13

ORDER_APPROVED: 14

PAYMENT_PAID: 15

PAYMENT_REJECTED: 16

NEW_ORDER_TO_EXPERT: 17

NEW_CHAT_MESSAGE: 18

Offer Status

PENDING: 1

ACCEPTED: 2

REJECTED: 3

CANCELLED: 4

Order Status

WAITING_ADMIN_APPROVAL: 1

APPROVED: 2

DELIVERED_BY_EXPERT: 3

DELIVERY_CONFIRMED_BY_USER: 4

ARCHIVED: 5

CANCELLED_BY_USER: 6

BOOKED: 7

REJECTED_BY_ADMIN: 8

PENDING: 9

Order Type

URGENT: 1

NORMAL: 2

NOT_RESTRICTED: 3

Payment Brands

VISA: visa

MASTER: master

MADA: mada

Payment Frequency

ONCE: 1

MONTHLY: 2

Payment Status

WAITING_ADMIN_APPROVAL: 1

PAID: 2

REJECTED: 3

CANCELLED: 4

Payment Type

EXPERT_DEPOSIT: 1

MARKETER_DEPOSIT: 2

EARNEST_SHARE: 3

WITHDRAWAL: 4

BY_USER: 5

Permission Type

INDEX_USER: INDEX_USER

SHOW_USER: SHOW_USER

STORE_USER: STORE_USER

UPDATE_USER: UPDATE_USER

INDEX_ROLE: INDEX_ROLE

SHOW_ROLE: SHOW_ROLE

UPDATE_ROLE: UPDATE_ROLE

STORE_ROLE: STORE_ROLE

DELETE_ROLE: DELETE_ROLE

EDIT_ROLE_PERMISSION: EDIT_ROLE_PERMISSION

SHOW_ROLE_PERMISSION: SHOW_ROLE_PERMISSION

SHOW_USER_ROLE: SHOW_USER_ROLE

EDIT_USER_ROLE: EDIT_USER_ROLE

SHOW_PERMISSIONS: SHOW_PERMISSIONS

INDEX_ORDER: INDEX_ORDER

SHOW_ORDER: SHOW_ORDER

UPDATE_ORDER: UPDATE_ORDER

CHANGE_ORDER_STATUS: CHANGE_ORDER_STATUS

INDEX_FEEDBACK: INDEX_FEEDBACK

SHOW_FEEDBACK: SHOW_FEEDBACK

STORE_FEEDBACK: STORE_FEEDBACK

UPDATE_FEEDBACK: UPDATE_FEEDBACK

DELETE_FEEDBACK: DELETE_FEEDBACK

INDEX_JOIN_US_ORDER: INDEX_JOIN_US_ORDER

SHOW_JOIN_US_ORDER: SHOW_JOIN_US_ORDER

STORE_JOIN_US_ORDER: STORE_JOIN_US_ORDER

DELETE_JOIN_US_ORDER: DELETE_JOIN_US_ORDER

ACCEPT_JOIN_US_ORDER: ACCEPT_JOIN_US_ORDER

REJECT_JOIN_US_ORDER: REJECT_JOIN_US_ORDER

INDEX_ATTACHMENT: INDEX_ATTACHMENT

SHOW_ATTACHMENT: SHOW_ATTACHMENT

STORE_ATTACHMENT: STORE_ATTACHMENT

DELETE_ATTACHMENT: DELETE_ATTACHMENT

ACCEPT_ATTACHMENT: ACCEPT_ATTACHMENT

UPDATE_ATTACHMENT: UPDATE_ATTACHMENT

REJECT_ATTACHMENT: REJECT_ATTACHMENT

INDEX_OFFER: INDEX_OFFER

SHOW_OFFER: SHOW_OFFER

ACCEPT_OFFER: ACCEPT_OFFER

REJECT_OFFER: REJECT_OFFER

STORE_OFFER: STORE_OFFER

UPDATE_OFFER: UPDATE_OFFER

INDEX_SERVICE: INDEX_SERVICE

SHOW_SERVICE: SHOW_SERVICE

STORE_SERVICE: STORE_SERVICE

UPDATE_SERVICE: UPDATE_SERVICE

DELETE_SERVICE: DELETE_SERVICE

INDEX_APP_VERSION: INDEX_APP_VERSION

SHOW_APP_VERSION: SHOW_APP_VERSION

STORE_APP_VERSION: STORE_APP_VERSION

UPDATE_APP_VERSION: UPDATE_APP_VERSION

DELETE_APP_VERSION: DELETE_APP_VERSION

INDEX_AD: INDEX_AD

SHOW_AD: SHOW_AD

STORE_AD: STORE_AD

UPDATE_AD: UPDATE_AD

DELETE_AD: DELETE_AD

INDEX_COURSE: INDEX_COURSE

SHOW_COURSE: SHOW_COURSE

STORE_COURSE: STORE_COURSE

UPDATE_COURSE: UPDATE_COURSE

DELETE_COURSE: DELETE_COURSE

INDEX_CATEGORY: INDEX_CATEGORY

SHOW_CATEGORY: SHOW_CATEGORY

STORE_CATEGORY: STORE_CATEGORY

UPDATE_CATEGORY: UPDATE_CATEGORY

DELETE_CATEGORY: DELETE_CATEGORY

INDEX_COURSE_ORDER: INDEX_COURSE_ORDER

SHOW_COURSE_ORDER: SHOW_COURSE_ORDER

STORE_COURSE_ORDER: STORE_COURSE_ORDER

ACCEPT_COURSE_ORDER: ACCEPT_COURSE_ORDER

REJECT_COURSE_ORDER: REJECT_COURSE_ORDER

INDEX_FIELD: INDEX_FIELD

SHOW_FIELD: SHOW_FIELD

STORE_FIELD: STORE_FIELD

UPDATE_FIELD: UPDATE_FIELD

DELETE_FIELD: DELETE_FIELD

INDEX_PRODUCT: INDEX_PRODUCT

SHOW_PRODUCT: SHOW_PRODUCT

STORE_PRODUCT: STORE_PRODUCT

UPDATE_PRODUCT: UPDATE_PRODUCT

DELETE_PRODUCT: DELETE_PRODUCT

INDEX_PAYMENT: INDEX_PAYMENT

SHOW_PAYMENT: SHOW_PAYMENT

MAKE_PAYMENT_PAID: MAKE_PAYMENT_PAID

MAKE_PAYMENT_UNPAID: MAKE_PAYMENT_UNPAID

STORE_ABOUT: STORE_ABOUT

STORE_TERMS: STORE_TERMS

STORE_PRIVACY: STORE_PRIVACY

SHOW_PRIVACY: SHOW_PRIVACY

STORE_CONTACT_US: STORE_CONTACT_US

STORE_HOW_TO_USE: STORE_HOW_TO_USE

UPDATE_SETTING: UPDATE_SETTING

MAKE_OFFER_CANCELLED: MAKE_OFFER_CANCELLED

Product Type

BOOK: 1

PAINTING: 2

Rating Type

ONE: 1

TWO: 2

THREE: 3

FOUR: 4

FIVE: 5

Role Type

SYSTEM_ADMINISTRATOR: SYSTEM_ADMINISTRATOR

ADMIN: ADMIN

SUPERVISOR: SUPERVISOR

ACCOUNTANT: ACCOUNTANT

Search Type

ORDERS: 1

COURSES: 2

CATEGORIES: 4

PRODUCTS: 8

SERVICES: 16

None: 0

Section

ERNEST_FEABER: 1

HEPTA_TRANS: 2

None: 0

Service Type

SERVICE: 1

COURSE: 2

STORE: 3

CONSULTATION: 4

Translation File Name

ABOUT: about.html

TERMS: terms.html

PRIVACY: privacy.html

HOW_TO_USE: how_to_use.json

CONTACT_US: contact_us.json

APP_LABELS: translations.json

WHY_WE: why_we.json

User Type

NORMAL: 0

EXPERT: 1

MARKETER: 2

SPECIAL: 4

TEACHER: 8

DISABLED: 16

NORMAL: 0

NORMAL: 0

Withdrawal Type

BANK: 1

CASH: 2

OTHER: 3